@ytsaurus/ui 3.1.0 → 3.2.0
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 +20 -20
- package/dist/public/build/js/1422.2980037b.chunk.js +2 -0
- package/dist/public/build/js/1422.2980037b.chunk.js.map +1 -0
- package/dist/public/build/js/{4253.1e48a7d8.chunk.js → 4253.9c5e22a8.chunk.js} +3 -3
- package/dist/public/build/js/4253.9c5e22a8.chunk.js.map +1 -0
- package/dist/public/build/js/{cluster-page-wrapper.d9f0e479.chunk.js → cluster-page-wrapper.7ee2ebb7.chunk.js} +2 -2
- package/dist/public/build/js/{cluster-page-wrapper.d9f0e479.chunk.js.map → cluster-page-wrapper.7ee2ebb7.chunk.js.map} +1 -1
- package/dist/public/build/js/{main.910247d4.js → main.83f42e63.js} +3 -3
- package/dist/public/build/js/{main.910247d4.js.map → main.83f42e63.js.map} +1 -1
- package/dist/public/build/js/query-tracker.2a1efcb7.chunk.js +2 -0
- package/dist/public/build/js/query-tracker.2a1efcb7.chunk.js.map +1 -0
- package/dist/public/build/js/{runtime.ff41a284.js → runtime.42f2261f.js} +2 -2
- package/dist/public/build/js/{runtime.ff41a284.js.map → runtime.42f2261f.js.map} +1 -1
- package/dist/public/build/js/{scheduling.43b30898.chunk.js → scheduling.893e96af.chunk.js} +2 -2
- package/dist/public/build/js/{scheduling.43b30898.chunk.js.map → scheduling.893e96af.chunk.js.map} +1 -1
- package/dist/public/build/js/yt-queries-list.3fb2ae8e.chunk.js +2 -0
- package/dist/public/build/js/yt-queries-list.3fb2ae8e.chunk.js.map +1 -0
- package/dist/public/build/manifest.json +16 -16
- package/package.json +2 -2
- package/dist/public/build/js/2142.27bbbca6.chunk.js +0 -2
- package/dist/public/build/js/2142.27bbbca6.chunk.js.map +0 -1
- package/dist/public/build/js/4253.1e48a7d8.chunk.js.map +0 -1
- package/dist/public/build/js/query-tracker.17719828.chunk.js +0 -2
- package/dist/public/build/js/query-tracker.17719828.chunk.js.map +0 -1
- package/dist/public/build/js/yt-queries-list.0737c4ce.chunk.js +0 -2
- package/dist/public/build/js/yt-queries-list.0737c4ce.chunk.js.map +0 -1
- /package/dist/public/build/js/{4253.1e48a7d8.chunk.js.LICENSE.txt → 4253.9c5e22a8.chunk.js.LICENSE.txt} +0 -0
- /package/dist/public/build/js/{main.910247d4.js.LICENSE.txt → main.83f42e63.js.LICENSE.txt} +0 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[]).push([[5670],{10559:(e,t,n)=>{n.d(t,{A:()=>r});var s=n(40319),i=n(64922);const r=function(e){return(0,i.jsx)("svg",(0,s.A)((0,s.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,i.jsx)("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"})}))}},13609:(e,t,n)=>{n.d(t,{D:()=>v,o:()=>g}),n(77810);var s=n(1435),i=n(1335),r=n(45760),a=n(87111),o=n(92611);const l=JSON.parse('{"context_tooltip":"AI chat","action_button":"Ask AI"}'),c=JSON.parse('{"context_tooltip":"AI чат","action_button":"Спросить AI"}'),u=(0,o.Kc)("yt:ai.chat.toggle-button",{en:l,ru:c});var d=n(14371),h=n(51404),m=n(83205),f=function(){var e=(0,d.w)();return{isConfigured:(0,d.d)(h.ly),toggle:function(){e((0,m.iJ)())}}},p=n(64922),v=function(e){var t=e.hideText,n=f(),o=n.isConfigured,l=n.toggle;return o?(0,p.jsx)(s.m,{content:u("context_tooltip"),children:(0,p.jsxs)(i.$,{view:"outlined-utility",size:"l",onClick:l,children:[(0,p.jsx)(r.I,{data:a.A,size:16}),!t&&u("action_button")]})}):null},x=n(28477),g=function(e){var t=e.compact,n=f(),s=n.isConfigured,i=n.toggle;return s?(0,p.jsx)(x.F,{compact:t,item:{id:"ai-chat",title:u("context_tooltip"),icon:a.A,onItemClick:i}},"ai-chat"):null}},33559:(e,t,n)=>{n.d(t,{r:()=>D});var s=n(64922),i=n(77810),r=n(49528),a=n(91689),o=n(1335),l=n(45760);const c=(0,n(47999).om)("dropdown-menu"),u=i.createContext({toggle(){},data:void 0});u.displayName="DropdownMenu.Context";var d=n(51741),h=n(70940),m=n(97012),f=n(73314),p=n(43904);function v(e,t,n=1,s){const i=(e.length+t-n%e.length)%e.length;return s&&s(e[i])?v(e,i,1,s):i}function x(e,t,n=1,s){const i=(t+n)%e.length;return s&&s(e[i])?x(e,i,1,s):i}var g=n(21211);const A=[],b=i.createContext({activeMenuPath:A,setActiveMenuPath:()=>{},anchorRef:{current:null}}),w=({anchorRef:e,children:t,disabled:n})=>{const[r,a]=i.useState(A);i.useEffect((()=>{n&&a(A)}),[n]);const o=i.useMemo((()=>({activeMenuPath:r,setActiveMenuPath:a,anchorRef:e})),[r,e]);return(0,s.jsx)(b.Provider,{value:o,children:t})},k={text:"",action:()=>{},path:[]};function j(e){return e===k}function y(e){return e.disabled||j(e)}function C(e){return e?.join(" ")??""}const S=({items:e,open:t,anchorRef:n,onClose:r,size:a,menuProps:o,children:l,popupProps:d,path:h=[]})=>{const{toggle:f,data:A}=i.useContext(u),{activeMenuPath:w,setActiveMenuPath:k,anchorRef:S}=i.useContext(b),N=h.length>0,I=i.useCallback((()=>{k(h.slice(0,h.length-1))}),[k,h]),P=i.useCallback((()=>{k(h)}),[h,k]),D=i.useCallback((()=>{I()}),[I]),M=i.useCallback(((e,t)=>{e.items&&e.path?k(e.path):(e.action?.(t,A),f(!1))}),[A,k,f]),R=i.useCallback(((t,n)=>{switch(n.key){case p.D.ESCAPE:return N&&(n.stopPropagation(),I?.()),!1;case p.D.ENTER:case p.D.SPACEBAR:{const s=e[t],i=s?.items;return(N||i)&&(n.stopPropagation(),n.preventDefault()),s&&M(s,n),!1}}return!0}),[I,M,N,e]),z=t&&C(h)===C(w),{activeItemIndex:B,setActiveItemIndex:L,reset:O}=function({items:e,skip:t,pageSize:n,processHomeKey:s=!0,processEndKey:r=!0,anchorRef:a,disabled:o=!1,initialValue:l=-1,onAnchorKeyDown:c}){const[u,d]=i.useState(l),h=i.useCallback((()=>{d(l)}),[l]);return i.useEffect((()=>{e&&h()}),[e,h]),i.useLayoutEffect((()=>{if(o)return;if(!e.some((e=>!t?.(e))))return;const i=a?.current;if(!i)return;const l=i=>{const a=c?.(u,i);if(!1!==a)switch(i.key){case p.D.ARROW_DOWN:i.preventDefault(),d((n=>x(e,n,1,t)));break;case p.D.ARROW_UP:i.preventDefault(),d((n=>v(e,n,1,t)));break;case p.D.PAGE_DOWN:if(!n)return;i.preventDefault(),d((s=>x(e,s,n,t)));break;case p.D.PAGE_UP:if(!n)return;i.preventDefault(),d((s=>v(e,s,n,t)));break;case p.D.HOME:if(!s)return;i.preventDefault(),d((n=>v(e,n,n,t)));break;case p.D.END:if(!r)return;i.preventDefault(),d((n=>v(e,n,n+1,t)))}};return i.addEventListener("keydown",l),()=>{i.removeEventListener("keydown",l)}}),[u,a,o,e,c,n,r,s,t]),{activeItemIndex:u,setActiveItemIndex:d,reset:h}}({items:e,skip:y,anchorRef:S,onAnchorKeyDown:R,disabled:!z,initialValue:N?0:-1});return i.useEffect((()=>{t||O()}),[t,O]),(0,s.jsx)(g.z,{open:t,anchorRef:n,onClose:r,placement:"bottom-start",...d,children:(0,s.jsx)("div",{onMouseEnter:P,onMouseLeave:D,className:c("popup-content"),children:l||(0,s.jsx)(m.W,{className:c("menu"),size:a,...o,children:e.map(((e,n)=>{const i=z&&B===n,o=t&&!i&&0!==w.length&&C(e.path)===C(w.slice(0,e.path.length)),l={...e.extraProps,onMouseEnter:()=>L(n)};return(0,s.jsx)(E,{size:a,className:c("menu-item",{separator:j(e),"active-parent":o,"with-submenu":Boolean(e.items?.length)},e.className),selected:i,popupProps:d,closeMenu:r,...e,extraProps:l},n)}))})})})};function N(e,t){return e?.every(((e,n)=>e===t?.[n]))??!1}function I({items:e,path:t}){const{activeMenuPath:n,setActiveMenuPath:s}=i.useContext(b),r=Boolean(t)&&Boolean(e?.length),a=i.useCallback((()=>{t&&s(t.slice(0,t.length-1))}),[t,s]),o=i.useCallback((()=>{t&&s(t)}),[t,s]);return{hasSubmenu:r,isSubmenuOpen:N(t,n),openSubmenu:o,closeSubmenu:a}}const E=({text:e,action:t,items:n,popupProps:r,closeMenu:a,children:o,path:p,size:v,...x})=>{const{toggle:g,data:A}=i.useContext(u),b=i.useRef(null),w=(0,f.j)(),{hasSubmenu:k,isSubmenuOpen:j,closeSubmenu:y,openSubmenu:C}=I({items:n,path:p}),N=i.useCallback((()=>{const e=()=>{a?a():g(!1)};k?(y(),requestAnimationFrame(e)):e()}),[a,y,k,g]),E=i.useCallback((e=>{k||(t?.(e,A),N())}),[t,A,N,k]),P=i.useMemo((()=>({...x.extraProps,onMouseEnter:e=>{x.extraProps?.onMouseEnter?.(e),k&&C()},onMouseLeave:e=>{x.extraProps?.onMouseLeave?.(e),k&&y()}})),[x.extraProps,y,k,C]),D=i.useMemo((()=>"rtl"===w?["left-start","right-start"]:["right-start","left-start"]),[w]),M=i.useMemo((()=>k?(0,s.jsx)(l.I,{data:"rtl"===w?d.A:h.A,size:10,className:c("sub-menu-arrow")}):x.iconEnd),[k,w,x.iconEnd]);return(0,s.jsxs)(i.Fragment,{children:[(0,s.jsx)(m.W.Item,{ref:b,...x,extraProps:P,onClick:E,iconEnd:M,children:e||o}),k&&n&&(0,s.jsx)(S,{popupProps:{...r,className:c("sub-menu",r?.className),placement:D},size:v,items:n,path:p,open:j,anchorRef:b,onClose:N})]})};function P(e,t,n=[],s=0){const i=[];let r=!1,a=s;for(const s of e)if(Array.isArray(s)){const e=P(s,t,n,a);0!==i.length&&i.push(t),i.push(...e),a+=e.length,r=!0}else{if(s.hidden)continue;r&&i.push(t);const e={...s,path:[...n,a++]};s.items&&(e.items=P(s.items,t,e.path)),i.push(e),r=!1}return i}const D=Object.assign((({items:e=[],size:t="m",icon:n=(0,s.jsx)(l.I,{data:r.A}),open:d,onOpenToggle:h,hideOnScroll:m=!0,data:f,disabled:p,switcher:v,renderSwitcher:x,switcherWrapperClassName:g,defaultSwitcherProps:A,defaultSwitcherClassName:b,onSwitcherClick:j,menuProps:y,popupProps:C,children:N})=>{const I=i.useRef(null),{isPopupShown:E,togglePopup:D,closePopup:M}=function(e,t,n){const[s,r]=function(e,t,n,s=void 0!==e&&void 0!==t){const r=function(e,t){const[n,s]=i.useState(e);return[n,i.useCallback((e=>{"function"==typeof e?s((n=>{const s=e(n);return t?.(s),s})):(t?.(e),s(e))}),[t])]}(e||n,t);return s?[e,t]:r}(e,t,!1),a=i.useCallback((e=>{r((t=>"boolean"==typeof e?e:!t))}),[r]),o=i.useCallback((()=>{r(!1)}),[r]);return i.useEffect((()=>{n&&s&&o()}),[o,n,s]),{isPopupShown:s,togglePopup:a,closePopup:o}}(d,h,p);!function(e,t,n){i.useEffect((()=>{if(n)return;const s=n=>{n.target.contains(t.current)&&e(n)};return document.addEventListener("scroll",s,!0),()=>{document.removeEventListener("scroll",s,!0)}}),[t,e,n])}(M,I,!E||!m);const R=i.useMemo((()=>({toggle:D,data:f})),[f,D]),z=i.useMemo((()=>P(e,k)),[e]),B=i.useCallback((e=>{p||(j?.(e),D())}),[p,j,D]),{onKeyDown:L}=(0,a.N)(B),O=i.useMemo((()=>({onClick:B,onKeyDown:L})),[B,L]);return(0,s.jsxs)(u.Provider,{value:R,children:[(0,s.jsx)("div",{ref:I,className:c("switcher-wrapper",g),...x?{}:O,children:x?.(O)||v||(0,s.jsx)(o.$,{view:"flat",size:t,...A,className:c("switcher-button",b),disabled:p,children:n})}),(0,s.jsx)(w,{anchorRef:I,disabled:!E,children:(0,s.jsx)(S,{items:z,open:E,size:t,menuProps:y,anchorRef:I,onClose:M,popupProps:C,children:N})})]})}),{Item:E})},48526:(e,t,n)=>{function s(e){return function(e){return/image\/.*/.test(e)}(e)||function(e){return/video\/.*/.test(e)}(e)}n.d(t,{F_:()=>s})},51741:(e,t,n)=>{n.d(t,{A:()=>i});var s=n(77810);const i=e=>s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),s.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M10.53 2.97a.75.75 0 0 1 0 1.06L6.56 8l3.97 3.97a.75.75 0 1 1-1.06 1.06l-4.5-4.5a.75.75 0 0 1 0-1.06l4.5-4.5a.75.75 0 0 1 1.06 0",clipRule:"evenodd"}))},54286:(e,t,n)=>{n.r(t),n.d(t,{QueryTracker:()=>te,QueryTrackerTopRow:()=>ke});var s=n(9736),i=n(40319),r=n(77810),a=n(14371),o=n(64965),l=n(40295),c=n(35788),u=n(80886),d=n(30996),h=n(52142),m=function(e){var t=e.shouldListen,n=(0,r.useCallback)((function(e){e.preventDefault(),e.returnValue=!0}),[]);(0,r.useEffect)((function(){return t&&window.addEventListener("beforeunload",n),function(){return window.removeEventListener("beforeunload",n)}}),[t])},f=n(59028),p=n(18472),v=n(95942),x=(0,p.Mz)(v.u,(function(e){return Boolean(e["global::queryTracker::queriesListSidebarVisibilityMode"])})),g=function(){var e=(0,a.w)(),t=(0,a.d)(x);return{isQueriesListSidebarVisible:t,toggleQueriesListSideBarToggle:function(){e((0,f.rw)("global::queryTracker::queriesListSidebarVisibilityMode",!t))}}},A=n(29970),b=n(53775),w=n(28407),k=(0,n(33882).A)(r.lazy((0,w.A)((0,b.A)().mark((function e(){return(0,b.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all([n.e(8096),n.e(355),n.e(1286),n.e(6808),n.e(7700)]).then(n.bind(n,66911));case 2:return e.t0=e.sent.QueriesList,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),j=n(3035),y=n(82785),C=n(76872),S=n(78369),N=n(87575),I=n(24686),E=n(61033),P=n(57660),D=n(30469),M=n(28099),R=n(64922);const z=function(e){return(0,R.jsx)("svg",(0,i.A)((0,i.A)({xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 16 16"},e),{},{children:(0,R.jsx)("path",{fill:"currentColor",fillRule:"evenodd",d:"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"})}))};var B=n(45760),L=n(3962),O=n(1335),q=n(76866),_=(0,C.A)("file-editor"),F={fontSize:14,language:"plaintext",renderWhitespace:"boundary",minimap:{enabled:!0}},T=function(){var e=(0,a.w)(),t=(0,a.d)(I.M7),n=t.fileEditor,s=t.file,o=(0,r.useRef)();return s?(0,R.jsxs)("div",{className:_(),children:[(0,R.jsxs)("div",{className:_("header"),children:[(0,R.jsxs)("div",{className:_("header-side"),children:[(0,R.jsx)(B.I,{data:P.A,size:16}),(0,R.jsx)(L.E,{variant:"subheader-1",ellipsis:!0,children:s.name})]}),(0,R.jsxs)("div",{className:_("header-side"),children:[(0,R.jsx)(O.$,{view:"flat",onClick:function(){e((0,N.QH)((0,i.A)((0,i.A)({},n),{},{isFullWidth:!n.isFullWidth})))},children:(0,R.jsx)(B.I,{data:n.isFullWidth?z:M.A,size:16})}),(0,R.jsx)(O.$,{view:"flat",onClick:function(){e((0,N.QH)((0,i.A)((0,i.A)({},n),{},{isOpen:!1,isFullWidth:!1})))},children:(0,R.jsx)(B.I,{data:D.A,size:16})})]})]}),(0,R.jsx)(q.A,{className:_("editor"),editorRef:o,value:s.content||"",language:"plaintext",onChange:function(t){s&&e((0,E.Ro)((0,i.A)((0,i.A)({},s),{},{content:t})))},monacoConfig:F})]}):null},Q=[50,50],H=function(e){var t=e.fileEditorFullWidth,n=e.fileEditorVisible,i=e.onStartQuery,a=(0,r.useState)(Q),o=(0,s.A)(a,2),c=o[0],u=o[1],d=!(n&&t);return(0,R.jsxs)(l.A,{direction:l.A.HORIZONTAL,onResizeEnd:u,getInitialSizes:function(){return c},children:[d&&(0,R.jsx)(S.w,{onStartQuery:i,showStatusInTitle:!0}),n&&(0,R.jsx)(T,{})]})},V=n(47001),W=n(89494),$=n(34206),K=n(20361),U=function(e){var t=e.title,n=e.message,i=e.ignoreSamePath,a=void 0===i||i,l=(0,r.useState)(!1),c=(0,s.A)(l,2),u=c[0],d=c[1],h=(0,o.W6)(),m=(0,r.useRef)(!1),f=(0,r.useRef)(),p=(0,r.useCallback)((function(e){var t=window.location.pathname===e.pathname&&a;if(!m.current&&!t)return f.current=e,d(!0),!1}),[a]),v=function(){var e=(0,w.A)((0,b.A)().mark((function e(){return(0,b.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:d(!1),f.current&&(m.current=!0,h.push(f.current.pathname));case 2:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}();return(0,r.useEffect)((function(){var e=h.block(p);return function(){return e()}}),[h,p]),(0,R.jsx)(K.yZ,{visible:u,pristineSubmittable:!0,headerProps:{title:t},fields:[{type:"block",name:"message",extras:{children:n}}],onAdd:v,onClose:function(){d(!1)}})},J=n(94383),Z=(0,C.A)("query-tracker-page"),G=[20,80],Y=380;function X(){var e,t=(0,a.w)(),n=(0,a.d)(A.Jg),s=(0,a.d)(V.rS),o=null!==(e=(0,a.d)(J.Xq))&&void 0!==e?e:d.d.YQL;return(0,r.useEffect)((function(){var e=n.engine&&(0,u.p7)(n.engine)?n.engine:o;n.cluster&&n.path?(n.useDraft&&t({type:$.ZD,data:{params:(0,i.A)((0,i.A)({},n),{},{useDraft:void 0})}}),t((0,h.I2)(e,n.cluster,n.path,{useDraft:!0}))):t((0,h.cQ)()),s&&t((0,f.rw)("global::queryTracker::queriesListSidebarVisibilityMode",!0))}),[t]),null}function ee(e){var t=(0,a.w)();return(0,r.useEffect)((function(){t({type:$.ZD,data:{params:{}}}),e.match.params.queryId?t((0,h.rc)(e.match.params.queryId)):t((0,h.cQ)())}),[t,e.match.params.queryId]),null}function te(e){var t=e.match,n=g(),i=n.isQueriesListSidebarVisible,u=n.toggleQueriesListSideBarToggle,d=(0,a.d)(A.xs),f=(0,a.d)(I.gU);m({shouldListen:d});var p=(0,r.useState)(G),v=(0,s.A)(p,2),x=v[0],b=v[1],w=(0,r.useMemo)((function(){return function(){return x}}),[x]),C=(0,a.w)(),S=(0,j.t)().loadQueryTrackerInfo,N=(0,r.useCallback)((function(e){return C((0,h.wu)(e)),!0}),[C]);return(0,r.useEffect)((function(){new URLSearchParams(window.location.search).get("listMode")&&!i&&u(),S()}),[]),(0,R.jsxs)(R.Fragment,{children:[(0,R.jsxs)(o.dO,{children:[(0,R.jsx)(o.qh,{exact:!0,path:t.path,component:X}),(0,R.jsx)(o.qh,{path:"".concat(t.path,"/:queryId"),component:ee})]}),(0,R.jsx)(y.P.Provider,{value:new Map,children:(0,R.jsx)(c.Z,{children:(0,R.jsxs)(l.A,{className:Z("container"),direction:l.A.HORIZONTAL,onResizeEnd:b,minSize:Y,getInitialSizes:w,children:[i?(0,R.jsx)(k,{}):null,(0,R.jsx)(H,{fileEditorFullWidth:f.isFullWidth,fileEditorVisible:f.isOpen,onStartQuery:N})]})})}),(0,R.jsx)(W.A,{}),d&&(0,R.jsx)(U,{title:"Unsaved changes",message:"You have unsaved changes in this query. Do you want to continue and lose them?"})]})}var ne=n(64859),se=n(19314),ie=n(88787);function re(){var e=g(),t=e.isQueriesListSidebarVisible,n=e.toggleQueriesListSideBarToggle;return(0,R.jsx)(O.$,{view:"outlined",size:"l",title:"".concat(t?"Hide":"Show"," queries list"),onClick:n,children:(0,R.jsx)(ie.A,{awesome:"layout-side-content",size:16})})}var ae=n(95910),oe=n(55339),le=n(13609),ce=function(e){var t=e.onQueryCreate;return(0,R.jsxs)(oe.s,{gap:2,children:[(0,R.jsx)(re,{}),(0,R.jsx)(le.D,{}),(0,R.jsx)(ae.f,{onClick:t})]})},ue=n(42599),de=n(1435),he=n(37068),me=n(23069),fe=n(36612),pe=n(12094),ve=n(68987),xe=n(14855),ge=n(64735),Ae=n(57976),be=n(61422),we=(0,C.A)("query-tracker-top-row");const ke=function(){var e=(0,a.w)(),t=function(){var e=(0,r.useState)(!1),t=(0,s.A)(e,2),n=t[0],i=t[1];return(0,r.useEffect)((function(){var e=function(){i(window.matchMedia("(min-width: 1280px)").matches)};return e(),window.addEventListener("resize",e),function(){return window.removeEventListener("resize",e)}}),[]),n}(),n=(0,a.d)(A.sh),o=n.id,l=n.annotations,c=n.settings,u=(0,r.useState)(!1),d=(0,s.A)(u,2),m=d[0],p=d[1],v=(0,r.useCallback)((function(t){e((0,h.D4)(t)),e((0,f.rw)("global::queryTracker::lastEngine",t)),e((0,h.VR)())}),[e]),x=(0,r.useCallback)((function(){e((0,h.IH)())}),[e]),g=(0,r.useCallback)(function(){var t=(0,w.A)((0,b.A)().mark((function t(n){return(0,b.A)().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e((0,h.Bn)({annotations:(0,i.A)((0,i.A)({},l),{},{title:n})})),!o||!l){t.next=10;break}return t.prev=2,t.next=5,e((0,Ae.av)(o,(0,i.A)((0,i.A)({},l),{},{title:n})));case 5:e((0,be.JZ)(o,{annotations:(0,i.A)((0,i.A)({},l),{},{title:n})})),t.next=10;break;case 8:t.prev=8,t.t0=t.catch(2);case 10:case"end":return t.stop()}}),t,null,[[2,8]])})));return function(e){return t.apply(this,arguments)}}(),[e,o,l]),k=(0,r.useCallback)((function(t){return e((0,h.Bn)({settings:t}))}),[e]),j=(null==l?void 0:l.title)||"No name";return(0,R.jsxs)(ne.K,{page:se.YW.QUERIES,className:we(),children:[(0,R.jsxs)(oe.s,{alignItems:"center",gap:4,grow:1,children:[(0,R.jsx)(ve.c,{className:we("name-input"),onChange:g,size:"l",text:null==l?void 0:l.title,cancelOnClose:!0,withControls:!0,openOnClick:!0,onModeChange:p,saveButtonView:"action",cancelButtonView:"outlined",children:(0,R.jsx)(de.m,{content:j,children:(0,R.jsx)(L.E,{ellipsis:!0,children:j})})}),!m&&(0,R.jsxs)(R.Fragment,{children:[(0,R.jsx)(ue.d,{}),(0,R.jsx)(xe.s,{}),(0,R.jsx)(he.u,{isDesktop:t,onChange:v}),(0,R.jsx)(pe.y,{}),(0,R.jsxs)(oe.s,{gap:2,children:[(0,R.jsx)(me.g,{settings:c,onChange:k}),(0,R.jsx)(fe.y,{}),(0,R.jsx)(ge._3,{})]})]})]}),(0,R.jsx)(ce,{onQueryCreate:x})]})}},57486:(e,t,n)=>{n.d(t,{A:()=>x});var s=n(29121),i=n(12937),r=n(66134),a=n(10785),o=n(68175),l=n(77810),c=n(76872),u=n(64772),d=n(88787),h=n(19410),m=n(44458),f=n(64922),p=(0,c.A)("sort-icon"),v=(0,o.A)((0,o.A)((0,o.A)((0,o.A)((0,o.A)((0,o.A)((0,o.A)({},"","sort"),"asc","sort-up"),"desc","sort-down"),"asc-undefined","arrow-to-bottom"),"desc-undefined","arrow-from-bottom"),"undefined-asc","arrow-from-top"),"undefined-desc","arrow-to-top"),x=function(e){function t(){var e;(0,s.A)(this,t);for(var n=arguments.length,i=new Array(n),a=0;a<n;a++)i[a]=arguments[a];return(e=(0,r.A)(this,t,[].concat(i))).onClick=function(){var t=e.props,n=t.order,s=t.onChange,i=t.allowUnordered,r=t.withUndefined;s&&s((0,m.$N)(n,i,r))},e}return(0,a.A)(t,e),(0,i.A)(t,[{key:"render",value:function(){var e=this.props,t=e.className,n=e.label,s=e.order,i=e.hidden,r=v[s||""];return(0,f.jsxs)("span",{className:p({hidden:i},t),onClick:this.onClick,children:[n&&(0,f.jsx)("span",{className:p("label"),children:n}),(0,f.jsx)(h.m,{className:p("icon"),content:s?u.A.ReadableField(s):"Unordered",children:(0,f.jsx)(d.A,{awesome:r,face:"solid"})})]})}}])}(l.Component)},64735:(e,t,n)=>{n.d(t,{_3:()=>u,mT:()=>c,rJ:()=>l});var s=n(53775),i=n(28407),r=n(77810),a=n(33882);function o(){return Promise.all([n.e(7954),n.e(4108),n.e(2701),n.e(3996),n.e(2113),n.e(2431)]).then(n.bind(n,72136))}var l=(0,a.A)(r.lazy((0,i.A)((0,s.A)().mark((function e(){return(0,s.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o();case 2:return e.t0=e.sent.AddQueryTokenFormButton,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),c=(0,a.A)(r.lazy((0,i.A)((0,s.A)().mark((function e(){return(0,s.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o();case 2:return e.t0=e.sent.QueryTokenTable,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)}))))),u=(0,a.A)(r.lazy((0,i.A)((0,s.A)().mark((function e(){return(0,s.A)().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o();case 2:return e.t0=e.sent.QueryTokenButton,e.abrupt("return",{default:e.t0});case 4:case"end":return e.stop()}}),e)})))))},68987:(e,t,n)=>{n.d(t,{c:()=>d});var s=n(9736),i=n(77810),r=n(76872),a=n(69764),o=n(88787),l=n(58299),c=n(64922),u=(0,r.A)("editable-as-text");function d(e){var t=e.children,n=e.onChange,r=e.text,d=e.className,h=e.withControls,m=e.size,f=e.disableEdit,p=e.cancelOnClose,v=e.renderEditor,x=e.renderContent,g=e.onModeChange,A=e.saveButtonView,b=void 0===A?"normal":A,w=e.cancelButtonView,k=void 0===w?"normal":w,j=i.useState(!1),y=(0,s.A)(j,2),C=y[0],S=y[1],N=i.useState(r||""),I=(0,s.A)(N,2),E=I[0],P=I[1];(0,i.useEffect)((function(){P(r||"")}),[r]);var D=(0,i.useCallback)((function(e){g&&g(e),S(e)}),[g]),M=i.useCallback((function(){D(!1),p&&P(r||"")}),[p,D,r]),R=(0,i.useCallback)((function(){D(!0)}),[D]),z=i.useCallback((function(e){return P(null!=e?e:"")}),[P]),B=(0,i.useCallback)((function(){D(!1),n(E)}),[n,D,E]),L=(0,i.useCallback)((function(){D(!1),P(r||"")}),[D,r]),O=(0,i.useCallback)((function(e){D(!1),n(e)}),[D,n]),q=i.useCallback((function(e){"Enter"===e.key&&B(),"Escape"===e.key&&L()}),[B,L]),_=m||"m";return(0,c.jsx)(c.Fragment,{children:C?(0,c.jsxs)("div",{className:u({edit:!f,controls:Boolean(h)},d),children:[v?v({value:E,onChange:z,className:u("control"),onBlur:M,onApply:O}):(0,c.jsx)(a.k,{className:u("control"),autoFocus:!0,size:_,value:E,onUpdate:z,onKeyDown:q,onBlur:M}),h&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(l.A,{className:u("control"),view:b,extraProps:{onMouseDown:B},size:_,children:(0,c.jsx)(o.A,{awesome:"check",size:_})}),(0,c.jsx)(l.A,{className:u("control"),view:k,extraProps:{onMouseDown:L},size:_,children:(0,c.jsx)(o.A,{awesome:"times",size:_})})]})]}):x?x({renderEditButton:function(){return(0,c.jsx)(c.Fragment,{children:!f&&(0,c.jsx)(l.A,{className:u("control",{type:"edit"}),view:"outlined",onClick:R,size:_,qa:"edit-text-button",children:(0,c.jsx)(o.A,{awesome:"pencil",size:_})})})},className:u(null,d)}):(0,c.jsxs)("div",{className:u(null,d),children:[t,!f&&(0,c.jsx)(l.A,{className:u("control",{type:"edit"}),view:"outlined",onClick:R,size:_,qa:"edit-text-button",children:(0,c.jsx)(o.A,{awesome:"pencil",size:_})})]})})}},70940:(e,t,n)=>{n.d(t,{A:()=>i});var s=n(77810);const i=e=>s.createElement("svg",Object.assign({xmlns:"http://www.w3.org/2000/svg",width:16,height:16,fill:"none",viewBox:"0 0 16 16"},e),s.createElement("path",{fill:"currentColor",fillRule:"evenodd",d:"M5.47 13.03a.75.75 0 0 1 0-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 1.06-1.06l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0",clipRule:"evenodd"}))},77648:(e,t,n)=>{n.d(t,{A:()=>H,Y:()=>_});var s=n(9736),i=n(13322),r=n(29121),a=n(12937),o=n(66134),l=n(10785),c=n(40319),u=n(77810),d=n(75826),h=n.n(d),m=n(76872),f=n(43676),p=n(25147),v=n.n(p),x=n(15757),g=n.n(x),A=n(45098),b=n.n(A),w=n(49214),k=n.n(w),j=n(27528),y=n.n(j),C=n(90636),S=n.n(C),N=n(75414),I=n.n(N),E=n(69764),P=n(88787),D=n(98840),M=n(58299),R=n(92611);const z=JSON.parse('{"search":"Search..."}'),B=JSON.parse('{"search":"Найти..."}'),L=(0,R.Kc)("yt:Columnselector",{en:z,ru:B});var O=n(64922),q=(0,m.A)("column-selector");function _(e){return y()(e,(function(e){return(0,c.A)({},e)}))}var F=(0,f.ni)((function(){return(0,O.jsx)("div",{className:q("drag-handle"),children:(0,O.jsx)(P.A,{face:"solid",awesome:"list"})})})),T=(0,f.HK)((function(e){var t=e.item,n=e.isSortable,s=e.isSelectable,i=e.isDisabled,r=e.itemRenderer,a=e.onCheckBoxChange,o=!i&&!t.disabled,l=q("list-item",{selected:t.checked&&o&&"yes",selectable:s&&o&&"yes",disabled:!o&&"yes"}),c=!0;return t.checked&&(c=!("isDeletable"in t)||t.isDeletable),(0,O.jsxs)("div",{className:l,children:[n&&t.checked&&(0,O.jsx)(F,{}),(0,O.jsxs)("div",{className:q("list-item-name"),children:[t.keyColumn&&(0,O.jsx)(P.A,{awesome:"key"}),r(t)]}),o&&c&&(0,O.jsx)("span",{className:q("list-item-check"),onClick:a,"data-item":t.name,children:(0,O.jsx)(P.A,{awesome:"check"})}),!o&&(0,O.jsx)(P.A,{className:q("list-item-lock"),awesome:"lock"})]})})),Q=(0,f.SG)((function(e){var t=e.items,n=e.isSortable,s=e.isDisabled,i=e.itemRenderer,r=e.onCheckBoxChange,a=e.isSelectable,o=e.useStaticSize,l=n?"simple":"uniform",c={"static-size":o};return(0,O.jsx)("div",{className:q("list",c),children:(0,O.jsx)(v(),{itemRenderer:function(e,o){var l=t[e];return(0,O.jsx)(T,{index:e,item:l,disabled:!n,isSortable:n,isDisabled:s,isSelectable:a,itemRenderer:i,onCheckBoxChange:r},o)},length:t.length,type:l})})})),H=function(e){function t(e){var n;(0,r.A)(this,t);var a=e.items,l=e.isHeadless,u=e.showSelectedOnly;(n=(0,o.A)(this,t,[e])).toggleItem=function(e){n.withActualItems((function(t){var n=t.items,s=(n=(0,i.A)(n)).findIndex((function(t){return t.name===e})),r=n[s];return n[s]=(0,c.A)((0,c.A)({},r),{},{checked:!r.checked}),{items:n}}))},n.selectAllItems=function(){n.withActualItems((function(e){var t=e.items,s=n.getVisibleItemsMap();return t=(0,i.A)(t),g()(t,(function(e,n){s[e.name]&&(e.checked||e.disabled||(t[n]=(0,c.A)((0,c.A)({},e),{},{checked:!0})))})),{items:t}}))},n.deselectAllItems=function(){n.withActualItems((function(e){var t=e.items,s=n.getVisibleItemsMap();return t=(0,i.A)(t),g()(t,(function(e,n){var i;s[e.name]&&(!e.checked||e.disabled||null!==(i=e.isDeletable)&&void 0!==i&&!i||(t[n]=(0,c.A)((0,c.A)({},e),{},{checked:!1})))})),{items:t}}))},n.invertItems=function(){n.withActualItems((function(e){var t=e.items,s=n.getVisibleItemsMap();return t=(0,i.A)(t),g()(t,(function(e,n){s[e.name]&&(e.disabled||(t[n]=(0,c.A)((0,c.A)({},e),{},{checked:!e.checked})))})),{items:t}}))},n._handleCheckBoxChange=function(e){n.toggleItem(e.currentTarget.getAttribute("data-item"))},n._handleSortEnd=function(e){var t=e.oldIndex,r=e.newIndex;t!==r&&n.withActualItems((function(e){var a=e.items;a=(0,i.A)(a);var o=n.getVisibleItems().items,l=a.findIndex((function(e){return e.name===o[t].name})),c=a.findIndex((function(e){return e.name===o[r].name})),u=a.splice(l,1),d=(0,s.A)(u,1)[0];return a.splice(c,0,d),{items:a}}))},n._handleDefaultSort=function(){n.withActualItems((function(e){return{items:e.items.sort((function(e,t){var n=e.caption||e.name,s=t.caption||t.name;return n.localeCompare(s)}))}}))},n._toggleShownItems=function(){n.setState((function(e){return{showSelectedOnly:!e.showSelectedOnly}}))},n._changeFilter=function(e){n.setState({filter:e})};var d={showSelectedOnly:u,filter:""};return l&&Object.assign(d,{items:_(a)}),n.state=d,n}return(0,l.A)(t,e),(0,a.A)(t,[{key:"items",get:function(){return this.props.isHeadless?this.state.items:this.props.items}},{key:"buttonALLisDisabled",get:function(){return this.items.every((function(e){return e.checked}))}},{key:"buttonNONEisDisabled",get:function(){return!this.items.some((function(e){return e.checked}))}},{key:"withActualItems",value:function(e){var t=this,n=this.props.onChange;if(this.props.isHeadless){var s=e({items:this.state.items||[]}).items;this.setState({items:s},(function(){n({items:(0,i.A)(t.state.items)})}))}else{var r=e({items:this.props.items||[]}).items;n({items:(0,i.A)(r)})}}},{key:"renderSearchBox",value:function(){return(0,O.jsx)(E.k,{placeholder:L("search"),onUpdate:this._changeFilter,value:this.state.filter,hasClear:!0})}},{key:"renderControls",value:function(){var e=this.props,t=e.isFilterable,n=e.isSelectable,s=e.isSortable,i=e.isHeadless,r={size:"m",className:q("controls-item")};return(0,O.jsxs)("div",{className:q("controls"),children:[t&&this.renderSearchBox(),i&&(0,O.jsxs)(M.A,(0,c.A)((0,c.A)({},r),{},{onClick:this._toggleShownItems,children:["Selected ",(0,O.jsx)("span",{className:"elements-secondary-text",children:k()(this.items,(function(e){return e.checked})).length})]})),n&&(0,O.jsx)(M.A,(0,c.A)((0,c.A)({},r),{},{disabled:this.buttonALLisDisabled,onClick:this.selectAllItems,children:"Add all"})),n&&(0,O.jsx)(M.A,(0,c.A)((0,c.A)({},r),{},{onClick:this.invertItems,children:"Invert list"})),!n&&(0,O.jsx)(M.A,(0,c.A)((0,c.A)({},r),{},{disabled:this.buttonNONEisDisabled,onClick:this.deselectAllItems,children:"Remove all"})),s&&(0,O.jsx)(M.A,(0,c.A)((0,c.A)({},r),{},{onClick:this._handleDefaultSort,children:"Default sort"}))]})}},{key:"filterItemsByName",value:function(e){var t=new RegExp(b()(this.state.filter),"i");return k()(e,(function(e){return t.test(e.name)}))}},{key:"filterItems",value:function(e){e=this.props.showDisabledItems?e:k()(e,(function(e){return!e.disabled}));var t=this.filterItemsByName(e);return this.state.showSelectedOnly?k()(t,(function(e){return e.checked})):t}},{key:"getVisibleItems",value:function(){var e=this.filterItems(this.items),t=S()(e,(function(e){return e.keyColumn})),n=(0,s.A)(t,2),i=n[0];return{items:n[1],keyItems:i}}},{key:"getVisibleItemsMap",value:function(){return I()(this.filterItems(this.items),(function(e,t){return e[t.name]=t,e}),{})}},{key:"renderList",value:function(){var e=this.props,t=e.isSortable,n=e.isSelectable,s=e.itemRenderer,i=e.children,r=e.isHeadless,a=this.getVisibleItems(),o=a.items,l=a.keyItems,c=q("content",{headless:r?void 0:"no",empty:o.length?void 0:"yes"},"pretty-scroll");return(0,O.jsxs)("div",{className:c,children:[l.length>0&&(0,O.jsxs)(u.Fragment,{children:[(0,O.jsx)(Q,{lockAxis:"y",isDisabled:!1,isSortable:!1,isSelectable:n,items:l,itemRenderer:s,helperClass:q("list-item",{helper:"yes"}),onCheckBoxChange:this._handleCheckBoxChange}),o.length>0&&(0,O.jsx)("div",{className:q("separator")})]}),o.length>0&&(0,O.jsx)(Q,{items:o,isSelectable:n,isSortable:t,itemRenderer:s,lockAxis:"y",helperClass:q("list-item",{helper:"yes"}),onSortEnd:this._handleSortEnd,onCheckBoxChange:this._handleCheckBoxChange,useDragHandle:!0}),!l.length&&!o.length&&i]})}},{key:"render",value:function(){var e=this.props,t=e.isHeadless,n=e.isSortable,s=e.className,i=q({headless:t?"yes":void 0,sortable:n?void 0:"no"},s);return(0,O.jsxs)("div",{className:i,children:[this.renderControls(),this.renderList()]})}}])}(u.Component);H.itemsProps=h().arrayOf(h().shape({name:h().string.isRequired,checked:h().bool.isRequired,keyColumn:h().bool,caption:h().string,disabled:h().bool})),H.defaultProps={itemRenderer:function(e){var t=e.name,n=e.caption,s=void 0===n?t:n;return(0,D.S5)(s,{asHTML:!1})},isSortable:!1,isHeadless:!1,isSelectable:!0,isFilterable:!0,showSelectedOnly:!1}},89494:(e,t,n)=>{n.d(t,{A:()=>k}),n(77810);var s=n(14371),i=n(55339),r=n(3962),a=n(63366),o=function(e){return e.navigation.modals.cellPreviewModal.visible},l=function(e){return e.navigation.modals.cellPreviewModal.loading},c=function(e){return e.navigation.modals.cellPreviewModal.data},u=function(e){return e.navigation.modals.cellPreviewModal.ytCliDownloadCommand},d=function(e){return e.navigation.modals.cellPreviewModal.noticeText},h=function(e){return e.navigation.modals.cellPreviewModal.error},m=n(44131),f=n(76872),p=n(78519),v=n(8208),x=n(4386),g=n(75566),A=n(48526),b=n(64922),w=(0,f.A)("cell-preview-modal"),k=function(){var e=(0,s.w)(),t=(0,s.d)(l),n=(0,s.d)(c),f=(0,s.d)(o),p=(0,s.d)(u),A=(0,s.d)(d),k=(0,s.d)(h),y=(0,s.d)(x.fj);return(0,b.jsx)(a.A,{title:"Preview",visible:f,loading:t,onCancel:function(){return e((0,g.dW)())},wrapperClassName:w("wrapper"),children:(0,b.jsxs)(i.s,{qa:"cell-preview-modal-content",className:w("content"),gap:2,direction:"column",children:[(0,b.jsxs)(i.s,{gap:2,direction:"column",children:[(0,b.jsx)(r.E,{variant:"subheader-3",color:"secondary",children:A}),p?(0,b.jsx)("code",{className:w("command-wrapper"),children:(0,b.jsxs)("div",{className:w("command"),children:[(0,b.jsx)("div",{"data-qa":"cell-preview-command",className:w("command-content"),title:p,children:p}),(0,b.jsx)(m.A,{view:"flat-secondary",text:p,size:"s"})]})}):null]}),k?(0,b.jsx)(v.z,{error:k}):(0,b.jsx)(j,{data:n,unipikaSettings:y})]})})};function j(e){var t=e.data,n=e.unipikaSettings;return"yql.string"===(null==t?void 0:t.$type)||"yql.json"===(null==t?void 0:t.$type)?(0,b.jsx)("pre",{className:"elements-code",children:null==t?void 0:t.$value}):"yql.tagged"===(null==t?void 0:t.$type)&&t.$tag&&(0,A.F_)(t.$tag)?(0,b.jsx)("img",{src:"data:".concat(t.$tag,";base64,").concat(null==t?void 0:t.$value),alt:"image-preview"}):(0,b.jsx)(p.A,{className:w("yson-container"),folding:!0,value:null==t?void 0:t.$value,tableSettings:{dynamicRenderScrollParentGetter:void 0},settings:n,customLayout:function(e){var t=e.toolbar,n=e.content;return(0,b.jsxs)(b.Fragment,{children:[(0,b.jsx)("div",{className:w("toolbar"),children:t}),n]})}})}},97012:(e,t,n)=>{n.d(t,{W:()=>p});var s=n(64922),i=n(77810),r=n(47999),a=n(56854),o=n(49533);const l=(0,r.om)("menu"),c=i.forwardRef((function({label:e,children:t,style:n,className:i,qa:r},a){const c=(0,o.u)();return(0,s.jsx)("li",{ref:a,className:l("list-group-item"),children:(0,s.jsxs)("div",{style:n,className:l("group",i),"data-qa":r,children:[e&&(0,s.jsx)("div",{id:c,className:l("group-label"),children:e}),(0,s.jsx)("ul",{role:"group","aria-labelledby":c,className:l("group-list"),children:t})]})})}));var u=n(91689),d=n(5770);const h=(0,r.om)("menu"),m=i.forwardRef((function({iconStart:e,iconEnd:t,title:n,disabled:r,active:a,selected:o,href:l,target:c,rel:m,onClick:f,style:p,className:v,contentClassName:x,theme:g,extraProps:A,children:b,qa:w},k){const{onKeyDown:j}=(0,u.N)(f),y=i.useCallback((e=>{d.o.publish({componentId:"MenuItem",eventId:"click",domEvent:e})}),[]),C={role:"menuitem",onKeyDown:f&&!r?j:void 0},S={title:n,onClick:r?void 0:f,onClickCapture:r?void 0:y,style:p,tabIndex:r?-1:0,className:h("item",{disabled:r,active:a,selected:o,theme:g,interactive:Boolean(f)||Boolean(l)},v),"data-qa":w},N=[e&&(0,s.jsx)("div",{className:h("item-icon"),children:e},"icon-start"),(0,s.jsx)("div",{className:h("item-content",x),children:b},"content"),t&&(0,s.jsx)("div",{className:h("item-icon-end"),children:t},"icon-end")];let I;return I=l?(0,s.jsx)("a",{...C,...A,...S,href:l,target:c,rel:m,children:N}):(0,s.jsx)("div",{...C,...A,...S,children:N}),(0,s.jsx)("li",{ref:k,className:h("list-item"),children:I})})),f=(0,r.om)("menu"),p=i.forwardRef((function({size:e="m",children:t,style:n,className:i,qa:r,...o},l){return(0,s.jsx)("ul",{...(0,a.$)(o,{labelable:!0}),ref:l,role:"menu",style:n,className:f({size:e},i),"data-qa":r,children:t})}));p.Item=m,p.Group=c}}]);
|
|
2
|
+
//# sourceMappingURL=query-tracker.2a1efcb7.chunk.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"js/query-tracker.2a1efcb7.chunk.js","mappings":"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","sources":["webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/svgs/bars-descending-align-left.svg","webpack://@ytsaurus/ui/./src/ui/containers/AiChat/ChatToggleButton/i18n/index.ts","webpack://@ytsaurus/ui/./src/ui/containers/AiChat/ChatToggleButton/useChatToggle.ts","webpack://@ytsaurus/ui/./src/ui/containers/AiChat/ChatToggleButton/ChatToggleButton.tsx","webpack://@ytsaurus/ui/./src/ui/containers/AiChat/ChatToggleButton/ChatToggleFooterButton.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/DropdownMenu.classname.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/DropdownMenuContext.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/hooks/useListNavigation/moveBack.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/hooks/useListNavigation/moveForward.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/DropdownMenuNavigationContext.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/constants.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/utils/isSeparator.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/utils/shouldSkipItemNavigation.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/utils/stringifyNavigationPath.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/DropdownMenuPopup.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/hooks/useListNavigation/useListNavigation.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/utils/isSubmenuOpen.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/hooks/useSubmenu.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/DropdownMenuItem.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/utils/toItemList.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/DropdownMenu.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/hooks/usePopupVisibility.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/hooks/private/useConditionallyControlledState/useConditionallyControlledState.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/hooks/private/useStateWithCallback/useStateWithCallback.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/utils/typeCheckers.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/DropdownMenu/hooks/useScrollHandler.ts","webpack://@ytsaurus/ui/./src/ui/utils/yql-types.ts","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/esm/ChevronLeft.js","webpack://@ytsaurus/ui/./src/ui/hooks/use-prevent-unload.ts","webpack://@ytsaurus/ui/./src/ui/store/selectors/query-tracker/settings.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/hooks/QueriesList/index.ts","webpack://@ytsaurus/ui/./src/ui/pages/query-tracker/QueriesList/lazy.ts","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/pages/query-tracker/QueryToken/lazy.ts","webpack://@ytsaurus/ui/./src/ui/components/EditableAsText/EditableAsText.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/icons/esm/ChevronRight.js","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/i18n/index.ts","webpack://@ytsaurus/ui/./src/ui/components/ColumnSelector/ColumnSelector.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/@gravity-ui/uikit/src/components/Menu/MenuGroup.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/Menu/MenuItem.tsx","webpack://@ytsaurus/ui/./node_modules/@gravity-ui/uikit/src/components/Menu/Menu.tsx"],"sourcesContent":["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 {addI18Keysets} from '../../../../i18n';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport default addI18Keysets('yt:ai.chat.toggle-button', {en, ru});\n","import {useDispatch, useSelector} from '../../../store/redux-hooks';\nimport {selectAiChatConfigured} from '../../../store/selectors/ai/chat';\nimport {toggleChatSidePanel} from '../../../store/actions/ai/chat';\n\nexport const useChatToggle = () => {\n const dispatch = useDispatch();\n const isConfigured = useSelector(selectAiChatConfigured);\n\n const handleToggle = () => {\n dispatch(toggleChatSidePanel());\n };\n\n return {\n isConfigured,\n toggle: handleToggle,\n };\n};\n","import React, {FC} from 'react';\nimport {Button, Icon, Tooltip} from '@gravity-ui/uikit';\nimport AiIcon from '../../../assets/img/svg/icons/ai-chat-icon.svg';\nimport i18n from './i18n';\nimport {useChatToggle} from './useChatToggle';\n\ntype Props = {\n hideText?: boolean;\n};\n\nexport const ChatToggleButton: FC<Props> = ({hideText}) => {\n const {isConfigured, toggle} = useChatToggle();\n\n if (!isConfigured) return null;\n\n return (\n <Tooltip content={i18n('context_tooltip')}>\n <Button view=\"outlined-utility\" size=\"l\" onClick={toggle}>\n <Icon data={AiIcon} size={16} />\n {!hideText && i18n('action_button')}\n </Button>\n </Tooltip>\n );\n};\n","import React, {FC} from 'react';\nimport {FooterItem} from '@gravity-ui/navigation';\nimport AiIcon from '../../../assets/img/svg/icons/ai-chat-icon.svg';\nimport i18n from './i18n';\nimport {useChatToggle} from './useChatToggle';\n\ntype Props = {\n compact: boolean;\n};\n\nexport const ChatToggleFooterButton: FC<Props> = ({compact}) => {\n const {isConfigured, toggle} = useChatToggle();\n\n if (!isConfigured) return null;\n\n return (\n <FooterItem\n key=\"ai-chat\"\n compact={compact}\n item={{\n id: 'ai-chat',\n title: i18n('context_tooltip'),\n icon: AiIcon,\n onItemClick: toggle,\n }}\n />\n );\n};\n","import {block} from '../utils/cn';\n\nexport const cnDropdownMenu = block('dropdown-menu');\n","'use client';\nimport * as React from 'react';\n\ninterface Context<T> {\n toggle(open?: boolean): void;\n data: T | undefined;\n}\n\nexport const DropdownMenuContext = React.createContext<Context<unknown>>({\n toggle() {},\n data: undefined,\n});\n\nDropdownMenuContext.displayName = 'DropdownMenu.Context';\n","export function moveBack<T>(\n items: T[],\n activeItemIndex: number,\n steps = 1,\n skip?: (item: T) => boolean,\n): number {\n const newActiveItemIndex =\n (items.length + activeItemIndex - (steps % items.length)) % items.length;\n\n if (skip && skip(items[newActiveItemIndex])) {\n return moveBack(items, newActiveItemIndex, 1, skip);\n }\n\n return newActiveItemIndex;\n}\n","export function moveForward<T>(\n items: T[],\n activeItemIndex: number,\n steps = 1,\n skip?: (item: T) => boolean,\n): number {\n const newActiveItemIndex = (activeItemIndex + steps) % items.length;\n\n if (skip && skip(items[newActiveItemIndex])) {\n return moveForward(items, newActiveItemIndex, 1, skip);\n }\n\n return newActiveItemIndex;\n}\n","'use client';\n\nimport * as React from 'react';\n\nexport type DropdownMenuNavigationContextType = {\n activeMenuPath: number[];\n setActiveMenuPath: (path: number[]) => void;\n anchorRef: React.RefObject<HTMLDivElement>;\n};\n\nconst rootMenuPath: number[] = [];\n\nexport const DropdownMenuNavigationContext = React.createContext<DropdownMenuNavigationContextType>(\n {\n activeMenuPath: rootMenuPath,\n setActiveMenuPath: () => {},\n anchorRef: {current: null},\n },\n);\n\nexport type DropdownMenuNavigationContextProviderProps = {\n anchorRef: React.RefObject<HTMLDivElement>;\n children: React.ReactNode;\n disabled: boolean;\n};\n\nexport const DropdownMenuNavigationContextProvider = ({\n anchorRef,\n children,\n disabled,\n}: DropdownMenuNavigationContextProviderProps) => {\n const [activeMenuPath, setActiveMenuPath] = React.useState<number[]>(rootMenuPath);\n\n React.useEffect(() => {\n if (disabled) {\n setActiveMenuPath(rootMenuPath);\n }\n }, [disabled]);\n\n const contextValue = React.useMemo(\n () => ({\n activeMenuPath,\n setActiveMenuPath,\n anchorRef,\n }),\n [activeMenuPath, anchorRef],\n );\n\n return (\n <DropdownMenuNavigationContext.Provider value={contextValue}>\n {children}\n </DropdownMenuNavigationContext.Provider>\n );\n};\n","import type {DropdownMenuListItem} from './types';\n\nexport const dropdownMenuSeparator: DropdownMenuListItem = {text: '', action: () => {}, path: []};\n","import {dropdownMenuSeparator} from '../constants';\nimport type {DropdownMenuListItem} from '../types';\n\nexport function isSeparator<T>(item: DropdownMenuListItem<T>) {\n return item === dropdownMenuSeparator;\n}\n","import type {DropdownMenuListItem} from '../types';\n\nimport {isSeparator} from './isSeparator';\n\nexport function shouldSkipItemNavigation<T>(item: DropdownMenuListItem<T>) {\n return item.disabled || isSeparator(item);\n}\n","export function stringifyNavigationPath(path?: number[]) {\n return path?.join(' ') ?? '';\n}\n","'use client';\n\nimport * as React from 'react';\n\nimport {KeyCode} from '../../constants';\nimport {useListNavigation} from '../../hooks';\nimport {Menu} from '../Menu';\nimport type {MenuProps} from '../Menu';\nimport {Popup} from '../Popup';\nimport type {PopupProps} from '../Popup';\n\nimport {cnDropdownMenu} from './DropdownMenu.classname';\nimport {DropdownMenuContext} from './DropdownMenuContext';\nimport {DropdownMenuItem} from './DropdownMenuItem';\nimport {DropdownMenuNavigationContext} from './DropdownMenuNavigationContext';\nimport type {DropdownMenuListItem, DropdownMenuSize} from './types';\nimport {isSeparator} from './utils/isSeparator';\nimport {shouldSkipItemNavigation} from './utils/shouldSkipItemNavigation';\nimport {stringifyNavigationPath} from './utils/stringifyNavigationPath';\n\nexport type DropdownMenuPopupProps<T> = {\n items: DropdownMenuListItem<T>[];\n open: boolean;\n anchorRef: React.RefObject<HTMLDivElement>;\n onClose?: () => void;\n size?: DropdownMenuSize;\n menuProps?: MenuProps;\n children?: React.ReactNode;\n popupProps?: Partial<PopupProps>;\n path?: number[];\n};\n\nexport const DropdownMenuPopup = <T,>({\n items,\n open,\n anchorRef,\n onClose,\n size,\n menuProps,\n children,\n popupProps,\n path = [],\n}: DropdownMenuPopupProps<T>) => {\n const {toggle, data} = React.useContext(DropdownMenuContext);\n\n const {\n activeMenuPath,\n setActiveMenuPath,\n anchorRef: navigationAnchorRef,\n } = React.useContext(DropdownMenuNavigationContext);\n\n const isSubmenu = path.length > 0;\n\n const activateParent = React.useCallback(() => {\n setActiveMenuPath(path.slice(0, path.length - 1));\n }, [setActiveMenuPath, path]);\n\n const handleMouseEnter = React.useCallback(() => {\n setActiveMenuPath(path);\n }, [path, setActiveMenuPath]);\n\n const handleMouseLeave = React.useCallback(() => {\n activateParent();\n }, [activateParent]);\n\n const handleSelect = React.useCallback(\n (activeItem: DropdownMenuListItem<T>, event: KeyboardEvent) => {\n if (activeItem.items && activeItem.path) {\n setActiveMenuPath(activeItem.path);\n } else {\n activeItem.action?.(event, data as unknown as T);\n toggle(false);\n }\n },\n [data, setActiveMenuPath, toggle],\n );\n\n const handleKeydown = React.useCallback(\n (activeItemIndex: number, event: KeyboardEvent) => {\n switch (event.key) {\n case KeyCode.ESCAPE: {\n if (isSubmenu) {\n event.stopPropagation();\n activateParent?.();\n }\n\n return false;\n }\n case KeyCode.ENTER:\n case KeyCode.SPACEBAR: {\n const activeItem = items[activeItemIndex];\n const isSubmenuToggleActive = activeItem?.items;\n\n if (isSubmenu || isSubmenuToggleActive) {\n event.stopPropagation();\n event.preventDefault();\n }\n\n if (activeItem) {\n handleSelect(activeItem, event);\n }\n\n return false;\n }\n }\n\n return true;\n },\n [activateParent, handleSelect, isSubmenu, items],\n );\n\n const isNavigationActive =\n open && stringifyNavigationPath(path) === stringifyNavigationPath(activeMenuPath);\n\n const {\n activeItemIndex,\n setActiveItemIndex,\n reset: resetNavigation,\n } = useListNavigation<DropdownMenuListItem<T>, HTMLDivElement>({\n items,\n skip: shouldSkipItemNavigation,\n anchorRef: navigationAnchorRef,\n onAnchorKeyDown: handleKeydown,\n disabled: !isNavigationActive,\n initialValue: isSubmenu ? 0 : -1,\n });\n\n React.useEffect(() => {\n if (!open) {\n resetNavigation();\n }\n }, [open, resetNavigation]);\n\n return (\n <Popup\n open={open}\n anchorRef={anchorRef}\n onClose={onClose}\n placement=\"bottom-start\"\n {...popupProps}\n >\n <div\n onMouseEnter={handleMouseEnter}\n onMouseLeave={handleMouseLeave}\n className={cnDropdownMenu('popup-content')}\n >\n {children || (\n <Menu className={cnDropdownMenu('menu')} size={size} {...menuProps}>\n {items.map((item, index) => {\n const isActive = isNavigationActive && activeItemIndex === index;\n const activate = () => setActiveItemIndex(index);\n\n const isActiveParent =\n open &&\n !isActive &&\n activeMenuPath.length !== 0 &&\n stringifyNavigationPath(item.path) ===\n stringifyNavigationPath(\n activeMenuPath.slice(0, item.path.length),\n );\n\n const extraProps = {\n ...item.extraProps,\n onMouseEnter: activate,\n };\n\n return (\n <DropdownMenuItem\n key={index}\n size={size}\n className={cnDropdownMenu(\n 'menu-item',\n {\n separator: isSeparator(item),\n 'active-parent': isActiveParent,\n 'with-submenu': Boolean(item.items?.length),\n },\n item.className,\n )}\n selected={isActive}\n popupProps={popupProps}\n closeMenu={onClose}\n {...item}\n extraProps={extraProps}\n />\n );\n })}\n </Menu>\n )}\n </div>\n </Popup>\n );\n};\n","import * as React from 'react';\n\nimport {KeyCode} from '../../constants';\n\nimport {moveBack} from './moveBack';\nimport {moveForward} from './moveForward';\n\nexport type UseListNavigationProps<ItemType, AnchorType> = {\n items: ItemType[];\n skip?: (item: ItemType) => boolean;\n pageSize?: number;\n processHomeKey?: boolean;\n processEndKey?: boolean;\n disabled?: boolean;\n initialValue?: number;\n anchorRef?: React.RefObject<AnchorType>;\n onAnchorKeyDown?: (activeItemIndex: number, event: KeyboardEvent) => void | boolean;\n};\n\nexport type UseListNavigationResult = {\n activeItemIndex: number;\n setActiveItemIndex: React.Dispatch<React.SetStateAction<number>>;\n reset: () => void;\n};\n\nexport function useListNavigation<ItemType, AnchorType extends HTMLElement>({\n items,\n skip,\n pageSize,\n processHomeKey = true,\n processEndKey = true,\n anchorRef,\n disabled = false,\n initialValue = -1,\n onAnchorKeyDown,\n}: UseListNavigationProps<ItemType, AnchorType>): UseListNavigationResult {\n const [activeItemIndex, setActiveItemIndex] = React.useState<number>(initialValue);\n\n const reset = React.useCallback(() => {\n setActiveItemIndex(initialValue);\n }, [initialValue]);\n\n React.useEffect(() => {\n if (items) {\n reset();\n }\n }, [items, reset]);\n\n React.useLayoutEffect(() => {\n if (disabled) {\n return undefined;\n }\n\n const canNavigate = items.some((item) => !skip?.(item));\n if (!canNavigate) {\n return undefined;\n }\n\n const anchor = anchorRef?.current;\n if (!anchor) {\n return undefined;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const shouldProcessKeydown = onAnchorKeyDown?.(activeItemIndex, event);\n if (shouldProcessKeydown === false) {\n return;\n }\n\n switch (event.key) {\n case KeyCode.ARROW_DOWN: {\n event.preventDefault();\n\n // Go 1 step forward\n setActiveItemIndex((previousActiveItemIndex) =>\n moveForward(items, previousActiveItemIndex, 1, skip),\n );\n\n break;\n }\n case KeyCode.ARROW_UP: {\n event.preventDefault();\n\n // Go 1 step back\n setActiveItemIndex((previousActiveItemIndex) =>\n moveBack(items, previousActiveItemIndex, 1, skip),\n );\n\n break;\n }\n case KeyCode.PAGE_DOWN: {\n if (!pageSize) {\n return;\n }\n\n event.preventDefault();\n\n // Go pageSize steps forward\n setActiveItemIndex((previousActiveItemIndex) =>\n moveForward(items, previousActiveItemIndex, pageSize, skip),\n );\n\n break;\n }\n case KeyCode.PAGE_UP: {\n if (!pageSize) {\n return;\n }\n\n event.preventDefault();\n\n // Go pageSize steps back\n setActiveItemIndex((previousActiveItemIndex) =>\n moveBack(items, previousActiveItemIndex, pageSize, skip),\n );\n\n break;\n }\n case KeyCode.HOME: {\n if (!processHomeKey) {\n return;\n }\n\n event.preventDefault();\n\n // Go to the start of the list\n setActiveItemIndex((previousActiveItemIndex) =>\n moveBack(items, previousActiveItemIndex, previousActiveItemIndex, skip),\n );\n\n break;\n }\n case KeyCode.END: {\n if (!processEndKey) {\n return;\n }\n\n event.preventDefault();\n\n // Go to the end of the list\n setActiveItemIndex((previousActiveItemIndex) =>\n moveBack(items, previousActiveItemIndex, previousActiveItemIndex + 1, skip),\n );\n\n break;\n }\n }\n };\n\n anchor.addEventListener('keydown', handleKeyDown);\n\n return () => {\n anchor.removeEventListener('keydown', handleKeyDown);\n };\n }, [\n activeItemIndex,\n anchorRef,\n disabled,\n items,\n onAnchorKeyDown,\n pageSize,\n processEndKey,\n processHomeKey,\n skip,\n ]);\n\n return {\n activeItemIndex,\n setActiveItemIndex,\n reset,\n };\n}\n","export function isSubmenuOpen(path?: number[], activeMenuPath?: number[]) {\n return path?.every((item, index) => item === activeMenuPath?.[index]) ?? false;\n}\n","import * as React from 'react';\n\nimport {DropdownMenuNavigationContext} from '../DropdownMenuNavigationContext';\nimport type {DropdownMenuListItem} from '../types';\nimport {isSubmenuOpen} from '../utils/isSubmenuOpen';\n\nexport type UseSubmenuProps<T> = {\n items?: DropdownMenuListItem<T>[];\n path?: number[];\n};\n\nexport function useSubmenu<T>({items, path}: UseSubmenuProps<T>) {\n const {activeMenuPath, setActiveMenuPath} = React.useContext(DropdownMenuNavigationContext);\n\n const hasSubmenu = Boolean(path) && Boolean(items?.length);\n\n const closeSubmenu = React.useCallback(() => {\n if (!path) {\n return;\n }\n\n setActiveMenuPath(path.slice(0, path.length - 1));\n }, [path, setActiveMenuPath]);\n\n const openSubmenu = React.useCallback(() => {\n if (!path) {\n return;\n }\n\n setActiveMenuPath(path);\n }, [path, setActiveMenuPath]);\n\n return {\n hasSubmenu,\n isSubmenuOpen: isSubmenuOpen(path, activeMenuPath),\n openSubmenu,\n closeSubmenu,\n };\n}\n","'use client';\n\nimport * as React from 'react';\n\nimport {ChevronLeft, ChevronRight} from '@gravity-ui/icons';\n\nimport {Icon} from '../Icon';\nimport {Menu} from '../Menu';\nimport type {PopupPlacement, PopupProps} from '../Popup';\nimport {useDirection} from '../theme';\n\nimport {cnDropdownMenu} from './DropdownMenu.classname';\nimport {DropdownMenuContext} from './DropdownMenuContext';\nimport {DropdownMenuPopup} from './DropdownMenuPopup';\nimport {useSubmenu} from './hooks/useSubmenu';\nimport type {DropdownMenuListItem, DropdownMenuSize} from './types';\n\nexport type DropdownMenuItemProps<T> = Omit<DropdownMenuListItem<T>, 'path'> & {\n popupProps?: Partial<PopupProps>;\n closeMenu?: () => void;\n children?: React.ReactNode;\n path?: number[];\n size?: DropdownMenuSize;\n};\n\nexport const DropdownMenuItem = <T,>({\n text,\n action,\n items: subMenuItems,\n popupProps,\n closeMenu,\n children,\n path,\n size,\n ...props\n}: DropdownMenuItemProps<T>) => {\n const {toggle, data} = React.useContext(DropdownMenuContext);\n const menuItemRef = React.useRef(null);\n const direction = useDirection();\n\n const {hasSubmenu, isSubmenuOpen, closeSubmenu, openSubmenu} = useSubmenu({\n items: subMenuItems,\n path,\n });\n\n const handleCloseMenu = React.useCallback(() => {\n const close = () => {\n if (closeMenu) {\n closeMenu();\n } else {\n toggle(false);\n }\n };\n\n if (hasSubmenu) {\n closeSubmenu();\n // Wait for submenu to close\n requestAnimationFrame(close);\n } else {\n close();\n }\n }, [closeMenu, closeSubmenu, hasSubmenu, toggle]);\n\n const handleMenuItemClick = React.useCallback(\n (event: React.MouseEvent<HTMLElement, MouseEvent>) => {\n if (hasSubmenu) {\n return;\n }\n\n action?.(event, data as unknown as T);\n handleCloseMenu();\n },\n [action, data, handleCloseMenu, hasSubmenu],\n );\n\n const extraProps = React.useMemo(() => {\n return {\n ...props.extraProps,\n onMouseEnter: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent> &\n React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n ) => {\n props.extraProps?.onMouseEnter?.(event);\n if (hasSubmenu) {\n openSubmenu();\n }\n },\n onMouseLeave: (\n event: React.MouseEvent<HTMLDivElement, MouseEvent> &\n React.MouseEvent<HTMLAnchorElement, MouseEvent>,\n ) => {\n props.extraProps?.onMouseLeave?.(event);\n if (hasSubmenu) {\n closeSubmenu();\n }\n },\n };\n }, [props.extraProps, closeSubmenu, hasSubmenu, openSubmenu]);\n\n const subMenuPlacement = React.useMemo<PopupPlacement>(\n () => (direction === 'rtl' ? ['left-start', 'right-start'] : ['right-start', 'left-start']),\n [direction],\n );\n\n const iconEnd = React.useMemo(\n () =>\n hasSubmenu ? (\n <Icon\n data={direction === 'rtl' ? ChevronLeft : ChevronRight}\n size={10}\n className={cnDropdownMenu('sub-menu-arrow')}\n />\n ) : (\n props.iconEnd\n ),\n [hasSubmenu, direction, props.iconEnd],\n );\n\n return (\n <React.Fragment>\n <Menu.Item\n ref={menuItemRef}\n {...props}\n extraProps={extraProps}\n onClick={handleMenuItemClick}\n iconEnd={iconEnd}\n >\n {text || children}\n </Menu.Item>\n {hasSubmenu && subMenuItems && (\n <DropdownMenuPopup\n popupProps={{\n ...popupProps,\n className: cnDropdownMenu('sub-menu', popupProps?.className),\n placement: subMenuPlacement,\n }}\n size={size}\n items={subMenuItems}\n path={path}\n open={isSubmenuOpen}\n anchorRef={menuItemRef}\n onClose={handleCloseMenu}\n />\n )}\n </React.Fragment>\n );\n};\n","export function toItemList<\n Item extends {hidden?: boolean; items?: (Item | Item[])[]},\n ListItem extends {items?: ListItem[]; path: number[]},\n>(items: (Item | Item[])[], separator: ListItem, path: number[] = [], startIndex = 0): ListItem[] {\n const updatedItems: ListItem[] = [];\n let addedGroup = false;\n let index = startIndex;\n\n for (const item of items) {\n if (Array.isArray(item)) {\n const groupItems = toItemList(item, separator, path, index);\n\n if (updatedItems.length !== 0) {\n updatedItems.push(separator);\n }\n\n updatedItems.push(...groupItems);\n index += groupItems.length;\n addedGroup = true;\n } else {\n if (item.hidden) {\n continue;\n }\n\n if (addedGroup) {\n updatedItems.push(separator);\n }\n\n const updatedItem = {\n ...item,\n path: [...path, index++],\n } as unknown as ListItem;\n\n if (item.items) {\n updatedItem.items = toItemList<Item, ListItem>(\n item.items,\n separator,\n updatedItem.path,\n );\n }\n\n updatedItems.push(updatedItem);\n addedGroup = false;\n }\n }\n\n return updatedItems;\n}\n","'use client';\n\nimport * as React from 'react';\n\nimport {Ellipsis} from '@gravity-ui/icons';\n\nimport {useActionHandlers} from '../../hooks/useActionHandlers';\nimport {Button} from '../Button';\nimport type {ButtonProps} from '../Button';\nimport {Icon} from '../Icon';\nimport type {MenuProps} from '../Menu';\nimport type {PopupProps} from '../Popup';\n\nimport {cnDropdownMenu} from './DropdownMenu.classname';\nimport {DropdownMenuContext} from './DropdownMenuContext';\nimport {DropdownMenuItem as DropdownMenuItemComponent} from './DropdownMenuItem';\nimport {DropdownMenuNavigationContextProvider} from './DropdownMenuNavigationContext';\nimport {DropdownMenuPopup} from './DropdownMenuPopup';\nimport {dropdownMenuSeparator} from './constants';\nimport {usePopupVisibility} from './hooks/usePopupVisibility';\nimport {useScrollHandler} from './hooks/useScrollHandler';\nimport type {\n DropdownMenuItem,\n DropdownMenuItemAction,\n DropdownMenuItemMixed,\n DropdownMenuListItem,\n DropdownMenuSize,\n} from './types';\nimport {toItemList} from './utils/toItemList';\n\nimport './DropdownMenu.scss';\n\ntype SwitcherProps = {\n onKeyDown: React.KeyboardEventHandler<HTMLElement>;\n onClick: React.MouseEventHandler<HTMLElement>;\n};\n\nexport type DropdownMenuProps<T> = {\n /**\n * Array of items.\n * Nested arrays of items represent visually separated groups.\n */\n items?: (DropdownMenuItem<T> | DropdownMenuItem<T>[])[];\n /**\n * Switcher icon.\n */\n icon?: React.ReactNode;\n open?: boolean;\n onOpenToggle?: (open: boolean) => void;\n hideOnScroll?: boolean;\n /**\n * Applied for the switcher and the menu.\n */\n size?: DropdownMenuSize;\n /**\n * A payload passed to the actions called from the menu.\n * (Can be useful for context menus.)\n */\n data?: T;\n /**\n * Setting this prop to `true` disables the switcher button\n * and prevents the menu from being opened.\n */\n disabled?: boolean;\n /**\n * Menu toggle control.\n * @deprecated Use renderSwitcher instead\n */\n switcher?: React.ReactNode;\n /**\n * Menu toggle control.\n */\n renderSwitcher?: (props: SwitcherProps) => React.ReactNode;\n switcherWrapperClassName?: string;\n /**\n * Overrides the default switcher button props.\n */\n defaultSwitcherProps?: ButtonProps;\n defaultSwitcherClassName?: string;\n onSwitcherClick?: React.MouseEventHandler<HTMLElement>;\n /**\n * Overrides the default dropdown menu props.\n */\n menuProps?: Partial<MenuProps>;\n /**\n * Overrides the default dropdown popup props.\n */\n popupProps?: Partial<PopupProps>;\n /**\n * Custom content inside the menu popup.\n */\n children?: React.ReactNode;\n};\n\nexport type ControlledDropdownMenuProps<T> = DropdownMenuProps<T> & {\n open: boolean;\n onOpenToggle: React.Dispatch<React.SetStateAction<boolean>>;\n};\n\nconst DropdownMenu = <T,>({\n items = [],\n size = 'm',\n icon = <Icon data={Ellipsis} />,\n open,\n onOpenToggle,\n hideOnScroll = true,\n data,\n disabled,\n switcher,\n renderSwitcher,\n switcherWrapperClassName,\n defaultSwitcherProps,\n defaultSwitcherClassName,\n onSwitcherClick,\n menuProps,\n popupProps,\n children,\n}: DropdownMenuProps<T> | ControlledDropdownMenuProps<T>) => {\n const anchorRef = React.useRef<HTMLDivElement | null>(null);\n\n const {isPopupShown, togglePopup, closePopup} = usePopupVisibility(\n open,\n onOpenToggle,\n disabled,\n );\n\n useScrollHandler(closePopup, anchorRef, !isPopupShown || !hideOnScroll);\n\n const contextValue = React.useMemo(\n () => ({\n toggle: togglePopup,\n data,\n }),\n [data, togglePopup],\n );\n\n const itemsList = React.useMemo(\n () =>\n toItemList<DropdownMenuItem<T>, DropdownMenuListItem<T>>(items, dropdownMenuSeparator),\n [items],\n );\n\n const handleSwitcherClick = React.useCallback<React.MouseEventHandler<HTMLElement>>(\n (event) => {\n if (disabled) {\n return;\n }\n\n onSwitcherClick?.(event);\n\n togglePopup();\n },\n [disabled, onSwitcherClick, togglePopup],\n );\n\n const {onKeyDown: handleSwitcherKeyDown} = useActionHandlers(handleSwitcherClick);\n\n const switcherProps = React.useMemo<SwitcherProps>(\n () => ({\n onClick: handleSwitcherClick,\n onKeyDown: handleSwitcherKeyDown,\n }),\n [handleSwitcherClick, handleSwitcherKeyDown],\n );\n\n return (\n <DropdownMenuContext.Provider value={contextValue}>\n {/* FIXME remove switcher prop and this wrapper */}\n <div\n ref={anchorRef}\n className={cnDropdownMenu('switcher-wrapper', switcherWrapperClassName)}\n {...(renderSwitcher ? {} : switcherProps)}\n >\n {renderSwitcher?.(switcherProps) || switcher || (\n <Button\n view=\"flat\"\n size={size}\n // FIXME remove switcher prop and uncomment onClick handler\n // onClick={handleSwitcherClick}\n {...defaultSwitcherProps}\n className={cnDropdownMenu('switcher-button', defaultSwitcherClassName)}\n disabled={disabled}\n >\n {icon}\n </Button>\n )}\n </div>\n <DropdownMenuNavigationContextProvider anchorRef={anchorRef} disabled={!isPopupShown}>\n <DropdownMenuPopup\n items={itemsList}\n open={isPopupShown}\n size={size}\n menuProps={menuProps}\n anchorRef={anchorRef}\n onClose={closePopup}\n popupProps={popupProps}\n >\n {children}\n </DropdownMenuPopup>\n </DropdownMenuNavigationContextProvider>\n </DropdownMenuContext.Provider>\n );\n};\n\nconst DropdownMenuExport = Object.assign(DropdownMenu, {Item: DropdownMenuItemComponent});\nexport {DropdownMenuExport as DropdownMenu};\n\nexport type {DropdownMenuItem, DropdownMenuItemMixed, DropdownMenuItemAction};\n","import * as React from 'react';\n\nimport {useConditionallyControlledState} from '../../../hooks/private';\n\nexport function usePopupVisibility(\n visible?: boolean,\n onChangeVisibility?:\n | React.Dispatch<React.SetStateAction<boolean>>\n | ((visible: boolean) => void),\n disabled?: boolean,\n) {\n const [isPopupShown, setPopupShown] = useConditionallyControlledState<boolean>(\n visible,\n onChangeVisibility,\n false,\n );\n\n const togglePopup = React.useCallback(\n (open?: boolean) => {\n setPopupShown((isShown) => {\n if (typeof open === 'boolean') {\n return open;\n }\n\n return !isShown;\n });\n },\n [setPopupShown],\n );\n\n const closePopup = React.useCallback(() => {\n setPopupShown(false);\n }, [setPopupShown]);\n\n React.useEffect(() => {\n if (disabled && isPopupShown) {\n closePopup();\n }\n }, [closePopup, disabled, isPopupShown]);\n\n return {\n isPopupShown,\n togglePopup,\n closePopup,\n };\n}\n","import {useStateWithCallback} from '../useStateWithCallback';\n\nexport type UseConditionallyControlledStateResult<T extends unknown> = [\n T,\n React.Dispatch<React.SetStateAction<T>>,\n];\n\nexport function useConditionallyControlledState<T>(\n property?: T,\n setProperty?: React.Dispatch<React.SetStateAction<T>> | ((value: T) => void),\n initialState?: T | (() => T),\n isControlled = property !== undefined && setProperty !== undefined,\n): UseConditionallyControlledStateResult<T> {\n const state = useStateWithCallback<T>((property || initialState) as T, setProperty);\n\n if (isControlled) {\n return [property, setProperty] as UseConditionallyControlledStateResult<T>;\n }\n\n return state;\n}\n","import * as React from 'react';\n\nimport {isFunction} from '../../../components/utils/typeCheckers';\n\nexport function useStateWithCallback<T>(\n initialValue: T,\n callback?: (value: T) => void,\n): [T, (nextValue: T | ((prevValue: T) => T)) => void] {\n const [state, setState] = React.useState(initialValue);\n\n const setWithCallback = React.useCallback(\n (nextValue: T | ((value: T) => T)) => {\n if (isFunction(nextValue)) {\n setState((previousState: T) => {\n const newState = nextValue(previousState);\n callback?.(newState);\n return newState;\n });\n } else {\n callback?.(nextValue);\n setState(nextValue);\n }\n },\n [callback],\n );\n\n return [state, setWithCallback];\n}\n","export const isFunction = (value: unknown): value is Function => typeof value === 'function';\n","import * as React from 'react';\n\nexport function useScrollHandler(\n onScroll: (event: Event) => void,\n anchorRef: React.RefObject<HTMLDivElement>,\n disabled?: boolean,\n) {\n React.useEffect(() => {\n if (disabled) {\n return undefined;\n }\n\n const handleScroll = (event: Event) => {\n if ((event.target as Node).contains(anchorRef.current)) {\n onScroll(event);\n }\n };\n\n document.addEventListener('scroll', handleScroll, true);\n\n return () => {\n document.removeEventListener('scroll', handleScroll, true);\n };\n }, [anchorRef, onScroll, disabled]);\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 * as React from 'react';\nconst ChevronLeft = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16, fill: \"none\", viewBox: \"0 0 16 16\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M10.53 2.97a.75.75 0 0 1 0 1.06L6.56 8l3.97 3.97a.75.75 0 1 1-1.06 1.06l-4.5-4.5a.75.75 0 0 1 0-1.06l4.5-4.5a.75.75 0 0 1 1.06 0\", clipRule: \"evenodd\" })));\nexport default ChevronLeft;\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 '../settings/settings-base';\n\nexport const getSettingQueryTrackerQueriesListSidebarVisibilityMode = createSelector(\n getSettingsData,\n (settings) => Boolean(settings['global::queryTracker::queriesListSidebarVisibilityMode']),\n);\n","import {useDispatch, useSelector} from '../../../../store/redux-hooks';\nimport {setSettingByKey} from '../../../../store/actions/settings';\nimport {getSettingQueryTrackerQueriesListSidebarVisibilityMode} from '../../../../store/selectors/query-tracker/settings';\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 React from 'react';\nimport withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importComponents() {\n return import(/* webpackChunkName: \"yt-queries-list\" */ './index');\n}\n\nexport const LazyQueriesList = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importComponents()).QueriesList};\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 '../../../store/reducers/query-tracker/queryFilesFormSlice';\nimport {selectFileEditorConfig} from '../../../store/selectors/query-tracker/queryFilesForm';\nimport {changeQueryFile} from '../../../store/actions/query-tracker/queryFilesForm';\nimport {useDispatch, useSelector} from '../../../store/redux-hooks';\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 '../../../store/redux-hooks';\nimport {Route, Switch} from 'react-router';\nimport FlexSplitPane from '../../../components/FlexSplitPane/FlexSplitPane';\nimport {QueriesPooling} from '../hooks/QueriesPooling/context';\nimport {isEngine} from '../../../types/query-tracker/api';\nimport {QueryEngine} from '../../../../shared/constants/engines';\nimport {\n createEmptyQuery,\n createQueryFromTablePath,\n goToQuery,\n loadQuery,\n} from '../../../store/actions/query-tracker/query';\nimport {usePreventUnload} from '../../../hooks/use-prevent-unload';\nimport {useQueriesListSidebarToggle} from '../hooks/QueriesList';\nimport {\n getDirtySinceLastSubmit,\n getQueryGetParams,\n} from '../../../store/selectors/query-tracker/query';\nimport {LazyQueriesList} from '../QueriesList/lazy';\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 '../../../store/selectors/query-tracker/queryFilesForm';\nimport {selectNavigationCluster} from '../../../store/selectors/query-tracker/queryNavigation';\nimport {setSettingByKey} from '../../../store/actions/settings';\nimport {CellPreviewModal} from '../../../containers/CellPreviewModal/CellPreviewModal';\nimport {SET_QUERY_PARAMS} from '../../../store/reducers/query-tracker/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 ? <LazyQueriesList /> : 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 {ChatToggleButton} from '../../../containers/AiChat/ChatToggleButton';\n\ntype Props = {\n onQueryCreate: () => void;\n};\n\nexport const RightButtonsGroup: FC<Props> = ({onQueryCreate}) => {\n return (\n <Flex gap={2}>\n <QueriesListSidebarToggleButton />\n <ChatToggleButton />\n <NewQueryButton onClick={onQueryCreate} />\n </Flex>\n );\n};\n","import React, {FC, useCallback, useState} from 'react';\nimport {useDispatch, useSelector} from '../../../store/redux-hooks';\nimport {RowWithName} from '../../../containers/AppNavigation/TopRowContent/SectionName';\nimport {Page} from '../../../../shared/constants/settings';\nimport {getQueryDraft} from '../../../store/selectors/query-tracker/query';\nimport {\n resetQueryTracker,\n setQueryEngine,\n setUserLastChoice,\n updateQueryDraft,\n} from '../../../store/actions/query-tracker/query';\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';\nimport {LazyQueryTokenButton} from '../QueryToken/lazy';\nimport {setQueryName} from '../../../store/actions/query-tracker/api';\nimport {updateQueryInList} from '../../../store/actions/query-tracker/queriesList';\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 {id, 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 async (title: string | undefined) => {\n dispatch(updateQueryDraft({annotations: {...annotations, title}}));\n\n if (id && annotations) {\n try {\n await dispatch(setQueryName(id, {...annotations, title}));\n dispatch(\n updateQueryInList(id, {\n annotations: {...annotations, title},\n }),\n );\n } catch (err) {}\n }\n },\n [dispatch, id, annotations],\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 {!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 <LazyQueryTokenButton />\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 withLazyLoading from '../../../hocs/withLazyLoading';\n\nfunction importComponents() {\n return import(/* webpackChunkName: \"yt-query-token\" */ './index');\n}\n\nexport const LazyAddQueryTokenForm = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importComponents()).AddQueryTokenFormButton};\n }),\n);\n\nexport const LazyQueryTokenList = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importComponents()).QueryTokenTable};\n }),\n);\n\nexport const LazyQueryTokenButton = withLazyLoading(\n React.lazy(async () => {\n return {default: (await importComponents()).QueryTokenButton};\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\nexport interface EditableAsTextProps {\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 renderContent?: (props: {\n renderEditButton: () => React.ReactNode;\n className?: string;\n }) => React.ReactNode;\n onModeChange?: (isEdit: boolean) => void;\n}\n\nexport function EditableAsText(props: EditableAsTextProps) {\n const {\n children,\n onChange,\n text,\n className,\n withControls,\n size,\n disableEdit,\n cancelOnClose,\n renderEditor,\n renderContent,\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 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 <>\n {editMode ? (\n <div\n className={block(\n {edit: !disableEdit, controls: Boolean(withControls)},\n className,\n )}\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 </div>\n ) : renderContent ? (\n renderContent({\n renderEditButton: () => (\n <>\n {!disableEdit && (\n <Button\n className={block('control', {type: 'edit'})}\n view=\"outlined\"\n onClick={startTextEdit}\n size={controlSize}\n qa=\"edit-text-button\"\n >\n <Icon awesome={'pencil'} size={controlSize} />\n </Button>\n )}\n </>\n ),\n className: block(null, className),\n })\n ) : (\n <div className={block(null, className)}>\n {children}\n {!disableEdit && (\n <Button\n className={block('control', {type: 'edit'})}\n view=\"outlined\"\n onClick={startTextEdit}\n size={controlSize}\n qa=\"edit-text-button\"\n >\n <Icon awesome={'pencil'} size={controlSize} />\n </Button>\n )}\n </div>\n )}\n </>\n );\n}\n","import * as React from 'react';\nconst ChevronRight = (props) => (React.createElement(\"svg\", Object.assign({ xmlns: \"http://www.w3.org/2000/svg\", width: 16, height: 16, fill: \"none\", viewBox: \"0 0 16 16\" }, props),\n React.createElement(\"path\", { fill: \"currentColor\", fillRule: \"evenodd\", d: \"M5.47 13.03a.75.75 0 0 1 0-1.06L9.44 8 5.47 4.03a.75.75 0 0 1 1.06-1.06l4.5 4.5a.75.75 0 0 1 0 1.06l-4.5 4.5a.75.75 0 0 1-1.06 0\", clipRule: \"evenodd\" })));\nexport default ChevronRight;\n","import {addI18Keysets} from '../../../i18n/index';\n\nimport en from './en.json';\nimport ru from './ru.json';\n\nexport default addI18Keysets('yt:Columnselector', {en, ru});\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';\nimport Button from '../Button/Button';\n\nimport i18n from './i18n';\n\nimport './ColumnSelector.scss';\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={i18n('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 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 '../../store/redux-hooks';\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","import * as React from 'react';\n\nimport {useUniqId} from '../../hooks';\nimport type {DOMProps, QAProps} from '../types';\nimport {block} from '../utils/cn';\n\nconst b = block('menu');\n\nexport interface MenuGroupProps extends DOMProps, QAProps {\n label?: string;\n children?: React.ReactNode;\n}\n\nexport const MenuGroup = React.forwardRef<HTMLLIElement, MenuGroupProps>(function MenuGroup(\n {label, children, style, className, qa},\n ref,\n) {\n const labelId = useUniqId();\n\n return (\n <li ref={ref} className={b('list-group-item')}>\n <div style={style} className={b('group', className)} data-qa={qa}>\n {label && (\n <div id={labelId} className={b('group-label')}>\n {label}\n </div>\n )}\n <ul role=\"group\" aria-labelledby={labelId} className={b('group-list')}>\n {children}\n </ul>\n </div>\n </li>\n );\n});\n","'use client';\n\nimport * as React from 'react';\n\nimport {useActionHandlers} from '../../hooks';\nimport type {DOMProps, QAProps} from '../types';\nimport {block} from '../utils/cn';\nimport {eventBroker} from '../utils/event-broker';\n\nconst b = block('menu');\n\nexport interface MenuItemProps extends DOMProps, QAProps {\n iconStart?: React.ReactNode;\n iconEnd?: React.ReactNode;\n title?: string;\n disabled?: boolean;\n active?: boolean;\n selected?: boolean;\n href?: string;\n target?: string;\n contentClassName?: string;\n rel?: string;\n onClick?: React.MouseEventHandler<HTMLDivElement | HTMLAnchorElement>;\n theme?: 'normal' | 'danger';\n extraProps?:\n | React.HTMLAttributes<HTMLDivElement>\n | React.AnchorHTMLAttributes<HTMLAnchorElement>;\n children?: React.ReactNode;\n}\n\nexport const MenuItem = React.forwardRef<HTMLElement, MenuItemProps>(function MenuItem(\n {\n iconStart,\n iconEnd,\n title,\n disabled,\n active,\n selected,\n href,\n target,\n rel,\n onClick,\n style,\n className,\n contentClassName,\n theme,\n extraProps,\n children,\n qa,\n },\n ref,\n) {\n const {onKeyDown} = useActionHandlers(onClick);\n\n const handleClickCapture = React.useCallback((event: React.SyntheticEvent) => {\n eventBroker.publish({\n componentId: 'MenuItem',\n eventId: 'click',\n domEvent: event,\n });\n }, []);\n\n const defaultProps = {\n role: 'menuitem',\n onKeyDown: onClick && !disabled ? onKeyDown : undefined,\n };\n\n const commonProps = {\n title,\n onClick: disabled ? undefined : onClick,\n onClickCapture: disabled ? undefined : handleClickCapture,\n style,\n tabIndex: disabled ? -1 : 0,\n className: b(\n 'item',\n {disabled, active, selected, theme, interactive: Boolean(onClick) || Boolean(href)},\n className,\n ),\n 'data-qa': qa,\n };\n const content = [\n iconStart && (\n <div key=\"icon-start\" className={b('item-icon')}>\n {iconStart}\n </div>\n ),\n <div key=\"content\" className={b('item-content', contentClassName)}>\n {children}\n </div>,\n iconEnd && (\n <div key={'icon-end'} className={b('item-icon-end')}>\n {iconEnd}\n </div>\n ),\n ];\n let item;\n\n if (href) {\n item = (\n <a\n {...defaultProps}\n {...(extraProps as React.AnchorHTMLAttributes<HTMLAnchorElement>)}\n {...commonProps}\n href={href}\n target={target}\n rel={rel}\n >\n {content}\n </a>\n );\n } else {\n item = (\n <div\n {...defaultProps}\n {...(extraProps as React.HTMLAttributes<HTMLDivElement>)}\n {...commonProps}\n >\n {content}\n </div>\n );\n }\n\n return (\n <li ref={ref as React.ForwardedRef<HTMLLIElement>} className={b('list-item')}>\n {item}\n </li>\n );\n});\n","'use client';\n\nimport * as React from 'react';\n\nimport type {AriaLabelingProps, DOMProps, QAProps} from '../types';\nimport {block} from '../utils/cn';\nimport {filterDOMProps} from '../utils/filterDOMProps';\n\nimport {MenuGroup} from './MenuGroup';\nimport type {MenuGroupProps} from './MenuGroup';\nimport {MenuItem} from './MenuItem';\nimport type {MenuItemProps} from './MenuItem';\n\nimport './Menu.scss';\n\nconst b = block('menu');\n\nexport type MenuSize = 's' | 'm' | 'l' | 'xl';\n\nexport interface MenuProps extends AriaLabelingProps, DOMProps, QAProps {\n size?: MenuSize;\n children?: React.ReactNode;\n}\n\nexport type {MenuItemProps, MenuGroupProps};\n\ninterface MenuComponent\n extends React.ForwardRefExoticComponent<MenuProps & React.RefAttributes<HTMLUListElement>> {\n Item: typeof MenuItem;\n Group: typeof MenuGroup;\n}\n\n// TODO: keyboard navigation, Up/Down arrows and Enter\nexport const Menu = React.forwardRef<HTMLUListElement, MenuProps>(function Menu(\n {size = 'm', children, style, className, qa, ...restProps},\n ref,\n) {\n return (\n <ul\n {...filterDOMProps(restProps, {labelable: true})}\n ref={ref}\n role=\"menu\"\n // tabIndex={0}\n style={style}\n className={b({size}, className)}\n data-qa={qa}\n >\n {children}\n </ul>\n );\n}) as MenuComponent;\n\nMenu.Item = MenuItem;\nMenu.Group = MenuGroup;\n"],"names":["props","_jsx","_objectSpread","xmlns","fill","viewBox","children","fillRule","d","clipRule","addI18Keysets","en","ru","useChatToggle","dispatch","useDispatch","isConfigured","useSelector","selectAiChatConfigured","toggle","toggleChatSidePanel","ChatToggleButton","_ref","hideText","_useChatToggle","Tooltip","content","i18n","_jsxs","Button","view","size","onClick","Icon","data","AiIcon","ChatToggleFooterButton","compact","FooterItem","item","id","title","icon","onItemClick","cnDropdownMenu","DropdownMenuContext","undefined","displayName","moveBack","items","activeItemIndex","steps","skip","newActiveItemIndex","length","moveForward","rootMenuPath","DropdownMenuNavigationContext","activeMenuPath","setActiveMenuPath","anchorRef","current","DropdownMenuNavigationContextProvider","disabled","contextValue","Provider","value","dropdownMenuSeparator","text","action","path","isSeparator","shouldSkipItemNavigation","stringifyNavigationPath","join","DropdownMenuPopup","open","onClose","menuProps","popupProps","navigationAnchorRef","isSubmenu","activateParent","slice","handleMouseEnter","handleMouseLeave","handleSelect","activeItem","event","handleKeydown","key","ESCAPE","stopPropagation","ENTER","SPACEBAR","isSubmenuToggleActive","preventDefault","isNavigationActive","setActiveItemIndex","reset","resetNavigation","pageSize","processHomeKey","processEndKey","initialValue","onAnchorKeyDown","some","anchor","handleKeyDown","shouldProcessKeydown","ARROW_DOWN","previousActiveItemIndex","ARROW_UP","PAGE_DOWN","PAGE_UP","HOME","END","addEventListener","removeEventListener","useListNavigation","Popup","placement","onMouseEnter","onMouseLeave","className","Menu","map","index","isActive","isActiveParent","extraProps","DropdownMenuItem","separator","Boolean","selected","closeMenu","isSubmenuOpen","every","useSubmenu","hasSubmenu","closeSubmenu","openSubmenu","subMenuItems","menuItemRef","direction","useDirection","handleCloseMenu","close","requestAnimationFrame","handleMenuItemClick","subMenuPlacement","iconEnd","I","ChevronLeft","ChevronRight","Item","ref","toItemList","startIndex","updatedItems","addedGroup","Array","isArray","groupItems","push","hidden","updatedItem","DropdownMenuExport","Object","assign","Ellipsis","onOpenToggle","hideOnScroll","switcher","renderSwitcher","switcherWrapperClassName","defaultSwitcherProps","defaultSwitcherClassName","onSwitcherClick","isPopupShown","togglePopup","closePopup","visible","onChangeVisibility","setPopupShown","property","setProperty","initialState","isControlled","state","callback","setState","nextValue","previousState","newState","useStateWithCallback","useConditionallyControlledState","isShown","usePopupVisibility","onScroll","handleScroll","target","contains","document","useScrollHandler","itemsList","handleSwitcherClick","onKeyDown","handleSwitcherKeyDown","useActionHandlers","switcherProps","isMediaTag","test","isImageTag","isVideoTag","width","height","usePreventUnload","shouldListen","beforeUnloadHandler","useCallback","e","returnValue","useEffect","window","getSettingQueryTrackerQueriesListSidebarVisibilityMode","createSelector","getSettingsData","settings","useQueriesListSidebarToggle","isQueriesListSidebarVisible","toggleQueriesListSideBarToggle","setSettingByKey","LazyQueriesList","withLazyLoading","React","_asyncToGenerator","_regeneratorRuntime","mark","_callee","wrap","_context","prev","next","t0","sent","QueriesList","abrupt","stop","block","cn","MONACO_CONFIG","fontSize","language","renderWhitespace","minimap","enabled","FileEditor","_useSelector","selectFileEditorConfig","fileEditor","file","editorRef","useRef","FileIcon","Text","variant","ellipsis","name","setFileEditor","isFullWidth","LayoutColumnsIcon","SquareIcon","isOpen","XmarkIcon","MonacoEditor","onChange","changeQueryFile","monacoConfig","EDITOR_INITIAL_SIZE","QueryEditorSplit","fileEditorFullWidth","fileEditorVisible","onStartQuery","_useState","useState","_useState2","_slicedToArray","sizes","setSize","hideQueryEditor","FlexSplitPane","HORIZONTAL","onResizeEnd","getInitialSizes","QueryEditor","showStatusInTitle","RedirectConfirmModal","message","_ref$ignoreSamePath","ignoreSamePath","showModal","setShowModal","history","useHistory","skipRef","locationRef","handleNavigation","location","samePath","pathname","handleConfirm","_ref2","apply","arguments","unblock","YTDFDialog","pristineSubmittable","headerProps","fields","type","extras","onAdd","b","initialSizes","minSize","QueryPageDraft","routeParams","getQueryGetParams","cluster","selectNavigationCluster","favoriteEngine","getLastUserChoiceQueryEngine","QueryEngine","YQL","engine","isEngine","useDraft","SET_QUERY_PARAMS","params","createQueryFromTablePath","createEmptyQuery","QueryPage","match","queryId","loadQuery","QueryTracker","_useQueriesListSideba","isQueryStateDirty","getDirtySinceLastSubmit","selectFileEditor","getSize","useMemo","loadQueryTrackerInfo","useQueryACO","goToCreatedQuery","goToQuery","URLSearchParams","search","get","_Fragment","Switch","Route","exact","component","concat","MonacoContext","Map","QueriesPooling","CellPreviewModal","QueriesListSidebarToggleButton","awesome","RightButtonsGroup","onQueryCreate","Flex","gap","NewQueryButton","isDesktop","setIsDesktop","handleResize","matchMedia","matches","useIsDesktop","getQueryDraft","annotations","nameEdit","setNameEdit","handleChangeEngine","newEngine","setQueryEngine","setUserLastChoice","handleCreateNewQuery","resetQueryTracker","handleNameChange","updateQueryDraft","setQueryName","updateQueryInList","_x","handleSettingsChange","newSettings","RowWithName","page","Page","QUERIES","alignItems","grow","EditableAsText","cancelOnClose","withControls","openOnClick","onModeChange","saveButtonView","cancelButtonView","HeadSpacer","QueryClusterSelector","QueryEngineSelector","QuerySelectorsByEngine","QuerySettingsButton","QueryFilesButton","LazyQueryTokenButton","ICON_BY_TYPE","_defineProperty","SortIcon","_React$Component","_this","_classCallCheck","_len","args","_key","_callSuper","_this$props","order","allowUnordered","withUndefined","nextSortOrderValue","_inherits","_createClass","_this$props2","this","label","format","ReadableField","face","importComponents","LazyAddQueryTokenForm","AddQueryTokenFormButton","LazyQueryTokenList","_callee2","_context2","QueryTokenTable","_callee3","_context3","QueryTokenButton","disableEdit","renderEditor","renderContent","_props$saveButtonView","_props$cancelButtonVi","_React$useState","_React$useState2","editMode","setEditMode","_React$useState3","_React$useState4","input","setInput","handleChangeMode","isEdit","closeEditMode","startTextEdit","handleChange","val","applyValue","closeAndResetValue","onApply","evt","controlSize","edit","controls","onBlur","TextInput","autoFocus","onUpdate","onMouseDown","renderEditButton","qa","makeItemsCopy","map_","DragHandle","sortableHandle","SortableItem","sortableElement","isSortable","isSelectable","isDisabled","itemRenderer","onCheckBoxChange","active","checked","selectable","showAction","isDeletable","keyColumn","SortableList","sortableContainer","useStaticSize","mods","ReactList","ColumnSelector","_Component","isHeadless","showSelectedOnly","toggleItem","withActualItems","_ref3","_toConsumableArray","findIndex","changedItem","selectAllItems","_ref4","visibleMap","getVisibleItemsMap","each_","deselectAllItems","_ref5","_item$isDeletable","invertItems","_ref6","visibleItems","_handleCheckBoxChange","currentTarget","getAttribute","_handleSortEnd","_ref7","oldIndex","newIndex","_ref8","getVisibleItems","fromIndex","toIndex","_items$splice","splice","removed","_handleDefaultSort","_ref9","sort","a","aCaption","caption","bCaption","localeCompare","_toggleShownItems","prevState","_changeFilter","filter","func","_this2","placeholder","hasClear","isFilterable","btnProps","renderSearchBox","filter_","buttonALLisDisabled","buttonNONEisDisabled","re","RegExp","escapeRegExp_","showDisabledItems","filterItemsByName","toSplit","filterItems","_partition_","partition_","_partition_2","keyItems","reduce_","acc","_this$getVisibleItems2","headless","empty","lockAxis","helperClass","helper","onSortEnd","useDragHandle","_this$props3","classNames","sortable","renderControls","renderList","Component","itemsProps","PropTypes","isRequired","defaultProps","_ref0","_ref0$caption","renderText","asHTML","selectCellPreviewVisible","navigation","modals","cellPreviewModal","selectCellPreviewLoading","loading","selectCellPreviewData","selectCellPreviewYtCliDownloadCommand","ytCliDownloadCommand","selectCellPreviewNoticeText","noticeText","selectErrorPreviewCellPath","error","unipikaSettings","getPreviewCellYsonSettings","SimpleModal","onCancel","closeCellPreviewAndCancelRequest","wrapperClassName","color","ClipboardButton","YTErrorBlock","PreviewContent","$type","$value","$tag","src","alt","Yson","folding","tableSettings","dynamicRenderScrollParentGetter","customLayout","toolbar","MenuGroup","style","labelId","useUniqId","u","role","MenuItem","iconStart","href","rel","contentClassName","theme","handleClickCapture","publish","componentId","eventId","domEvent","commonProps","onClickCapture","tabIndex","interactive","restProps","filterDOMProps","labelable","Group"],"sourceRoot":""}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
(()=>{"use strict";var e,a,c,d,t,f={},b={};function r(e){var a=b[e];if(void 0!==a)return a.exports;var c=b[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=f,r.amdO={},e=[],r.O=(a,c,d,t)=>{if(!c){var f=1/0;for(i=0;i<e.length;i++){for(var[c,d,t]=e[i],b=!0,n=0;n<c.length;n++)(!1&t||f>=t)&&Object.keys(r.O).every((e=>r.O[e](c[n])))?c.splice(n--,1):(b=!1,t<f&&(f=t));if(b){e.splice(i--,1);var o=d();void 0!==o&&(a=o)}}return a}t=t||0;for(var i=e.length;i>0&&e[i-1][2]>t;i--)e[i]=e[i-1];e[i]=[c,d,t]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var t=Object.create(null);r.r(t);var f={};a=a||[null,c({}),c([]),c(c)];for(var b=2&d&&e;"object"==typeof b&&!~a.indexOf(b);b=c(b))Object.getOwnPropertyNames(b).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(t,f),t},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"js/"+({502:"vis-network",583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1606:"ban-page",1686:"default-subject-link",1721:"chyt",1830:"tablet-errors-by-bundle",2330:"query-visualization",2431:"yt-query-token",2736:"yt-df-dialog",2789:"settings-panel",2838:"yt-subject-suggest",2856:"incarnations",3543:"accounts",3800:"clickhouse-autocomplete",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",5910:"support-comonent",6457:"acl",6521:"navigation",6582:"bundles",6748:"app-navigation-page-layout",7204:"system",7432:"yql-autocomplete",7453:"operations",7700:"yt-queries-list",8261:"cluster-menu",8367:"cluster-page-wrapper",8389:"yt-user-suggest",8392:"yt-queries-graph",8398:"code-assistant-chat",8403:"tablet",8809:"users",8810:"yt-monaco-editor",9202:"chart-kit",9293:"yql-lang-clickhouse",9369:"yql-s-expressions",9999:"app-navigation"}[e]||e)+"."+{99:"bfd05def",131:"c3a6dfca",193:"48151baa",296:"4778eac1",330:"ee1822eb",339:"0a5d7d17",358:"242b21c4",385:"790c6e31",471:"a85a0c7d",491:"55c9c1d8",502:"e7fa4617",583:"22f05e2d",615:"4ecb0c60",660:"1d8a91ff",710:"a0e73d16",727:"e9b0ee20",759:"793319dd",803:"a606abcb",818:"6308d964",887:"c24e2738",894:"8caad366",897:"aff55e07",908:"fca7a202",945:"90703886",1005:"68861285",1040:"9fd7df83",1059:"4ba07df6",1069:"43b30898",1091:"16e99ec0",1100:"e38f29b2",1139:"24e70bbc",1234:"f42363b4",1267:"c9b6441c",1297:"9248beda",1306:"7f2aa880",1330:"1fb61143",1347:"895fae4f",1354:"c62c2023",1394:"cd472c38",1411:"818018dc",1472:"2a305c14",1501:"d4acddca",1502:"ea204e37",1539:"cee3def9",1591:"688abe5a",1606:"d03d9e4b",1649:"086af65f",1666:"646b56e9",1682:"87646748",1686:"37c4223e",1707:"82d676b8",1711:"3574f142",1717:"f950a245",1721:"4541561d",1816:"07a423da",1827:"3ebc9072",1830:"8ad908b4",1891:"92f57665",1903:"77f7a622",1909:"e0d47432",1924:"f8a5b214",1950:"1fa9d50d",1971:"5e4e164f",2066:"efd08c24",2113:"678a506e",2142:"27bbbca6",2145:"26a3a1a7",2152:"0eb05ac6",2159:"c85b4d0e",2177:"f1eb53df",2330:"a379ee67",2398:"5ba7ebb4",2431:"d2159352",2437:"2f6042e7",2445:"886d45a4",2520:"67584885",2531:"a4538af7",2597:"05de6bc7",2625:"ae922e75",2707:"d4879135",2736:"2e422b36",2787:"028e75ed",2789:"8eb1e9f1",2803:"172e4cec",2826:"53223ad1",2838:"c53f7558",2856:"5672a83c",2903:"8e20a263",2941:"e5661da9",2947:"99362c9f",3045:"87335fb6",3115:"946f14f3",3205:"87c8575d",3220:"6df08697",3224:"566ab13c",3260:"17de9c6b",3307:"fa857524",3323:"d07076a4",3349:"27e20ebd",3395:"0f7c5b70",3440:"c28221d5",3507:"658770d1",3543:"6757ce46",3555:"b2d83b6b",3559:"a9df47e9",3582:"fa2a037d",3602:"aa5fdb3a",3676:"9d3343d4",3680:"887fe07b",3687:"2719aba1",3688:"55bc9595",3729:"c6217cb9",3735:"103359c2",3762:"e6531d0a",3791:"41f56145",3795:"13f3756c",3800:"88fe8e11",3887:"a294402f",3903:"086debb2",3927:"8658a677",3941:"e57e81a4",3995:"c023a190",4011:"2ed47543",4059:"56602740",4062:"b04c3033",4066:"058dd95d",4077:"777cf284",4135:"976941a5",4163:"848e1939",4177:"09144838",4253:"1e48a7d8",4268:"18cff25a",4299:"a6d46124",4319:"b2034e31",4399:"8d183c1b",4427:"f1a9b9c1",4462:"2fd36c51",4479:"fb18fb14",4511:"47f0fb01",4514:"80e2ebb7",4526:"eab2c340",4529:"09f8837e",4533:"d1892084",4608:"677c77b7",4623:"25d9c172",4637:"643da5f5",4835:"5ce683a0",4883:"9387dbaf",4911:"22415ee6",4939:"5fcf3d97",4947:"beb8035e",4963:"91e8d70f",4994:"424f8d17",5020:"e0bc165d",5023:"499b6061",5065:"abd01e7a",5082:"6354b2bb",5083:"f93e3074",5150:"f3579a5d",5155:"3cc20899",5165:"c0cd9ccc",5179:"ac6b4ad3",5209:"5bc40204",5232:"82c8eab1",5251:"47224a5f",5254:"19176656",5338:"87545996",5366:"7d4737f7",5368:"320596e8",5427:"1eaba59f",5457:"460d7f42",5499:"a4c0af22",5528:"e6c5af3d",5558:"734c102f",5622:"9d48b6d9",5638:"bf2a3484",5670:"17719828",5684:"a9ec9818",5687:"5f68db30",5708:"0c872464",5713:"df27e596",5828:"15aab82c",5837:"c8b3c0e2",5893:"0c9c5b16",5910:"96d54c66",5995:"ed75324a",6013:"18b4dc82",6015:"82d07c89",6059:"cf1616b9",6090:"b65f853c",6116:"a6c2bf77",6141:"379ebb53",6291:"76b6a0f1",6457:"367ab70c",6490:"9336a64d",6521:"0f0c924d",6579:"6f12abf4",6582:"9f42ee6c",6637:"906dbd8a",6651:"cec0b064",6673:"c60fd751",6680:"8911e8c3",6695:"e81aca01",6748:"27364587",6755:"0f2985e1",6762:"654a9675",6787:"888f8603",6808:"782e22dc",6903:"48a3ac1d",6911:"4c7a66eb",6919:"93c59f8f",6947:"dbe00765",6967:"897d0ba1",7019:"112c597e",7040:"b9bca5ae",7155:"ea1c8634",7204:"575d664f",7288:"0b3eb96c",7299:"516f7586",7328:"4885f7ef",7347:"ce49f6c0",7398:"c6f7539e",7400:"39643435",7432:"8ef3592d",7437:"8867c6b6",7453:"660a5d96",7457:"01e18f6d",7487:"806424ce",7511:"a31b9867",7555:"860cf0fc",7556:"8b0cad28",7560:"e1e8b7d2",7639:"6b963013",7641:"db543334",7665:"4f34a901",7700:"0737c4ce",7731:"0bcf83b3",7741:"ea009ab1",7776:"b343bc40",7809:"de55b935",7826:"25dd23f0",7831:"3f5936c2",7880:"264ddf0b",7897:"8027951f",7949:"a25307c9",7950:"5dae42e9",8062:"c596abd2",8093:"850d3dca",8126:"ce4fd9f4",8209:"80a6008a",8228:"a815415e",8238:"b2c259fc",8243:"60f8394f",8261:"12b81f0b",8271:"dd67a7ef",8339:"623b1043",8344:"7bca5639",8367:"d9f0e479",8389:"8aff46dd",8392:"515d473f",8398:"4275144c",8403:"2b4d129d",8428:"2d11168e",8464:"4e4326dc",8477:"1973e742",8589:"32a004d3",8616:"705d2df4",8647:"75b3fb61",8658:"5034c250",8671:"80824ba6",8679:"44588757",8687:"f5e4aae7",8691:"88ffe9ee",8705:"668255ab",8809:"b88bf764",8810:"2d113a81",8840:"a3cac74f",8899:"023a1df9",8924:"a32d18d3",8959:"18cc100c",8967:"5436b2c1",8992:"cb20a007",9011:"2e4ed9aa",9021:"5acea4c0",9026:"b2d4637f",9084:"34b5348f",9130:"675cc05c",9137:"6e072c1c",9202:"819b87c3",9276:"6efcac14",9293:"7ef979ea",9331:"95a66019",9366:"f6a48377",9369:"052c3d01",9380:"ae551446",9385:"68e39c6d",9399:"26ca4c43",9486:"f02d846b",9520:"58d0e4dd",9539:"dff869cb",9585:"e53268dc",9651:"5f5a5f8e",9668:"85ab3fac",9676:"4ad744e3",9767:"ae7dfc5d",9860:"1b4d96c1",9949:"b6f56e7f",9963:"2121098b",9984:"5bca1bd2",9991:"feef4667",9999:"2b1f3c8b"}[e]+".chunk.js",r.miniCssF=e=>"css/"+({583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1686:"default-subject-link",1721:"chyt",1830:"tablet-errors-by-bundle",2330:"query-visualization",2431:"yt-query-token",2736:"yt-df-dialog",2789:"settings-panel",2838:"yt-subject-suggest",2856:"incarnations",3543:"accounts",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",6457:"acl",6521:"navigation",6582:"bundles",7204:"system",7700:"yt-queries-list",8261:"cluster-menu",8367:"cluster-page-wrapper",8392:"yt-queries-graph",8398:"code-assistant-chat",8403:"tablet",8809:"users",8810:"yt-monaco-editor",9202:"chart-kit",9999:"app-navigation"}[e]||e)+"."+{8:"83531caf",164:"bd885d6d",333:"4b28585f",355:"ad50faf9",385:"9a9f8fd5",430:"8f3cbfa2",536:"edb833f6",583:"ed9ded1f",590:"1d7b27ca",628:"1083837a",827:"72537d6b",840:"ed1b5557",914:"0cd5cbfe",937:"fc333f1d",945:"133a85d6",1040:"4dbdea2d",1051:"31218bba",1069:"ff0daf1f",1086:"4e1299a9",1139:"e56678a7",1234:"ec80e3a1",1286:"28283fbe",1524:"dd1c1470",1579:"4d7975b2",1686:"b01c2230",1721:"8ce4594f",1745:"4d611a67",1830:"888e2522",2209:"64fb2b0c",2330:"c20674d0",2431:"edf6eef6",2433:"5fca7517",2494:"c1d4b4fb",2640:"d9b5ab75",2642:"39e839f1",2695:"50dbc203",2701:"1f33539a",2736:"f064a9e8",2763:"41a2654d",2789:"e1c01fa0",2838:"83a90268",2856:"d2f8bbcc",3132:"62cd9c06",3266:"846c6dad",3320:"534b4c3f",3536:"a7c5fc99",3543:"81934ead",3776:"6ac6fea9",3872:"7e3f8eff",3996:"8ab522e4",4066:"27c08570",4108:"faab8511",4136:"51403a8c",4177:"ce6360d4",4428:"7d6ab38a",4433:"ada5f024",4533:"4a8b1ceb",4568:"a9e44788",4592:"687b04fa",4637:"9a74d930",4665:"ac9eb941",4724:"efc379fa",5152:"e5099a8f",5179:"8e3adcf7",5222:"d0292d2c",5232:"d3278f23",5242:"724eebe0",5292:"d5c1edb9",5346:"fbf9d1ad",5423:"526f744e",5473:"742685db",5606:"902e7de7",5670:"b77df5c1",5684:"825296a8",5883:"0c0e10fe",6030:"12ee181c",6052:"be19cc6a",6096:"997304bc",6110:"12e340fb",6277:"1d8405c8",6457:"902af0d9",6521:"52db90f0",6560:"aef2ade7",6582:"cd0ffa88",6756:"f4b7893d",7152:"7d94e720",7172:"9e242931",7204:"8f79cb5e",7315:"43229c12",7329:"9b2f8e00",7408:"29f0c961",7422:"8e39b464",7449:"66580cf7",7540:"b48a154e",7685:"e6132851",7700:"39d9dd99",7769:"f1c1f2e3",7916:"2efc5544",7954:"561934f0",7970:"c623c272",7999:"364df33c",8080:"e5a9a38d",8226:"7e8d395a",8261:"d8cafef3",8367:"c5126834",8392:"bcf236e7",8398:"12ac3bf4",8403:"02872701",8512:"2e9577a3",8632:"16fb4d31",8638:"cbb482c9",8678:"25156bf0",8809:"c7f945d8",8810:"f3c34bec",8976:"186bc5e9",9143:"f5d779f7",9202:"8f66d1ee",9641:"510c929d",9999:"6955071c"}[e]+".chunk.css",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},t="@ytsaurus/ui:",r.l=(e,a,c,f)=>{if(d[e])d[e].push(a);else{var b,n;if(void 0!==c)for(var o=document.getElementsByTagName("script"),i=0;i<o.length;i++){var s=o[i];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==t+c){b=s;break}}b||(n=!0,(b=document.createElement("script")).charset="utf-8",b.timeout=120,r.nc&&b.setAttribute("nonce",r.nc),b.setAttribute("data-webpack",t+c),b.src=e),d[e]=[a];var u=(a,c)=>{b.onerror=b.onload=null,clearTimeout(l);var t=d[e];if(delete d[e],b.parentNode&&b.parentNode.removeChild(b),t&&t.forEach((e=>e(c))),a)return a(c)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=u.bind(null,b.onerror),b.onload=u.bind(null,b.onload),n&&document.head.appendChild(b)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var a=r.g.document;if(!e&&a&&(a.currentScript&&"SCRIPT"===a.currentScript.tagName.toUpperCase()&&(e=a.currentScript.src),!e)){var c=a.getElementsByTagName("script");if(c.length)for(var d=c.length-1;d>-1&&(!e||!/^http(s?):/.test(e));)e=c[d--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e+"../"})(),(()=>{if("undefined"!=typeof document){var e={9121:0};r.f.miniCss=(a,c)=>{e[a]?c.push(e[a]):0!==e[a]&&{8:1,164:1,333:1,355:1,385:1,430:1,536:1,583:1,590:1,628:1,827:1,840:1,914:1,937:1,945:1,1040:1,1051:1,1069:1,1086:1,1139:1,1234:1,1286:1,1524:1,1579:1,1686:1,1721:1,1745:1,1830:1,2209:1,2330:1,2431:1,2433:1,2494:1,2640:1,2642:1,2695:1,2701:1,2736:1,2763:1,2789:1,2838:1,2856:1,3132:1,3266:1,3320:1,3536:1,3543:1,3776:1,3872:1,3996:1,4066:1,4108:1,4136:1,4177:1,4428:1,4433:1,4533:1,4568:1,4592:1,4637:1,4665:1,4724:1,5152:1,5179:1,5222:1,5232:1,5242:1,5292:1,5346:1,5423:1,5473:1,5606:1,5670:1,5684:1,5883:1,6030:1,6052:1,6096:1,6110:1,6277:1,6457:1,6521:1,6560:1,6582:1,6756:1,7152:1,7172:1,7204:1,7315:1,7329:1,7408:1,7422:1,7449:1,7540:1,7685:1,7700:1,7769:1,7916:1,7954:1,7970:1,7999:1,8080:1,8226:1,8261:1,8367:1,8392:1,8398:1,8403:1,8512:1,8632:1,8638:1,8678:1,8809:1,8810:1,8976:1,9143:1,9202:1,9641:1,9999:1}[a]&&c.push(e[a]=(e=>new Promise(((a,c)=>{var d=r.miniCssF(e),t=r.p+d;if(((e,a)=>{for(var c=document.getElementsByTagName("link"),d=0;d<c.length;d++){var t=(b=c[d]).getAttribute("data-href")||b.getAttribute("href");if("stylesheet"===b.rel&&(t===e||t===a))return b}var f=document.getElementsByTagName("style");for(d=0;d<f.length;d++){var b;if((t=(b=f[d]).getAttribute("data-href"))===e||t===a)return b}})(d,t))return a();((e,a,c,d,t)=>{var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",r.nc&&(f.nonce=r.nc),f.onerror=f.onload=c=>{if(f.onerror=f.onload=null,"load"===c.type)d();else{var b=c&&c.type,r=c&&c.target&&c.target.href||a,n=new Error("Loading CSS chunk "+e+" failed.\n("+b+": "+r+")");n.name="ChunkLoadError",n.code="CSS_CHUNK_LOAD_FAILED",n.type=b,n.request=r,f.parentNode&&f.parentNode.removeChild(f),t(n)}},f.href=a,document.head.appendChild(f)})(e,t,0,a,c)})))(a).then((()=>{e[a]=0}),(c=>{throw delete e[a],c})))}}})(),(()=>{var e={9121:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1([02]86|051|524|579|64|745)|2(6(40|42|95)|209|433|494|701|763)|3((26|53|77|99)6|132|320|33|55|872)|4((10|42|56)8|136|30|433|592|665|724)|5(2[249]2|(3|34|60)6|(42|47|88)3|152|90)|6(0(30|52|96)|110|277|28|560|756)|7(4(08|22|49)|9(16|54|70|99)|152|172|315|329|540|685|769)|8(6(32|38|78)||080|226|27|40|512|976)|9(1(21|4|43)|37|641))$/.test(a))e[a]=0;else{var t=new Promise(((c,t)=>d=e[a]=[c,t]));c.push(d[2]=t);var f=r.p+r.u(a),b=new Error;r.l(f,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var t=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;b.message="Loading chunk "+a+" failed.\n("+t+": "+f+")",b.name="ChunkLoadError",b.type=t,b.request=f,d[1](b)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,t,[f,b,n]=c,o=0;if(f.some((a=>0!==e[a]))){for(d in b)r.o(b,d)&&(r.m[d]=b[d]);if(n)var i=n(r)}for(a&&a(c);o<f.length;o++)t=f[o],r.o(e,t)&&e[t]&&e[t][0](),e[t]=0;return r.O(i)},c=self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
|
|
2
|
-
//# sourceMappingURL=runtime.
|
|
1
|
+
(()=>{"use strict";var e,a,c,d,t,f={},b={};function r(e){var a=b[e];if(void 0!==a)return a.exports;var c=b[e]={id:e,loaded:!1,exports:{}};return f[e].call(c.exports,c,c.exports,r),c.loaded=!0,c.exports}r.m=f,r.amdO={},e=[],r.O=(a,c,d,t)=>{if(!c){var f=1/0;for(i=0;i<e.length;i++){for(var[c,d,t]=e[i],b=!0,n=0;n<c.length;n++)(!1&t||f>=t)&&Object.keys(r.O).every((e=>r.O[e](c[n])))?c.splice(n--,1):(b=!1,t<f&&(f=t));if(b){e.splice(i--,1);var o=d();void 0!==o&&(a=o)}}return a}t=t||0;for(var i=e.length;i>0&&e[i-1][2]>t;i--)e[i]=e[i-1];e[i]=[c,d,t]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a}),a},c=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,d){if(1&d&&(e=this(e)),8&d)return e;if("object"==typeof e&&e){if(4&d&&e.__esModule)return e;if(16&d&&"function"==typeof e.then)return e}var t=Object.create(null);r.r(t);var f={};a=a||[null,c({}),c([]),c(c)];for(var b=2&d&&e;"object"==typeof b&&!~a.indexOf(b);b=c(b))Object.getOwnPropertyNames(b).forEach((a=>f[a]=()=>e[a]));return f.default=()=>e,r.d(t,f),t},r.d=(e,a)=>{for(var c in a)r.o(a,c)&&!r.o(e,c)&&Object.defineProperty(e,c,{enumerable:!0,get:a[c]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,c)=>(r.f[c](e,a),a)),[])),r.u=e=>"js/"+({502:"vis-network",583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1606:"ban-page",1686:"default-subject-link",1721:"chyt",1830:"tablet-errors-by-bundle",2330:"query-visualization",2431:"yt-query-token",2736:"yt-df-dialog",2789:"settings-panel",2838:"yt-subject-suggest",2856:"incarnations",3543:"accounts",3800:"clickhouse-autocomplete",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",5910:"support-comonent",6457:"acl",6521:"navigation",6582:"bundles",6748:"app-navigation-page-layout",7204:"system",7432:"yql-autocomplete",7453:"operations",7700:"yt-queries-list",8261:"cluster-menu",8367:"cluster-page-wrapper",8389:"yt-user-suggest",8392:"yt-queries-graph",8398:"code-assistant-chat",8403:"tablet",8809:"users",8810:"yt-monaco-editor",9202:"chart-kit",9293:"yql-lang-clickhouse",9369:"yql-s-expressions",9999:"app-navigation"}[e]||e)+"."+{99:"bfd05def",131:"c3a6dfca",193:"48151baa",296:"4778eac1",330:"ee1822eb",339:"0a5d7d17",358:"242b21c4",385:"790c6e31",471:"a85a0c7d",491:"55c9c1d8",502:"e7fa4617",583:"22f05e2d",615:"4ecb0c60",660:"1d8a91ff",710:"a0e73d16",727:"e9b0ee20",759:"793319dd",803:"a606abcb",818:"6308d964",887:"c24e2738",894:"8caad366",897:"aff55e07",908:"fca7a202",945:"90703886",1005:"68861285",1040:"9fd7df83",1059:"4ba07df6",1069:"893e96af",1091:"16e99ec0",1100:"e38f29b2",1139:"24e70bbc",1234:"f42363b4",1267:"c9b6441c",1297:"9248beda",1306:"7f2aa880",1330:"1fb61143",1347:"895fae4f",1354:"c62c2023",1394:"cd472c38",1411:"818018dc",1422:"2980037b",1472:"2a305c14",1501:"d4acddca",1502:"ea204e37",1539:"cee3def9",1591:"688abe5a",1606:"d03d9e4b",1649:"086af65f",1666:"646b56e9",1682:"87646748",1686:"37c4223e",1707:"82d676b8",1711:"3574f142",1717:"f950a245",1721:"4541561d",1816:"07a423da",1827:"3ebc9072",1830:"8ad908b4",1891:"92f57665",1903:"77f7a622",1909:"e0d47432",1924:"f8a5b214",1950:"1fa9d50d",1971:"5e4e164f",2066:"efd08c24",2113:"678a506e",2145:"26a3a1a7",2152:"0eb05ac6",2159:"c85b4d0e",2177:"f1eb53df",2330:"a379ee67",2398:"5ba7ebb4",2431:"d2159352",2437:"2f6042e7",2445:"886d45a4",2520:"67584885",2531:"a4538af7",2597:"05de6bc7",2625:"ae922e75",2707:"d4879135",2736:"2e422b36",2787:"028e75ed",2789:"8eb1e9f1",2803:"172e4cec",2826:"53223ad1",2838:"c53f7558",2856:"5672a83c",2903:"8e20a263",2941:"e5661da9",2947:"99362c9f",3045:"87335fb6",3115:"946f14f3",3205:"87c8575d",3220:"6df08697",3224:"566ab13c",3260:"17de9c6b",3307:"fa857524",3323:"d07076a4",3349:"27e20ebd",3395:"0f7c5b70",3440:"c28221d5",3507:"658770d1",3543:"6757ce46",3555:"b2d83b6b",3559:"a9df47e9",3582:"fa2a037d",3602:"aa5fdb3a",3676:"9d3343d4",3680:"887fe07b",3687:"2719aba1",3688:"55bc9595",3729:"c6217cb9",3735:"103359c2",3762:"e6531d0a",3791:"41f56145",3795:"13f3756c",3800:"88fe8e11",3887:"a294402f",3903:"086debb2",3927:"8658a677",3941:"e57e81a4",3995:"c023a190",4011:"2ed47543",4059:"56602740",4062:"b04c3033",4066:"058dd95d",4077:"777cf284",4135:"976941a5",4163:"848e1939",4177:"09144838",4253:"9c5e22a8",4268:"18cff25a",4299:"a6d46124",4319:"b2034e31",4399:"8d183c1b",4427:"f1a9b9c1",4462:"2fd36c51",4479:"fb18fb14",4511:"47f0fb01",4514:"80e2ebb7",4526:"eab2c340",4529:"09f8837e",4533:"d1892084",4608:"677c77b7",4623:"25d9c172",4637:"643da5f5",4835:"5ce683a0",4883:"9387dbaf",4911:"22415ee6",4939:"5fcf3d97",4947:"beb8035e",4963:"91e8d70f",4994:"424f8d17",5020:"e0bc165d",5023:"499b6061",5065:"abd01e7a",5082:"6354b2bb",5083:"f93e3074",5150:"f3579a5d",5155:"3cc20899",5165:"c0cd9ccc",5179:"ac6b4ad3",5209:"5bc40204",5232:"82c8eab1",5251:"47224a5f",5254:"19176656",5338:"87545996",5366:"7d4737f7",5368:"320596e8",5427:"1eaba59f",5457:"460d7f42",5499:"a4c0af22",5528:"e6c5af3d",5558:"734c102f",5622:"9d48b6d9",5638:"bf2a3484",5670:"2a1efcb7",5684:"a9ec9818",5687:"5f68db30",5708:"0c872464",5713:"df27e596",5828:"15aab82c",5837:"c8b3c0e2",5893:"0c9c5b16",5910:"96d54c66",5995:"ed75324a",6013:"18b4dc82",6015:"82d07c89",6059:"cf1616b9",6090:"b65f853c",6116:"a6c2bf77",6141:"379ebb53",6291:"76b6a0f1",6457:"367ab70c",6490:"9336a64d",6521:"0f0c924d",6579:"6f12abf4",6582:"9f42ee6c",6637:"906dbd8a",6651:"cec0b064",6673:"c60fd751",6680:"8911e8c3",6695:"e81aca01",6748:"27364587",6755:"0f2985e1",6762:"654a9675",6787:"888f8603",6808:"782e22dc",6903:"48a3ac1d",6911:"4c7a66eb",6919:"93c59f8f",6947:"dbe00765",6967:"897d0ba1",7019:"112c597e",7040:"b9bca5ae",7155:"ea1c8634",7204:"575d664f",7288:"0b3eb96c",7299:"516f7586",7328:"4885f7ef",7347:"ce49f6c0",7398:"c6f7539e",7400:"39643435",7432:"8ef3592d",7437:"8867c6b6",7453:"660a5d96",7457:"01e18f6d",7487:"806424ce",7511:"a31b9867",7555:"860cf0fc",7556:"8b0cad28",7560:"e1e8b7d2",7639:"6b963013",7641:"db543334",7665:"4f34a901",7700:"3fb2ae8e",7731:"0bcf83b3",7741:"ea009ab1",7776:"b343bc40",7809:"de55b935",7826:"25dd23f0",7831:"3f5936c2",7880:"264ddf0b",7897:"8027951f",7949:"a25307c9",7950:"5dae42e9",8062:"c596abd2",8093:"850d3dca",8126:"ce4fd9f4",8209:"80a6008a",8228:"a815415e",8238:"b2c259fc",8243:"60f8394f",8261:"12b81f0b",8271:"dd67a7ef",8339:"623b1043",8344:"7bca5639",8367:"7ee2ebb7",8389:"8aff46dd",8392:"515d473f",8398:"4275144c",8403:"2b4d129d",8428:"2d11168e",8464:"4e4326dc",8477:"1973e742",8589:"32a004d3",8616:"705d2df4",8647:"75b3fb61",8658:"5034c250",8671:"80824ba6",8679:"44588757",8687:"f5e4aae7",8691:"88ffe9ee",8705:"668255ab",8809:"b88bf764",8810:"2d113a81",8840:"a3cac74f",8899:"023a1df9",8924:"a32d18d3",8959:"18cc100c",8967:"5436b2c1",8992:"cb20a007",9011:"2e4ed9aa",9021:"5acea4c0",9026:"b2d4637f",9084:"34b5348f",9130:"675cc05c",9137:"6e072c1c",9202:"819b87c3",9276:"6efcac14",9293:"7ef979ea",9331:"95a66019",9366:"f6a48377",9369:"052c3d01",9380:"ae551446",9385:"68e39c6d",9399:"26ca4c43",9486:"f02d846b",9520:"58d0e4dd",9539:"dff869cb",9585:"e53268dc",9651:"5f5a5f8e",9668:"85ab3fac",9676:"4ad744e3",9767:"ae7dfc5d",9860:"1b4d96c1",9949:"b6f56e7f",9963:"2121098b",9984:"5bca1bd2",9991:"feef4667",9999:"2b1f3c8b"}[e]+".chunk.js",r.miniCssF=e=>"css/"+({583:"groups",945:"dashboard",1040:"query-navigation",1069:"scheduling",1139:"odin",1234:"navigation-flow",1686:"default-subject-link",1721:"chyt",1830:"tablet-errors-by-bundle",2330:"query-visualization",2431:"yt-query-token",2736:"yt-df-dialog",2789:"settings-panel",2838:"yt-subject-suggest",2856:"incarnations",3543:"accounts",4066:"query-widget",4177:"path-viewer",4533:"vcs",4637:"manage-tokens",5179:"components",5670:"query-tracker",5684:"job",6457:"acl",6521:"navigation",6582:"bundles",7204:"system",7700:"yt-queries-list",8261:"cluster-menu",8367:"cluster-page-wrapper",8392:"yt-queries-graph",8398:"code-assistant-chat",8403:"tablet",8809:"users",8810:"yt-monaco-editor",9202:"chart-kit",9999:"app-navigation"}[e]||e)+"."+{8:"83531caf",164:"bd885d6d",333:"4b28585f",355:"ad50faf9",385:"9a9f8fd5",430:"8f3cbfa2",536:"edb833f6",583:"ed9ded1f",590:"1d7b27ca",628:"1083837a",827:"72537d6b",840:"ed1b5557",914:"0cd5cbfe",937:"fc333f1d",945:"133a85d6",1040:"4dbdea2d",1051:"31218bba",1069:"ff0daf1f",1086:"4e1299a9",1139:"e56678a7",1234:"ec80e3a1",1286:"28283fbe",1524:"dd1c1470",1579:"4d7975b2",1686:"b01c2230",1721:"8ce4594f",1745:"4d611a67",1830:"888e2522",2209:"64fb2b0c",2330:"c20674d0",2431:"edf6eef6",2433:"5fca7517",2494:"c1d4b4fb",2640:"d9b5ab75",2642:"39e839f1",2695:"50dbc203",2701:"1f33539a",2736:"f064a9e8",2763:"41a2654d",2789:"e1c01fa0",2838:"83a90268",2856:"d2f8bbcc",3132:"62cd9c06",3266:"846c6dad",3320:"534b4c3f",3536:"a7c5fc99",3543:"81934ead",3776:"6ac6fea9",3872:"7e3f8eff",3996:"8ab522e4",4066:"27c08570",4108:"faab8511",4136:"51403a8c",4177:"ce6360d4",4428:"7d6ab38a",4433:"ada5f024",4533:"4a8b1ceb",4568:"a9e44788",4592:"687b04fa",4637:"9a74d930",4665:"ac9eb941",4724:"efc379fa",5152:"e5099a8f",5179:"8e3adcf7",5222:"d0292d2c",5232:"d3278f23",5242:"724eebe0",5292:"d5c1edb9",5346:"fbf9d1ad",5423:"526f744e",5473:"742685db",5606:"902e7de7",5670:"b77df5c1",5684:"825296a8",5883:"0c0e10fe",6030:"12ee181c",6052:"be19cc6a",6096:"997304bc",6110:"12e340fb",6277:"1d8405c8",6457:"902af0d9",6521:"52db90f0",6560:"aef2ade7",6582:"cd0ffa88",6756:"f4b7893d",7152:"7d94e720",7172:"9e242931",7204:"8f79cb5e",7315:"43229c12",7329:"9b2f8e00",7408:"29f0c961",7422:"8e39b464",7449:"66580cf7",7540:"b48a154e",7685:"e6132851",7700:"39d9dd99",7769:"f1c1f2e3",7916:"2efc5544",7954:"561934f0",7970:"c623c272",7999:"364df33c",8080:"e5a9a38d",8226:"7e8d395a",8261:"d8cafef3",8367:"c5126834",8392:"bcf236e7",8398:"12ac3bf4",8403:"02872701",8512:"2e9577a3",8632:"16fb4d31",8638:"cbb482c9",8678:"25156bf0",8809:"c7f945d8",8810:"f3c34bec",8976:"186bc5e9",9143:"f5d779f7",9202:"8f66d1ee",9641:"510c929d",9999:"6955071c"}[e]+".chunk.css",r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),d={},t="@ytsaurus/ui:",r.l=(e,a,c,f)=>{if(d[e])d[e].push(a);else{var b,n;if(void 0!==c)for(var o=document.getElementsByTagName("script"),i=0;i<o.length;i++){var s=o[i];if(s.getAttribute("src")==e||s.getAttribute("data-webpack")==t+c){b=s;break}}b||(n=!0,(b=document.createElement("script")).charset="utf-8",b.timeout=120,r.nc&&b.setAttribute("nonce",r.nc),b.setAttribute("data-webpack",t+c),b.src=e),d[e]=[a];var u=(a,c)=>{b.onerror=b.onload=null,clearTimeout(l);var t=d[e];if(delete d[e],b.parentNode&&b.parentNode.removeChild(b),t&&t.forEach((e=>e(c))),a)return a(c)},l=setTimeout(u.bind(null,void 0,{type:"timeout",target:b}),12e4);b.onerror=u.bind(null,b.onerror),b.onload=u.bind(null,b.onload),n&&document.head.appendChild(b)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),(()=>{var e;r.g.importScripts&&(e=r.g.location+"");var a=r.g.document;if(!e&&a&&(a.currentScript&&"SCRIPT"===a.currentScript.tagName.toUpperCase()&&(e=a.currentScript.src),!e)){var c=a.getElementsByTagName("script");if(c.length)for(var d=c.length-1;d>-1&&(!e||!/^http(s?):/.test(e));)e=c[d--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),r.p=e+"../"})(),(()=>{if("undefined"!=typeof document){var e={9121:0};r.f.miniCss=(a,c)=>{e[a]?c.push(e[a]):0!==e[a]&&{8:1,164:1,333:1,355:1,385:1,430:1,536:1,583:1,590:1,628:1,827:1,840:1,914:1,937:1,945:1,1040:1,1051:1,1069:1,1086:1,1139:1,1234:1,1286:1,1524:1,1579:1,1686:1,1721:1,1745:1,1830:1,2209:1,2330:1,2431:1,2433:1,2494:1,2640:1,2642:1,2695:1,2701:1,2736:1,2763:1,2789:1,2838:1,2856:1,3132:1,3266:1,3320:1,3536:1,3543:1,3776:1,3872:1,3996:1,4066:1,4108:1,4136:1,4177:1,4428:1,4433:1,4533:1,4568:1,4592:1,4637:1,4665:1,4724:1,5152:1,5179:1,5222:1,5232:1,5242:1,5292:1,5346:1,5423:1,5473:1,5606:1,5670:1,5684:1,5883:1,6030:1,6052:1,6096:1,6110:1,6277:1,6457:1,6521:1,6560:1,6582:1,6756:1,7152:1,7172:1,7204:1,7315:1,7329:1,7408:1,7422:1,7449:1,7540:1,7685:1,7700:1,7769:1,7916:1,7954:1,7970:1,7999:1,8080:1,8226:1,8261:1,8367:1,8392:1,8398:1,8403:1,8512:1,8632:1,8638:1,8678:1,8809:1,8810:1,8976:1,9143:1,9202:1,9641:1,9999:1}[a]&&c.push(e[a]=(e=>new Promise(((a,c)=>{var d=r.miniCssF(e),t=r.p+d;if(((e,a)=>{for(var c=document.getElementsByTagName("link"),d=0;d<c.length;d++){var t=(b=c[d]).getAttribute("data-href")||b.getAttribute("href");if("stylesheet"===b.rel&&(t===e||t===a))return b}var f=document.getElementsByTagName("style");for(d=0;d<f.length;d++){var b;if((t=(b=f[d]).getAttribute("data-href"))===e||t===a)return b}})(d,t))return a();((e,a,c,d,t)=>{var f=document.createElement("link");f.rel="stylesheet",f.type="text/css",r.nc&&(f.nonce=r.nc),f.onerror=f.onload=c=>{if(f.onerror=f.onload=null,"load"===c.type)d();else{var b=c&&c.type,r=c&&c.target&&c.target.href||a,n=new Error("Loading CSS chunk "+e+" failed.\n("+b+": "+r+")");n.name="ChunkLoadError",n.code="CSS_CHUNK_LOAD_FAILED",n.type=b,n.request=r,f.parentNode&&f.parentNode.removeChild(f),t(n)}},f.href=a,document.head.appendChild(f)})(e,t,0,a,c)})))(a).then((()=>{e[a]=0}),(c=>{throw delete e[a],c})))}}})(),(()=>{var e={9121:0};r.f.j=(a,c)=>{var d=r.o(e,a)?e[a]:void 0;if(0!==d)if(d)c.push(d[2]);else if(/^(1([02]86|051|524|579|64|745)|2(6(40|42|95)|209|433|494|701|763)|3((26|53|77|99)6|132|320|33|55|872)|4((10|42|56)8|136|30|433|592|665|724)|5(2[249]2|(3|34|60)6|(42|47|88)3|152|90)|6(0(30|52|96)|110|277|28|560|756)|7(4(08|22|49)|9(16|54|70|99)|152|172|315|329|540|685|769)|8(6(32|38|78)||080|226|27|40|512|976)|9(1(21|4|43)|37|641))$/.test(a))e[a]=0;else{var t=new Promise(((c,t)=>d=e[a]=[c,t]));c.push(d[2]=t);var f=r.p+r.u(a),b=new Error;r.l(f,(c=>{if(r.o(e,a)&&(0!==(d=e[a])&&(e[a]=void 0),d)){var t=c&&("load"===c.type?"missing":c.type),f=c&&c.target&&c.target.src;b.message="Loading chunk "+a+" failed.\n("+t+": "+f+")",b.name="ChunkLoadError",b.type=t,b.request=f,d[1](b)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,c)=>{var d,t,[f,b,n]=c,o=0;if(f.some((a=>0!==e[a]))){for(d in b)r.o(b,d)&&(r.m[d]=b[d]);if(n)var i=n(r)}for(a&&a(c);o<f.length;o++)t=f[o],r.o(e,t)&&e[t]&&e[t][0](),e[t]=0;return r.O(i)},c=self.webpackChunk_ytsaurus_ui=self.webpackChunk_ytsaurus_ui||[];c.forEach(a.bind(null,0)),c.push=a.bind(null,c.push.bind(c))})()})();
|
|
2
|
+
//# sourceMappingURL=runtime.42f2261f.js.map
|