@ytsaurus/ui 1.103.0 → 1.103.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.
- package/dist/public/build/assets-manifest.json +40 -40
- package/dist/public/build/css/default-subject-link.b01c2230.chunk.css +2 -0
- package/dist/public/build/css/default-subject-link.b01c2230.chunk.css.map +1 -0
- package/dist/public/build/css/{main.d1987746.css → main.23e8d0fd.css} +2 -2
- package/dist/public/build/css/main.23e8d0fd.css.map +1 -0
- package/dist/public/build/js/6157.6786c942.chunk.js +2 -0
- package/dist/public/build/js/6157.6786c942.chunk.js.map +1 -0
- package/dist/public/build/js/6983.a2b31b33.chunk.js +2 -0
- package/dist/public/build/js/6983.a2b31b33.chunk.js.map +1 -0
- package/dist/public/build/js/8165.9684f49e.chunk.js +2 -0
- package/dist/public/build/js/8165.9684f49e.chunk.js.map +1 -0
- package/dist/public/build/js/{accounts.aaa21eca.chunk.js → accounts.f328f823.chunk.js} +2 -2
- package/dist/public/build/js/accounts.f328f823.chunk.js.map +1 -0
- package/dist/public/build/js/acl.556f2525.chunk.js +2 -0
- package/dist/public/build/js/acl.556f2525.chunk.js.map +1 -0
- package/dist/public/build/js/{bundles.b851f32c.chunk.js → bundles.0ab2d6f4.chunk.js} +2 -2
- package/dist/public/build/js/{bundles.b851f32c.chunk.js.map → bundles.0ab2d6f4.chunk.js.map} +1 -1
- package/dist/public/build/js/cluster-page-wrapper.a5c05070.chunk.js +2 -0
- package/dist/public/build/js/{cluster-page-wrapper.45436df6.chunk.js.map → cluster-page-wrapper.a5c05070.chunk.js.map} +1 -1
- package/dist/public/build/js/dashboard.efdd63a2.chunk.js +3 -0
- package/dist/public/build/js/{dashboard.234b8062.chunk.js.map → dashboard.efdd63a2.chunk.js.map} +1 -1
- package/dist/public/build/js/main.a89bac74.js +3 -0
- package/dist/public/build/js/main.a89bac74.js.map +1 -0
- package/dist/public/build/js/{navigation-flow.a79a25f5.chunk.js → navigation-flow.1d83e216.chunk.js} +2 -2
- package/dist/public/build/js/{navigation-flow.a79a25f5.chunk.js.map → navigation-flow.1d83e216.chunk.js.map} +1 -1
- package/dist/public/build/js/{navigation.b91a7a0b.chunk.js → navigation.0aff5a3a.chunk.js} +2 -2
- package/dist/public/build/js/{navigation.b91a7a0b.chunk.js.map → navigation.0aff5a3a.chunk.js.map} +1 -1
- package/dist/public/build/js/{query-tracker.5a0d626f.chunk.js → query-tracker.b7334a6f.chunk.js} +2 -2
- package/dist/public/build/js/{query-tracker.5a0d626f.chunk.js.map → query-tracker.b7334a6f.chunk.js.map} +1 -1
- package/dist/public/build/js/{runtime.8a460b23.js → runtime.d583e98e.js} +2 -2
- package/dist/public/build/js/{runtime.8a460b23.js.map → runtime.d583e98e.js.map} +1 -1
- package/dist/public/build/js/users.aec1e380.chunk.js +2 -0
- package/dist/public/build/js/users.aec1e380.chunk.js.map +1 -0
- package/dist/public/build/js/yt-df-dialog.1d05b0a5.chunk.js +3 -0
- package/dist/public/build/js/yt-df-dialog.1d05b0a5.chunk.js.map +1 -0
- package/dist/public/build/manifest.json +34 -34
- package/package.json +4 -3
- package/dist/public/build/css/default-subject-link.4dc8a973.chunk.css +0 -2
- package/dist/public/build/css/default-subject-link.4dc8a973.chunk.css.map +0 -1
- package/dist/public/build/css/main.d1987746.css.map +0 -1
- package/dist/public/build/js/2009.8121a60e.chunk.js +0 -2
- package/dist/public/build/js/2009.8121a60e.chunk.js.map +0 -1
- package/dist/public/build/js/6157.92170346.chunk.js +0 -2
- package/dist/public/build/js/6157.92170346.chunk.js.map +0 -1
- package/dist/public/build/js/6960.8b7e01c6.chunk.js +0 -2
- package/dist/public/build/js/6960.8b7e01c6.chunk.js.map +0 -1
- package/dist/public/build/js/accounts.aaa21eca.chunk.js.map +0 -1
- package/dist/public/build/js/acl.1ad3d494.chunk.js +0 -2
- package/dist/public/build/js/acl.1ad3d494.chunk.js.map +0 -1
- package/dist/public/build/js/cluster-page-wrapper.45436df6.chunk.js +0 -2
- package/dist/public/build/js/dashboard.234b8062.chunk.js +0 -3
- package/dist/public/build/js/main.aa6a17d8.js +0 -3
- package/dist/public/build/js/main.aa6a17d8.js.map +0 -1
- package/dist/public/build/js/users.a0dc610f.chunk.js +0 -2
- package/dist/public/build/js/users.a0dc610f.chunk.js.map +0 -1
- package/dist/public/build/js/yt-df-dialog.acab4eb0.chunk.js +0 -3
- package/dist/public/build/js/yt-df-dialog.acab4eb0.chunk.js.map +0 -1
- /package/dist/public/build/js/{dashboard.234b8062.chunk.js.LICENSE.txt → dashboard.efdd63a2.chunk.js.LICENSE.txt} +0 -0
- /package/dist/public/build/js/{main.aa6a17d8.js.LICENSE.txt → main.a89bac74.js.LICENSE.txt} +0 -0
- /package/dist/public/build/js/{yt-df-dialog.acab4eb0.chunk.js.LICENSE.txt → yt-df-dialog.1d05b0a5.chunk.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"js/query-tracker.5a0d626f.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./node_modules/d3-shape/src/array.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/bars-descending-align-left.svg","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/namespace.js","webpack://@ytsaurus/ui/./src/ui/components/Dropdown/Dropdown.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/arc.js","webpack://@ytsaurus/ui/./node_modules/internmap/src/index.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/matcher.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/select.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/namespaces.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selectorAll.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/selectChild.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/selectChildren.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/sparse.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/enter.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/data.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/sort.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/attr.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/property.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/classed.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/text.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/html.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/raise.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/lower.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/creator.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/insert.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/remove.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/clone.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/on.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/dispatch.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/index.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/select.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/selectAll.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/array.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/filter.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/constant.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/exit.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/join.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/merge.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/order.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/call.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/nodes.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/node.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/size.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/empty.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/each.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/append.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/datum.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/iterator.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/style.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/constant.js","webpack://@ytsaurus/ui/./src/ui/utils/yql-types.ts","webpack://@ytsaurus/ui/./src/ui/components/TextInputWithDebounce/TextInputWithDebounce.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/use-prevent-unload.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/module/settings/selector.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/QueriesList/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/Query/index.ts","webpack://@ytsaurus/ui/./src/ui/components/InfiniteScrollLoader/InfiniteScrollLoader.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.tsx","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/learn.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/funnel.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryStateFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryUserFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryDateFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/FilterDropdown.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryFastUserFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Vcs/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/index.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/layout-columns.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/FileEditor/FileEditor.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryEditorSplit.tsx","webpack://@ytsaurus/ui/./src/ui/components/RedirectConfirmModal/RedirectConfirmModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryTracker.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/RightButtonsGroup.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/index.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/useIsDesktop.ts","webpack://@ytsaurus/ui/./src/ui/components/SortIcon/SortIcon.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/global.tsx","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selector.js","webpack://@ytsaurus/ui/./src/ui/components/EditableAsText/EditableAsText.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/ColumnSelector.js","webpack://@ytsaurus/ui/./node_modules/d3-scale/src/ordinal.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/descending.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/identity.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/pie.js","webpack://@ytsaurus/ui/./node_modules/d3-scale/src/init.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/circle-question.svg","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/math.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/path.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/window.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/modals/cell-preview.ts","webpack://@ytsaurus/ui/./src/ui/containers/CellPreviewModal/CellPreviewModal.tsx","webpack://@ytsaurus/ui/./node_modules/d3-path/src/path.js"],"sourcesContent":["export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","const SvgBarsDescendingAlignLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBarsDescendingAlignLeft;","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport templates from '../templates/templates';\n\nimport {Popup} from '@gravity-ui/uikit';\n\nconst block = cn('elements-dropdown');\n\nclass Dropdown extends Component {\n static propTypes = {\n button: PropTypes.oneOfType([PropTypes.element, PropTypes.object]).isRequired,\n className: PropTypes.string,\n popup: PropTypes.object,\n directions: PropTypes.array,\n trigger: PropTypes.oneOf(['click', 'hover']).isRequired,\n template: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.shape({\n key: PropTypes.string.isRequired,\n data: PropTypes.object,\n }),\n ]).isRequired,\n zIndexGroupLevel: PropTypes.number,\n };\n\n static defaultProps = {\n zIndexGroupLevel: 1,\n directions: ['bottom-end', 'top-end'],\n };\n\n state = {\n popupVisible: false,\n };\n\n anchor = React.createRef();\n\n toggle = () =>\n this.setState((prevState) => ({\n popupVisible: !prevState.popupVisible,\n }));\n\n open = () => this.setState({popupVisible: true});\n\n close = () => this.setState({popupVisible: false});\n\n renderButton() {\n const {button, trigger} = this.props;\n\n const actionProps = {\n onClick: trigger === 'click' ? this.toggle : undefined,\n onMouseEnter: trigger === 'hover' ? this.open : undefined,\n onMouseLeave: trigger === 'hover' ? this.close : undefined,\n };\n\n return React.cloneElement(button, actionProps);\n }\n\n renderTemplate() {\n const {template} = this.props;\n const {key, data} = this.props.template;\n const renderer = templates.get(key).__default__;\n\n return React.isValidElement(template)\n ? React.cloneElement(template)\n : renderer.call(this, data);\n }\n\n renderPopup() {\n const {popup, directions} = this.props;\n\n return (\n <Popup\n placement={directions}\n onClose={this.close}\n open={true}\n anchorRef={this.anchor}\n hasArrow\n {...popup}\n >\n {this.renderTemplate()}\n </Popup>\n );\n }\n\n render() {\n const {className} = this.props;\n\n return (\n <span className={block(null, className)} ref={this.anchor}>\n {this.renderButton()}\n {this.state.popupVisible && this.renderPopup()}\n </span>\n );\n }\n}\n\nexport default Dropdown;\n","import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function isImageTag(value: string) {\n return /image\\/.*/.test(value);\n}\n\nexport function isVideoTag(value: string) {\n return /video\\/.*/.test(value);\n}\n\nexport function isMediaTag(value: string) {\n return isImageTag(value) || isVideoTag(value);\n}\n","import React from 'react';\nimport debounce_ from 'lodash/debounce';\n\nimport {TextInput, TextInputProps} from '@gravity-ui/uikit';\n\nexport interface TextInputWithDebounceProps extends TextInputProps {\n debounce?: number;\n onBlur?: (e: React.FocusEvent) => void;\n onEnterKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\nfunction TextInputWithDebounce(props: TextInputWithDebounceProps) {\n const {\n debounce = 400,\n onUpdate = () => {},\n onBlur,\n value,\n onEnterKeyDown,\n onKeyDown,\n ...rest\n } = props;\n\n const [input, setInput] = React.useState<string | undefined>();\n\n const handleChangeExt = React.useMemo(() => {\n return debounce_(onUpdate as any, debounce);\n }, [debounce, onUpdate]);\n\n const handleChange = React.useCallback(\n (text: string) => {\n setInput(text);\n handleChangeExt(text);\n },\n [handleChangeExt, setInput],\n );\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Enter' && onEnterKeyDown) {\n onEnterKeyDown(e);\n }\n },\n [onEnterKeyDown, onKeyDown],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setInput(undefined);\n\n if (onBlur) {\n onBlur(e);\n }\n },\n [setInput, onBlur],\n );\n\n React.useEffect(() => {\n return () => {\n handleChangeExt.cancel();\n };\n }, [handleChangeExt]);\n\n return (\n <TextInput\n onUpdate={handleChange}\n {...rest}\n value={input === undefined ? value : input}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n );\n}\n\nexport default React.memo(TextInputWithDebounce);\n","import {useCallback, useEffect} from 'react';\n\nexport const usePreventUnload = ({shouldListen}: {shouldListen: boolean}) => {\n const beforeUnloadHandler = useCallback((e: BeforeUnloadEvent) => {\n e.preventDefault();\n\n // Included for legacy support, e.g. Chrome/Edge < 119\n e.returnValue = true;\n }, []);\n\n useEffect(() => {\n if (shouldListen) {\n window.addEventListener('beforeunload', beforeUnloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', beforeUnloadHandler);\n }, [shouldListen]);\n};\n","import {createSelector} from 'reselect';\nimport {getSettingsData} from '../../../../store/selectors/settings/settings-base';\n\nexport const getSettingQueryTrackerQueriesListSidebarVisibilityMode = createSelector(\n getSettingsData,\n (settings) => Boolean(settings['global::queryTracker::queriesListSidebarVisibilityMode']),\n);\n","import {useDispatch, useSelector} from 'react-redux';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getSettingQueryTrackerQueriesListSidebarVisibilityMode} from '../../module/settings/selector';\n\nexport const useQueriesListSidebarToggle = () => {\n const dispatch = useDispatch();\n const isQueriesListSidebarVisible = useSelector(\n getSettingQueryTrackerQueriesListSidebarVisibilityMode,\n );\n\n const toggleQueriesListSideBarToggle = () => {\n dispatch(\n setSettingByKey(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n !isQueriesListSidebarVisible,\n ),\n );\n };\n\n return {\n isQueriesListSidebarVisible,\n toggleQueriesListSideBarToggle,\n };\n};\n","import {useCallback} from 'react';\nimport {useSelector} from 'react-redux';\nimport {useHistory} from 'react-router';\nimport {createQueryUrl} from '../../utils/navigation';\nimport {QueryItem} from '../../module/api';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getQuery} from '../../module/query/selectors';\n\nexport const useQueryNavigation = (): [QueryItem['id'] | undefined, (id: QueryItem) => void] => {\n const selectedItem = useSelector(getQuery);\n const cluster = useSelector(getCluster);\n const history = useHistory();\n\n const goToQuery = useCallback(\n (item: QueryItem) => {\n history.push(createQueryUrl(cluster, item.id));\n },\n [cluster, history],\n );\n\n return [selectedItem?.id, goToQuery];\n};\n","import React, {FC, useEffect, useRef} from 'react';\nimport {Flex, Loader} from '@gravity-ui/uikit';\n\ntype Props = {\n className?: string;\n loading?: boolean;\n onLoadMore: () => void;\n};\n\nexport const InfiniteScrollLoader: FC<Props> = ({className, loading, onLoadMore}) => {\n const paginationRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n onLoadMore();\n }\n });\n },\n {\n root: null,\n threshold: 0.1,\n },\n );\n\n if (paginationRef.current) {\n observer.observe(paginationRef.current);\n }\n\n return () => {\n if (paginationRef.current) {\n observer.unobserve(paginationRef.current);\n }\n };\n }, []);\n\n return (\n <Flex className={className} ref={paginationRef} alignItems=\"center\" justifyContent=\"center\">\n {loading ? <Loader /> : ''}\n </Flex>\n );\n};\n","import React, {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport DataTable, {Settings} from '@gravity-ui/react-data-table';\nimport {QueryItem} from '../../module/api';\nimport {\n getQueryListByDate,\n getQueryListColumns,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport {useUpdater} from '../../../../hooks/use-updater';\nimport block from 'bem-cn-lite';\n\nimport './QueriesHistoryList.scss';\nimport './QueryHistoryItem.scss';\nimport {loadNextQueriesList, requestQueriesList} from '../../module/queries_list/actions';\nimport {InfiniteScrollLoader} from '../../../../components/InfiniteScrollLoader';\nimport {QueriesHistoryCursorDirection} from '../../module/query-tracker-contants';\n\nconst b = block('queries-history-list');\nconst itemBlock = block('query-history-item');\n\ntype HeaderTableItem = {header: string};\ntype TableItem = QueryItem | HeaderTableItem;\n\nconst isHeaderTableItem = (item: TableItem): item is HeaderTableItem => {\n return (item as HeaderTableItem).header !== undefined;\n};\n\nconst tableSettings: Settings = {\n displayIndices: false,\n sortable: false,\n stickyHead: DataTable.MOVING,\n syncHeadOnResize: true,\n};\n\nfunction QueriesHistoryListUpdater() {\n const dispatch = useDispatch();\n\n const updateFn = React.useCallback(() => {\n dispatch(requestQueriesList());\n }, [dispatch]);\n\n useUpdater(updateFn, {timeout: 5000});\n\n return null;\n}\n\nexport function QueriesHistoryList() {\n const dispatch = useDispatch();\n const itemsByDate = useSelector(getQueryListByDate);\n const isLoading = useSelector(isQueriesListLoading);\n const {columns} = useSelector(getQueryListColumns);\n const hasMore = useSelector(hasQueriesListMore);\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const showPagination = hasMore && itemsByDate.length > 0;\n\n const handleLoadMore = () => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n };\n\n const setClassName = useCallback(\n (item: TableItem) => {\n const isHeader = isHeaderTableItem(item);\n return itemBlock({\n header: isHeader ? Boolean(item.header) : undefined,\n selected: isHeader ? undefined : item.id === selectedId,\n });\n },\n [selectedId],\n );\n\n return (\n <div className={b()}>\n <QueriesHistoryListUpdater />\n <div className={b('list-wrapper')}>\n <DataTableYT\n className={b('list')}\n loading={isLoading}\n columns={columns}\n data={itemsByDate}\n useThemeYT\n rowKey={(row) => {\n if (isHeaderTableItem(row)) {\n return row.header;\n }\n\n return row.id;\n }}\n onRowClick={(item) => {\n if (!isHeaderTableItem(item)) {\n goToQuery(item);\n }\n }}\n disableRightGap\n settings={tableSettings}\n rowClassName={setClassName}\n getColSpansOfRow={({row}) => {\n if (isHeaderTableItem(row)) {\n return {\n Name: columns.length,\n };\n }\n\n return undefined;\n }}\n />\n {showPagination && (\n <InfiniteScrollLoader\n className={b('pagination')}\n loading={isLoading}\n onLoadMore={handleLoadMore}\n />\n )}\n </div>\n </div>\n );\n}\n","const SvgLearn = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 14\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M6.836 2.202 1.74 4.386a.396.396 0 0 0 0 .728l5.096 2.184a2.5 2.5 0 0 0 .985.202h.358a2.5 2.5 0 0 0 .985-.202l5.096-2.184a.396.396 0 0 0 0-.728L9.164 2.202A2.5 2.5 0 0 0 8.179 2h-.358a2.5 2.5 0 0 0-.985.202M1.5 6.642l1.5.644v3.228a2 2 0 0 0 1.106 1.789l.806.403a7 7 0 0 0 6.193.033l.909-.442a2 2 0 0 0 1.125-1.798V7.226l1.712-.734a1.896 1.896 0 0 0 0-3.484L9.755.823A4 4 0 0 0 8.179.5h-.358a4 4 0 0 0-1.576.323L1.15 3.008A1.9 1.9 0 0 0 0 4.75v4.5a.75.75 0 0 0 1.5 0zm3 3.872V7.929l1.745.748A4 4 0 0 0 7.821 9h.358a4 4 0 0 0 1.576-.323l1.884-.808v2.63a.5.5 0 0 1-.282.45l-.909.442a5.5 5.5 0 0 1-4.865-.027l-.807-.403a.5.5 0 0 1-.276-.447\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLearn;","import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {Icon, List, ListItemData, Loader, Text} from '@gravity-ui/uikit';\nimport {QueryItem} from '../../module/api';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport tutorialIcon from '../../../../assets/img/svg/learn.svg';\nimport './index.scss';\nimport {useSelector} from 'react-redux';\nimport {getQueriesList, isQueriesListLoading} from '../../module/queries_list/selectors';\n\nconst itemCn = cn('query-tutorial-item');\nconst block = cn('queries-tutorial-list');\n\nfunction renderItem(item: QueryItem) {\n return (\n <>\n <Icon className={itemCn('icon')} data={tutorialIcon} />\n <Text className={itemCn('text')} ellipsis title={item?.annotations?.title}>\n {item?.annotations?.title || 'No name'}\n </Text>\n </>\n );\n}\n\nexport function QueriesTutorialList({className}: {className: string}) {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const selectedIndex = useMemo(() => {\n return items.findIndex((query) => query.id === selectedId);\n }, [selectedId, items]);\n\n const tutorialFilter = useMemo(() => {\n return (filter: string) => {\n return (item: ListItemData<QueryItem>) => {\n return (\n item?.annotations?.title\n ?.toLocaleLowerCase()\n .includes(filter.toLocaleLowerCase()) || false\n );\n };\n };\n }, []);\n\n return (\n <div className={block(null, className)}>\n <List\n className={block('list', {loading: isLoading})}\n filterable={true}\n filterClassName={block('filter')}\n filterPlaceholder={'Filter by name'}\n filterItem={tutorialFilter}\n virtualized={false}\n selectedItemIndex={selectedIndex}\n sortable={false}\n itemHeight={32}\n itemClassName={itemCn()}\n items={isLoading ? [] : items}\n renderItem={renderItem}\n onItemClick={goToQuery}\n />\n {isLoading && (\n <div className={block('loader')}>\n <Loader size=\"l\" />\n </div>\n )}\n </div>\n );\n}\n","const SvgFunnel = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M12.5 4c0 .174-.071.513-.885.888S9.538 5.5 8 5.5s-2.799-.237-3.615-.612C3.57 4.513 3.5 4.174 3.5 4s.071-.513.885-.888S6.462 2.5 8 2.5s2.799.237 3.615.612c.814.375.885.714.885.888m-1.448 2.66C10.158 6.888 9.115 7 8 7s-2.158-.113-3.052-.34l1.98 2.905c.21.308.322.672.322 1.044v3.37q.088.02.25.021c.422 0 .749-.14.95-.316.185-.162.3-.38.3-.684v-2.39c0-.373.112-.737.322-1.045zM8 1c3.314 0 6 1 6 3a3.24 3.24 0 0 1-.563 1.826l-3.125 4.584a.35.35 0 0 0-.062.2V13c0 1.5-1.25 2.5-2.75 2.5s-1.75-1-1.75-1v-3.89a.35.35 0 0 0-.061-.2L2.563 5.826A3.24 3.24 0 0 1 2 4c0-2 2.686-3 6-3m-.88 12.936q-.015-.008-.013-.01z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgFunnel;","import React, {FC, useCallback} from 'react';\nimport {Select} from '@gravity-ui/uikit';\nimport {Engines} from '../../module/api';\nimport {QueryEngine} from '../../../../../shared/constants/engines';\nimport {QueryEnginesNames} from '../../utils/query';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {applyFilter} from '../../module/queries_list/actions';\n\nconst ALL_ENGINE_KEY = '__all';\n\nconst enginesList = [\n {\n value: ALL_ENGINE_KEY,\n content: 'All',\n },\n ...Engines.map((engine) => {\n return {\n value: engine,\n content: QueryEnginesNames[engine],\n };\n }),\n];\n\nexport const QueryEngineFilter: FC = () => {\n const dispatch = useDispatch();\n const {engine} = useSelector(getQueriesFilters);\n\n const onChangeEngineFilter = useCallback(\n (values: string[]) => {\n const selectedEngine = values[0];\n dispatch(\n applyFilter({\n engine:\n selectedEngine === ALL_ENGINE_KEY\n ? undefined\n : (selectedEngine as QueryEngine),\n }),\n );\n },\n [dispatch],\n );\n\n return (\n <Select\n options={enginesList}\n value={[engine || ALL_ENGINE_KEY]}\n onUpdate={onChangeEngineFilter}\n placeholder=\"Select engine\"\n />\n );\n};\n","import React, {FC, useCallback} from 'react';\nimport {Select} from '@gravity-ui/uikit';\nimport {QueryStatus} from '../../../../types/query-tracker';\nimport hammer from '../../../../common/hammer';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\n\nconst ALL_STATUS_KEY = '__all';\nconst statusesList = [\n {\n value: ALL_STATUS_KEY,\n content: 'All',\n },\n ...Object.values(QueryStatus).map((i) => {\n return {\n value: i,\n content: hammer.format.Readable(i),\n };\n }),\n];\n\nexport const QueryStateFilter: FC = () => {\n const dispatch = useDispatch();\n const {state} = useSelector(getQueriesFilters);\n\n const onChangeStatusFilter = useCallback(\n (values: string[]) => {\n const selectedStatus = values[0];\n const result =\n selectedStatus === ALL_STATUS_KEY ? undefined : (selectedStatus as QueryStatus);\n dispatch(applyFilter({state: result}));\n },\n [dispatch],\n );\n\n return (\n <Select\n width=\"max\"\n options={statusesList}\n value={[state || ALL_STATUS_KEY]}\n onUpdate={onChangeStatusFilter}\n placeholder=\"Select status\"\n />\n );\n};\n","import React, {FC, useCallback, useMemo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getAllUserNames, getCurrentUserName} from '../../../../store/selectors/global';\nimport {useAllUserNamesFiltered} from '../../../../hooks/global';\nimport {Select, SelectOption} from '@gravity-ui/uikit';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {QueriesListAuthorFilter} from '../../module/queries_list/types';\nimport {applyFilter} from '../../module/queries_list/actions';\n\nconst ALL_STATUS_KEY = '__all';\n\nexport const QueryUserFilter: FC = () => {\n useAllUserNamesFiltered();\n const dispatch = useDispatch();\n const userNames = useSelector(getAllUserNames);\n const login = useSelector(getCurrentUserName);\n const {user} = useSelector(getQueriesFilters);\n\n const values = useMemo<SelectOption[]>(() => {\n return [\n {\n value: ALL_STATUS_KEY,\n content: 'All',\n },\n ...userNames.map((userName) => ({\n value: userName,\n content: userName,\n })),\n ];\n }, [userNames]);\n\n const value = useMemo(() => {\n let result = user;\n if (!result) {\n result = ALL_STATUS_KEY;\n }\n if (result === QueriesListAuthorFilter.My) {\n result = login;\n }\n return [result];\n }, [login, user]);\n\n const handleOnChange = useCallback(\n (items: string[]) => {\n dispatch(applyFilter({user: items[0]}));\n },\n [dispatch],\n );\n\n return <Select options={values} value={value} onUpdate={handleOnChange} filterable />;\n};\n","import React, {FC, useMemo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {DatePicker} from '@gravity-ui/date-components';\nimport {DateTime, dateTime} from '@gravity-ui/date-utils';\nimport {Flex} from '@gravity-ui/uikit';\nimport {applyFilter} from '../../module/queries_list/actions';\n\nexport const QueryDateFilter: FC = () => {\n const dispatch = useDispatch();\n const {from, to} = useSelector(getQueriesFilters);\n\n const setFilter = useMemo(\n () => ({\n from: (value?: DateTime | null) => {\n dispatch(applyFilter({from: value ? value.valueOf() : undefined}));\n },\n to: (value?: DateTime | null) => {\n dispatch(applyFilter({to: value ? value.valueOf() : undefined}));\n },\n }),\n [dispatch],\n );\n\n return (\n <Flex alignItems=\"center\" gap={1}>\n <DatePicker\n placeholder=\"Start date\"\n format=\"DD.MM.YYYY\"\n value={from ? dateTime({input: from}) : null}\n onUpdate={setFilter.from}\n hasClear\n />{' '}\n —\n <DatePicker\n placeholder=\"End date\"\n format=\"DD.MM.YYYY\"\n value={to ? dateTime({input: to}) : null}\n onUpdate={setFilter.to}\n hasClear\n />\n </Flex>\n );\n};\n","import React, {FC, PropsWithChildren} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {resetFilter} from '../../module/queries_list/actions';\nimport './FilterDropdown.scss';\nimport cn from 'bem-cn-lite';\nimport {Button, Flex, Icon, Text} from '@gravity-ui/uikit';\nimport TrashBinIcon from '@gravity-ui/icons/svgs/trash-bin.svg';\nimport {QueryStateFilter} from './QueryStateFilter';\nimport {QueryUserFilter} from './QueryUserFilter';\nimport {QueryDateFilter} from './QueryDateFilter';\nimport {hasCustomHistoryFilters} from '../../module/queries_list/selectors';\n\nconst block = cn('yt-qt-filter-dropdown');\n\nconst Block: FC<PropsWithChildren<{title: string}>> = ({title, children}) => {\n return (\n <Flex direction=\"column\" gap={2}>\n <Text variant=\"subheader-1\">{title}</Text>\n {children}\n </Flex>\n );\n};\n\nexport const FilterDropdown: FC = () => {\n const dispatch = useDispatch();\n const changed = useSelector(hasCustomHistoryFilters);\n\n const handleResetFilter = React.useCallback(() => {\n dispatch(resetFilter());\n }, [dispatch]);\n\n return (\n <Flex className={block()} direction=\"column\" gap={3}>\n <Block title=\"Operation date\">\n <QueryDateFilter />\n </Block>\n <Block title=\"Operation owner\">\n <QueryUserFilter />\n </Block>\n <Block title=\"Query state\">\n <QueryStateFilter />\n </Block>\n {changed && (\n <Flex justifyContent=\"flex-end\">\n <Button view=\"outlined\" onClick={handleResetFilter}>\n <Icon data={TrashBinIcon} size={16} /> Reset filters\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React, {FC, useMemo} from 'react';\nimport {QueriesListAuthorFilter, QueriesListFilter} from '../../module/queries_list/types';\nimport {ControlGroupOption, RadioButton} from '@gravity-ui/uikit';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {getCurrentUserName} from '../../../../store/selectors/global';\n\nconst AuthorFilter: ControlGroupOption[] = [\n {\n value: QueriesListAuthorFilter.My,\n content: 'My',\n },\n {\n value: QueriesListAuthorFilter.All,\n content: 'All',\n },\n];\n\nexport const QueryFastUserFilter: FC = () => {\n const dispatch = useDispatch();\n const {user} = useSelector(getQueriesFilters);\n const login = useSelector(getCurrentUserName);\n\n const handleUserChange = (value: string) => {\n dispatch(applyFilter({user: value as QueriesListFilter['user']}));\n };\n\n const value = useMemo(() => {\n if (QueriesListAuthorFilter.My === user || user === login)\n return QueriesListAuthorFilter.My;\n\n return QueriesListAuthorFilter.All;\n }, [login, user]);\n\n return <RadioButton options={AuthorFilter} value={value} onUpdate={handleUserChange} />;\n};\n","import React from 'react';\nimport block from 'bem-cn-lite';\nimport {Icon, Tooltip} from '@gravity-ui/uikit';\nimport {QueriesListFilter, QueriesListMode} from '../../module/queries_list/types';\nimport CircleQuestionIcon from '@gravity-ui/icons/svgs/circle-question.svg';\nimport FunnelIcon from '@gravity-ui/icons/svgs/funnel.svg';\n\nimport './index.scss';\nimport {QueryEngineFilter} from './QueryEngineFilter';\nimport Dropdown from '../../../../components/Dropdown/Dropdown';\nimport Button from '../../../../components/Button/Button';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport ColumnSelector from '../../../../components/ColumnSelector/ColumnSelector';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {\n getQueriesFilters,\n getQueriesListMode,\n getQueryListColumns,\n hasCustomHistoryFilters,\n} from '../../module/queries_list/selectors';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport TextInputWithDebounce from '../../../../components/TextInputWithDebounce/TextInputWithDebounce';\nimport {FilterDropdown} from './FilterDropdown';\nimport {QueryFastUserFilter} from './QueryFastUserFilter';\n\nconst b = block('queries-history-filter');\n\ntype QueriesHistoryListFilterProps = {\n className?: string;\n};\n\nexport function QueriesHistoryListFilter({className}: QueriesHistoryListFilterProps) {\n const dispatch = useDispatch();\n const filter = useSelector(getQueriesFilters);\n const filterViewMode = useSelector(getQueriesListMode);\n const {allowedColumns} = useSelector(getQueryListColumns);\n const customFilterChanged = useSelector(hasCustomHistoryFilters);\n\n const handleColumnChange = (selectedColumns: {\n items: Array<{checked: boolean; name: string}>;\n }) => {\n dispatch(\n setSettingByKey(\n `global::queryTracker::history::Columns`,\n selectedColumns.items.filter(({checked}) => checked).map(({name}) => name),\n ),\n );\n };\n\n const handleFilterChange = (value: string) => {\n dispatch(applyFilter({filter: value as QueriesListFilter['filter']}));\n };\n\n const isHistory = filterViewMode === QueriesListMode.History;\n\n if (!isHistory) {\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n <QueryEngineFilter />\n </div>\n </div>\n );\n }\n\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n <QueryFastUserFilter />\n <QueryEngineFilter />\n\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button\n view={customFilterChanged ? 'outlined-info' : 'outlined'}\n tooltipProps={{content: 'Additional filters'}}\n withTooltip\n >\n <Icon data={FunnelIcon} size={16} />\n </Button>\n }\n template={<FilterDropdown />}\n />\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button tooltipProps={{content: 'Table column settings'}} withTooltip>\n <Icon data={GearIcon} size={16} />\n </Button>\n }\n template={\n <ColumnSelector items={allowedColumns} onChange={handleColumnChange} />\n }\n />\n </div>\n\n <div className={b('row')}>\n <TextInputWithDebounce\n placeholder=\"Search in query name, body and access control\"\n value={filter?.filter}\n onUpdate={handleFilterChange}\n />\n <Tooltip\n content={\n <>\n Search in query text, annotations and access control\n <br />\n Use `"title"="test_name"` to search in query name\n <br />\n Use `aco:nobody` to search in query access control\n </>\n }\n >\n <Icon data={CircleQuestionIcon} size={16} />\n </Tooltip>\n </div>\n </div>\n );\n}\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"vcs\" */ './Vcs');\n}\n\nexport const Vcs = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Vcs};\n }),\n);\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"query-navigation\" */ './Navigation');\n}\n\nexport const Navigation = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Navigation};\n }),\n);\n","import React, {useEffect, useMemo} from 'react';\nimport block from 'bem-cn-lite';\nimport {Tabs} from '@gravity-ui/uikit';\nimport {QueriesHistoryList} from './QueriesHistoryList';\n\nimport {getQueriesListMode, getQueriesListTabs} from '../module/queries_list/selectors';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesListMode} from '../module/queries_list/types';\nimport {requestQueriesList} from '../module/queries_list/actions';\n\nimport './index.scss';\nimport {QueriesTutorialList} from './QueriesTutorialList';\nimport {QueriesHistoryListFilter} from './QueriesListFilter';\nimport {Vcs} from '../Vcs';\nimport {Navigation} from '../Navigation';\nimport {setListMode} from '../module/queries_list/queryListSlice';\n\nconst b = block('queries-list');\n\nconst TabNames = {\n [QueriesListMode.History]: 'History',\n [QueriesListMode.Tutorials]: 'Tutorials',\n [QueriesListMode.VCS]: 'VCS',\n [QueriesListMode.Navigation]: 'Navigation',\n};\n\nexport function QueriesList() {\n const dispatch = useDispatch();\n const activeTab = useSelector(getQueriesListMode);\n const tabsList = useSelector(getQueriesListTabs);\n\n useEffect(() => {\n dispatch(requestQueriesList());\n }, [dispatch]);\n\n const handleTabSelect = (tabId: string) => {\n dispatch(setListMode(tabId as QueriesListMode));\n };\n\n const tabs = useMemo(\n () =>\n tabsList.map((tab) => {\n return {\n id: tab as string,\n title: TabNames[tab],\n };\n }),\n [tabsList],\n );\n\n const isVsc = activeTab === QueriesListMode.VCS;\n\n return (\n <div className={b()}>\n <Tabs\n className={b('tabs')}\n items={tabs}\n activeTab={activeTab}\n onSelectTab={handleTabSelect}\n />\n {activeTab === QueriesListMode.Navigation ? (\n <div className={b('content')}>\n <Navigation />\n </div>\n ) : (\n <div className={b('content')}>\n {!isVsc && <QueriesHistoryListFilter className={b('filter')} />}\n\n {activeTab === QueriesListMode.History && <QueriesHistoryList />}\n {activeTab === QueriesListMode.Tutorials && (\n <QueriesTutorialList className={b('list-content')} />\n )}\n {isVsc && <Vcs />}\n </div>\n )}\n </div>\n );\n}\n","const SvgLayoutColumns = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8.75 3.5H12A1.5 1.5 0 0 1 13.5 5v6a1.5 1.5 0 0 1-1.5 1.5H8.75zm-1.5 0H4A1.5 1.5 0 0 0 2.5 5v6A1.5 1.5 0 0 0 4 12.5h3.25zM1 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLayoutColumns;","import React, {FC, useRef} from 'react';\nimport {setFileEditor} from '../module/queryFilesForm/queryFilesFormSlice';\nimport {selectFileEditorConfig} from '../module/queryFilesForm/selectors';\nimport {changeQueryFile} from '../module/queryFilesForm/actions';\nimport {useDispatch, useSelector} from 'react-redux';\nimport FileIcon from '@gravity-ui/icons/svgs/file.svg';\nimport XmarkIcon from '@gravity-ui/icons/svgs/xmark.svg';\nimport SquareIcon from '@gravity-ui/icons/svgs/square.svg';\nimport LayoutColumnsIcon from '@gravity-ui/icons/svgs/layout-columns.svg';\nimport {Button, Icon, Text} from '@gravity-ui/uikit';\nimport './FileEditor.scss';\nimport cn from 'bem-cn-lite';\nimport MonacoEditor, {MonacoEditorConfig} from '../../../components/MonacoEditor';\nimport * as monaco from 'monaco-editor';\n\nconst block = cn('file-editor');\n\nconst MONACO_CONFIG: MonacoEditorConfig = {\n fontSize: 14,\n language: 'plaintext',\n renderWhitespace: 'boundary',\n minimap: {\n enabled: true,\n },\n};\n\nexport const FileEditor: FC = () => {\n const dispatch = useDispatch();\n const {fileEditor, file} = useSelector(selectFileEditorConfig);\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n\n const handleOnChange = (content: string) => {\n if (!file) return;\n dispatch(changeQueryFile({...file, content}));\n };\n\n const handleOnClose = () => {\n dispatch(setFileEditor({...fileEditor, isOpen: false, isFullWidth: false}));\n };\n\n const handleOnWidthToggle = () => {\n dispatch(setFileEditor({...fileEditor, isFullWidth: !fileEditor.isFullWidth}));\n };\n\n if (!file) return null;\n\n return (\n <div className={block()}>\n <div className={block('header')}>\n <div className={block('header-side')}>\n <Icon data={FileIcon} size={16} />\n <Text variant=\"subheader-1\" ellipsis>\n {file.name}\n </Text>\n </div>\n <div className={block('header-side')}>\n <Button view=\"flat\" onClick={handleOnWidthToggle}>\n <Icon\n data={fileEditor.isFullWidth ? LayoutColumnsIcon : SquareIcon}\n size={16}\n />\n </Button>\n <Button view=\"flat\" onClick={handleOnClose}>\n <Icon data={XmarkIcon} size={16} />\n </Button>\n </div>\n </div>\n <MonacoEditor\n className={block('editor')}\n editorRef={editorRef}\n value={file.content || ''}\n language=\"plaintext\"\n onChange={handleOnChange}\n monacoConfig={MONACO_CONFIG}\n />\n </div>\n );\n};\n","import React, {FC, useState} from 'react';\nimport {QueryEditor} from '../QueryEditor';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {FileEditor} from '../FileEditor';\n\nconst EDITOR_INITIAL_SIZE = [50, 50];\n\ntype Props = {\n fileEditorFullWidth: boolean;\n fileEditorVisible: boolean;\n onStartQuery: (queryId: string) => void;\n};\n\nexport const QueryEditorSplit: FC<Props> = ({\n fileEditorFullWidth,\n fileEditorVisible,\n onStartQuery,\n}) => {\n const [sizes, setSize] = useState(EDITOR_INITIAL_SIZE);\n const hideQueryEditor = !(fileEditorVisible && fileEditorFullWidth);\n\n return (\n <FlexSplitPane\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n getInitialSizes={() => sizes}\n >\n {hideQueryEditor && <QueryEditor onStartQuery={onStartQuery} showStatusInTitle />}\n {fileEditorVisible && <FileEditor />}\n </FlexSplitPane>\n );\n};\n","import {useHistory} from 'react-router-dom';\nimport React, {FC, useCallback, useEffect, useRef, useState} from 'react';\nimport {Location, TransitionPromptHook} from 'history';\nimport {YTDFDialog} from '../Dialog';\n\ntype Props = {\n title: string;\n message: string;\n ignoreSamePath?: boolean;\n};\n\nexport const RedirectConfirmModal: FC<Props> = ({title, message, ignoreSamePath = true}) => {\n const [showModal, setShowModal] = useState(false);\n const history = useHistory();\n const skipRef = useRef(false);\n const locationRef = useRef<Location>();\n\n const handleNavigation = useCallback<TransitionPromptHook<unknown>>(\n (location) => {\n const samePath = window.location.pathname === location.pathname && ignoreSamePath;\n if (skipRef.current || samePath) return;\n\n locationRef.current = location;\n setShowModal(true);\n return false;\n },\n [ignoreSamePath],\n );\n\n const handleConfirm = async () => {\n setShowModal(false);\n if (locationRef.current) {\n skipRef.current = true;\n history.push(locationRef.current.pathname);\n }\n };\n\n const handleCancel = () => {\n setShowModal(false);\n };\n\n useEffect(() => {\n const unblock = history.block(handleNavigation);\n return () => unblock();\n }, [history, handleNavigation]);\n\n return (\n <YTDFDialog\n visible={showModal}\n pristineSubmittable\n headerProps={{title}}\n fields={[\n {\n type: 'block',\n name: 'message',\n extras: {\n children: message,\n },\n },\n ]}\n onAdd={handleConfirm}\n onClose={handleCancel}\n />\n );\n};\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {isEngine} from '../module/api';\nimport {QueryEngine} from '../../../../shared/constants/engines';\nimport {\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../module/query/actions';\nimport {usePreventUnload} from '../../../hooks/use-prevent-unload';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\nimport {getDirtySinceLastSubmit, getQueryGetParams} from '../module/query/selectors';\nimport {QueriesList} from '../QueriesList';\nimport {useQueryACO} from '../QueryACO/useQueryACO';\nimport {MonacoContext} from '../context/MonacoContext';\n\nimport cn from 'bem-cn-lite';\n\nimport './QueryTracker.scss';\nimport {QueryEditorSplit} from './QueryEditorSplit';\nimport {selectFileEditor} from '../module/queryFilesForm/selectors';\nimport {selectNavigationCluster} from '../module/queryNavigation/selectors';\nimport {setSettingByKey} from '../../../store/actions/settings';\nimport {CellPreviewModal} from '../../../containers/CellPreviewModal/CellPreviewModal';\nimport {SET_QUERY_PARAMS} from '../module/query-tracker-contants';\nimport {RedirectConfirmModal} from '../../../components/RedirectConfirmModal';\nimport {getLastUserChoiceQueryEngine} from '../../../store/selectors/settings/settings-queries';\n\nconst b = cn('query-tracker-page');\n\ntype Props = {\n match: {\n path: string;\n params: {\n queryId?: string;\n };\n };\n location: {\n search: string;\n };\n};\n\nconst initialSizes = [20, 80];\nconst minSize = 380; // see history list's cells size\n\nfunction QueryPageDraft() {\n const dispatch = useDispatch();\n const routeParams = useSelector(getQueryGetParams);\n const cluster = useSelector(selectNavigationCluster);\n const favoriteEngine = useSelector(getLastUserChoiceQueryEngine) ?? QueryEngine.YQL;\n\n useEffect(() => {\n const engine =\n routeParams.engine && isEngine(routeParams.engine)\n ? (routeParams.engine as QueryEngine)\n : favoriteEngine;\n if (routeParams.cluster && routeParams.path) {\n if (routeParams.useDraft) {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {\n ...routeParams,\n useDraft: undefined,\n },\n },\n });\n }\n dispatch(\n createQueryFromTablePath(engine, routeParams.cluster, routeParams.path, {\n useDraft: true,\n }),\n );\n } else {\n dispatch(createEmptyQuery());\n }\n if (cluster) {\n dispatch(\n setSettingByKey('global::queryTracker::queriesListSidebarVisibilityMode', true),\n );\n }\n }, [dispatch]);\n return null;\n}\n\nfunction QueryPage(props: Props) {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {},\n },\n });\n if (props.match.params.queryId) {\n dispatch(loadQuery(props.match.params.queryId));\n } else {\n dispatch(createEmptyQuery());\n }\n }, [dispatch, props.match.params.queryId]);\n return null;\n}\n\nexport default function QueryTracker({match}: Props) {\n const {isQueriesListSidebarVisible, toggleQueriesListSideBarToggle} =\n useQueriesListSidebarToggle();\n const isQueryStateDirty = useSelector(getDirtySinceLastSubmit);\n const fileEditor = useSelector(selectFileEditor);\n usePreventUnload({shouldListen: isQueryStateDirty});\n const [sizes, setSize] = useState(initialSizes);\n const getSize = useMemo(() => {\n return () => sizes;\n }, [sizes]);\n const dispatch = useDispatch();\n const {loadQueryTrackerInfo} = useQueryACO();\n\n const goToCreatedQuery = useCallback(\n (queryId: string) => {\n dispatch(goToQuery(queryId));\n return true;\n },\n [dispatch],\n );\n\n useEffect(() => {\n const search = new URLSearchParams(window.location.search);\n if (search.get('listMode') && !isQueriesListSidebarVisible) {\n toggleQueriesListSideBarToggle();\n }\n loadQueryTrackerInfo();\n }, []);\n\n return (\n <>\n <Switch>\n <Route exact path={match.path} component={QueryPageDraft} />\n <Route path={`${match.path}/:queryId`} component={QueryPage} />\n </Switch>\n <MonacoContext.Provider value={new Map()}>\n <QueriesPooling>\n <FlexSplitPane\n className={b('container')}\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n minSize={minSize}\n getInitialSizes={getSize}\n >\n {isQueriesListSidebarVisible ? <QueriesList /> : null}\n <QueryEditorSplit\n fileEditorFullWidth={fileEditor.isFullWidth}\n fileEditorVisible={fileEditor.isOpen}\n onStartQuery={goToCreatedQuery}\n />\n </FlexSplitPane>\n </QueriesPooling>\n </MonacoContext.Provider>\n <CellPreviewModal />\n {isQueryStateDirty && (\n <RedirectConfirmModal\n title=\"Unsaved changes\"\n message=\"You have unsaved changes in this query. Do you want to continue and lose them?\"\n />\n )}\n </>\n );\n}\n","import React from 'react';\nimport {Button} from '@gravity-ui/uikit';\nimport Icon from '../../../components/Icon/Icon';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\n\nexport function QueriesListSidebarToggleButton() {\n const {isQueriesListSidebarVisible, toggleQueriesListSideBarToggle} =\n useQueriesListSidebarToggle();\n\n return (\n <Button\n view=\"outlined\"\n size=\"l\"\n title={`${isQueriesListSidebarVisible ? 'Hide' : 'Show'} queries list`}\n onClick={toggleQueriesListSideBarToggle}\n >\n <Icon awesome=\"layout-side-content\" size={16} />\n </Button>\n );\n}\n","import React, {FC} from 'react';\nimport {QueriesListSidebarToggleButton} from '../QueriesListSidebarToggleButton/QueriesListSidebarToggleButton';\nimport {NewQueryButton} from '../NewQueryButton';\nimport {Flex} from '@gravity-ui/uikit';\nimport UIFactory from '../../../UIFactory';\n\ntype Props = {\n onQueryCreate: () => void;\n};\n\nexport const RightButtonsGroup: FC<Props> = ({onQueryCreate}) => {\n const chatComponents = UIFactory.getAIChat();\n\n return (\n <Flex gap={2}>\n <QueriesListSidebarToggleButton />\n {chatComponents?.chat}\n {chatComponents?.toggleButton}\n <NewQueryButton onClick={onQueryCreate} />\n </Flex>\n );\n};\n","import React, {FC, useCallback, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {getQueryDraft} from '../module/query/selectors';\nimport {\n resetQueryTracker,\n setQueryEngine,\n setUserLastChoice,\n updateQueryDraft,\n} from '../module/query/actions';\nimport {RightButtonsGroup} from './RightButtonsGroup';\nimport {HeadSpacer} from '../../../containers/ClusterPageHeader/HeadSpacer';\nimport {Flex, Text, Tooltip} from '@gravity-ui/uikit';\nimport {QueryEngineSelector} from './QueryEngineSelector';\nimport {QuerySettingsButton} from '../QuerySettingsButton';\nimport {QueryFilesButton} from '../QueryFilesButton';\nimport {QuerySelectorsByEngine} from './QuerySelectorsByEngine';\nimport {QueryEngine} from '../../../../shared/constants/engines';\nimport './QueryTrackerTopRow.scss';\nimport cn from 'bem-cn-lite';\nimport {EditableAsText} from '../../../components/EditableAsText/EditableAsText';\nimport {setSettingByKey} from '../../../store/actions/settings';\nimport {useIsDesktop} from '../../../hooks/useIsDesktop';\nimport {QueryClusterSelector} from './QueryClusterSelector';\n\nconst NAME_PLACEHOLDER = 'No name';\nconst block = cn('query-tracker-top-row');\n\nconst QueryTrackerTopRow: FC = () => {\n const dispatch = useDispatch();\n const isDesktop = useIsDesktop();\n const {annotations, settings} = useSelector(getQueryDraft);\n const [nameEdit, setNameEdit] = useState(false);\n\n const handleChangeEngine = useCallback(\n (newEngine: QueryEngine) => {\n dispatch(setQueryEngine(newEngine));\n dispatch(setSettingByKey(`global::queryTracker::lastEngine`, newEngine));\n dispatch(setUserLastChoice());\n },\n [dispatch],\n );\n\n const handleCreateNewQuery = useCallback(() => {\n dispatch(resetQueryTracker());\n }, [dispatch]);\n\n const handleNameChange = useCallback(\n (title: string | undefined) => {\n dispatch(updateQueryDraft({annotations: {title}}));\n },\n [dispatch],\n );\n\n const handleSettingsChange = useCallback(\n (newSettings: Record<string, string>) =>\n dispatch(updateQueryDraft({settings: newSettings})),\n [dispatch],\n );\n\n const name = annotations?.title || NAME_PLACEHOLDER;\n\n return (\n <RowWithName page={Page.QUERIES} className={block()}>\n <Flex alignItems=\"center\" gap={4} grow={1}>\n <EditableAsText\n className={block('name-input')}\n onChange={handleNameChange}\n size=\"l\"\n text={annotations?.title}\n cancelOnClose\n withControls\n openOnClick\n onModeChange={setNameEdit}\n saveButtonView=\"action\"\n cancelButtonView=\"outlined\"\n >\n <Tooltip content={name}>\n <Text ellipsis>{name}</Text>\n </Tooltip>\n </EditableAsText>\n\n {!nameEdit && (\n <>\n <HeadSpacer />\n <QueryClusterSelector />\n <QueryEngineSelector isDesktop={isDesktop} onChange={handleChangeEngine} />\n <QuerySelectorsByEngine />\n <Flex gap={2}>\n <QuerySettingsButton\n settings={settings}\n onChange={handleSettingsChange}\n />\n <QueryFilesButton />\n </Flex>\n </>\n )}\n </Flex>\n <RightButtonsGroup onQueryCreate={handleCreateNewQuery} />\n </RowWithName>\n );\n};\n\nexport default QueryTrackerTopRow;\n","import {useEffect, useState} from 'react';\nexport const useIsDesktop = () => {\n const [isDesktop, setIsDesktop] = useState(false);\n\n useEffect(() => {\n const handleResize = () => {\n setIsDesktop(window.matchMedia('(min-width: 1280px)').matches);\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return isDesktop;\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport format from '../../common/hammer/format';\nimport Icon from '../../components/Icon/Icon';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport {OrderType, nextSortOrderValue} from '../../utils/sort-helpers';\n\nimport './SortIcon.scss';\n\nconst block = cn('sort-icon');\n\nconst ICON_BY_TYPE = {\n ['']: 'sort',\n asc: 'sort-up',\n desc: 'sort-down',\n 'asc-undefined': 'arrow-to-bottom',\n 'desc-undefined': 'arrow-from-bottom',\n 'undefined-asc': 'arrow-from-top',\n 'undefined-desc': 'arrow-to-top',\n} as const;\n\ninterface Props {\n className?: string;\n label?: string;\n onChange?: (nextOrder: OrderType) => void;\n order?: OrderType;\n hidden?: boolean;\n allowUnordered?: boolean;\n withUndefined?: boolean;\n}\n\nexport default class SortIcon extends React.Component<Props> {\n onClick = () => {\n const {order, onChange, allowUnordered, withUndefined} = this.props;\n if (!onChange) {\n return;\n }\n\n const nextOrder = nextSortOrderValue(order, allowUnordered, withUndefined);\n onChange(nextOrder);\n };\n\n render() {\n const {className, label, order, hidden} = this.props;\n const icon = ICON_BY_TYPE[order || ''];\n\n return (\n <span className={block({hidden}, className)} onClick={this.onClick}>\n {label && <span className={block('label')}>{label}</span>}\n <Tooltip\n className={block('icon')}\n content={order ? format.ReadableField(order) : 'Unordered'}\n >\n <Icon awesome={icon} face=\"solid\" />\n </Tooltip>\n </span>\n );\n }\n}\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport sortedIndexBy_ from 'lodash/sortedIndexBy';\nimport sortedLastIndexBy_ from 'lodash/sortedLastIndexBy';\n\nimport {getAllUserNamesSorted} from '../store/selectors/global';\nimport {\n loadAccountsIfNotLoaded,\n loadBundlesIfNotLoaded,\n loadGroupsIfNotLoaded,\n loadUsersIfNotLoaded,\n} from '../store/actions/global';\n\nexport function useAllUserNamesFiltered() {\n const dispatch = useDispatch();\n React.useEffect(() => {\n dispatch(loadUsersIfNotLoaded());\n }, []);\n\n const namesSorted = useSelector(getAllUserNamesSorted);\n\n const getFiltered = React.useCallback(\n (text: string) => {\n const from = sortedIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const to = sortedLastIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const res = namesSorted.slice(from, to);\n return res;\n },\n [namesSorted],\n );\n\n return {getFiltered, allNames: namesSorted};\n}\n\nexport function useGroupsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadGroupsIfNotLoaded());\n }, []);\n}\n\nexport function GroupsLoader({children}: {children?: React.ReactElement}) {\n useGroupsLoaded();\n return children ?? null;\n}\n\nexport function useAccountsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadAccountsIfNotLoaded());\n }, []);\n}\n\nexport function AccountsLoader() {\n useAccountsLoaded();\n return null;\n}\n\nexport function useBundlesLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadBundlesIfNotLoaded());\n }, []);\n}\n\nexport function BundlesLoader() {\n useBundlesLoaded();\n return null;\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import React, {useCallback, useEffect} from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../Icon/Icon';\n\nimport './EditableAsText.scss';\nimport Button, {ButtonProps} from '../Button/Button';\nconst block = cn('editable-as-text');\n\ninterface Props {\n className?: string;\n editorClassName?: string;\n\n text?: string;\n children: React.ReactNode;\n onChange: (v?: string) => void;\n disableEdit?: boolean;\n withControls?: boolean;\n cancelOnClose?: boolean;\n openOnClick?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\n saveButtonView?: ButtonProps['view'];\n cancelButtonView?: ButtonProps['view'];\n\n renderEditor?: (props: {\n value?: string;\n onBlur: () => void;\n onChange: (value?: string) => void;\n className?: string;\n onApply: (value?: string) => void;\n }) => React.ReactNode;\n onModeChange?: (isEdit: boolean) => void;\n}\n\nexport function EditableAsText(props: Props) {\n const {\n children,\n onChange,\n text,\n className,\n withControls,\n size,\n disableEdit,\n cancelOnClose,\n openOnClick,\n renderEditor,\n onModeChange,\n saveButtonView = 'normal',\n cancelButtonView = 'normal',\n } = props;\n const [editMode, setEditMode] = React.useState(false);\n const [input, setInput] = React.useState(text || '');\n\n useEffect(() => {\n setInput(text || '');\n }, [text]);\n\n const handleChangeMode = useCallback(\n (isEdit: boolean) => {\n if (onModeChange) onModeChange(isEdit);\n setEditMode(isEdit);\n },\n [onModeChange],\n );\n\n const closeEditMode = React.useCallback(() => {\n handleChangeMode(false);\n if (cancelOnClose) setInput(text || '');\n }, [cancelOnClose, handleChangeMode, text]);\n\n const startTextEdit = useCallback(() => {\n handleChangeMode(true);\n }, [handleChangeMode]);\n\n const handleWrapClick = () => {\n if (!editMode && openOnClick) {\n startTextEdit();\n }\n };\n\n const handleChange = React.useCallback((val?: string) => setInput(val ?? ''), [setInput]);\n\n const applyValue = useCallback(() => {\n handleChangeMode(false);\n onChange(input);\n }, [onChange, handleChangeMode, input]);\n\n const closeAndResetValue = useCallback(() => {\n handleChangeMode(false);\n setInput(text || '');\n }, [handleChangeMode, text]);\n\n const onApply = useCallback(\n (value?: string) => {\n handleChangeMode(false);\n onChange(value);\n },\n [handleChangeMode, onChange],\n );\n\n const handleKeyDown = React.useCallback(\n (evt: React.KeyboardEvent<HTMLElement>) => {\n if (evt.key === 'Enter') {\n applyValue();\n }\n if (evt.key === 'Escape') {\n closeAndResetValue();\n }\n },\n [applyValue, closeAndResetValue],\n );\n\n const controlSize = size ? size : 'm';\n\n return (\n <div\n className={block(null, [className || '', editMode ? 'edit' : ''])}\n onClick={handleWrapClick}\n >\n {editMode ? (\n <>\n {renderEditor ? (\n renderEditor({\n value: input,\n onChange: handleChange,\n className: block('control'),\n onBlur: closeEditMode,\n onApply,\n })\n ) : (\n <TextInput\n className={block('control')}\n autoFocus\n size={controlSize}\n value={input}\n onUpdate={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={closeEditMode}\n />\n )}\n {withControls && (\n <>\n <Button\n className={block('control')}\n view={saveButtonView}\n extraProps={{onMouseDown: applyValue}}\n size={controlSize}\n >\n <Icon awesome={'check'} size={controlSize} />\n </Button>\n <Button\n className={block('control')}\n view={cancelButtonView}\n extraProps={{onMouseDown: closeAndResetValue}}\n size={controlSize}\n >\n <Icon awesome={'times'} size={controlSize} />\n </Button>\n </>\n )}\n </>\n ) : (\n <React.Fragment>\n {children}\n {!disableEdit && (\n <Button\n className={block('control', {type: 'edit'})}\n view=\"outlined\"\n onClick={startTextEdit}\n size={controlSize}\n >\n <Icon awesome={'pencil'} size={controlSize} />\n </Button>\n )}\n </React.Fragment>\n )}\n </div>\n );\n}\n\nexport function EditButton({\n onClick,\n size = 'm',\n}: {\n onClick: () => void;\n size?: ButtonProps['size'];\n}) {\n return (\n <Button\n className={block('edit-btn')}\n onClick={onClick}\n size={size}\n qa=\"qa:navigation:edit-path\"\n >\n <Icon awesome={'pencil'} />\n </Button>\n );\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {sortableContainer, sortableElement, sortableHandle} from 'react-sortable-hoc';\nimport ReactList from 'react-list';\n\nimport each_ from 'lodash/each';\nimport escapeRegExp_ from 'lodash/escapeRegExp';\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\nimport reduce_ from 'lodash/reduce';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../../components/Icon/Icon';\n\nimport {renderText} from '../../components/templates/utils';\n\nimport './ColumnSelector.scss';\nimport Button from '../Button/Button';\n\nconst b = cn('column-selector');\n\nexport function makeItemsCopy(items) {\n return map_(items, (item) => {\n return {...item};\n });\n}\n\nconst DragHandle = sortableHandle(() => (\n <div className={b('drag-handle')}>\n <Icon face=\"solid\" awesome=\"list\" />\n </div>\n));\n\nconst SortableItem = sortableElement(\n ({item, isSortable, isSelectable, isDisabled, itemRenderer, onCheckBoxChange}) => {\n const active = !isDisabled && !item.disabled;\n const className = b('list-item', {\n selected: item.checked && active && 'yes',\n selectable: isSelectable && active && 'yes',\n disabled: !active && 'yes',\n });\n\n let showAction = true;\n if (item.checked) {\n showAction = 'isDeletable' in item ? item.isDeletable : true;\n }\n\n return (\n <div className={className}>\n {isSortable && item.checked && <DragHandle />}\n <div className={b('list-item-name')}>\n {item.keyColumn && <Icon awesome=\"key\" />}\n {itemRenderer(item)}\n </div>\n {active && showAction && (\n <span\n className={b('list-item-check')}\n onClick={onCheckBoxChange}\n data-item={item.name}\n >\n <Icon awesome=\"check\" />\n </span>\n )}\n {!active && <Icon className={b('list-item-lock')} awesome=\"lock\" />}\n </div>\n );\n },\n);\n\nconst SortableList = sortableContainer(\n ({\n items,\n isSortable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n isSelectable,\n useStaticSize,\n }) => {\n const renderer = (index, key) => {\n const item = items[index];\n return (\n <SortableItem\n key={key}\n index={index}\n item={item}\n disabled={!isSortable}\n isSortable={isSortable}\n isDisabled={isDisabled}\n isSelectable={isSelectable}\n itemRenderer={itemRenderer}\n onCheckBoxChange={onCheckBoxChange}\n />\n );\n };\n // Use 'simple' placement for draggable items because 'uniform' produces bugs when items are dragged outside the viewport\n const type = isSortable ? 'simple' : 'uniform';\n const mods = {'static-size': useStaticSize};\n\n return (\n <div className={b('list', mods)}>\n <ReactList itemRenderer={renderer} length={items.length} type={type} />\n </div>\n );\n },\n);\n\nexport default class ColumnSelector extends Component {\n static itemsProps = PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n keyColumn: PropTypes.bool,\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n }),\n );\n\n static propTypes = {\n className: PropTypes.string,\n items: ColumnSelector.itemsProps.isRequired,\n showDisabledItems: PropTypes.bool,\n isSortable: PropTypes.bool,\n isSelectable: PropTypes.bool,\n isFilterable: PropTypes.bool,\n showSelectedOnly: PropTypes.bool,\n isHeadless: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n children: PropTypes.node,\n itemRenderer: PropTypes.func,\n };\n\n static defaultProps = {\n itemRenderer: ({name, caption = name}) => renderText(caption, {asHTML: false}),\n isSortable: false,\n isHeadless: false,\n isSelectable: true,\n isFilterable: true,\n showSelectedOnly: false,\n };\n\n constructor(props) {\n const {items, isHeadless, showSelectedOnly} = props;\n super(props);\n\n const state = {\n showSelectedOnly,\n filter: '',\n };\n if (isHeadless) {\n Object.assign(state, {items: makeItemsCopy(items)});\n }\n this.state = state;\n }\n\n get items() {\n return this.props.isHeadless ? this.state.items : this.props.items;\n }\n\n get buttonALLisDisabled() {\n return this.items.every((item) => item.checked);\n }\n\n get buttonNONEisDisabled() {\n return !this.items.some((item) => item.checked);\n }\n\n /*\n Takes items from the proper place (props or state), modifies them and writes them back at the same place.\n */\n withActualItems(func) {\n const {onChange} = this.props;\n // headless widget keeps its state to itself, but calls onChange as a way of notifying caller about changes\n if (this.props.isHeadless) {\n const {items} = func({items: this.state.items || []});\n this.setState({items}, () => {\n onChange({items: [...this.state.items]});\n });\n } else {\n // widget inside modal passes all changes to the modal component where they are put into state\n const {items} = func({items: this.props.items || []});\n onChange({items: [...items]});\n }\n }\n\n toggleItem = (name) => {\n this.withActualItems(({items}) => {\n items = [...items];\n const index = items.findIndex((item) => item.name === name);\n const changedItem = items[index];\n items[index] = {...changedItem, checked: !changedItem.checked};\n\n return {items};\n });\n };\n\n selectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (!item.checked && !item.disabled) {\n items[index] = {...item, checked: true};\n }\n });\n\n return {items};\n });\n };\n\n deselectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (item.checked && !item.disabled && (item.isDeletable ?? true)) {\n items[index] = {...item, checked: false};\n }\n });\n\n return {items};\n });\n };\n\n invertItems = () => {\n this.withActualItems(({items}) => {\n const visibleItems = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleItems[item.name]) {\n return;\n }\n if (!item.disabled) {\n items[index] = {...item, checked: !item.checked};\n }\n });\n\n return {items};\n });\n };\n\n _handleCheckBoxChange = (event) => {\n this.toggleItem(event.currentTarget.getAttribute('data-item'));\n };\n\n _handleSortEnd = ({oldIndex, newIndex}) => {\n if (oldIndex === newIndex) {\n return;\n }\n\n this.withActualItems(({items}) => {\n items = [...items];\n\n const {items: visibleItems} = this.getVisibleItems();\n const fromIndex = items.findIndex((item) => item.name === visibleItems[oldIndex].name);\n const toIndex = items.findIndex((item) => item.name === visibleItems[newIndex].name);\n\n const [removed] = items.splice(fromIndex, 1);\n items.splice(toIndex, 0, removed);\n\n return {items};\n });\n };\n\n _handleDefaultSort = () => {\n this.withActualItems(({items}) => {\n return {\n items: items.sort((a, b) => {\n const aCaption = a.caption || a.name;\n const bCaption = b.caption || b.name;\n\n return aCaption.localeCompare(bCaption);\n }),\n };\n });\n };\n\n _toggleShownItems = () => {\n this.setState((prevState) => ({\n showSelectedOnly: !prevState.showSelectedOnly,\n }));\n };\n\n _changeFilter = (filter) => {\n this.setState({filter});\n };\n\n renderSearchBox() {\n return (\n <TextInput\n placeholder=\"Search...\"\n onUpdate={this._changeFilter}\n value={this.state.filter}\n hasClear={true}\n />\n );\n }\n\n renderControls() {\n const {isFilterable, isSelectable, isSortable, isHeadless} = this.props;\n const btnProps = {\n size: 'm',\n className: b('controls-item'),\n };\n\n return (\n <div className={b('controls')}>\n {isFilterable && this.renderSearchBox()}\n {isHeadless && (\n <Button {...btnProps} onClick={this._toggleShownItems}>\n Selected \n <span className=\"elements-secondary-text\">\n {filter_(this.items, (item) => item.checked).length}\n </span>\n </Button>\n )}\n {isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonALLisDisabled}\n onClick={this.selectAllItems}\n >\n Add all\n </Button>\n )}\n {isSelectable && (\n <Button {...btnProps} onClick={this.invertItems}>\n Invert list\n </Button>\n )}\n {!isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonNONEisDisabled}\n onClick={this.deselectAllItems}\n >\n Remove all\n </Button>\n )}\n {isSortable && (\n <Button {...btnProps} onClick={this._handleDefaultSort}>\n Default sort\n </Button>\n )}\n </div>\n );\n }\n\n filterItemsByName(items) {\n const re = new RegExp(escapeRegExp_(this.state.filter), 'i');\n return filter_(items, (item) => re.test(item.name));\n }\n\n filterItems(items) {\n const {showDisabledItems} = this.props;\n items = showDisabledItems ? items : filter_(items, (item) => !item.disabled);\n\n const visibleItems = this.filterItemsByName(items);\n return this.state.showSelectedOnly\n ? filter_(visibleItems, (item) => item.checked)\n : visibleItems;\n }\n\n getVisibleItems() {\n const toSplit = this.filterItems(this.items);\n const [keyItems, items] = partition_(toSplit, (item) => item.keyColumn);\n return {items, keyItems};\n }\n\n getVisibleItemsMap() {\n return reduce_(\n this.filterItems(this.items),\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {},\n );\n }\n\n renderList() {\n const {isSortable, isSelectable, itemRenderer, children, isHeadless} = this.props;\n\n const {items, keyItems} = this.getVisibleItems();\n\n const className = b(\n 'content',\n {\n headless: isHeadless ? undefined : 'no',\n empty: items.length ? undefined : 'yes',\n },\n 'pretty-scroll',\n );\n\n return (\n <div className={className}>\n {keyItems.length > 0 && (\n <React.Fragment>\n <SortableList\n lockAxis=\"y\"\n isDisabled={false}\n isSortable={false}\n isSelectable={isSelectable}\n items={keyItems}\n itemRenderer={itemRenderer}\n helperClass={b('list-item', {helper: 'yes'})}\n onCheckBoxChange={this._handleCheckBoxChange}\n />\n {items.length > 0 && <div className={b('separator')} />}\n </React.Fragment>\n )}\n {items.length > 0 && (\n <SortableList\n items={items}\n isSelectable={isSelectable}\n isSortable={isSortable}\n itemRenderer={itemRenderer}\n lockAxis=\"y\"\n helperClass={b('list-item', {helper: 'yes'})}\n onSortEnd={this._handleSortEnd}\n onCheckBoxChange={this._handleCheckBoxChange}\n useDragHandle\n />\n )}\n {!keyItems.length && !items.length && children}\n </div>\n );\n }\n\n render() {\n const {isHeadless, isSortable, className} = this.props;\n const classNames = b(\n {\n headless: isHeadless ? 'yes' : undefined,\n sortable: isSortable ? undefined : 'no',\n },\n className,\n );\n return (\n <div className={classNames}>\n {this.renderControls()}\n {this.renderList()}\n </div>\n );\n }\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","const SvgCircleQuestion = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14M6.44 4.54c.43-.354.994-.565 1.56-.565 1.217 0 2.34.82 2.34 2.14 0 .377-.078.745-.298 1.1-.208.339-.513.614-.875.867-.217.153-.325.257-.379.328-.038.052-.038.07-.038.089a.75.75 0 0 1-1.5 0c0-.794.544-1.286 1.057-1.645.28-.196.4-.332.458-.426a.54.54 0 0 0 .075-.312c0-.3-.244-.641-.84-.641a1 1 0 0 0-.608.223c-.167.138-.231.287-.231.418a.75.75 0 0 1-1.5 0c0-.674.345-1.22.78-1.577M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCircleQuestion;","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import type {RootState} from '../../reducers';\n\nexport const selectCellPreviewVisible = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.visible;\nexport const selectCellPreviewLoading = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.loading;\nexport const selectCellPreviewData = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.data;\nexport const selectCellPreviewYtCliDownloadCommand = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.ytCliDownloadCommand;\nexport const selectCellPreviewNoticeText = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.noticeText;\nexport const selectErrorPreviewCellPath = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.error;\n","import React from 'react';\n\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Flex, Text} from '@gravity-ui/uikit';\n\nimport SimpleModal from '../../components/Modal/SimpleModal';\nimport {\n selectCellPreviewData,\n selectCellPreviewLoading,\n selectCellPreviewNoticeText,\n selectCellPreviewVisible,\n selectCellPreviewYtCliDownloadCommand,\n selectErrorPreviewCellPath,\n} from '../../store/selectors/modals/cell-preview';\n\nimport ClipboardButton from '../../components/ClipboardButton/ClipboardButton';\nimport block from 'bem-cn-lite';\n\nimport Yson from '../../components/Yson/Yson';\nimport {YTErrorBlock} from '../../components/Error/Error';\nimport {type YsonSettings, getPreviewCellYsonSettings} from '../../store/selectors/thor/unipika';\nimport {closeCellPreviewAndCancelRequest} from '../../store/actions/modals/cell-preview';\nimport {isMediaTag} from '../../utils/yql-types';\n\nimport './CellPreviewModal.scss';\n\nconst b = block('cell-preview-modal');\n\nexport const CellPreviewModal: React.FC = () => {\n const dispatch = useDispatch();\n\n const loading = useSelector(selectCellPreviewLoading);\n const data = useSelector(selectCellPreviewData);\n const visible = useSelector(selectCellPreviewVisible);\n const ytCliDownloadCommand = useSelector(selectCellPreviewYtCliDownloadCommand);\n const noticeText = useSelector(selectCellPreviewNoticeText);\n const error = useSelector(selectErrorPreviewCellPath);\n\n const unipikaSettings = useSelector(getPreviewCellYsonSettings);\n\n return (\n <SimpleModal\n title=\"Preview\"\n visible={visible}\n loading={loading}\n onCancel={() => dispatch(closeCellPreviewAndCancelRequest())}\n wrapperClassName={b('wrapper')}\n >\n <Flex\n qa=\"cell-preview-modal-content\"\n className={b('content')}\n gap={2}\n direction=\"column\"\n >\n <Flex gap={2} direction=\"column\">\n <Text variant=\"subheader-3\" color=\"secondary\">\n {noticeText}\n </Text>\n {ytCliDownloadCommand ? (\n <code className={b('command-wrapper')}>\n <div className={b('command')}>\n <div\n data-qa=\"cell-preview-command\"\n className={b('command-content')}\n title={ytCliDownloadCommand}\n >\n {ytCliDownloadCommand}\n </div>\n <ClipboardButton\n view={'flat-secondary'}\n text={ytCliDownloadCommand}\n size={'s'}\n />\n </div>\n </code>\n ) : null}\n </Flex>\n {error ? (\n <YTErrorBlock error={error} />\n ) : (\n <PreviewContent data={data} unipikaSettings={unipikaSettings} />\n )}\n </Flex>\n </SimpleModal>\n );\n};\n\ntype PreviewContentProps = {\n data: {$type?: string; $value?: any; $tag?: string} | undefined;\n unipikaSettings: YsonSettings;\n};\n\nfunction PreviewContent(props: PreviewContentProps) {\n const {data, unipikaSettings} = props;\n\n if (data?.$type === 'yql.string' || data?.$type === 'yql.json') {\n return <pre className=\"elements-code\">{data?.$value}</pre>;\n }\n\n if (data?.$type === 'yql.tagged' && data.$tag && isMediaTag(data.$tag)) {\n return <img src={`data:${data.$tag};base64,${data?.$value}`} alt=\"image-preview\" />;\n }\n\n return (\n <Yson\n className={b('yson-container')}\n folding={true}\n value={data?.$value}\n tableSettings={{dynamicRenderScrollParentGetter: undefined}}\n settings={unipikaSettings}\n customLayout={({toolbar, content}) => {\n return (\n <>\n <div className={b('toolbar')}>{toolbar}</div>\n {content}\n </>\n );\n }}\n />\n );\n}\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n"],"names":["x","Array","from","prototype","slice","props","_jsx","_objectSpread","xmlns","fill","viewBox","children","fillRule","d","clipRule","name","prefix","i","indexOf","hasOwnProperty","space","local","block","cn","Dropdown","_Component","_this","_classCallCheck","_len","arguments","length","args","_key","_callSuper","concat","state","popupVisible","anchor","React","toggle","setState","prevState","open","close","_inherits","_createClass","key","value","_this$props","this","button","trigger","actionProps","onClick","undefined","onMouseEnter","onMouseLeave","template","_this$props$template","data","renderer","templates","get","__default__","call","_this$props2","popup","directions","Popup","placement","onClose","anchorRef","hasArrow","renderTemplate","className","_jsxs","ref","renderButton","renderPopup","Component","defaultProps","zIndexGroupLevel","arcInnerRadius","innerRadius","arcOuterRadius","outerRadius","arcStartAngle","startAngle","arcEndAngle","endAngle","arcPadAngle","padAngle","cornerTangents","x0","y0","x1","y1","r1","rc","cw","x01","y01","lo","ox","oy","x11","y11","x10","y10","x00","y00","dx","dy","d2","r","D","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","cx","cy","cornerRadius","padRadius","context","path","arc","buffer","r0","apply","a0","a1","da","moveTo","t0","t1","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","p0","p1","oc","pi","x2","y2","x3","y3","x32","y32","t","intersect","ax","ay","bx","by","kc","lc","lineTo","closePath","centroid","a","_","InternMap","Map","constructor","entries","keyof","super","Object","defineProperties","_intern","set","intern_get","has","intern_set","delete","intern_delete","valueOf","Set","selector","matches","childMatcher","node","document","querySelector","documentElement","xhtml","svg","xlink","xml","empty","querySelectorAll","find","childFirst","firstElementChild","filter","update","EnterNode","parent","datum","ownerDocument","namespaceURI","_next","_parent","__data__","bindIndex","group","enter","exit","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","arraylike","ascending","b","NaN","appendChild","child","insertBefore","next","attrRemove","removeAttribute","attrRemoveNS","fullname","removeAttributeNS","attrConstant","setAttribute","attrConstantNS","setAttributeNS","attrFunction","v","attrFunctionNS","propertyRemove","propertyConstant","propertyFunction","classArray","string","trim","split","classList","ClassList","_node","_names","getAttribute","classedAdd","names","list","n","add","classedRemove","remove","classedTrue","classedFalse","classedFunction","textRemove","textContent","textConstant","textFunction","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","parentNode","lower","previousSibling","firstChild","push","join","splice","contains","creatorInherit","uri","createElement","createElementNS","creatorFixed","namespace","constantNull","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","onRemove","typename","on","__on","o","j","m","type","removeEventListener","listener","options","onAdd","event","contextListener","addEventListener","dispatchEvent","params","window","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","Selection","groups","parents","_groups","_parents","selection","select","subgroups","subnode","subgroup","selectAll","isArray","arrayAll","selectorAll","selectChild","match","childFind","selectChildren","childrenFilter","matcher","bind","enterGroup","updateGroup","previous","i0","i1","_enter","_exit","map","sparse","onenter","onupdate","onexit","append","merge","order","groups0","groups1","m0","m1","Math","min","merges","group0","group1","compareDocumentPosition","sort","compare","compareNode","sortgroups","sortgroup","callback","nodes","size","each","attr","getAttributeNS","style","property","classed","text","html","create","creator","insert","before","deep","typenames","parseTypenames","dispatch","Symbol","iterator","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","isMediaTag","test","isImageTag","isVideoTag","TextInputWithDebounce","_props$debounce","debounce","_props$onUpdate","onUpdate","onBlur","onEnterKeyDown","onKeyDown","rest","_objectWithoutProperties","_excluded","_React$useState","_React$useState2","_slicedToArray","input","setInput","handleChangeExt","debounce_","handleChange","handleKeyDown","e","handleBlur","cancel","TextInput","usePreventUnload","_ref","shouldListen","beforeUnloadHandler","useCallback","preventDefault","returnValue","useEffect","getSettingQueryTrackerQueriesListSidebarVisibilityMode","createSelector","getSettingsData","settings","Boolean","useQueriesListSidebarToggle","useDispatch","isQueriesListSidebarVisible","useSelector","toggleQueriesListSideBarToggle","setSettingByKey","useQueryNavigation","selectedItem","getQuery","cluster","getCluster","history","useHistory","goToQuery","item","createQueryUrl","id","InfiniteScrollLoader","loading","onLoadMore","paginationRef","useRef","observer","IntersectionObserver","forEach","entry","isIntersecting","threshold","current","observe","unobserve","Flex","alignItems","justifyContent","Loader","itemBlock","isHeaderTableItem","header","tableSettings","displayIndices","sortable","stickyHead","DataTable","MOVING","syncHeadOnResize","QueriesHistoryListUpdater","updateFn","requestQueriesList","useUpdater","timeout","QueriesHistoryList","itemsByDate","getQueryListByDate","isLoading","isQueriesListLoading","columns","getQueryListColumns","hasMore","hasQueriesListMore","_useQueryNavigation","_useQueryNavigation2","selectedId","showPagination","setClassName","isHeader","selected","DataTableYT","useThemeYT","rowKey","row","onRowClick","disableRightGap","rowClassName","getColSpansOfRow","Name","loadNextQueriesList","QueriesHistoryCursorDirection","PAST","itemCn","renderItem","_item$annotations","_item$annotations2","_Fragment","Icon","tutorialIcon","Text","ellipsis","title","annotations","QueriesTutorialList","items","getQueriesList","selectedIndex","useMemo","findIndex","query","tutorialFilter","_item$annotations3","toLocaleLowerCase","includes","List","filterable","filterClassName","filterPlaceholder","filterItem","virtualized","selectedItemIndex","itemHeight","itemClassName","onItemClick","ALL_ENGINE_KEY","enginesList","content","_toConsumableArray","Engines","engine","QueryEnginesNames","QueryEngineFilter","getQueriesFilters","onChangeEngineFilter","values","selectedEngine","applyFilter","Select","placeholder","ALL_STATUS_KEY","statusesList","QueryStatus","hammer","format","Readable","QueryStateFilter","onChangeStatusFilter","selectedStatus","result","width","QueryUserFilter","useAllUserNamesFiltered","userNames","getAllUserNames","login","getCurrentUserName","user","userName","QueriesListAuthorFilter","My","handleOnChange","QueryDateFilter","_useSelector","to","setFilter","gap","DatePicker","dateTime","hasClear","Block","direction","variant","FilterDropdown","changed","hasCustomHistoryFilters","handleResetFilter","resetFilter","Button","view","TrashBinIcon","AuthorFilter","All","QueryFastUserFilter","RadioButton","QueriesHistoryListFilter","filterViewMode","getQueriesListMode","allowedColumns","customFilterChanged","QueriesListMode","History","tooltipProps","withTooltip","FunnelIcon","GearIcon","ColumnSelector","onChange","selectedColumns","_ref2","checked","_ref3","Tooltip","CircleQuestionIcon","Vcs","withLazyLoading","lazy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","sent","abrupt","stop","Navigation","TabNames","_defineProperty","Tutorials","VCS","QueriesList","activeTab","tabsList","getQueriesListTabs","tabs","tab","isVsc","Tabs","onSelectTab","tabId","setListMode","MONACO_CONFIG","fontSize","language","renderWhitespace","minimap","enabled","FileEditor","selectFileEditorConfig","fileEditor","file","editorRef","FileIcon","setFileEditor","isFullWidth","LayoutColumnsIcon","SquareIcon","isOpen","XmarkIcon","MonacoEditor","changeQueryFile","monacoConfig","EDITOR_INITIAL_SIZE","QueryEditorSplit","fileEditorFullWidth","fileEditorVisible","onStartQuery","_useState","useState","_useState2","sizes","setSize","hideQueryEditor","FlexSplitPane","HORIZONTAL","onResizeEnd","getInitialSizes","QueryEditor","showStatusInTitle","RedirectConfirmModal","message","_ref$ignoreSamePath","ignoreSamePath","showModal","setShowModal","skipRef","locationRef","handleNavigation","location","samePath","pathname","handleConfirm","unblock","YTDFDialog","visible","pristineSubmittable","headerProps","fields","extras","initialSizes","minSize","QueryPageDraft","routeParams","getQueryGetParams","selectNavigationCluster","favoriteEngine","getLastUserChoiceQueryEngine","QueryEngine","YQL","isEngine","useDraft","SET_QUERY_PARAMS","createQueryFromTablePath","createEmptyQuery","QueryPage","queryId","loadQuery","QueryTracker","_useQueriesListSideba","isQueryStateDirty","getDirtySinceLastSubmit","selectFileEditor","getSize","loadQueryTrackerInfo","useQueryACO","goToCreatedQuery","URLSearchParams","search","Switch","Route","exact","component","MonacoContext","Provider","QueriesPooling","CellPreviewModal","QueriesListSidebarToggleButton","awesome","RightButtonsGroup","onQueryCreate","chatComponents","UIFactory","getAIChat","chat","toggleButton","NewQueryButton","isDesktop","setIsDesktop","handleResize","matchMedia","useIsDesktop","getQueryDraft","nameEdit","setNameEdit","handleChangeEngine","newEngine","setQueryEngine","setUserLastChoice","handleCreateNewQuery","resetQueryTracker","handleNameChange","updateQueryDraft","handleSettingsChange","newSettings","RowWithName","page","Page","QUERIES","grow","EditableAsText","cancelOnClose","withControls","openOnClick","onModeChange","saveButtonView","cancelButtonView","HeadSpacer","QueryClusterSelector","QueryEngineSelector","QuerySelectorsByEngine","QuerySettingsButton","QueryFilesButton","ICON_BY_TYPE","SortIcon","_React$Component","allowUnordered","withUndefined","nextSortOrderValue","label","hidden","icon","ReadableField","face","loadUsersIfNotLoaded","namesSorted","getAllUserNamesSorted","getFiltered","sortedIndexBy_","substr","sortedLastIndexBy_","allNames","useGroupsLoaded","loadGroupsIfNotLoaded","GroupsLoader","none","disableEdit","renderEditor","_props$saveButtonView","_props$cancelButtonVi","editMode","setEditMode","_React$useState3","_React$useState4","handleChangeMode","isEdit","closeEditMode","startTextEdit","val","applyValue","closeAndResetValue","onApply","evt","controlSize","autoFocus","extraProps","onMouseDown","EditButton","_ref$size","qa","makeItemsCopy","map_","DragHandle","sortableHandle","SortableItem","sortableElement","isSortable","isSelectable","isDisabled","itemRenderer","onCheckBoxChange","active","disabled","selectable","showAction","isDeletable","keyColumn","SortableList","sortableContainer","useStaticSize","mods","ReactList","index","isHeadless","showSelectedOnly","toggleItem","withActualItems","changedItem","selectAllItems","_ref4","visibleMap","getVisibleItemsMap","each_","deselectAllItems","_ref5","_item$isDeletable","invertItems","_ref6","visibleItems","_handleCheckBoxChange","currentTarget","_handleSortEnd","_ref7","oldIndex","newIndex","_ref8","getVisibleItems","fromIndex","toIndex","_items$splice","removed","_handleDefaultSort","_ref9","aCaption","caption","bCaption","localeCompare","_toggleShownItems","_changeFilter","assign","every","some","func","_this2","isFilterable","btnProps","renderSearchBox","filter_","buttonALLisDisabled","buttonNONEisDisabled","re","RegExp","escapeRegExp_","showDisabledItems","filterItemsByName","toSplit","filterItems","_partition_","partition_","_partition_2","keyItems","reduce_","acc","_this$getVisibleItems2","headless","lockAxis","helperClass","helper","onSortEnd","useDragHandle","_this$props3","classNames","renderControls","renderList","itemsProps","PropTypes","isRequired","_ref0","_ref0$caption","renderText","asHTML","implicit","ordinal","domain","range","unknown","scale","copy","identity","sortValues","descending","constant","pie","k","array","sum","arcs","max","p","abs","pa","initRange","atan2","cos","sin","sqrt","epsilon","PI","halfPi","tau","acos","asin","withPath","shape","digits","floor","RangeError","defaultView","selectCellPreviewVisible","navigation","modals","cellPreviewModal","selectCellPreviewLoading","selectCellPreviewData","selectCellPreviewYtCliDownloadCommand","ytCliDownloadCommand","selectCellPreviewNoticeText","noticeText","selectErrorPreviewCellPath","error","unipikaSettings","getPreviewCellYsonSettings","SimpleModal","onCancel","closeCellPreviewAndCancelRequest","wrapperClassName","color","ClipboardButton","YTErrorBlock","PreviewContent","$type","$value","$tag","src","alt","Yson","folding","dynamicRenderScrollParentGetter","customLayout","toolbar","tauEpsilon","strings","Path","_x0","_y0","_x1","_y1","_append","Error","round","appendRound","y","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","l01_2","x20","y20","l21_2","l20_2","l21","l01","l","tan","t01","t21","ccw","rect","w","h","toString"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"js/query-tracker.b7334a6f.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./node_modules/d3-shape/src/array.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/bars-descending-align-left.svg","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/namespace.js","webpack://@ytsaurus/ui/./src/ui/components/Dropdown/Dropdown.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/arc.js","webpack://@ytsaurus/ui/./node_modules/internmap/src/index.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/matcher.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/select.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/namespaces.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selectorAll.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/selectChild.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/selectChildren.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/sparse.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/enter.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/data.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/sort.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/attr.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/property.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/classed.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/text.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/html.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/raise.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/lower.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/creator.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/insert.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/remove.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/clone.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/on.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/dispatch.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/index.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/select.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/selectAll.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/array.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/filter.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/constant.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/exit.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/join.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/merge.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/order.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/call.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/nodes.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/node.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/size.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/empty.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/each.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/append.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/datum.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/iterator.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selection/style.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/constant.js","webpack://@ytsaurus/ui/./src/ui/utils/yql-types.ts","webpack://@ytsaurus/ui/./src/ui/components/TextInputWithDebounce/TextInputWithDebounce.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/use-prevent-unload.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/module/settings/selector.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/QueriesList/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/Query/index.ts","webpack://@ytsaurus/ui/./src/ui/components/InfiniteScrollLoader/InfiniteScrollLoader.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesHistoryList/index.tsx","webpack://@ytsaurus/ui/./src/ui/assets/img/svg/learn.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesTutorialList/index.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/funnel.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryEngineFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryStateFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryUserFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryDateFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/FilterDropdown.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/QueryFastUserFilter.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/QueriesListFilter/index.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Vcs/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/Navigation/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/index.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/layout-columns.svg","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/FileEditor/FileEditor.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryEditorSplit.tsx","webpack://@ytsaurus/ui/./src/ui/components/RedirectConfirmModal/RedirectConfirmModal.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTracker/QueryTracker.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesListSidebarToggleButton/QueriesListSidebarToggleButton.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/RightButtonsGroup.tsx","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueryTrackerTopRow/index.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/useIsDesktop.ts","webpack://@ytsaurus/ui/./src/ui/components/SortIcon/SortIcon.tsx","webpack://@ytsaurus/ui/./src/ui/hooks/global.tsx","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/selector.js","webpack://@ytsaurus/ui/./src/ui/components/EditableAsText/EditableAsText.tsx","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/ColumnSelector.js","webpack://@ytsaurus/ui/./node_modules/d3-scale/src/ordinal.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/descending.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/identity.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/pie.js","webpack://@ytsaurus/ui/./node_modules/d3-scale/src/init.js","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/circle-question.svg","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/math.js","webpack://@ytsaurus/ui/./node_modules/d3-shape/src/path.js","webpack://@ytsaurus/ui/./node_modules/d3-selection/src/window.js","webpack://@ytsaurus/ui/./src/ui/store/selectors/modals/cell-preview.ts","webpack://@ytsaurus/ui/./src/ui/containers/CellPreviewModal/CellPreviewModal.tsx","webpack://@ytsaurus/ui/./node_modules/d3-path/src/path.js"],"sourcesContent":["export var slice = Array.prototype.slice;\n\nexport default function(x) {\n return typeof x === \"object\" && \"length\" in x\n ? x // Array, TypedArray, NodeList, array-like\n : Array.from(x); // Map, Set, iterable, string, or anything else\n}\n","const SvgBarsDescendingAlignLeft = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M1 3.25a.75.75 0 0 1 .75-.75h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 3.25M1 8a.75.75 0 0 1 .75-.75h8.5a.75.75 0 0 1 0 1.5h-8.5A.75.75 0 0 1 1 8m.75 4a.75.75 0 0 0 0 1.5h2.5a.75.75 0 0 0 0-1.5z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgBarsDescendingAlignLeft;","import namespaces from \"./namespaces.js\";\n\nexport default function(name) {\n var prefix = name += \"\", i = prefix.indexOf(\":\");\n if (i >= 0 && (prefix = name.slice(0, i)) !== \"xmlns\") name = name.slice(i + 1);\n return namespaces.hasOwnProperty(prefix) ? {space: namespaces[prefix], local: name} : name; // eslint-disable-line no-prototype-builtins\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\n\nimport templates from '../templates/templates';\n\nimport {Popup} from '@gravity-ui/uikit';\n\nconst block = cn('elements-dropdown');\n\nclass Dropdown extends Component {\n static propTypes = {\n button: PropTypes.oneOfType([PropTypes.element, PropTypes.object]).isRequired,\n className: PropTypes.string,\n popup: PropTypes.object,\n directions: PropTypes.array,\n trigger: PropTypes.oneOf(['click', 'hover']).isRequired,\n template: PropTypes.oneOfType([\n PropTypes.element,\n PropTypes.shape({\n key: PropTypes.string.isRequired,\n data: PropTypes.object,\n }),\n ]).isRequired,\n zIndexGroupLevel: PropTypes.number,\n };\n\n static defaultProps = {\n zIndexGroupLevel: 1,\n directions: ['bottom-end', 'top-end'],\n };\n\n state = {\n popupVisible: false,\n };\n\n anchor = React.createRef();\n\n toggle = () =>\n this.setState((prevState) => ({\n popupVisible: !prevState.popupVisible,\n }));\n\n open = () => this.setState({popupVisible: true});\n\n close = () => this.setState({popupVisible: false});\n\n renderButton() {\n const {button, trigger} = this.props;\n\n const actionProps = {\n onClick: trigger === 'click' ? this.toggle : undefined,\n onMouseEnter: trigger === 'hover' ? this.open : undefined,\n onMouseLeave: trigger === 'hover' ? this.close : undefined,\n };\n\n return React.cloneElement(button, actionProps);\n }\n\n renderTemplate() {\n const {template} = this.props;\n const {key, data} = this.props.template;\n const renderer = templates.get(key).__default__;\n\n return React.isValidElement(template)\n ? React.cloneElement(template)\n : renderer.call(this, data);\n }\n\n renderPopup() {\n const {popup, directions} = this.props;\n\n return (\n <Popup\n placement={directions}\n onClose={this.close}\n open={true}\n anchorRef={this.anchor}\n hasArrow\n {...popup}\n >\n {this.renderTemplate()}\n </Popup>\n );\n }\n\n render() {\n const {className} = this.props;\n\n return (\n <span className={block(null, className)} ref={this.anchor}>\n {this.renderButton()}\n {this.state.popupVisible && this.renderPopup()}\n </span>\n );\n }\n}\n\nexport default Dropdown;\n","import constant from \"./constant.js\";\nimport {abs, acos, asin, atan2, cos, epsilon, halfPi, max, min, pi, sin, sqrt, tau} from \"./math.js\";\nimport {withPath} from \"./path.js\";\n\nfunction arcInnerRadius(d) {\n return d.innerRadius;\n}\n\nfunction arcOuterRadius(d) {\n return d.outerRadius;\n}\n\nfunction arcStartAngle(d) {\n return d.startAngle;\n}\n\nfunction arcEndAngle(d) {\n return d.endAngle;\n}\n\nfunction arcPadAngle(d) {\n return d && d.padAngle; // Note: optional!\n}\n\nfunction intersect(x0, y0, x1, y1, x2, y2, x3, y3) {\n var x10 = x1 - x0, y10 = y1 - y0,\n x32 = x3 - x2, y32 = y3 - y2,\n t = y32 * x10 - x32 * y10;\n if (t * t < epsilon) return;\n t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;\n return [x0 + t * x10, y0 + t * y10];\n}\n\n// Compute perpendicular offset line of length rc.\n// http://mathworld.wolfram.com/Circle-LineIntersection.html\nfunction cornerTangents(x0, y0, x1, y1, r1, rc, cw) {\n var x01 = x0 - x1,\n y01 = y0 - y1,\n lo = (cw ? rc : -rc) / sqrt(x01 * x01 + y01 * y01),\n ox = lo * y01,\n oy = -lo * x01,\n x11 = x0 + ox,\n y11 = y0 + oy,\n x10 = x1 + ox,\n y10 = y1 + oy,\n x00 = (x11 + x10) / 2,\n y00 = (y11 + y10) / 2,\n dx = x10 - x11,\n dy = y10 - y11,\n d2 = dx * dx + dy * dy,\n r = r1 - rc,\n D = x11 * y10 - x10 * y11,\n d = (dy < 0 ? -1 : 1) * sqrt(max(0, r * r * d2 - D * D)),\n cx0 = (D * dy - dx * d) / d2,\n cy0 = (-D * dx - dy * d) / d2,\n cx1 = (D * dy + dx * d) / d2,\n cy1 = (-D * dx + dy * d) / d2,\n dx0 = cx0 - x00,\n dy0 = cy0 - y00,\n dx1 = cx1 - x00,\n dy1 = cy1 - y00;\n\n // Pick the closer of the two intersection points.\n // TODO Is there a faster way to determine which intersection to use?\n if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1) cx0 = cx1, cy0 = cy1;\n\n return {\n cx: cx0,\n cy: cy0,\n x01: -ox,\n y01: -oy,\n x11: cx0 * (r1 / r - 1),\n y11: cy0 * (r1 / r - 1)\n };\n}\n\nexport default function() {\n var innerRadius = arcInnerRadius,\n outerRadius = arcOuterRadius,\n cornerRadius = constant(0),\n padRadius = null,\n startAngle = arcStartAngle,\n endAngle = arcEndAngle,\n padAngle = arcPadAngle,\n context = null,\n path = withPath(arc);\n\n function arc() {\n var buffer,\n r,\n r0 = +innerRadius.apply(this, arguments),\n r1 = +outerRadius.apply(this, arguments),\n a0 = startAngle.apply(this, arguments) - halfPi,\n a1 = endAngle.apply(this, arguments) - halfPi,\n da = abs(a1 - a0),\n cw = a1 > a0;\n\n if (!context) context = buffer = path();\n\n // Ensure that the outer radius is always larger than the inner radius.\n if (r1 < r0) r = r1, r1 = r0, r0 = r;\n\n // Is it a point?\n if (!(r1 > epsilon)) context.moveTo(0, 0);\n\n // Or is it a circle or annulus?\n else if (da > tau - epsilon) {\n context.moveTo(r1 * cos(a0), r1 * sin(a0));\n context.arc(0, 0, r1, a0, a1, !cw);\n if (r0 > epsilon) {\n context.moveTo(r0 * cos(a1), r0 * sin(a1));\n context.arc(0, 0, r0, a1, a0, cw);\n }\n }\n\n // Or is it a circular or annular sector?\n else {\n var a01 = a0,\n a11 = a1,\n a00 = a0,\n a10 = a1,\n da0 = da,\n da1 = da,\n ap = padAngle.apply(this, arguments) / 2,\n rp = (ap > epsilon) && (padRadius ? +padRadius.apply(this, arguments) : sqrt(r0 * r0 + r1 * r1)),\n rc = min(abs(r1 - r0) / 2, +cornerRadius.apply(this, arguments)),\n rc0 = rc,\n rc1 = rc,\n t0,\n t1;\n\n // Apply padding? Note that since r1 ≥ r0, da1 ≥ da0.\n if (rp > epsilon) {\n var p0 = asin(rp / r0 * sin(ap)),\n p1 = asin(rp / r1 * sin(ap));\n if ((da0 -= p0 * 2) > epsilon) p0 *= (cw ? 1 : -1), a00 += p0, a10 -= p0;\n else da0 = 0, a00 = a10 = (a0 + a1) / 2;\n if ((da1 -= p1 * 2) > epsilon) p1 *= (cw ? 1 : -1), a01 += p1, a11 -= p1;\n else da1 = 0, a01 = a11 = (a0 + a1) / 2;\n }\n\n var x01 = r1 * cos(a01),\n y01 = r1 * sin(a01),\n x10 = r0 * cos(a10),\n y10 = r0 * sin(a10);\n\n // Apply rounded corners?\n if (rc > epsilon) {\n var x11 = r1 * cos(a11),\n y11 = r1 * sin(a11),\n x00 = r0 * cos(a00),\n y00 = r0 * sin(a00),\n oc;\n\n // Restrict the corner radius according to the sector angle. If this\n // intersection fails, it’s probably because the arc is too small, so\n // disable the corner radius entirely.\n if (da < pi) {\n if (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10)) {\n var ax = x01 - oc[0],\n ay = y01 - oc[1],\n bx = x11 - oc[0],\n by = y11 - oc[1],\n kc = 1 / sin(acos((ax * bx + ay * by) / (sqrt(ax * ax + ay * ay) * sqrt(bx * bx + by * by))) / 2),\n lc = sqrt(oc[0] * oc[0] + oc[1] * oc[1]);\n rc0 = min(rc, (r0 - lc) / (kc - 1));\n rc1 = min(rc, (r1 - lc) / (kc + 1));\n } else {\n rc0 = rc1 = 0;\n }\n }\n }\n\n // Is the sector collapsed to a line?\n if (!(da1 > epsilon)) context.moveTo(x01, y01);\n\n // Does the sector’s outer ring have rounded corners?\n else if (rc1 > epsilon) {\n t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);\n t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);\n\n context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc1 < rc) context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc1, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r1, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), !cw);\n context.arc(t1.cx, t1.cy, rc1, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the outer ring just a circular arc?\n else context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);\n\n // Is there no inner ring, and it’s a circular sector?\n // Or perhaps it’s an annular sector collapsed due to padding?\n if (!(r0 > epsilon) || !(da0 > epsilon)) context.lineTo(x10, y10);\n\n // Does the sector’s inner ring (or point) have rounded corners?\n else if (rc0 > epsilon) {\n t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);\n t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);\n\n context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);\n\n // Have the corners merged?\n if (rc0 < rc) context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t1.y01, t1.x01), !cw);\n\n // Otherwise, draw the two corners and the ring.\n else {\n context.arc(t0.cx, t0.cy, rc0, atan2(t0.y01, t0.x01), atan2(t0.y11, t0.x11), !cw);\n context.arc(0, 0, r0, atan2(t0.cy + t0.y11, t0.cx + t0.x11), atan2(t1.cy + t1.y11, t1.cx + t1.x11), cw);\n context.arc(t1.cx, t1.cy, rc0, atan2(t1.y11, t1.x11), atan2(t1.y01, t1.x01), !cw);\n }\n }\n\n // Or is the inner ring just a circular arc?\n else context.arc(0, 0, r0, a10, a00, cw);\n }\n\n context.closePath();\n\n if (buffer) return context = null, buffer + \"\" || null;\n }\n\n arc.centroid = function() {\n var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2,\n a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - pi / 2;\n return [cos(a) * r, sin(a) * r];\n };\n\n arc.innerRadius = function(_) {\n return arguments.length ? (innerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : innerRadius;\n };\n\n arc.outerRadius = function(_) {\n return arguments.length ? (outerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : outerRadius;\n };\n\n arc.cornerRadius = function(_) {\n return arguments.length ? (cornerRadius = typeof _ === \"function\" ? _ : constant(+_), arc) : cornerRadius;\n };\n\n arc.padRadius = function(_) {\n return arguments.length ? (padRadius = _ == null ? null : typeof _ === \"function\" ? _ : constant(+_), arc) : padRadius;\n };\n\n arc.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : startAngle;\n };\n\n arc.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : endAngle;\n };\n\n arc.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), arc) : padAngle;\n };\n\n arc.context = function(_) {\n return arguments.length ? ((context = _ == null ? null : _), arc) : context;\n };\n\n return arc;\n}\n","export class InternMap extends Map {\n constructor(entries, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (entries != null) for (const [key, value] of entries) this.set(key, value);\n }\n get(key) {\n return super.get(intern_get(this, key));\n }\n has(key) {\n return super.has(intern_get(this, key));\n }\n set(key, value) {\n return super.set(intern_set(this, key), value);\n }\n delete(key) {\n return super.delete(intern_delete(this, key));\n }\n}\n\nexport class InternSet extends Set {\n constructor(values, key = keyof) {\n super();\n Object.defineProperties(this, {_intern: {value: new Map()}, _key: {value: key}});\n if (values != null) for (const value of values) this.add(value);\n }\n has(value) {\n return super.has(intern_get(this, value));\n }\n add(value) {\n return super.add(intern_set(this, value));\n }\n delete(value) {\n return super.delete(intern_delete(this, value));\n }\n}\n\nfunction intern_get({_intern, _key}, value) {\n const key = _key(value);\n return _intern.has(key) ? _intern.get(key) : value;\n}\n\nfunction intern_set({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) return _intern.get(key);\n _intern.set(key, value);\n return value;\n}\n\nfunction intern_delete({_intern, _key}, value) {\n const key = _key(value);\n if (_intern.has(key)) {\n value = _intern.get(key);\n _intern.delete(key);\n }\n return value;\n}\n\nfunction keyof(value) {\n return value !== null && typeof value === \"object\" ? value.valueOf() : value;\n}\n","export default function(selector) {\n return function() {\n return this.matches(selector);\n };\n}\n\nexport function childMatcher(selector) {\n return function(node) {\n return node.matches(selector);\n };\n}\n\n","import {Selection, root} from \"./selection/index.js\";\n\nexport default function(selector) {\n return typeof selector === \"string\"\n ? new Selection([[document.querySelector(selector)]], [document.documentElement])\n : new Selection([[selector]], root);\n}\n","export var xhtml = \"http://www.w3.org/1999/xhtml\";\n\nexport default {\n svg: \"http://www.w3.org/2000/svg\",\n xhtml: xhtml,\n xlink: \"http://www.w3.org/1999/xlink\",\n xml: \"http://www.w3.org/XML/1998/namespace\",\n xmlns: \"http://www.w3.org/2000/xmlns/\"\n};\n","function empty() {\n return [];\n}\n\nexport default function(selector) {\n return selector == null ? empty : function() {\n return this.querySelectorAll(selector);\n };\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar find = Array.prototype.find;\n\nfunction childFind(match) {\n return function() {\n return find.call(this.children, match);\n };\n}\n\nfunction childFirst() {\n return this.firstElementChild;\n}\n\nexport default function(match) {\n return this.select(match == null ? childFirst\n : childFind(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","import {childMatcher} from \"../matcher.js\";\n\nvar filter = Array.prototype.filter;\n\nfunction children() {\n return Array.from(this.children);\n}\n\nfunction childrenFilter(match) {\n return function() {\n return filter.call(this.children, match);\n };\n}\n\nexport default function(match) {\n return this.selectAll(match == null ? children\n : childrenFilter(typeof match === \"function\" ? match : childMatcher(match)));\n}\n","export default function(update) {\n return new Array(update.length);\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._enter || this._groups.map(sparse), this._parents);\n}\n\nexport function EnterNode(parent, datum) {\n this.ownerDocument = parent.ownerDocument;\n this.namespaceURI = parent.namespaceURI;\n this._next = null;\n this._parent = parent;\n this.__data__ = datum;\n}\n\nEnterNode.prototype = {\n constructor: EnterNode,\n appendChild: function(child) { return this._parent.insertBefore(child, this._next); },\n insertBefore: function(child, next) { return this._parent.insertBefore(child, next); },\n querySelector: function(selector) { return this._parent.querySelector(selector); },\n querySelectorAll: function(selector) { return this._parent.querySelectorAll(selector); }\n};\n","import {Selection} from \"./index.js\";\nimport {EnterNode} from \"./enter.js\";\nimport constant from \"../constant.js\";\n\nfunction bindIndex(parent, group, enter, update, exit, data) {\n var i = 0,\n node,\n groupLength = group.length,\n dataLength = data.length;\n\n // Put any non-null nodes that fit into update.\n // Put any null nodes into enter.\n // Put any remaining data into enter.\n for (; i < dataLength; ++i) {\n if (node = group[i]) {\n node.__data__ = data[i];\n update[i] = node;\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Put any non-null nodes that don’t fit into exit.\n for (; i < groupLength; ++i) {\n if (node = group[i]) {\n exit[i] = node;\n }\n }\n}\n\nfunction bindKey(parent, group, enter, update, exit, data, key) {\n var i,\n node,\n nodeByKeyValue = new Map,\n groupLength = group.length,\n dataLength = data.length,\n keyValues = new Array(groupLength),\n keyValue;\n\n // Compute the key for each node.\n // If multiple nodes have the same key, the duplicates are added to exit.\n for (i = 0; i < groupLength; ++i) {\n if (node = group[i]) {\n keyValues[i] = keyValue = key.call(node, node.__data__, i, group) + \"\";\n if (nodeByKeyValue.has(keyValue)) {\n exit[i] = node;\n } else {\n nodeByKeyValue.set(keyValue, node);\n }\n }\n }\n\n // Compute the key for each datum.\n // If there a node associated with this key, join and add it to update.\n // If there is not (or the key is a duplicate), add it to enter.\n for (i = 0; i < dataLength; ++i) {\n keyValue = key.call(parent, data[i], i, data) + \"\";\n if (node = nodeByKeyValue.get(keyValue)) {\n update[i] = node;\n node.__data__ = data[i];\n nodeByKeyValue.delete(keyValue);\n } else {\n enter[i] = new EnterNode(parent, data[i]);\n }\n }\n\n // Add any remaining nodes that were not bound to data to exit.\n for (i = 0; i < groupLength; ++i) {\n if ((node = group[i]) && (nodeByKeyValue.get(keyValues[i]) === node)) {\n exit[i] = node;\n }\n }\n}\n\nfunction datum(node) {\n return node.__data__;\n}\n\nexport default function(value, key) {\n if (!arguments.length) return Array.from(this, datum);\n\n var bind = key ? bindKey : bindIndex,\n parents = this._parents,\n groups = this._groups;\n\n if (typeof value !== \"function\") value = constant(value);\n\n for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {\n var parent = parents[j],\n group = groups[j],\n groupLength = group.length,\n data = arraylike(value.call(parent, parent && parent.__data__, j, parents)),\n dataLength = data.length,\n enterGroup = enter[j] = new Array(dataLength),\n updateGroup = update[j] = new Array(dataLength),\n exitGroup = exit[j] = new Array(groupLength);\n\n bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);\n\n // Now connect the enter nodes to their following update node, such that\n // appendChild can insert the materialized enter node before this node,\n // rather than at the end of the parent node.\n for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {\n if (previous = enterGroup[i0]) {\n if (i0 >= i1) i1 = i0 + 1;\n while (!(next = updateGroup[i1]) && ++i1 < dataLength);\n previous._next = next || null;\n }\n }\n }\n\n update = new Selection(update, parents);\n update._enter = enter;\n update._exit = exit;\n return update;\n}\n\n// Given some data, this returns an array-like view of it: an object that\n// exposes a length property and allows numeric indexing. Note that unlike\n// selectAll, this isn’t worried about “live” collections because the resulting\n// array will only be used briefly while data is being bound. (It is possible to\n// cause the data to change while iterating by using a key function, but please\n// don’t; we’d rather avoid a gratuitous copy.)\nfunction arraylike(data) {\n return typeof data === \"object\" && \"length\" in data\n ? data // Array, TypedArray, NodeList, array-like\n : Array.from(data); // Map, Set, iterable, string, or anything else\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(compare) {\n if (!compare) compare = ascending;\n\n function compareNode(a, b) {\n return a && b ? compare(a.__data__, b.__data__) : !a - !b;\n }\n\n for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n sortgroup[i] = node;\n }\n }\n sortgroup.sort(compareNode);\n }\n\n return new Selection(sortgroups, this._parents).order();\n}\n\nfunction ascending(a, b) {\n return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n","import namespace from \"../namespace.js\";\n\nfunction attrRemove(name) {\n return function() {\n this.removeAttribute(name);\n };\n}\n\nfunction attrRemoveNS(fullname) {\n return function() {\n this.removeAttributeNS(fullname.space, fullname.local);\n };\n}\n\nfunction attrConstant(name, value) {\n return function() {\n this.setAttribute(name, value);\n };\n}\n\nfunction attrConstantNS(fullname, value) {\n return function() {\n this.setAttributeNS(fullname.space, fullname.local, value);\n };\n}\n\nfunction attrFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttribute(name);\n else this.setAttribute(name, v);\n };\n}\n\nfunction attrFunctionNS(fullname, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.removeAttributeNS(fullname.space, fullname.local);\n else this.setAttributeNS(fullname.space, fullname.local, v);\n };\n}\n\nexport default function(name, value) {\n var fullname = namespace(name);\n\n if (arguments.length < 2) {\n var node = this.node();\n return fullname.local\n ? node.getAttributeNS(fullname.space, fullname.local)\n : node.getAttribute(fullname);\n }\n\n return this.each((value == null\n ? (fullname.local ? attrRemoveNS : attrRemove) : (typeof value === \"function\"\n ? (fullname.local ? attrFunctionNS : attrFunction)\n : (fullname.local ? attrConstantNS : attrConstant)))(fullname, value));\n}\n","function propertyRemove(name) {\n return function() {\n delete this[name];\n };\n}\n\nfunction propertyConstant(name, value) {\n return function() {\n this[name] = value;\n };\n}\n\nfunction propertyFunction(name, value) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) delete this[name];\n else this[name] = v;\n };\n}\n\nexport default function(name, value) {\n return arguments.length > 1\n ? this.each((value == null\n ? propertyRemove : typeof value === \"function\"\n ? propertyFunction\n : propertyConstant)(name, value))\n : this.node()[name];\n}\n","function classArray(string) {\n return string.trim().split(/^|\\s+/);\n}\n\nfunction classList(node) {\n return node.classList || new ClassList(node);\n}\n\nfunction ClassList(node) {\n this._node = node;\n this._names = classArray(node.getAttribute(\"class\") || \"\");\n}\n\nClassList.prototype = {\n add: function(name) {\n var i = this._names.indexOf(name);\n if (i < 0) {\n this._names.push(name);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n remove: function(name) {\n var i = this._names.indexOf(name);\n if (i >= 0) {\n this._names.splice(i, 1);\n this._node.setAttribute(\"class\", this._names.join(\" \"));\n }\n },\n contains: function(name) {\n return this._names.indexOf(name) >= 0;\n }\n};\n\nfunction classedAdd(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.add(names[i]);\n}\n\nfunction classedRemove(node, names) {\n var list = classList(node), i = -1, n = names.length;\n while (++i < n) list.remove(names[i]);\n}\n\nfunction classedTrue(names) {\n return function() {\n classedAdd(this, names);\n };\n}\n\nfunction classedFalse(names) {\n return function() {\n classedRemove(this, names);\n };\n}\n\nfunction classedFunction(names, value) {\n return function() {\n (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);\n };\n}\n\nexport default function(name, value) {\n var names = classArray(name + \"\");\n\n if (arguments.length < 2) {\n var list = classList(this.node()), i = -1, n = names.length;\n while (++i < n) if (!list.contains(names[i])) return false;\n return true;\n }\n\n return this.each((typeof value === \"function\"\n ? classedFunction : value\n ? classedTrue\n : classedFalse)(names, value));\n}\n","function textRemove() {\n this.textContent = \"\";\n}\n\nfunction textConstant(value) {\n return function() {\n this.textContent = value;\n };\n}\n\nfunction textFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.textContent = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? textRemove : (typeof value === \"function\"\n ? textFunction\n : textConstant)(value))\n : this.node().textContent;\n}\n","function htmlRemove() {\n this.innerHTML = \"\";\n}\n\nfunction htmlConstant(value) {\n return function() {\n this.innerHTML = value;\n };\n}\n\nfunction htmlFunction(value) {\n return function() {\n var v = value.apply(this, arguments);\n this.innerHTML = v == null ? \"\" : v;\n };\n}\n\nexport default function(value) {\n return arguments.length\n ? this.each(value == null\n ? htmlRemove : (typeof value === \"function\"\n ? htmlFunction\n : htmlConstant)(value))\n : this.node().innerHTML;\n}\n","function raise() {\n if (this.nextSibling) this.parentNode.appendChild(this);\n}\n\nexport default function() {\n return this.each(raise);\n}\n","function lower() {\n if (this.previousSibling) this.parentNode.insertBefore(this, this.parentNode.firstChild);\n}\n\nexport default function() {\n return this.each(lower);\n}\n","import namespace from \"./namespace.js\";\nimport {xhtml} from \"./namespaces.js\";\n\nfunction creatorInherit(name) {\n return function() {\n var document = this.ownerDocument,\n uri = this.namespaceURI;\n return uri === xhtml && document.documentElement.namespaceURI === xhtml\n ? document.createElement(name)\n : document.createElementNS(uri, name);\n };\n}\n\nfunction creatorFixed(fullname) {\n return function() {\n return this.ownerDocument.createElementNS(fullname.space, fullname.local);\n };\n}\n\nexport default function(name) {\n var fullname = namespace(name);\n return (fullname.local\n ? creatorFixed\n : creatorInherit)(fullname);\n}\n","import creator from \"../creator.js\";\nimport selector from \"../selector.js\";\n\nfunction constantNull() {\n return null;\n}\n\nexport default function(name, before) {\n var create = typeof name === \"function\" ? name : creator(name),\n select = before == null ? constantNull : typeof before === \"function\" ? before : selector(before);\n return this.select(function() {\n return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);\n });\n}\n","function remove() {\n var parent = this.parentNode;\n if (parent) parent.removeChild(this);\n}\n\nexport default function() {\n return this.each(remove);\n}\n","function selection_cloneShallow() {\n var clone = this.cloneNode(false), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nfunction selection_cloneDeep() {\n var clone = this.cloneNode(true), parent = this.parentNode;\n return parent ? parent.insertBefore(clone, this.nextSibling) : clone;\n}\n\nexport default function(deep) {\n return this.select(deep ? selection_cloneDeep : selection_cloneShallow);\n}\n","function contextListener(listener) {\n return function(event) {\n listener.call(this, event, this.__data__);\n };\n}\n\nfunction parseTypenames(typenames) {\n return typenames.trim().split(/^|\\s+/).map(function(t) {\n var name = \"\", i = t.indexOf(\".\");\n if (i >= 0) name = t.slice(i + 1), t = t.slice(0, i);\n return {type: t, name: name};\n });\n}\n\nfunction onRemove(typename) {\n return function() {\n var on = this.__on;\n if (!on) return;\n for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {\n if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n } else {\n on[++i] = o;\n }\n }\n if (++i) on.length = i;\n else delete this.__on;\n };\n}\n\nfunction onAdd(typename, value, options) {\n return function() {\n var on = this.__on, o, listener = contextListener(value);\n if (on) for (var j = 0, m = on.length; j < m; ++j) {\n if ((o = on[j]).type === typename.type && o.name === typename.name) {\n this.removeEventListener(o.type, o.listener, o.options);\n this.addEventListener(o.type, o.listener = listener, o.options = options);\n o.value = value;\n return;\n }\n }\n this.addEventListener(typename.type, listener, options);\n o = {type: typename.type, name: typename.name, value: value, listener: listener, options: options};\n if (!on) this.__on = [o];\n else on.push(o);\n };\n}\n\nexport default function(typename, value, options) {\n var typenames = parseTypenames(typename + \"\"), i, n = typenames.length, t;\n\n if (arguments.length < 2) {\n var on = this.node().__on;\n if (on) for (var j = 0, m = on.length, o; j < m; ++j) {\n for (i = 0, o = on[j]; i < n; ++i) {\n if ((t = typenames[i]).type === o.type && t.name === o.name) {\n return o.value;\n }\n }\n }\n return;\n }\n\n on = value ? onAdd : onRemove;\n for (i = 0; i < n; ++i) this.each(on(typenames[i], value, options));\n return this;\n}\n","import defaultView from \"../window.js\";\n\nfunction dispatchEvent(node, type, params) {\n var window = defaultView(node),\n event = window.CustomEvent;\n\n if (typeof event === \"function\") {\n event = new event(type, params);\n } else {\n event = window.document.createEvent(\"Event\");\n if (params) event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;\n else event.initEvent(type, false, false);\n }\n\n node.dispatchEvent(event);\n}\n\nfunction dispatchConstant(type, params) {\n return function() {\n return dispatchEvent(this, type, params);\n };\n}\n\nfunction dispatchFunction(type, params) {\n return function() {\n return dispatchEvent(this, type, params.apply(this, arguments));\n };\n}\n\nexport default function(type, params) {\n return this.each((typeof params === \"function\"\n ? dispatchFunction\n : dispatchConstant)(type, params));\n}\n","import selection_select from \"./select.js\";\nimport selection_selectAll from \"./selectAll.js\";\nimport selection_selectChild from \"./selectChild.js\";\nimport selection_selectChildren from \"./selectChildren.js\";\nimport selection_filter from \"./filter.js\";\nimport selection_data from \"./data.js\";\nimport selection_enter from \"./enter.js\";\nimport selection_exit from \"./exit.js\";\nimport selection_join from \"./join.js\";\nimport selection_merge from \"./merge.js\";\nimport selection_order from \"./order.js\";\nimport selection_sort from \"./sort.js\";\nimport selection_call from \"./call.js\";\nimport selection_nodes from \"./nodes.js\";\nimport selection_node from \"./node.js\";\nimport selection_size from \"./size.js\";\nimport selection_empty from \"./empty.js\";\nimport selection_each from \"./each.js\";\nimport selection_attr from \"./attr.js\";\nimport selection_style from \"./style.js\";\nimport selection_property from \"./property.js\";\nimport selection_classed from \"./classed.js\";\nimport selection_text from \"./text.js\";\nimport selection_html from \"./html.js\";\nimport selection_raise from \"./raise.js\";\nimport selection_lower from \"./lower.js\";\nimport selection_append from \"./append.js\";\nimport selection_insert from \"./insert.js\";\nimport selection_remove from \"./remove.js\";\nimport selection_clone from \"./clone.js\";\nimport selection_datum from \"./datum.js\";\nimport selection_on from \"./on.js\";\nimport selection_dispatch from \"./dispatch.js\";\nimport selection_iterator from \"./iterator.js\";\n\nexport var root = [null];\n\nexport function Selection(groups, parents) {\n this._groups = groups;\n this._parents = parents;\n}\n\nfunction selection() {\n return new Selection([[document.documentElement]], root);\n}\n\nfunction selection_selection() {\n return this;\n}\n\nSelection.prototype = selection.prototype = {\n constructor: Selection,\n select: selection_select,\n selectAll: selection_selectAll,\n selectChild: selection_selectChild,\n selectChildren: selection_selectChildren,\n filter: selection_filter,\n data: selection_data,\n enter: selection_enter,\n exit: selection_exit,\n join: selection_join,\n merge: selection_merge,\n selection: selection_selection,\n order: selection_order,\n sort: selection_sort,\n call: selection_call,\n nodes: selection_nodes,\n node: selection_node,\n size: selection_size,\n empty: selection_empty,\n each: selection_each,\n attr: selection_attr,\n style: selection_style,\n property: selection_property,\n classed: selection_classed,\n text: selection_text,\n html: selection_html,\n raise: selection_raise,\n lower: selection_lower,\n append: selection_append,\n insert: selection_insert,\n remove: selection_remove,\n clone: selection_clone,\n datum: selection_datum,\n on: selection_on,\n dispatch: selection_dispatch,\n [Symbol.iterator]: selection_iterator\n};\n\nexport default selection;\n","import {Selection} from \"./index.js\";\nimport selector from \"../selector.js\";\n\nexport default function(select) {\n if (typeof select !== \"function\") select = selector(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {\n if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {\n if (\"__data__\" in node) subnode.__data__ = node.__data__;\n subgroup[i] = subnode;\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","import {Selection} from \"./index.js\";\nimport array from \"../array.js\";\nimport selectorAll from \"../selectorAll.js\";\n\nfunction arrayAll(select) {\n return function() {\n return array(select.apply(this, arguments));\n };\n}\n\nexport default function(select) {\n if (typeof select === \"function\") select = arrayAll(select);\n else select = selectorAll(select);\n\n for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {\n if (node = group[i]) {\n subgroups.push(select.call(node, node.__data__, i, group));\n parents.push(node);\n }\n }\n }\n\n return new Selection(subgroups, parents);\n}\n","// Given something array like (or null), returns something that is strictly an\n// array. This is used to ensure that array-like objects passed to d3.selectAll\n// or selection.selectAll are converted into proper arrays when creating a\n// selection; we don’t ever want to create a selection backed by a live\n// HTMLCollection or NodeList. However, note that selection.selectAll will use a\n// static NodeList as a group, since it safely derived from querySelectorAll.\nexport default function array(x) {\n return x == null ? [] : Array.isArray(x) ? x : Array.from(x);\n}\n","import {Selection} from \"./index.js\";\nimport matcher from \"../matcher.js\";\n\nexport default function(match) {\n if (typeof match !== \"function\") match = matcher(match);\n\n for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {\n for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {\n if ((node = group[i]) && match.call(node, node.__data__, i, group)) {\n subgroup.push(node);\n }\n }\n }\n\n return new Selection(subgroups, this._parents);\n}\n","export default function(x) {\n return function() {\n return x;\n };\n}\n","import sparse from \"./sparse.js\";\nimport {Selection} from \"./index.js\";\n\nexport default function() {\n return new Selection(this._exit || this._groups.map(sparse), this._parents);\n}\n","export default function(onenter, onupdate, onexit) {\n var enter = this.enter(), update = this, exit = this.exit();\n if (typeof onenter === \"function\") {\n enter = onenter(enter);\n if (enter) enter = enter.selection();\n } else {\n enter = enter.append(onenter + \"\");\n }\n if (onupdate != null) {\n update = onupdate(update);\n if (update) update = update.selection();\n }\n if (onexit == null) exit.remove(); else onexit(exit);\n return enter && update ? enter.merge(update).order() : update;\n}\n","import {Selection} from \"./index.js\";\n\nexport default function(context) {\n var selection = context.selection ? context.selection() : context;\n\n for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {\n for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {\n if (node = group0[i] || group1[i]) {\n merge[i] = node;\n }\n }\n }\n\n for (; j < m0; ++j) {\n merges[j] = groups0[j];\n }\n\n return new Selection(merges, this._parents);\n}\n","export default function() {\n\n for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {\n for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {\n if (node = group[i]) {\n if (next && node.compareDocumentPosition(next) ^ 4) next.parentNode.insertBefore(node, next);\n next = node;\n }\n }\n }\n\n return this;\n}\n","export default function() {\n var callback = arguments[0];\n arguments[0] = this;\n callback.apply(null, arguments);\n return this;\n}\n","export default function() {\n return Array.from(this);\n}\n","export default function() {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {\n var node = group[i];\n if (node) return node;\n }\n }\n\n return null;\n}\n","export default function() {\n let size = 0;\n for (const node of this) ++size; // eslint-disable-line no-unused-vars\n return size;\n}\n","export default function() {\n return !this.node();\n}\n","export default function(callback) {\n\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) callback.call(node, node.__data__, i, group);\n }\n }\n\n return this;\n}\n","import creator from \"../creator.js\";\n\nexport default function(name) {\n var create = typeof name === \"function\" ? name : creator(name);\n return this.select(function() {\n return this.appendChild(create.apply(this, arguments));\n });\n}\n","export default function(value) {\n return arguments.length\n ? this.property(\"__data__\", value)\n : this.node().__data__;\n}\n","export default function*() {\n for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {\n for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {\n if (node = group[i]) yield node;\n }\n }\n}\n","import defaultView from \"../window.js\";\n\nfunction styleRemove(name) {\n return function() {\n this.style.removeProperty(name);\n };\n}\n\nfunction styleConstant(name, value, priority) {\n return function() {\n this.style.setProperty(name, value, priority);\n };\n}\n\nfunction styleFunction(name, value, priority) {\n return function() {\n var v = value.apply(this, arguments);\n if (v == null) this.style.removeProperty(name);\n else this.style.setProperty(name, v, priority);\n };\n}\n\nexport default function(name, value, priority) {\n return arguments.length > 1\n ? this.each((value == null\n ? styleRemove : typeof value === \"function\"\n ? styleFunction\n : styleConstant)(name, value, priority == null ? \"\" : priority))\n : styleValue(this.node(), name);\n}\n\nexport function styleValue(node, name) {\n return node.style.getPropertyValue(name)\n || defaultView(node).getComputedStyle(node, null).getPropertyValue(name);\n}\n","export default function(x) {\n return function constant() {\n return x;\n };\n}\n","export function isImageTag(value: string) {\n return /image\\/.*/.test(value);\n}\n\nexport function isVideoTag(value: string) {\n return /video\\/.*/.test(value);\n}\n\nexport function isMediaTag(value: string) {\n return isImageTag(value) || isVideoTag(value);\n}\n","import React from 'react';\nimport debounce_ from 'lodash/debounce';\n\nimport {TextInput, TextInputProps} from '@gravity-ui/uikit';\n\nexport interface TextInputWithDebounceProps extends TextInputProps {\n debounce?: number;\n onBlur?: (e: React.FocusEvent) => void;\n onEnterKeyDown?: (e: React.KeyboardEvent) => void;\n}\n\nfunction TextInputWithDebounce(props: TextInputWithDebounceProps) {\n const {\n debounce = 400,\n onUpdate = () => {},\n onBlur,\n value,\n onEnterKeyDown,\n onKeyDown,\n ...rest\n } = props;\n\n const [input, setInput] = React.useState<string | undefined>();\n\n const handleChangeExt = React.useMemo(() => {\n return debounce_(onUpdate as any, debounce);\n }, [debounce, onUpdate]);\n\n const handleChange = React.useCallback(\n (text: string) => {\n setInput(text);\n handleChangeExt(text);\n },\n [handleChangeExt, setInput],\n );\n\n const handleKeyDown = React.useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n if (onKeyDown) {\n onKeyDown(e);\n }\n if (e.key === 'Enter' && onEnterKeyDown) {\n onEnterKeyDown(e);\n }\n },\n [onEnterKeyDown, onKeyDown],\n );\n\n const handleBlur = React.useCallback(\n (e: React.FocusEvent<HTMLInputElement>) => {\n setInput(undefined);\n\n if (onBlur) {\n onBlur(e);\n }\n },\n [setInput, onBlur],\n );\n\n React.useEffect(() => {\n return () => {\n handleChangeExt.cancel();\n };\n }, [handleChangeExt]);\n\n return (\n <TextInput\n onUpdate={handleChange}\n {...rest}\n value={input === undefined ? value : input}\n onBlur={handleBlur}\n onKeyDown={handleKeyDown}\n />\n );\n}\n\nexport default React.memo(TextInputWithDebounce);\n","import {useCallback, useEffect} from 'react';\n\nexport const usePreventUnload = ({shouldListen}: {shouldListen: boolean}) => {\n const beforeUnloadHandler = useCallback((e: BeforeUnloadEvent) => {\n e.preventDefault();\n\n // Included for legacy support, e.g. Chrome/Edge < 119\n e.returnValue = true;\n }, []);\n\n useEffect(() => {\n if (shouldListen) {\n window.addEventListener('beforeunload', beforeUnloadHandler);\n }\n\n return () => window.removeEventListener('beforeunload', beforeUnloadHandler);\n }, [shouldListen]);\n};\n","import {createSelector} from 'reselect';\nimport {getSettingsData} from '../../../../store/selectors/settings/settings-base';\n\nexport const getSettingQueryTrackerQueriesListSidebarVisibilityMode = createSelector(\n getSettingsData,\n (settings) => Boolean(settings['global::queryTracker::queriesListSidebarVisibilityMode']),\n);\n","import {useDispatch, useSelector} from 'react-redux';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getSettingQueryTrackerQueriesListSidebarVisibilityMode} from '../../module/settings/selector';\n\nexport const useQueriesListSidebarToggle = () => {\n const dispatch = useDispatch();\n const isQueriesListSidebarVisible = useSelector(\n getSettingQueryTrackerQueriesListSidebarVisibilityMode,\n );\n\n const toggleQueriesListSideBarToggle = () => {\n dispatch(\n setSettingByKey(\n 'global::queryTracker::queriesListSidebarVisibilityMode',\n !isQueriesListSidebarVisible,\n ),\n );\n };\n\n return {\n isQueriesListSidebarVisible,\n toggleQueriesListSideBarToggle,\n };\n};\n","import {useCallback} from 'react';\nimport {useSelector} from 'react-redux';\nimport {useHistory} from 'react-router';\nimport {createQueryUrl} from '../../utils/navigation';\nimport {QueryItem} from '../../module/api';\nimport {getCluster} from '../../../../store/selectors/global';\nimport {getQuery} from '../../module/query/selectors';\n\nexport const useQueryNavigation = (): [QueryItem['id'] | undefined, (id: QueryItem) => void] => {\n const selectedItem = useSelector(getQuery);\n const cluster = useSelector(getCluster);\n const history = useHistory();\n\n const goToQuery = useCallback(\n (item: QueryItem) => {\n history.push(createQueryUrl(cluster, item.id));\n },\n [cluster, history],\n );\n\n return [selectedItem?.id, goToQuery];\n};\n","import React, {FC, useEffect, useRef} from 'react';\nimport {Flex, Loader} from '@gravity-ui/uikit';\n\ntype Props = {\n className?: string;\n loading?: boolean;\n onLoadMore: () => void;\n};\n\nexport const InfiniteScrollLoader: FC<Props> = ({className, loading, onLoadMore}) => {\n const paginationRef = useRef<HTMLDivElement | null>(null);\n\n useEffect(() => {\n const observer = new IntersectionObserver(\n (entries) => {\n entries.forEach((entry) => {\n if (entry.isIntersecting) {\n onLoadMore();\n }\n });\n },\n {\n root: null,\n threshold: 0.1,\n },\n );\n\n if (paginationRef.current) {\n observer.observe(paginationRef.current);\n }\n\n return () => {\n if (paginationRef.current) {\n observer.unobserve(paginationRef.current);\n }\n };\n }, []);\n\n return (\n <Flex className={className} ref={paginationRef} alignItems=\"center\" justifyContent=\"center\">\n {loading ? <Loader /> : ''}\n </Flex>\n );\n};\n","import React, {useCallback} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport DataTable, {Settings} from '@gravity-ui/react-data-table';\nimport {QueryItem} from '../../module/api';\nimport {\n getQueryListByDate,\n getQueryListColumns,\n hasQueriesListMore,\n isQueriesListLoading,\n} from '../../module/queries_list/selectors';\nimport DataTableYT from '../../../../components/DataTableYT/DataTableYT';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport {useUpdater} from '../../../../hooks/use-updater';\nimport block from 'bem-cn-lite';\n\nimport './QueriesHistoryList.scss';\nimport './QueryHistoryItem.scss';\nimport {loadNextQueriesList, requestQueriesList} from '../../module/queries_list/actions';\nimport {InfiniteScrollLoader} from '../../../../components/InfiniteScrollLoader';\nimport {QueriesHistoryCursorDirection} from '../../module/query-tracker-contants';\n\nconst b = block('queries-history-list');\nconst itemBlock = block('query-history-item');\n\ntype HeaderTableItem = {header: string};\ntype TableItem = QueryItem | HeaderTableItem;\n\nconst isHeaderTableItem = (item: TableItem): item is HeaderTableItem => {\n return (item as HeaderTableItem).header !== undefined;\n};\n\nconst tableSettings: Settings = {\n displayIndices: false,\n sortable: false,\n stickyHead: DataTable.MOVING,\n syncHeadOnResize: true,\n};\n\nfunction QueriesHistoryListUpdater() {\n const dispatch = useDispatch();\n\n const updateFn = React.useCallback(() => {\n dispatch(requestQueriesList());\n }, [dispatch]);\n\n useUpdater(updateFn, {timeout: 5000});\n\n return null;\n}\n\nexport function QueriesHistoryList() {\n const dispatch = useDispatch();\n const itemsByDate = useSelector(getQueryListByDate);\n const isLoading = useSelector(isQueriesListLoading);\n const {columns} = useSelector(getQueryListColumns);\n const hasMore = useSelector(hasQueriesListMore);\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const showPagination = hasMore && itemsByDate.length > 0;\n\n const handleLoadMore = () => {\n dispatch(loadNextQueriesList(QueriesHistoryCursorDirection.PAST));\n };\n\n const setClassName = useCallback(\n (item: TableItem) => {\n const isHeader = isHeaderTableItem(item);\n return itemBlock({\n header: isHeader ? Boolean(item.header) : undefined,\n selected: isHeader ? undefined : item.id === selectedId,\n });\n },\n [selectedId],\n );\n\n return (\n <div className={b()}>\n <QueriesHistoryListUpdater />\n <div className={b('list-wrapper')}>\n <DataTableYT\n className={b('list')}\n loading={isLoading}\n columns={columns}\n data={itemsByDate}\n useThemeYT\n rowKey={(row) => {\n if (isHeaderTableItem(row)) {\n return row.header;\n }\n\n return row.id;\n }}\n onRowClick={(item) => {\n if (!isHeaderTableItem(item)) {\n goToQuery(item);\n }\n }}\n disableRightGap\n settings={tableSettings}\n rowClassName={setClassName}\n getColSpansOfRow={({row}) => {\n if (isHeaderTableItem(row)) {\n return {\n Name: columns.length,\n };\n }\n\n return undefined;\n }}\n />\n {showPagination && (\n <InfiniteScrollLoader\n className={b('pagination')}\n loading={isLoading}\n onLoadMore={handleLoadMore}\n />\n )}\n </div>\n </div>\n );\n}\n","const SvgLearn = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 14\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M6.836 2.202 1.74 4.386a.396.396 0 0 0 0 .728l5.096 2.184a2.5 2.5 0 0 0 .985.202h.358a2.5 2.5 0 0 0 .985-.202l5.096-2.184a.396.396 0 0 0 0-.728L9.164 2.202A2.5 2.5 0 0 0 8.179 2h-.358a2.5 2.5 0 0 0-.985.202M1.5 6.642l1.5.644v3.228a2 2 0 0 0 1.106 1.789l.806.403a7 7 0 0 0 6.193.033l.909-.442a2 2 0 0 0 1.125-1.798V7.226l1.712-.734a1.896 1.896 0 0 0 0-3.484L9.755.823A4 4 0 0 0 8.179.5h-.358a4 4 0 0 0-1.576.323L1.15 3.008A1.9 1.9 0 0 0 0 4.75v4.5a.75.75 0 0 0 1.5 0zm3 3.872V7.929l1.745.748A4 4 0 0 0 7.821 9h.358a4 4 0 0 0 1.576-.323l1.884-.808v2.63a.5.5 0 0 1-.282.45l-.909.442a5.5 5.5 0 0 1-4.865-.027l-.807-.403a.5.5 0 0 1-.276-.447\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLearn;","import React, {useMemo} from 'react';\nimport cn from 'bem-cn-lite';\nimport {Icon, List, ListItemData, Loader, Text} from '@gravity-ui/uikit';\nimport {QueryItem} from '../../module/api';\nimport {useQueryNavigation} from '../../hooks/Query';\nimport tutorialIcon from '../../../../assets/img/svg/learn.svg';\nimport './index.scss';\nimport {useSelector} from 'react-redux';\nimport {getQueriesList, isQueriesListLoading} from '../../module/queries_list/selectors';\n\nconst itemCn = cn('query-tutorial-item');\nconst block = cn('queries-tutorial-list');\n\nfunction renderItem(item: QueryItem) {\n return (\n <>\n <Icon className={itemCn('icon')} data={tutorialIcon} />\n <Text className={itemCn('text')} ellipsis title={item?.annotations?.title}>\n {item?.annotations?.title || 'No name'}\n </Text>\n </>\n );\n}\n\nexport function QueriesTutorialList({className}: {className: string}) {\n const items = useSelector(getQueriesList);\n const isLoading = useSelector(isQueriesListLoading);\n\n const [selectedId, goToQuery] = useQueryNavigation();\n\n const selectedIndex = useMemo(() => {\n return items.findIndex((query) => query.id === selectedId);\n }, [selectedId, items]);\n\n const tutorialFilter = useMemo(() => {\n return (filter: string) => {\n return (item: ListItemData<QueryItem>) => {\n return (\n item?.annotations?.title\n ?.toLocaleLowerCase()\n .includes(filter.toLocaleLowerCase()) || false\n );\n };\n };\n }, []);\n\n return (\n <div className={block(null, className)}>\n <List\n className={block('list', {loading: isLoading})}\n filterable={true}\n filterClassName={block('filter')}\n filterPlaceholder={'Filter by name'}\n filterItem={tutorialFilter}\n virtualized={false}\n selectedItemIndex={selectedIndex}\n sortable={false}\n itemHeight={32}\n itemClassName={itemCn()}\n items={isLoading ? [] : items}\n renderItem={renderItem}\n onItemClick={goToQuery}\n />\n {isLoading && (\n <div className={block('loader')}>\n <Loader size=\"l\" />\n </div>\n )}\n </div>\n );\n}\n","const SvgFunnel = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M12.5 4c0 .174-.071.513-.885.888S9.538 5.5 8 5.5s-2.799-.237-3.615-.612C3.57 4.513 3.5 4.174 3.5 4s.071-.513.885-.888S6.462 2.5 8 2.5s2.799.237 3.615.612c.814.375.885.714.885.888m-1.448 2.66C10.158 6.888 9.115 7 8 7s-2.158-.113-3.052-.34l1.98 2.905c.21.308.322.672.322 1.044v3.37q.088.02.25.021c.422 0 .749-.14.95-.316.185-.162.3-.38.3-.684v-2.39c0-.373.112-.737.322-1.045zM8 1c3.314 0 6 1 6 3a3.24 3.24 0 0 1-.563 1.826l-3.125 4.584a.35.35 0 0 0-.062.2V13c0 1.5-1.25 2.5-2.75 2.5s-1.75-1-1.75-1v-3.89a.35.35 0 0 0-.061-.2L2.563 5.826A3.24 3.24 0 0 1 2 4c0-2 2.686-3 6-3m-.88 12.936q-.015-.008-.013-.01z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgFunnel;","import React, {FC, useCallback} from 'react';\nimport {Select} from '@gravity-ui/uikit';\nimport {Engines} from '../../module/api';\nimport {QueryEngine} from '../../../../../shared/constants/engines';\nimport {QueryEnginesNames} from '../../utils/query';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {applyFilter} from '../../module/queries_list/actions';\n\nconst ALL_ENGINE_KEY = '__all';\n\nconst enginesList = [\n {\n value: ALL_ENGINE_KEY,\n content: 'All',\n },\n ...Engines.map((engine) => {\n return {\n value: engine,\n content: QueryEnginesNames[engine],\n };\n }),\n];\n\nexport const QueryEngineFilter: FC = () => {\n const dispatch = useDispatch();\n const {engine} = useSelector(getQueriesFilters);\n\n const onChangeEngineFilter = useCallback(\n (values: string[]) => {\n const selectedEngine = values[0];\n dispatch(\n applyFilter({\n engine:\n selectedEngine === ALL_ENGINE_KEY\n ? undefined\n : (selectedEngine as QueryEngine),\n }),\n );\n },\n [dispatch],\n );\n\n return (\n <Select\n options={enginesList}\n value={[engine || ALL_ENGINE_KEY]}\n onUpdate={onChangeEngineFilter}\n placeholder=\"Select engine\"\n />\n );\n};\n","import React, {FC, useCallback} from 'react';\nimport {Select} from '@gravity-ui/uikit';\nimport {QueryStatus} from '../../../../types/query-tracker';\nimport hammer from '../../../../common/hammer';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\n\nconst ALL_STATUS_KEY = '__all';\nconst statusesList = [\n {\n value: ALL_STATUS_KEY,\n content: 'All',\n },\n ...Object.values(QueryStatus).map((i) => {\n return {\n value: i,\n content: hammer.format.Readable(i),\n };\n }),\n];\n\nexport const QueryStateFilter: FC = () => {\n const dispatch = useDispatch();\n const {state} = useSelector(getQueriesFilters);\n\n const onChangeStatusFilter = useCallback(\n (values: string[]) => {\n const selectedStatus = values[0];\n const result =\n selectedStatus === ALL_STATUS_KEY ? undefined : (selectedStatus as QueryStatus);\n dispatch(applyFilter({state: result}));\n },\n [dispatch],\n );\n\n return (\n <Select\n width=\"max\"\n options={statusesList}\n value={[state || ALL_STATUS_KEY]}\n onUpdate={onChangeStatusFilter}\n placeholder=\"Select status\"\n />\n );\n};\n","import React, {FC, useCallback, useMemo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getAllUserNames, getCurrentUserName} from '../../../../store/selectors/global';\nimport {useAllUserNamesFiltered} from '../../../../hooks/global';\nimport {Select, SelectOption} from '@gravity-ui/uikit';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {QueriesListAuthorFilter} from '../../module/queries_list/types';\nimport {applyFilter} from '../../module/queries_list/actions';\n\nconst ALL_STATUS_KEY = '__all';\n\nexport const QueryUserFilter: FC = () => {\n useAllUserNamesFiltered();\n const dispatch = useDispatch();\n const userNames = useSelector(getAllUserNames);\n const login = useSelector(getCurrentUserName);\n const {user} = useSelector(getQueriesFilters);\n\n const values = useMemo<SelectOption[]>(() => {\n return [\n {\n value: ALL_STATUS_KEY,\n content: 'All',\n },\n ...userNames.map((userName) => ({\n value: userName,\n content: userName,\n })),\n ];\n }, [userNames]);\n\n const value = useMemo(() => {\n let result = user;\n if (!result) {\n result = ALL_STATUS_KEY;\n }\n if (result === QueriesListAuthorFilter.My) {\n result = login;\n }\n return [result];\n }, [login, user]);\n\n const handleOnChange = useCallback(\n (items: string[]) => {\n dispatch(applyFilter({user: items[0]}));\n },\n [dispatch],\n );\n\n return <Select options={values} value={value} onUpdate={handleOnChange} filterable />;\n};\n","import React, {FC, useMemo} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {DatePicker} from '@gravity-ui/date-components';\nimport {DateTime, dateTime} from '@gravity-ui/date-utils';\nimport {Flex} from '@gravity-ui/uikit';\nimport {applyFilter} from '../../module/queries_list/actions';\n\nexport const QueryDateFilter: FC = () => {\n const dispatch = useDispatch();\n const {from, to} = useSelector(getQueriesFilters);\n\n const setFilter = useMemo(\n () => ({\n from: (value?: DateTime | null) => {\n dispatch(applyFilter({from: value ? value.valueOf() : undefined}));\n },\n to: (value?: DateTime | null) => {\n dispatch(applyFilter({to: value ? value.valueOf() : undefined}));\n },\n }),\n [dispatch],\n );\n\n return (\n <Flex alignItems=\"center\" gap={1}>\n <DatePicker\n placeholder=\"Start date\"\n format=\"DD.MM.YYYY\"\n value={from ? dateTime({input: from}) : null}\n onUpdate={setFilter.from}\n hasClear\n />{' '}\n —\n <DatePicker\n placeholder=\"End date\"\n format=\"DD.MM.YYYY\"\n value={to ? dateTime({input: to}) : null}\n onUpdate={setFilter.to}\n hasClear\n />\n </Flex>\n );\n};\n","import React, {FC, PropsWithChildren} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {resetFilter} from '../../module/queries_list/actions';\nimport './FilterDropdown.scss';\nimport cn from 'bem-cn-lite';\nimport {Button, Flex, Icon, Text} from '@gravity-ui/uikit';\nimport TrashBinIcon from '@gravity-ui/icons/svgs/trash-bin.svg';\nimport {QueryStateFilter} from './QueryStateFilter';\nimport {QueryUserFilter} from './QueryUserFilter';\nimport {QueryDateFilter} from './QueryDateFilter';\nimport {hasCustomHistoryFilters} from '../../module/queries_list/selectors';\n\nconst block = cn('yt-qt-filter-dropdown');\n\nconst Block: FC<PropsWithChildren<{title: string}>> = ({title, children}) => {\n return (\n <Flex direction=\"column\" gap={2}>\n <Text variant=\"subheader-1\">{title}</Text>\n {children}\n </Flex>\n );\n};\n\nexport const FilterDropdown: FC = () => {\n const dispatch = useDispatch();\n const changed = useSelector(hasCustomHistoryFilters);\n\n const handleResetFilter = React.useCallback(() => {\n dispatch(resetFilter());\n }, [dispatch]);\n\n return (\n <Flex className={block()} direction=\"column\" gap={3}>\n <Block title=\"Operation date\">\n <QueryDateFilter />\n </Block>\n <Block title=\"Operation owner\">\n <QueryUserFilter />\n </Block>\n <Block title=\"Query state\">\n <QueryStateFilter />\n </Block>\n {changed && (\n <Flex justifyContent=\"flex-end\">\n <Button view=\"outlined\" onClick={handleResetFilter}>\n <Icon data={TrashBinIcon} size={16} /> Reset filters\n </Button>\n </Flex>\n )}\n </Flex>\n );\n};\n","import React, {FC, useMemo} from 'react';\nimport {QueriesListAuthorFilter, QueriesListFilter} from '../../module/queries_list/types';\nimport {ControlGroupOption, RadioButton} from '@gravity-ui/uikit';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {getQueriesFilters} from '../../module/queries_list/selectors';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {getCurrentUserName} from '../../../../store/selectors/global';\n\nconst AuthorFilter: ControlGroupOption[] = [\n {\n value: QueriesListAuthorFilter.My,\n content: 'My',\n },\n {\n value: QueriesListAuthorFilter.All,\n content: 'All',\n },\n];\n\nexport const QueryFastUserFilter: FC = () => {\n const dispatch = useDispatch();\n const {user} = useSelector(getQueriesFilters);\n const login = useSelector(getCurrentUserName);\n\n const handleUserChange = (value: string) => {\n dispatch(applyFilter({user: value as QueriesListFilter['user']}));\n };\n\n const value = useMemo(() => {\n if (QueriesListAuthorFilter.My === user || user === login)\n return QueriesListAuthorFilter.My;\n\n return QueriesListAuthorFilter.All;\n }, [login, user]);\n\n return <RadioButton options={AuthorFilter} value={value} onUpdate={handleUserChange} />;\n};\n","import React from 'react';\nimport block from 'bem-cn-lite';\nimport {Icon, Tooltip} from '@gravity-ui/uikit';\nimport {QueriesListFilter, QueriesListMode} from '../../module/queries_list/types';\nimport CircleQuestionIcon from '@gravity-ui/icons/svgs/circle-question.svg';\nimport FunnelIcon from '@gravity-ui/icons/svgs/funnel.svg';\n\nimport './index.scss';\nimport {QueryEngineFilter} from './QueryEngineFilter';\nimport Dropdown from '../../../../components/Dropdown/Dropdown';\nimport Button from '../../../../components/Button/Button';\nimport GearIcon from '@gravity-ui/icons/svgs/gear.svg';\nimport ColumnSelector from '../../../../components/ColumnSelector/ColumnSelector';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {\n getQueriesFilters,\n getQueriesListMode,\n getQueryListColumns,\n hasCustomHistoryFilters,\n} from '../../module/queries_list/selectors';\nimport {applyFilter} from '../../module/queries_list/actions';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport TextInputWithDebounce from '../../../../components/TextInputWithDebounce/TextInputWithDebounce';\nimport {FilterDropdown} from './FilterDropdown';\nimport {QueryFastUserFilter} from './QueryFastUserFilter';\n\nconst b = block('queries-history-filter');\n\ntype QueriesHistoryListFilterProps = {\n className?: string;\n};\n\nexport function QueriesHistoryListFilter({className}: QueriesHistoryListFilterProps) {\n const dispatch = useDispatch();\n const filter = useSelector(getQueriesFilters);\n const filterViewMode = useSelector(getQueriesListMode);\n const {allowedColumns} = useSelector(getQueryListColumns);\n const customFilterChanged = useSelector(hasCustomHistoryFilters);\n\n const handleColumnChange = (selectedColumns: {\n items: Array<{checked: boolean; name: string}>;\n }) => {\n dispatch(\n setSettingByKey(\n `global::queryTracker::history::Columns`,\n selectedColumns.items.filter(({checked}) => checked).map(({name}) => name),\n ),\n );\n };\n\n const handleFilterChange = (value: string) => {\n dispatch(applyFilter({filter: value as QueriesListFilter['filter']}));\n };\n\n const isHistory = filterViewMode === QueriesListMode.History;\n\n if (!isHistory) {\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n <QueryEngineFilter />\n </div>\n </div>\n );\n }\n\n return (\n <div className={b(null, className)}>\n <div className={b('row')}>\n <QueryFastUserFilter />\n <QueryEngineFilter />\n\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button\n view={customFilterChanged ? 'outlined-info' : 'outlined'}\n tooltipProps={{content: 'Additional filters'}}\n withTooltip\n >\n <Icon data={FunnelIcon} size={16} />\n </Button>\n }\n template={<FilterDropdown />}\n />\n <Dropdown\n trigger=\"click\"\n directions={['bottom']}\n button={\n <Button tooltipProps={{content: 'Table column settings'}} withTooltip>\n <Icon data={GearIcon} size={16} />\n </Button>\n }\n template={\n <ColumnSelector items={allowedColumns} onChange={handleColumnChange} />\n }\n />\n </div>\n\n <div className={b('row')}>\n <TextInputWithDebounce\n placeholder=\"Search in query name, body and access control\"\n value={filter?.filter}\n onUpdate={handleFilterChange}\n />\n <Tooltip\n content={\n <>\n Search in query text, annotations and access control\n <br />\n Use `"title"="test_name"` to search in query name\n <br />\n Use `aco:nobody` to search in query access control\n </>\n }\n >\n <Icon data={CircleQuestionIcon} size={16} />\n </Tooltip>\n </div>\n </div>\n );\n}\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"vcs\" */ './Vcs');\n}\n\nexport const Vcs = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Vcs};\n }),\n);\n","import {lazy} from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importVcs() {\n return import(/* webpackChunkName: \"query-navigation\" */ './Navigation');\n}\n\nexport const Navigation = withLazyLoading(\n lazy(async () => {\n return {default: (await importVcs()).Navigation};\n }),\n);\n","import React, {useEffect, useMemo} from 'react';\nimport block from 'bem-cn-lite';\nimport {Tabs} from '@gravity-ui/uikit';\nimport {QueriesHistoryList} from './QueriesHistoryList';\n\nimport {getQueriesListMode, getQueriesListTabs} from '../module/queries_list/selectors';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {QueriesListMode} from '../module/queries_list/types';\nimport {requestQueriesList} from '../module/queries_list/actions';\n\nimport './index.scss';\nimport {QueriesTutorialList} from './QueriesTutorialList';\nimport {QueriesHistoryListFilter} from './QueriesListFilter';\nimport {Vcs} from '../Vcs';\nimport {Navigation} from '../Navigation';\nimport {setListMode} from '../module/queries_list/queryListSlice';\n\nconst b = block('queries-list');\n\nconst TabNames = {\n [QueriesListMode.History]: 'History',\n [QueriesListMode.Tutorials]: 'Tutorials',\n [QueriesListMode.VCS]: 'VCS',\n [QueriesListMode.Navigation]: 'Navigation',\n};\n\nexport function QueriesList() {\n const dispatch = useDispatch();\n const activeTab = useSelector(getQueriesListMode);\n const tabsList = useSelector(getQueriesListTabs);\n\n useEffect(() => {\n dispatch(requestQueriesList());\n }, [dispatch]);\n\n const handleTabSelect = (tabId: string) => {\n dispatch(setListMode(tabId as QueriesListMode));\n };\n\n const tabs = useMemo(\n () =>\n tabsList.map((tab) => {\n return {\n id: tab as string,\n title: TabNames[tab],\n };\n }),\n [tabsList],\n );\n\n const isVsc = activeTab === QueriesListMode.VCS;\n\n return (\n <div className={b()}>\n <Tabs\n className={b('tabs')}\n items={tabs}\n activeTab={activeTab}\n onSelectTab={handleTabSelect}\n />\n {activeTab === QueriesListMode.Navigation ? (\n <div className={b('content')}>\n <Navigation />\n </div>\n ) : (\n <div className={b('content')}>\n {!isVsc && <QueriesHistoryListFilter className={b('filter')} />}\n\n {activeTab === QueriesListMode.History && <QueriesHistoryList />}\n {activeTab === QueriesListMode.Tutorials && (\n <QueriesTutorialList className={b('list-content')} />\n )}\n {isVsc && <Vcs />}\n </div>\n )}\n </div>\n );\n}\n","const SvgLayoutColumns = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8.75 3.5H12A1.5 1.5 0 0 1 13.5 5v6a1.5 1.5 0 0 1-1.5 1.5H8.75zm-1.5 0H4A1.5 1.5 0 0 0 2.5 5v6A1.5 1.5 0 0 0 4 12.5h3.25zM1 5a3 3 0 0 1 3-3h8a3 3 0 0 1 3 3v6a3 3 0 0 1-3 3H4a3 3 0 0 1-3-3z\" clipRule=\"evenodd\" /></svg>;\nexport default SvgLayoutColumns;","import React, {FC, useRef} from 'react';\nimport {setFileEditor} from '../module/queryFilesForm/queryFilesFormSlice';\nimport {selectFileEditorConfig} from '../module/queryFilesForm/selectors';\nimport {changeQueryFile} from '../module/queryFilesForm/actions';\nimport {useDispatch, useSelector} from 'react-redux';\nimport FileIcon from '@gravity-ui/icons/svgs/file.svg';\nimport XmarkIcon from '@gravity-ui/icons/svgs/xmark.svg';\nimport SquareIcon from '@gravity-ui/icons/svgs/square.svg';\nimport LayoutColumnsIcon from '@gravity-ui/icons/svgs/layout-columns.svg';\nimport {Button, Icon, Text} from '@gravity-ui/uikit';\nimport './FileEditor.scss';\nimport cn from 'bem-cn-lite';\nimport MonacoEditor, {MonacoEditorConfig} from '../../../components/MonacoEditor';\nimport * as monaco from 'monaco-editor';\n\nconst block = cn('file-editor');\n\nconst MONACO_CONFIG: MonacoEditorConfig = {\n fontSize: 14,\n language: 'plaintext',\n renderWhitespace: 'boundary',\n minimap: {\n enabled: true,\n },\n};\n\nexport const FileEditor: FC = () => {\n const dispatch = useDispatch();\n const {fileEditor, file} = useSelector(selectFileEditorConfig);\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n\n const handleOnChange = (content: string) => {\n if (!file) return;\n dispatch(changeQueryFile({...file, content}));\n };\n\n const handleOnClose = () => {\n dispatch(setFileEditor({...fileEditor, isOpen: false, isFullWidth: false}));\n };\n\n const handleOnWidthToggle = () => {\n dispatch(setFileEditor({...fileEditor, isFullWidth: !fileEditor.isFullWidth}));\n };\n\n if (!file) return null;\n\n return (\n <div className={block()}>\n <div className={block('header')}>\n <div className={block('header-side')}>\n <Icon data={FileIcon} size={16} />\n <Text variant=\"subheader-1\" ellipsis>\n {file.name}\n </Text>\n </div>\n <div className={block('header-side')}>\n <Button view=\"flat\" onClick={handleOnWidthToggle}>\n <Icon\n data={fileEditor.isFullWidth ? LayoutColumnsIcon : SquareIcon}\n size={16}\n />\n </Button>\n <Button view=\"flat\" onClick={handleOnClose}>\n <Icon data={XmarkIcon} size={16} />\n </Button>\n </div>\n </div>\n <MonacoEditor\n className={block('editor')}\n editorRef={editorRef}\n value={file.content || ''}\n language=\"plaintext\"\n onChange={handleOnChange}\n monacoConfig={MONACO_CONFIG}\n />\n </div>\n );\n};\n","import React, {FC, useState} from 'react';\nimport {QueryEditor} from '../QueryEditor';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {FileEditor} from '../FileEditor';\n\nconst EDITOR_INITIAL_SIZE = [50, 50];\n\ntype Props = {\n fileEditorFullWidth: boolean;\n fileEditorVisible: boolean;\n onStartQuery: (queryId: string) => void;\n};\n\nexport const QueryEditorSplit: FC<Props> = ({\n fileEditorFullWidth,\n fileEditorVisible,\n onStartQuery,\n}) => {\n const [sizes, setSize] = useState(EDITOR_INITIAL_SIZE);\n const hideQueryEditor = !(fileEditorVisible && fileEditorFullWidth);\n\n return (\n <FlexSplitPane\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n getInitialSizes={() => sizes}\n >\n {hideQueryEditor && <QueryEditor onStartQuery={onStartQuery} showStatusInTitle />}\n {fileEditorVisible && <FileEditor />}\n </FlexSplitPane>\n );\n};\n","import {useHistory} from 'react-router-dom';\nimport React, {FC, useCallback, useEffect, useRef, useState} from 'react';\nimport {Location, TransitionPromptHook} from 'history';\nimport {YTDFDialog} from '../Dialog';\n\ntype Props = {\n title: string;\n message: string;\n ignoreSamePath?: boolean;\n};\n\nexport const RedirectConfirmModal: FC<Props> = ({title, message, ignoreSamePath = true}) => {\n const [showModal, setShowModal] = useState(false);\n const history = useHistory();\n const skipRef = useRef(false);\n const locationRef = useRef<Location>();\n\n const handleNavigation = useCallback<TransitionPromptHook<unknown>>(\n (location) => {\n const samePath = window.location.pathname === location.pathname && ignoreSamePath;\n if (skipRef.current || samePath) return;\n\n locationRef.current = location;\n setShowModal(true);\n return false;\n },\n [ignoreSamePath],\n );\n\n const handleConfirm = async () => {\n setShowModal(false);\n if (locationRef.current) {\n skipRef.current = true;\n history.push(locationRef.current.pathname);\n }\n };\n\n const handleCancel = () => {\n setShowModal(false);\n };\n\n useEffect(() => {\n const unblock = history.block(handleNavigation);\n return () => unblock();\n }, [history, handleNavigation]);\n\n return (\n <YTDFDialog\n visible={showModal}\n pristineSubmittable\n headerProps={{title}}\n fields={[\n {\n type: 'block',\n name: 'message',\n extras: {\n children: message,\n },\n },\n ]}\n onAdd={handleConfirm}\n onClose={handleCancel}\n />\n );\n};\n","import React, {useCallback, useEffect, useMemo, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {isEngine} from '../module/api';\nimport {QueryEngine} from '../../../../shared/constants/engines';\nimport {\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../module/query/actions';\nimport {usePreventUnload} from '../../../hooks/use-prevent-unload';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\nimport {getDirtySinceLastSubmit, getQueryGetParams} from '../module/query/selectors';\nimport {QueriesList} from '../QueriesList';\nimport {useQueryACO} from '../QueryACO/useQueryACO';\nimport {MonacoContext} from '../context/MonacoContext';\n\nimport cn from 'bem-cn-lite';\n\nimport './QueryTracker.scss';\nimport {QueryEditorSplit} from './QueryEditorSplit';\nimport {selectFileEditor} from '../module/queryFilesForm/selectors';\nimport {selectNavigationCluster} from '../module/queryNavigation/selectors';\nimport {setSettingByKey} from '../../../store/actions/settings';\nimport {CellPreviewModal} from '../../../containers/CellPreviewModal/CellPreviewModal';\nimport {SET_QUERY_PARAMS} from '../module/query-tracker-contants';\nimport {RedirectConfirmModal} from '../../../components/RedirectConfirmModal';\nimport {getLastUserChoiceQueryEngine} from '../../../store/selectors/settings/settings-queries';\n\nconst b = cn('query-tracker-page');\n\ntype Props = {\n match: {\n path: string;\n params: {\n queryId?: string;\n };\n };\n location: {\n search: string;\n };\n};\n\nconst initialSizes = [20, 80];\nconst minSize = 380; // see history list's cells size\n\nfunction QueryPageDraft() {\n const dispatch = useDispatch();\n const routeParams = useSelector(getQueryGetParams);\n const cluster = useSelector(selectNavigationCluster);\n const favoriteEngine = useSelector(getLastUserChoiceQueryEngine) ?? QueryEngine.YQL;\n\n useEffect(() => {\n const engine =\n routeParams.engine && isEngine(routeParams.engine)\n ? (routeParams.engine as QueryEngine)\n : favoriteEngine;\n if (routeParams.cluster && routeParams.path) {\n if (routeParams.useDraft) {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {\n ...routeParams,\n useDraft: undefined,\n },\n },\n });\n }\n dispatch(\n createQueryFromTablePath(engine, routeParams.cluster, routeParams.path, {\n useDraft: true,\n }),\n );\n } else {\n dispatch(createEmptyQuery());\n }\n if (cluster) {\n dispatch(\n setSettingByKey('global::queryTracker::queriesListSidebarVisibilityMode', true),\n );\n }\n }, [dispatch]);\n return null;\n}\n\nfunction QueryPage(props: Props) {\n const dispatch = useDispatch();\n\n useEffect(() => {\n dispatch({\n type: SET_QUERY_PARAMS,\n data: {\n params: {},\n },\n });\n if (props.match.params.queryId) {\n dispatch(loadQuery(props.match.params.queryId));\n } else {\n dispatch(createEmptyQuery());\n }\n }, [dispatch, props.match.params.queryId]);\n return null;\n}\n\nexport default function QueryTracker({match}: Props) {\n const {isQueriesListSidebarVisible, toggleQueriesListSideBarToggle} =\n useQueriesListSidebarToggle();\n const isQueryStateDirty = useSelector(getDirtySinceLastSubmit);\n const fileEditor = useSelector(selectFileEditor);\n usePreventUnload({shouldListen: isQueryStateDirty});\n const [sizes, setSize] = useState(initialSizes);\n const getSize = useMemo(() => {\n return () => sizes;\n }, [sizes]);\n const dispatch = useDispatch();\n const {loadQueryTrackerInfo} = useQueryACO();\n\n const goToCreatedQuery = useCallback(\n (queryId: string) => {\n dispatch(goToQuery(queryId));\n return true;\n },\n [dispatch],\n );\n\n useEffect(() => {\n const search = new URLSearchParams(window.location.search);\n if (search.get('listMode') && !isQueriesListSidebarVisible) {\n toggleQueriesListSideBarToggle();\n }\n loadQueryTrackerInfo();\n }, []);\n\n return (\n <>\n <Switch>\n <Route exact path={match.path} component={QueryPageDraft} />\n <Route path={`${match.path}/:queryId`} component={QueryPage} />\n </Switch>\n <MonacoContext.Provider value={new Map()}>\n <QueriesPooling>\n <FlexSplitPane\n className={b('container')}\n direction={FlexSplitPane.HORIZONTAL}\n onResizeEnd={setSize}\n minSize={minSize}\n getInitialSizes={getSize}\n >\n {isQueriesListSidebarVisible ? <QueriesList /> : null}\n <QueryEditorSplit\n fileEditorFullWidth={fileEditor.isFullWidth}\n fileEditorVisible={fileEditor.isOpen}\n onStartQuery={goToCreatedQuery}\n />\n </FlexSplitPane>\n </QueriesPooling>\n </MonacoContext.Provider>\n <CellPreviewModal />\n {isQueryStateDirty && (\n <RedirectConfirmModal\n title=\"Unsaved changes\"\n message=\"You have unsaved changes in this query. Do you want to continue and lose them?\"\n />\n )}\n </>\n );\n}\n","import React from 'react';\nimport {Button} from '@gravity-ui/uikit';\nimport Icon from '../../../components/Icon/Icon';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\n\nexport function QueriesListSidebarToggleButton() {\n const {isQueriesListSidebarVisible, toggleQueriesListSideBarToggle} =\n useQueriesListSidebarToggle();\n\n return (\n <Button\n view=\"outlined\"\n size=\"l\"\n title={`${isQueriesListSidebarVisible ? 'Hide' : 'Show'} queries list`}\n onClick={toggleQueriesListSideBarToggle}\n >\n <Icon awesome=\"layout-side-content\" size={16} />\n </Button>\n );\n}\n","import React, {FC} from 'react';\nimport {QueriesListSidebarToggleButton} from '../QueriesListSidebarToggleButton/QueriesListSidebarToggleButton';\nimport {NewQueryButton} from '../NewQueryButton';\nimport {Flex} from '@gravity-ui/uikit';\nimport UIFactory from '../../../UIFactory';\n\ntype Props = {\n onQueryCreate: () => void;\n};\n\nexport const RightButtonsGroup: FC<Props> = ({onQueryCreate}) => {\n const chatComponents = UIFactory.getAIChat();\n\n return (\n <Flex gap={2}>\n <QueriesListSidebarToggleButton />\n {chatComponents?.chat}\n {chatComponents?.toggleButton}\n <NewQueryButton onClick={onQueryCreate} />\n </Flex>\n );\n};\n","import React, {FC, useCallback, useState} from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {getQueryDraft} from '../module/query/selectors';\nimport {\n resetQueryTracker,\n setQueryEngine,\n setUserLastChoice,\n updateQueryDraft,\n} from '../module/query/actions';\nimport {RightButtonsGroup} from './RightButtonsGroup';\nimport {HeadSpacer} from '../../../containers/ClusterPageHeader/HeadSpacer';\nimport {Flex, Text, Tooltip} from '@gravity-ui/uikit';\nimport {QueryEngineSelector} from './QueryEngineSelector';\nimport {QuerySettingsButton} from '../QuerySettingsButton';\nimport {QueryFilesButton} from '../QueryFilesButton';\nimport {QuerySelectorsByEngine} from './QuerySelectorsByEngine';\nimport {QueryEngine} from '../../../../shared/constants/engines';\nimport './QueryTrackerTopRow.scss';\nimport cn from 'bem-cn-lite';\nimport {EditableAsText} from '../../../components/EditableAsText/EditableAsText';\nimport {setSettingByKey} from '../../../store/actions/settings';\nimport {useIsDesktop} from '../../../hooks/useIsDesktop';\nimport {QueryClusterSelector} from './QueryClusterSelector';\n\nconst NAME_PLACEHOLDER = 'No name';\nconst block = cn('query-tracker-top-row');\n\nconst QueryTrackerTopRow: FC = () => {\n const dispatch = useDispatch();\n const isDesktop = useIsDesktop();\n const {annotations, settings} = useSelector(getQueryDraft);\n const [nameEdit, setNameEdit] = useState(false);\n\n const handleChangeEngine = useCallback(\n (newEngine: QueryEngine) => {\n dispatch(setQueryEngine(newEngine));\n dispatch(setSettingByKey(`global::queryTracker::lastEngine`, newEngine));\n dispatch(setUserLastChoice());\n },\n [dispatch],\n );\n\n const handleCreateNewQuery = useCallback(() => {\n dispatch(resetQueryTracker());\n }, [dispatch]);\n\n const handleNameChange = useCallback(\n (title: string | undefined) => {\n dispatch(updateQueryDraft({annotations: {title}}));\n },\n [dispatch],\n );\n\n const handleSettingsChange = useCallback(\n (newSettings: Record<string, string>) =>\n dispatch(updateQueryDraft({settings: newSettings})),\n [dispatch],\n );\n\n const name = annotations?.title || NAME_PLACEHOLDER;\n\n return (\n <RowWithName page={Page.QUERIES} className={block()}>\n <Flex alignItems=\"center\" gap={4} grow={1}>\n <EditableAsText\n className={block('name-input')}\n onChange={handleNameChange}\n size=\"l\"\n text={annotations?.title}\n cancelOnClose\n withControls\n openOnClick\n onModeChange={setNameEdit}\n saveButtonView=\"action\"\n cancelButtonView=\"outlined\"\n >\n <Tooltip content={name}>\n <Text ellipsis>{name}</Text>\n </Tooltip>\n </EditableAsText>\n\n {!nameEdit && (\n <>\n <HeadSpacer />\n <QueryClusterSelector />\n <QueryEngineSelector isDesktop={isDesktop} onChange={handleChangeEngine} />\n <QuerySelectorsByEngine />\n <Flex gap={2}>\n <QuerySettingsButton\n settings={settings}\n onChange={handleSettingsChange}\n />\n <QueryFilesButton />\n </Flex>\n </>\n )}\n </Flex>\n <RightButtonsGroup onQueryCreate={handleCreateNewQuery} />\n </RowWithName>\n );\n};\n\nexport default QueryTrackerTopRow;\n","import {useEffect, useState} from 'react';\nexport const useIsDesktop = () => {\n const [isDesktop, setIsDesktop] = useState(false);\n\n useEffect(() => {\n const handleResize = () => {\n setIsDesktop(window.matchMedia('(min-width: 1280px)').matches);\n };\n\n handleResize();\n\n window.addEventListener('resize', handleResize);\n return () => window.removeEventListener('resize', handleResize);\n }, []);\n\n return isDesktop;\n};\n","import React from 'react';\nimport cn from 'bem-cn-lite';\n\nimport format from '../../common/hammer/format';\nimport Icon from '../../components/Icon/Icon';\nimport {Tooltip} from '../../components/Tooltip/Tooltip';\nimport {OrderType, nextSortOrderValue} from '../../utils/sort-helpers';\n\nimport './SortIcon.scss';\n\nconst block = cn('sort-icon');\n\nconst ICON_BY_TYPE = {\n ['']: 'sort',\n asc: 'sort-up',\n desc: 'sort-down',\n 'asc-undefined': 'arrow-to-bottom',\n 'desc-undefined': 'arrow-from-bottom',\n 'undefined-asc': 'arrow-from-top',\n 'undefined-desc': 'arrow-to-top',\n} as const;\n\ninterface Props {\n className?: string;\n label?: string;\n onChange?: (nextOrder: OrderType) => void;\n order?: OrderType;\n hidden?: boolean;\n allowUnordered?: boolean;\n withUndefined?: boolean;\n}\n\nexport default class SortIcon extends React.Component<Props> {\n onClick = () => {\n const {order, onChange, allowUnordered, withUndefined} = this.props;\n if (!onChange) {\n return;\n }\n\n const nextOrder = nextSortOrderValue(order, allowUnordered, withUndefined);\n onChange(nextOrder);\n };\n\n render() {\n const {className, label, order, hidden} = this.props;\n const icon = ICON_BY_TYPE[order || ''];\n\n return (\n <span className={block({hidden}, className)} onClick={this.onClick}>\n {label && <span className={block('label')}>{label}</span>}\n <Tooltip\n className={block('icon')}\n content={order ? format.ReadableField(order) : 'Unordered'}\n >\n <Icon awesome={icon} face=\"solid\" />\n </Tooltip>\n </span>\n );\n }\n}\n","import React from 'react';\nimport {useDispatch, useSelector} from 'react-redux';\n\nimport sortedIndexBy_ from 'lodash/sortedIndexBy';\nimport sortedLastIndexBy_ from 'lodash/sortedLastIndexBy';\n\nimport {getAllUserNamesSorted} from '../store/selectors/global';\nimport {\n loadAccountsIfNotLoaded,\n loadBundlesIfNotLoaded,\n loadGroupsIfNotLoaded,\n loadUsersIfNotLoaded,\n} from '../store/actions/global';\n\nexport function useAllUserNamesFiltered() {\n const dispatch = useDispatch();\n React.useEffect(() => {\n dispatch(loadUsersIfNotLoaded());\n }, []);\n\n const namesSorted = useSelector(getAllUserNamesSorted);\n\n const getFiltered = React.useCallback(\n (text: string) => {\n const from = sortedIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const to = sortedLastIndexBy_(namesSorted, text, (item) => item.substr(0, text.length));\n const res = namesSorted.slice(from, to);\n return res;\n },\n [namesSorted],\n );\n\n return {getFiltered, allNames: namesSorted};\n}\n\nexport function useGroupsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadGroupsIfNotLoaded());\n }, []);\n}\n\nexport function GroupsLoader({children}: {children?: React.ReactElement}) {\n useGroupsLoaded();\n return children ?? null;\n}\n\nexport function useAccountsLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadAccountsIfNotLoaded());\n }, []);\n}\n\nexport function AccountsLoader() {\n useAccountsLoaded();\n return null;\n}\n\nexport function useBundlesLoaded() {\n const dispatch = useDispatch();\n\n React.useEffect(() => {\n dispatch(loadBundlesIfNotLoaded());\n }, []);\n}\n\nexport function BundlesLoader() {\n useBundlesLoaded();\n return null;\n}\n","function none() {}\n\nexport default function(selector) {\n return selector == null ? none : function() {\n return this.querySelector(selector);\n };\n}\n","import React, {useCallback, useEffect} from 'react';\nimport cn from 'bem-cn-lite';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../Icon/Icon';\n\nimport './EditableAsText.scss';\nimport Button, {ButtonProps} from '../Button/Button';\nconst block = cn('editable-as-text');\n\ninterface Props {\n className?: string;\n editorClassName?: string;\n\n text?: string;\n children: React.ReactNode;\n onChange: (v?: string) => void;\n disableEdit?: boolean;\n withControls?: boolean;\n cancelOnClose?: boolean;\n openOnClick?: boolean;\n size?: 's' | 'm' | 'l' | 'xl';\n saveButtonView?: ButtonProps['view'];\n cancelButtonView?: ButtonProps['view'];\n\n renderEditor?: (props: {\n value?: string;\n onBlur: () => void;\n onChange: (value?: string) => void;\n className?: string;\n onApply: (value?: string) => void;\n }) => React.ReactNode;\n onModeChange?: (isEdit: boolean) => void;\n}\n\nexport function EditableAsText(props: Props) {\n const {\n children,\n onChange,\n text,\n className,\n withControls,\n size,\n disableEdit,\n cancelOnClose,\n openOnClick,\n renderEditor,\n onModeChange,\n saveButtonView = 'normal',\n cancelButtonView = 'normal',\n } = props;\n const [editMode, setEditMode] = React.useState(false);\n const [input, setInput] = React.useState(text || '');\n\n useEffect(() => {\n setInput(text || '');\n }, [text]);\n\n const handleChangeMode = useCallback(\n (isEdit: boolean) => {\n if (onModeChange) onModeChange(isEdit);\n setEditMode(isEdit);\n },\n [onModeChange],\n );\n\n const closeEditMode = React.useCallback(() => {\n handleChangeMode(false);\n if (cancelOnClose) setInput(text || '');\n }, [cancelOnClose, handleChangeMode, text]);\n\n const startTextEdit = useCallback(() => {\n handleChangeMode(true);\n }, [handleChangeMode]);\n\n const handleWrapClick = () => {\n if (!editMode && openOnClick) {\n startTextEdit();\n }\n };\n\n const handleChange = React.useCallback((val?: string) => setInput(val ?? ''), [setInput]);\n\n const applyValue = useCallback(() => {\n handleChangeMode(false);\n onChange(input);\n }, [onChange, handleChangeMode, input]);\n\n const closeAndResetValue = useCallback(() => {\n handleChangeMode(false);\n setInput(text || '');\n }, [handleChangeMode, text]);\n\n const onApply = useCallback(\n (value?: string) => {\n handleChangeMode(false);\n onChange(value);\n },\n [handleChangeMode, onChange],\n );\n\n const handleKeyDown = React.useCallback(\n (evt: React.KeyboardEvent<HTMLElement>) => {\n if (evt.key === 'Enter') {\n applyValue();\n }\n if (evt.key === 'Escape') {\n closeAndResetValue();\n }\n },\n [applyValue, closeAndResetValue],\n );\n\n const controlSize = size ? size : 'm';\n\n return (\n <div\n className={block(null, [className || '', editMode ? 'edit' : ''])}\n onClick={handleWrapClick}\n >\n {editMode ? (\n <>\n {renderEditor ? (\n renderEditor({\n value: input,\n onChange: handleChange,\n className: block('control'),\n onBlur: closeEditMode,\n onApply,\n })\n ) : (\n <TextInput\n className={block('control')}\n autoFocus\n size={controlSize}\n value={input}\n onUpdate={handleChange}\n onKeyDown={handleKeyDown}\n onBlur={closeEditMode}\n />\n )}\n {withControls && (\n <>\n <Button\n className={block('control')}\n view={saveButtonView}\n extraProps={{onMouseDown: applyValue}}\n size={controlSize}\n >\n <Icon awesome={'check'} size={controlSize} />\n </Button>\n <Button\n className={block('control')}\n view={cancelButtonView}\n extraProps={{onMouseDown: closeAndResetValue}}\n size={controlSize}\n >\n <Icon awesome={'times'} size={controlSize} />\n </Button>\n </>\n )}\n </>\n ) : (\n <React.Fragment>\n {children}\n {!disableEdit && (\n <Button\n className={block('control', {type: 'edit'})}\n view=\"outlined\"\n onClick={startTextEdit}\n size={controlSize}\n >\n <Icon awesome={'pencil'} size={controlSize} />\n </Button>\n )}\n </React.Fragment>\n )}\n </div>\n );\n}\n\nexport function EditButton({\n onClick,\n size = 'm',\n}: {\n onClick: () => void;\n size?: ButtonProps['size'];\n}) {\n return (\n <Button\n className={block('edit-btn')}\n onClick={onClick}\n size={size}\n qa=\"qa:navigation:edit-path\"\n >\n <Icon awesome={'pencil'} />\n </Button>\n );\n}\n","import React, {Component} from 'react';\nimport PropTypes from 'prop-types';\nimport cn from 'bem-cn-lite';\nimport {sortableContainer, sortableElement, sortableHandle} from 'react-sortable-hoc';\nimport ReactList from 'react-list';\n\nimport each_ from 'lodash/each';\nimport escapeRegExp_ from 'lodash/escapeRegExp';\nimport filter_ from 'lodash/filter';\nimport map_ from 'lodash/map';\nimport partition_ from 'lodash/partition';\nimport reduce_ from 'lodash/reduce';\n\nimport {TextInput} from '@gravity-ui/uikit';\nimport Icon from '../../components/Icon/Icon';\n\nimport {renderText} from '../../components/templates/utils';\n\nimport './ColumnSelector.scss';\nimport Button from '../Button/Button';\n\nconst b = cn('column-selector');\n\nexport function makeItemsCopy(items) {\n return map_(items, (item) => {\n return {...item};\n });\n}\n\nconst DragHandle = sortableHandle(() => (\n <div className={b('drag-handle')}>\n <Icon face=\"solid\" awesome=\"list\" />\n </div>\n));\n\nconst SortableItem = sortableElement(\n ({item, isSortable, isSelectable, isDisabled, itemRenderer, onCheckBoxChange}) => {\n const active = !isDisabled && !item.disabled;\n const className = b('list-item', {\n selected: item.checked && active && 'yes',\n selectable: isSelectable && active && 'yes',\n disabled: !active && 'yes',\n });\n\n let showAction = true;\n if (item.checked) {\n showAction = 'isDeletable' in item ? item.isDeletable : true;\n }\n\n return (\n <div className={className}>\n {isSortable && item.checked && <DragHandle />}\n <div className={b('list-item-name')}>\n {item.keyColumn && <Icon awesome=\"key\" />}\n {itemRenderer(item)}\n </div>\n {active && showAction && (\n <span\n className={b('list-item-check')}\n onClick={onCheckBoxChange}\n data-item={item.name}\n >\n <Icon awesome=\"check\" />\n </span>\n )}\n {!active && <Icon className={b('list-item-lock')} awesome=\"lock\" />}\n </div>\n );\n },\n);\n\nconst SortableList = sortableContainer(\n ({\n items,\n isSortable,\n isDisabled,\n itemRenderer,\n onCheckBoxChange,\n isSelectable,\n useStaticSize,\n }) => {\n const renderer = (index, key) => {\n const item = items[index];\n return (\n <SortableItem\n key={key}\n index={index}\n item={item}\n disabled={!isSortable}\n isSortable={isSortable}\n isDisabled={isDisabled}\n isSelectable={isSelectable}\n itemRenderer={itemRenderer}\n onCheckBoxChange={onCheckBoxChange}\n />\n );\n };\n // Use 'simple' placement for draggable items because 'uniform' produces bugs when items are dragged outside the viewport\n const type = isSortable ? 'simple' : 'uniform';\n const mods = {'static-size': useStaticSize};\n\n return (\n <div className={b('list', mods)}>\n <ReactList itemRenderer={renderer} length={items.length} type={type} />\n </div>\n );\n },\n);\n\nexport default class ColumnSelector extends Component {\n static itemsProps = PropTypes.arrayOf(\n PropTypes.shape({\n name: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n keyColumn: PropTypes.bool,\n caption: PropTypes.string,\n disabled: PropTypes.bool,\n }),\n );\n\n static propTypes = {\n className: PropTypes.string,\n items: ColumnSelector.itemsProps.isRequired,\n showDisabledItems: PropTypes.bool,\n isSortable: PropTypes.bool,\n isSelectable: PropTypes.bool,\n isFilterable: PropTypes.bool,\n showSelectedOnly: PropTypes.bool,\n isHeadless: PropTypes.bool,\n onChange: PropTypes.func.isRequired,\n children: PropTypes.node,\n itemRenderer: PropTypes.func,\n };\n\n static defaultProps = {\n itemRenderer: ({name, caption = name}) => renderText(caption, {asHTML: false}),\n isSortable: false,\n isHeadless: false,\n isSelectable: true,\n isFilterable: true,\n showSelectedOnly: false,\n };\n\n constructor(props) {\n const {items, isHeadless, showSelectedOnly} = props;\n super(props);\n\n const state = {\n showSelectedOnly,\n filter: '',\n };\n if (isHeadless) {\n Object.assign(state, {items: makeItemsCopy(items)});\n }\n this.state = state;\n }\n\n get items() {\n return this.props.isHeadless ? this.state.items : this.props.items;\n }\n\n get buttonALLisDisabled() {\n return this.items.every((item) => item.checked);\n }\n\n get buttonNONEisDisabled() {\n return !this.items.some((item) => item.checked);\n }\n\n /*\n Takes items from the proper place (props or state), modifies them and writes them back at the same place.\n */\n withActualItems(func) {\n const {onChange} = this.props;\n // headless widget keeps its state to itself, but calls onChange as a way of notifying caller about changes\n if (this.props.isHeadless) {\n const {items} = func({items: this.state.items || []});\n this.setState({items}, () => {\n onChange({items: [...this.state.items]});\n });\n } else {\n // widget inside modal passes all changes to the modal component where they are put into state\n const {items} = func({items: this.props.items || []});\n onChange({items: [...items]});\n }\n }\n\n toggleItem = (name) => {\n this.withActualItems(({items}) => {\n items = [...items];\n const index = items.findIndex((item) => item.name === name);\n const changedItem = items[index];\n items[index] = {...changedItem, checked: !changedItem.checked};\n\n return {items};\n });\n };\n\n selectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (!item.checked && !item.disabled) {\n items[index] = {...item, checked: true};\n }\n });\n\n return {items};\n });\n };\n\n deselectAllItems = () => {\n this.withActualItems(({items}) => {\n const visibleMap = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleMap[item.name]) {\n return;\n }\n if (item.checked && !item.disabled && (item.isDeletable ?? true)) {\n items[index] = {...item, checked: false};\n }\n });\n\n return {items};\n });\n };\n\n invertItems = () => {\n this.withActualItems(({items}) => {\n const visibleItems = this.getVisibleItemsMap();\n items = [...items];\n each_(items, (item, index) => {\n if (!visibleItems[item.name]) {\n return;\n }\n if (!item.disabled) {\n items[index] = {...item, checked: !item.checked};\n }\n });\n\n return {items};\n });\n };\n\n _handleCheckBoxChange = (event) => {\n this.toggleItem(event.currentTarget.getAttribute('data-item'));\n };\n\n _handleSortEnd = ({oldIndex, newIndex}) => {\n if (oldIndex === newIndex) {\n return;\n }\n\n this.withActualItems(({items}) => {\n items = [...items];\n\n const {items: visibleItems} = this.getVisibleItems();\n const fromIndex = items.findIndex((item) => item.name === visibleItems[oldIndex].name);\n const toIndex = items.findIndex((item) => item.name === visibleItems[newIndex].name);\n\n const [removed] = items.splice(fromIndex, 1);\n items.splice(toIndex, 0, removed);\n\n return {items};\n });\n };\n\n _handleDefaultSort = () => {\n this.withActualItems(({items}) => {\n return {\n items: items.sort((a, b) => {\n const aCaption = a.caption || a.name;\n const bCaption = b.caption || b.name;\n\n return aCaption.localeCompare(bCaption);\n }),\n };\n });\n };\n\n _toggleShownItems = () => {\n this.setState((prevState) => ({\n showSelectedOnly: !prevState.showSelectedOnly,\n }));\n };\n\n _changeFilter = (filter) => {\n this.setState({filter});\n };\n\n renderSearchBox() {\n return (\n <TextInput\n placeholder=\"Search...\"\n onUpdate={this._changeFilter}\n value={this.state.filter}\n hasClear={true}\n />\n );\n }\n\n renderControls() {\n const {isFilterable, isSelectable, isSortable, isHeadless} = this.props;\n const btnProps = {\n size: 'm',\n className: b('controls-item'),\n };\n\n return (\n <div className={b('controls')}>\n {isFilterable && this.renderSearchBox()}\n {isHeadless && (\n <Button {...btnProps} onClick={this._toggleShownItems}>\n Selected \n <span className=\"elements-secondary-text\">\n {filter_(this.items, (item) => item.checked).length}\n </span>\n </Button>\n )}\n {isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonALLisDisabled}\n onClick={this.selectAllItems}\n >\n Add all\n </Button>\n )}\n {isSelectable && (\n <Button {...btnProps} onClick={this.invertItems}>\n Invert list\n </Button>\n )}\n {!isSelectable && (\n <Button\n {...btnProps}\n disabled={this.buttonNONEisDisabled}\n onClick={this.deselectAllItems}\n >\n Remove all\n </Button>\n )}\n {isSortable && (\n <Button {...btnProps} onClick={this._handleDefaultSort}>\n Default sort\n </Button>\n )}\n </div>\n );\n }\n\n filterItemsByName(items) {\n const re = new RegExp(escapeRegExp_(this.state.filter), 'i');\n return filter_(items, (item) => re.test(item.name));\n }\n\n filterItems(items) {\n const {showDisabledItems} = this.props;\n items = showDisabledItems ? items : filter_(items, (item) => !item.disabled);\n\n const visibleItems = this.filterItemsByName(items);\n return this.state.showSelectedOnly\n ? filter_(visibleItems, (item) => item.checked)\n : visibleItems;\n }\n\n getVisibleItems() {\n const toSplit = this.filterItems(this.items);\n const [keyItems, items] = partition_(toSplit, (item) => item.keyColumn);\n return {items, keyItems};\n }\n\n getVisibleItemsMap() {\n return reduce_(\n this.filterItems(this.items),\n (acc, item) => {\n acc[item.name] = item;\n return acc;\n },\n {},\n );\n }\n\n renderList() {\n const {isSortable, isSelectable, itemRenderer, children, isHeadless} = this.props;\n\n const {items, keyItems} = this.getVisibleItems();\n\n const className = b(\n 'content',\n {\n headless: isHeadless ? undefined : 'no',\n empty: items.length ? undefined : 'yes',\n },\n 'pretty-scroll',\n );\n\n return (\n <div className={className}>\n {keyItems.length > 0 && (\n <React.Fragment>\n <SortableList\n lockAxis=\"y\"\n isDisabled={false}\n isSortable={false}\n isSelectable={isSelectable}\n items={keyItems}\n itemRenderer={itemRenderer}\n helperClass={b('list-item', {helper: 'yes'})}\n onCheckBoxChange={this._handleCheckBoxChange}\n />\n {items.length > 0 && <div className={b('separator')} />}\n </React.Fragment>\n )}\n {items.length > 0 && (\n <SortableList\n items={items}\n isSelectable={isSelectable}\n isSortable={isSortable}\n itemRenderer={itemRenderer}\n lockAxis=\"y\"\n helperClass={b('list-item', {helper: 'yes'})}\n onSortEnd={this._handleSortEnd}\n onCheckBoxChange={this._handleCheckBoxChange}\n useDragHandle\n />\n )}\n {!keyItems.length && !items.length && children}\n </div>\n );\n }\n\n render() {\n const {isHeadless, isSortable, className} = this.props;\n const classNames = b(\n {\n headless: isHeadless ? 'yes' : undefined,\n sortable: isSortable ? undefined : 'no',\n },\n className,\n );\n return (\n <div className={classNames}>\n {this.renderControls()}\n {this.renderList()}\n </div>\n );\n }\n}\n","import {InternMap} from \"d3-array\";\nimport {initRange} from \"./init.js\";\n\nexport const implicit = Symbol(\"implicit\");\n\nexport default function ordinal() {\n var index = new InternMap(),\n domain = [],\n range = [],\n unknown = implicit;\n\n function scale(d) {\n let i = index.get(d);\n if (i === undefined) {\n if (unknown !== implicit) return unknown;\n index.set(d, i = domain.push(d) - 1);\n }\n return range[i % range.length];\n }\n\n scale.domain = function(_) {\n if (!arguments.length) return domain.slice();\n domain = [], index = new InternMap();\n for (const value of _) {\n if (index.has(value)) continue;\n index.set(value, domain.push(value) - 1);\n }\n return scale;\n };\n\n scale.range = function(_) {\n return arguments.length ? (range = Array.from(_), scale) : range.slice();\n };\n\n scale.unknown = function(_) {\n return arguments.length ? (unknown = _, scale) : unknown;\n };\n\n scale.copy = function() {\n return ordinal(domain, range).unknown(unknown);\n };\n\n initRange.apply(scale, arguments);\n\n return scale;\n}\n","export default function(a, b) {\n return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;\n}\n","export default function(d) {\n return d;\n}\n","import array from \"./array.js\";\nimport constant from \"./constant.js\";\nimport descending from \"./descending.js\";\nimport identity from \"./identity.js\";\nimport {tau} from \"./math.js\";\n\nexport default function() {\n var value = identity,\n sortValues = descending,\n sort = null,\n startAngle = constant(0),\n endAngle = constant(tau),\n padAngle = constant(0);\n\n function pie(data) {\n var i,\n n = (data = array(data)).length,\n j,\n k,\n sum = 0,\n index = new Array(n),\n arcs = new Array(n),\n a0 = +startAngle.apply(this, arguments),\n da = Math.min(tau, Math.max(-tau, endAngle.apply(this, arguments) - a0)),\n a1,\n p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)),\n pa = p * (da < 0 ? -1 : 1),\n v;\n\n for (i = 0; i < n; ++i) {\n if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {\n sum += v;\n }\n }\n\n // Optionally sort the arcs by previously-computed values or by data.\n if (sortValues != null) index.sort(function(i, j) { return sortValues(arcs[i], arcs[j]); });\n else if (sort != null) index.sort(function(i, j) { return sort(data[i], data[j]); });\n\n // Compute the arcs! They are stored in the original data's order.\n for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {\n j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {\n data: data[j],\n index: i,\n value: v,\n startAngle: a0,\n endAngle: a1,\n padAngle: p\n };\n }\n\n return arcs;\n }\n\n pie.value = function(_) {\n return arguments.length ? (value = typeof _ === \"function\" ? _ : constant(+_), pie) : value;\n };\n\n pie.sortValues = function(_) {\n return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;\n };\n\n pie.sort = function(_) {\n return arguments.length ? (sort = _, sortValues = null, pie) : sort;\n };\n\n pie.startAngle = function(_) {\n return arguments.length ? (startAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : startAngle;\n };\n\n pie.endAngle = function(_) {\n return arguments.length ? (endAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : endAngle;\n };\n\n pie.padAngle = function(_) {\n return arguments.length ? (padAngle = typeof _ === \"function\" ? _ : constant(+_), pie) : padAngle;\n };\n\n return pie;\n}\n","export function initRange(domain, range) {\n switch (arguments.length) {\n case 0: break;\n case 1: this.range(domain); break;\n default: this.range(range).domain(domain); break;\n }\n return this;\n}\n\nexport function initInterpolator(domain, interpolator) {\n switch (arguments.length) {\n case 0: break;\n case 1: {\n if (typeof domain === \"function\") this.interpolator(domain);\n else this.range(domain);\n break;\n }\n default: {\n this.domain(domain);\n if (typeof interpolator === \"function\") this.interpolator(interpolator);\n else this.range(interpolator);\n break;\n }\n }\n return this;\n}\n","const SvgCircleQuestion = props => <svg xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 16 16\" {...props}><path fill=\"currentColor\" fillRule=\"evenodd\" d=\"M8 13.5a5.5 5.5 0 1 0 0-11 5.5 5.5 0 0 0 0 11M8 15A7 7 0 1 0 8 1a7 7 0 0 0 0 14M6.44 4.54c.43-.354.994-.565 1.56-.565 1.217 0 2.34.82 2.34 2.14 0 .377-.078.745-.298 1.1-.208.339-.513.614-.875.867-.217.153-.325.257-.379.328-.038.052-.038.07-.038.089a.75.75 0 0 1-1.5 0c0-.794.544-1.286 1.057-1.645.28-.196.4-.332.458-.426a.54.54 0 0 0 .075-.312c0-.3-.244-.641-.84-.641a1 1 0 0 0-.608.223c-.167.138-.231.287-.231.418a.75.75 0 0 1-1.5 0c0-.674.345-1.22.78-1.577M8 12a1 1 0 1 0 0-2 1 1 0 0 0 0 2\" clipRule=\"evenodd\" /></svg>;\nexport default SvgCircleQuestion;","export const abs = Math.abs;\nexport const atan2 = Math.atan2;\nexport const cos = Math.cos;\nexport const max = Math.max;\nexport const min = Math.min;\nexport const sin = Math.sin;\nexport const sqrt = Math.sqrt;\n\nexport const epsilon = 1e-12;\nexport const pi = Math.PI;\nexport const halfPi = pi / 2;\nexport const tau = 2 * pi;\n\nexport function acos(x) {\n return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);\n}\n\nexport function asin(x) {\n return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);\n}\n","import {Path} from \"d3-path\";\n\nexport function withPath(shape) {\n let digits = 3;\n\n shape.digits = function(_) {\n if (!arguments.length) return digits;\n if (_ == null) {\n digits = null;\n } else {\n const d = Math.floor(_);\n if (!(d >= 0)) throw new RangeError(`invalid digits: ${_}`);\n digits = d;\n }\n return shape;\n };\n\n return () => new Path(digits);\n}\n","export default function(node) {\n return (node.ownerDocument && node.ownerDocument.defaultView) // node is a Node\n || (node.document && node) // node is a Window\n || node.defaultView; // node is a Document\n}\n","import type {RootState} from '../../reducers';\n\nexport const selectCellPreviewVisible = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.visible;\nexport const selectCellPreviewLoading = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.loading;\nexport const selectCellPreviewData = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.data;\nexport const selectCellPreviewYtCliDownloadCommand = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.ytCliDownloadCommand;\nexport const selectCellPreviewNoticeText = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.noticeText;\nexport const selectErrorPreviewCellPath = (state: RootState) =>\n state.navigation.modals.cellPreviewModal.error;\n","import React from 'react';\n\nimport {useDispatch, useSelector} from 'react-redux';\nimport {Flex, Text} from '@gravity-ui/uikit';\n\nimport SimpleModal from '../../components/Modal/SimpleModal';\nimport {\n selectCellPreviewData,\n selectCellPreviewLoading,\n selectCellPreviewNoticeText,\n selectCellPreviewVisible,\n selectCellPreviewYtCliDownloadCommand,\n selectErrorPreviewCellPath,\n} from '../../store/selectors/modals/cell-preview';\n\nimport ClipboardButton from '../../components/ClipboardButton/ClipboardButton';\nimport block from 'bem-cn-lite';\n\nimport Yson from '../../components/Yson/Yson';\nimport {YTErrorBlock} from '../../components/Error/Error';\nimport {type YsonSettings, getPreviewCellYsonSettings} from '../../store/selectors/thor/unipika';\nimport {closeCellPreviewAndCancelRequest} from '../../store/actions/modals/cell-preview';\nimport {isMediaTag} from '../../utils/yql-types';\n\nimport './CellPreviewModal.scss';\n\nconst b = block('cell-preview-modal');\n\nexport const CellPreviewModal: React.FC = () => {\n const dispatch = useDispatch();\n\n const loading = useSelector(selectCellPreviewLoading);\n const data = useSelector(selectCellPreviewData);\n const visible = useSelector(selectCellPreviewVisible);\n const ytCliDownloadCommand = useSelector(selectCellPreviewYtCliDownloadCommand);\n const noticeText = useSelector(selectCellPreviewNoticeText);\n const error = useSelector(selectErrorPreviewCellPath);\n\n const unipikaSettings = useSelector(getPreviewCellYsonSettings);\n\n return (\n <SimpleModal\n title=\"Preview\"\n visible={visible}\n loading={loading}\n onCancel={() => dispatch(closeCellPreviewAndCancelRequest())}\n wrapperClassName={b('wrapper')}\n >\n <Flex\n qa=\"cell-preview-modal-content\"\n className={b('content')}\n gap={2}\n direction=\"column\"\n >\n <Flex gap={2} direction=\"column\">\n <Text variant=\"subheader-3\" color=\"secondary\">\n {noticeText}\n </Text>\n {ytCliDownloadCommand ? (\n <code className={b('command-wrapper')}>\n <div className={b('command')}>\n <div\n data-qa=\"cell-preview-command\"\n className={b('command-content')}\n title={ytCliDownloadCommand}\n >\n {ytCliDownloadCommand}\n </div>\n <ClipboardButton\n view={'flat-secondary'}\n text={ytCliDownloadCommand}\n size={'s'}\n />\n </div>\n </code>\n ) : null}\n </Flex>\n {error ? (\n <YTErrorBlock error={error} />\n ) : (\n <PreviewContent data={data} unipikaSettings={unipikaSettings} />\n )}\n </Flex>\n </SimpleModal>\n );\n};\n\ntype PreviewContentProps = {\n data: {$type?: string; $value?: any; $tag?: string} | undefined;\n unipikaSettings: YsonSettings;\n};\n\nfunction PreviewContent(props: PreviewContentProps) {\n const {data, unipikaSettings} = props;\n\n if (data?.$type === 'yql.string' || data?.$type === 'yql.json') {\n return <pre className=\"elements-code\">{data?.$value}</pre>;\n }\n\n if (data?.$type === 'yql.tagged' && data.$tag && isMediaTag(data.$tag)) {\n return <img src={`data:${data.$tag};base64,${data?.$value}`} alt=\"image-preview\" />;\n }\n\n return (\n <Yson\n className={b('yson-container')}\n folding={true}\n value={data?.$value}\n tableSettings={{dynamicRenderScrollParentGetter: undefined}}\n settings={unipikaSettings}\n customLayout={({toolbar, content}) => {\n return (\n <>\n <div className={b('toolbar')}>{toolbar}</div>\n {content}\n </>\n );\n }}\n />\n );\n}\n","const pi = Math.PI,\n tau = 2 * pi,\n epsilon = 1e-6,\n tauEpsilon = tau - epsilon;\n\nfunction append(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += arguments[i] + strings[i];\n }\n}\n\nfunction appendRound(digits) {\n let d = Math.floor(digits);\n if (!(d >= 0)) throw new Error(`invalid digits: ${digits}`);\n if (d > 15) return append;\n const k = 10 ** d;\n return function(strings) {\n this._ += strings[0];\n for (let i = 1, n = strings.length; i < n; ++i) {\n this._ += Math.round(arguments[i] * k) / k + strings[i];\n }\n };\n}\n\nexport class Path {\n constructor(digits) {\n this._x0 = this._y0 = // start of current subpath\n this._x1 = this._y1 = null; // end of current subpath\n this._ = \"\";\n this._append = digits == null ? append : appendRound(digits);\n }\n moveTo(x, y) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}`;\n }\n closePath() {\n if (this._x1 !== null) {\n this._x1 = this._x0, this._y1 = this._y0;\n this._append`Z`;\n }\n }\n lineTo(x, y) {\n this._append`L${this._x1 = +x},${this._y1 = +y}`;\n }\n quadraticCurveTo(x1, y1, x, y) {\n this._append`Q${+x1},${+y1},${this._x1 = +x},${this._y1 = +y}`;\n }\n bezierCurveTo(x1, y1, x2, y2, x, y) {\n this._append`C${+x1},${+y1},${+x2},${+y2},${this._x1 = +x},${this._y1 = +y}`;\n }\n arcTo(x1, y1, x2, y2, r) {\n x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let x0 = this._x1,\n y0 = this._y1,\n x21 = x2 - x1,\n y21 = y2 - y1,\n x01 = x0 - x1,\n y01 = y0 - y1,\n l01_2 = x01 * x01 + y01 * y01;\n\n // Is this path empty? Move to (x1,y1).\n if (this._x1 === null) {\n this._append`M${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Or, is (x1,y1) coincident with (x0,y0)? Do nothing.\n else if (!(l01_2 > epsilon));\n\n // Or, are (x0,y0), (x1,y1) and (x2,y2) collinear?\n // Equivalently, is (x1,y1) coincident with (x2,y2)?\n // Or, is the radius zero? Line to (x1,y1).\n else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {\n this._append`L${this._x1 = x1},${this._y1 = y1}`;\n }\n\n // Otherwise, draw an arc!\n else {\n let x20 = x2 - x0,\n y20 = y2 - y0,\n l21_2 = x21 * x21 + y21 * y21,\n l20_2 = x20 * x20 + y20 * y20,\n l21 = Math.sqrt(l21_2),\n l01 = Math.sqrt(l01_2),\n l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2),\n t01 = l / l01,\n t21 = l / l21;\n\n // If the start tangent is not coincident with (x0,y0), line to.\n if (Math.abs(t01 - 1) > epsilon) {\n this._append`L${x1 + t01 * x01},${y1 + t01 * y01}`;\n }\n\n this._append`A${r},${r},0,0,${+(y01 * x20 > x01 * y20)},${this._x1 = x1 + t21 * x21},${this._y1 = y1 + t21 * y21}`;\n }\n }\n arc(x, y, r, a0, a1, ccw) {\n x = +x, y = +y, r = +r, ccw = !!ccw;\n\n // Is the radius negative? Error.\n if (r < 0) throw new Error(`negative radius: ${r}`);\n\n let dx = r * Math.cos(a0),\n dy = r * Math.sin(a0),\n x0 = x + dx,\n y0 = y + dy,\n cw = 1 ^ ccw,\n da = ccw ? a0 - a1 : a1 - a0;\n\n // Is this path empty? Move to (x0,y0).\n if (this._x1 === null) {\n this._append`M${x0},${y0}`;\n }\n\n // Or, is (x0,y0) not coincident with the previous point? Line to (x0,y0).\n else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {\n this._append`L${x0},${y0}`;\n }\n\n // Is this arc empty? We’re done.\n if (!r) return;\n\n // Does the angle go the wrong way? Flip the direction.\n if (da < 0) da = da % tau + tau;\n\n // Is this a complete circle? Draw two arcs to complete the circle.\n if (da > tauEpsilon) {\n this._append`A${r},${r},0,1,${cw},${x - dx},${y - dy}A${r},${r},0,1,${cw},${this._x1 = x0},${this._y1 = y0}`;\n }\n\n // Is this arc non-empty? Draw an arc!\n else if (da > epsilon) {\n this._append`A${r},${r},0,${+(da >= pi)},${cw},${this._x1 = x + r * Math.cos(a1)},${this._y1 = y + r * Math.sin(a1)}`;\n }\n }\n rect(x, y, w, h) {\n this._append`M${this._x0 = this._x1 = +x},${this._y0 = this._y1 = +y}h${w = +w}v${+h}h${-w}Z`;\n }\n toString() {\n return this._;\n }\n}\n\nexport function path() {\n return new Path;\n}\n\n// Allow instanceof d3.path\npath.prototype = Path.prototype;\n\nexport function pathRound(digits = 3) {\n return new Path(+digits);\n}\n"],"names":["x","Array","from","prototype","slice","props","_jsx","_objectSpread","xmlns","fill","viewBox","children","fillRule","d","clipRule","name","prefix","i","indexOf","hasOwnProperty","space","local","block","cn","Dropdown","_Component","_this","_classCallCheck","_len","arguments","length","args","_key","_callSuper","concat","state","popupVisible","anchor","React","toggle","setState","prevState","open","close","_inherits","_createClass","key","value","_this$props","this","button","trigger","actionProps","onClick","undefined","onMouseEnter","onMouseLeave","template","_this$props$template","data","renderer","templates","get","__default__","call","_this$props2","popup","directions","Popup","placement","onClose","anchorRef","hasArrow","renderTemplate","className","_jsxs","ref","renderButton","renderPopup","Component","defaultProps","zIndexGroupLevel","arcInnerRadius","innerRadius","arcOuterRadius","outerRadius","arcStartAngle","startAngle","arcEndAngle","endAngle","arcPadAngle","padAngle","cornerTangents","x0","y0","x1","y1","r1","rc","cw","x01","y01","lo","ox","oy","x11","y11","x10","y10","x00","y00","dx","dy","d2","r","D","cx0","cy0","cx1","cy1","dx0","dy0","dx1","dy1","cx","cy","cornerRadius","padRadius","context","path","arc","buffer","r0","apply","a0","a1","da","moveTo","t0","t1","a01","a11","a00","a10","da0","da1","ap","rp","rc0","rc1","p0","p1","oc","pi","x2","y2","x3","y3","x32","y32","t","intersect","ax","ay","bx","by","kc","lc","lineTo","closePath","centroid","a","_","InternMap","Map","constructor","entries","keyof","super","Object","defineProperties","_intern","set","intern_get","has","intern_set","delete","intern_delete","valueOf","Set","selector","matches","childMatcher","node","document","querySelector","documentElement","xhtml","svg","xlink","xml","empty","querySelectorAll","find","childFirst","firstElementChild","filter","update","EnterNode","parent","datum","ownerDocument","namespaceURI","_next","_parent","__data__","bindIndex","group","enter","exit","groupLength","dataLength","bindKey","keyValue","nodeByKeyValue","keyValues","arraylike","ascending","b","NaN","appendChild","child","insertBefore","next","attrRemove","removeAttribute","attrRemoveNS","fullname","removeAttributeNS","attrConstant","setAttribute","attrConstantNS","setAttributeNS","attrFunction","v","attrFunctionNS","propertyRemove","propertyConstant","propertyFunction","classArray","string","trim","split","classList","ClassList","_node","_names","getAttribute","classedAdd","names","list","n","add","classedRemove","remove","classedTrue","classedFalse","classedFunction","textRemove","textContent","textConstant","textFunction","htmlRemove","innerHTML","htmlConstant","htmlFunction","raise","nextSibling","parentNode","lower","previousSibling","firstChild","push","join","splice","contains","creatorInherit","uri","createElement","createElementNS","creatorFixed","namespace","constantNull","removeChild","selection_cloneShallow","clone","cloneNode","selection_cloneDeep","onRemove","typename","on","__on","o","j","m","type","removeEventListener","listener","options","onAdd","event","contextListener","addEventListener","dispatchEvent","params","window","CustomEvent","createEvent","initEvent","bubbles","cancelable","detail","dispatchConstant","dispatchFunction","root","Selection","groups","parents","_groups","_parents","selection","select","subgroups","subnode","subgroup","selectAll","isArray","arrayAll","selectorAll","selectChild","match","childFind","selectChildren","childrenFilter","matcher","bind","enterGroup","updateGroup","previous","i0","i1","_enter","_exit","map","sparse","onenter","onupdate","onexit","append","merge","order","groups0","groups1","m0","m1","Math","min","merges","group0","group1","compareDocumentPosition","sort","compare","compareNode","sortgroups","sortgroup","callback","nodes","size","each","attr","getAttributeNS","style","property","classed","text","html","create","creator","insert","before","deep","typenames","parseTypenames","dispatch","Symbol","iterator","styleRemove","removeProperty","styleConstant","priority","setProperty","styleFunction","styleValue","getPropertyValue","getComputedStyle","isMediaTag","test","isImageTag","isVideoTag","TextInputWithDebounce","_props$debounce","debounce","_props$onUpdate","onUpdate","onBlur","onEnterKeyDown","onKeyDown","rest","_objectWithoutProperties","_excluded","_React$useState","_React$useState2","_slicedToArray","input","setInput","handleChangeExt","debounce_","handleChange","handleKeyDown","e","handleBlur","cancel","TextInput","usePreventUnload","_ref","shouldListen","beforeUnloadHandler","useCallback","preventDefault","returnValue","useEffect","getSettingQueryTrackerQueriesListSidebarVisibilityMode","createSelector","getSettingsData","settings","Boolean","useQueriesListSidebarToggle","useDispatch","isQueriesListSidebarVisible","useSelector","toggleQueriesListSideBarToggle","setSettingByKey","useQueryNavigation","selectedItem","getQuery","cluster","getCluster","history","useHistory","goToQuery","item","createQueryUrl","id","InfiniteScrollLoader","loading","onLoadMore","paginationRef","useRef","observer","IntersectionObserver","forEach","entry","isIntersecting","threshold","current","observe","unobserve","Flex","alignItems","justifyContent","Loader","itemBlock","isHeaderTableItem","header","tableSettings","displayIndices","sortable","stickyHead","DataTable","MOVING","syncHeadOnResize","QueriesHistoryListUpdater","updateFn","requestQueriesList","useUpdater","timeout","QueriesHistoryList","itemsByDate","getQueryListByDate","isLoading","isQueriesListLoading","columns","getQueryListColumns","hasMore","hasQueriesListMore","_useQueryNavigation","_useQueryNavigation2","selectedId","showPagination","setClassName","isHeader","selected","DataTableYT","useThemeYT","rowKey","row","onRowClick","disableRightGap","rowClassName","getColSpansOfRow","Name","loadNextQueriesList","QueriesHistoryCursorDirection","PAST","itemCn","renderItem","_item$annotations","_item$annotations2","_Fragment","Icon","tutorialIcon","Text","ellipsis","title","annotations","QueriesTutorialList","items","getQueriesList","selectedIndex","useMemo","findIndex","query","tutorialFilter","_item$annotations3","toLocaleLowerCase","includes","List","filterable","filterClassName","filterPlaceholder","filterItem","virtualized","selectedItemIndex","itemHeight","itemClassName","onItemClick","ALL_ENGINE_KEY","enginesList","content","_toConsumableArray","Engines","engine","QueryEnginesNames","QueryEngineFilter","getQueriesFilters","onChangeEngineFilter","values","selectedEngine","applyFilter","Select","placeholder","ALL_STATUS_KEY","statusesList","QueryStatus","hammer","format","Readable","QueryStateFilter","onChangeStatusFilter","selectedStatus","result","width","QueryUserFilter","useAllUserNamesFiltered","userNames","getAllUserNames","login","getCurrentUserName","user","userName","QueriesListAuthorFilter","My","handleOnChange","QueryDateFilter","_useSelector","to","setFilter","gap","DatePicker","dateTime","hasClear","Block","direction","variant","FilterDropdown","changed","hasCustomHistoryFilters","handleResetFilter","resetFilter","Button","view","TrashBinIcon","AuthorFilter","All","QueryFastUserFilter","RadioButton","QueriesHistoryListFilter","filterViewMode","getQueriesListMode","allowedColumns","customFilterChanged","QueriesListMode","History","tooltipProps","withTooltip","FunnelIcon","GearIcon","ColumnSelector","onChange","selectedColumns","_ref2","checked","_ref3","Tooltip","CircleQuestionIcon","Vcs","withLazyLoading","lazy","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","sent","abrupt","stop","Navigation","TabNames","_defineProperty","Tutorials","VCS","QueriesList","activeTab","tabsList","getQueriesListTabs","tabs","tab","isVsc","Tabs","onSelectTab","tabId","setListMode","MONACO_CONFIG","fontSize","language","renderWhitespace","minimap","enabled","FileEditor","selectFileEditorConfig","fileEditor","file","editorRef","FileIcon","setFileEditor","isFullWidth","LayoutColumnsIcon","SquareIcon","isOpen","XmarkIcon","MonacoEditor","changeQueryFile","monacoConfig","EDITOR_INITIAL_SIZE","QueryEditorSplit","fileEditorFullWidth","fileEditorVisible","onStartQuery","_useState","useState","_useState2","sizes","setSize","hideQueryEditor","FlexSplitPane","HORIZONTAL","onResizeEnd","getInitialSizes","QueryEditor","showStatusInTitle","RedirectConfirmModal","message","_ref$ignoreSamePath","ignoreSamePath","showModal","setShowModal","skipRef","locationRef","handleNavigation","location","samePath","pathname","handleConfirm","unblock","YTDFDialog","visible","pristineSubmittable","headerProps","fields","extras","initialSizes","minSize","QueryPageDraft","routeParams","getQueryGetParams","selectNavigationCluster","favoriteEngine","getLastUserChoiceQueryEngine","QueryEngine","YQL","isEngine","useDraft","SET_QUERY_PARAMS","createQueryFromTablePath","createEmptyQuery","QueryPage","queryId","loadQuery","QueryTracker","_useQueriesListSideba","isQueryStateDirty","getDirtySinceLastSubmit","selectFileEditor","getSize","loadQueryTrackerInfo","useQueryACO","goToCreatedQuery","URLSearchParams","search","Switch","Route","exact","component","MonacoContext","Provider","QueriesPooling","CellPreviewModal","QueriesListSidebarToggleButton","awesome","RightButtonsGroup","onQueryCreate","chatComponents","UIFactory","getAIChat","chat","toggleButton","NewQueryButton","isDesktop","setIsDesktop","handleResize","matchMedia","useIsDesktop","getQueryDraft","nameEdit","setNameEdit","handleChangeEngine","newEngine","setQueryEngine","setUserLastChoice","handleCreateNewQuery","resetQueryTracker","handleNameChange","updateQueryDraft","handleSettingsChange","newSettings","RowWithName","page","Page","QUERIES","grow","EditableAsText","cancelOnClose","withControls","openOnClick","onModeChange","saveButtonView","cancelButtonView","HeadSpacer","QueryClusterSelector","QueryEngineSelector","QuerySelectorsByEngine","QuerySettingsButton","QueryFilesButton","ICON_BY_TYPE","SortIcon","_React$Component","allowUnordered","withUndefined","nextSortOrderValue","label","hidden","icon","ReadableField","face","loadUsersIfNotLoaded","namesSorted","getAllUserNamesSorted","getFiltered","sortedIndexBy_","substr","sortedLastIndexBy_","allNames","useGroupsLoaded","loadGroupsIfNotLoaded","GroupsLoader","none","disableEdit","renderEditor","_props$saveButtonView","_props$cancelButtonVi","editMode","setEditMode","_React$useState3","_React$useState4","handleChangeMode","isEdit","closeEditMode","startTextEdit","val","applyValue","closeAndResetValue","onApply","evt","controlSize","autoFocus","extraProps","onMouseDown","EditButton","_ref$size","qa","makeItemsCopy","map_","DragHandle","sortableHandle","SortableItem","sortableElement","isSortable","isSelectable","isDisabled","itemRenderer","onCheckBoxChange","active","disabled","selectable","showAction","isDeletable","keyColumn","SortableList","sortableContainer","useStaticSize","mods","ReactList","index","isHeadless","showSelectedOnly","toggleItem","withActualItems","changedItem","selectAllItems","_ref4","visibleMap","getVisibleItemsMap","each_","deselectAllItems","_ref5","_item$isDeletable","invertItems","_ref6","visibleItems","_handleCheckBoxChange","currentTarget","_handleSortEnd","_ref7","oldIndex","newIndex","_ref8","getVisibleItems","fromIndex","toIndex","_items$splice","removed","_handleDefaultSort","_ref9","aCaption","caption","bCaption","localeCompare","_toggleShownItems","_changeFilter","assign","every","some","func","_this2","isFilterable","btnProps","renderSearchBox","filter_","buttonALLisDisabled","buttonNONEisDisabled","re","RegExp","escapeRegExp_","showDisabledItems","filterItemsByName","toSplit","filterItems","_partition_","partition_","_partition_2","keyItems","reduce_","acc","_this$getVisibleItems2","headless","lockAxis","helperClass","helper","onSortEnd","useDragHandle","_this$props3","classNames","renderControls","renderList","itemsProps","PropTypes","isRequired","_ref0","_ref0$caption","renderText","asHTML","implicit","ordinal","domain","range","unknown","scale","copy","identity","sortValues","descending","constant","pie","k","array","sum","arcs","max","p","abs","pa","initRange","atan2","cos","sin","sqrt","epsilon","PI","halfPi","tau","acos","asin","withPath","shape","digits","floor","RangeError","defaultView","selectCellPreviewVisible","navigation","modals","cellPreviewModal","selectCellPreviewLoading","selectCellPreviewData","selectCellPreviewYtCliDownloadCommand","ytCliDownloadCommand","selectCellPreviewNoticeText","noticeText","selectErrorPreviewCellPath","error","unipikaSettings","getPreviewCellYsonSettings","SimpleModal","onCancel","closeCellPreviewAndCancelRequest","wrapperClassName","color","ClipboardButton","YTErrorBlock","PreviewContent","$type","$value","$tag","src","alt","Yson","folding","dynamicRenderScrollParentGetter","customLayout","toolbar","tauEpsilon","strings","Path","_x0","_y0","_x1","_y1","_append","Error","round","appendRound","y","quadraticCurveTo","bezierCurveTo","arcTo","x21","y21","l01_2","x20","y20","l21_2","l20_2","l21","l01","l","tan","t01","t21","ccw","rect","w","h","toString"],"sourceRoot":""}
|