PageSourceSearch

https://borserebro.ru/assets/apartment-floor-selector-BIHtigjD.js

js borserebro.ru collected 2026-10-01 04:28:42 UTC 76,410 bytes, 56 lines download raw bytes

1import{bI as Xe,r as g,j as c,ar as Ct,L as Ae,a8 as Pe,l as oe,au as ri,av as ni,aF as oi,cj as ai,bw as ut,bu as si,aR as li,b4 as ui,b3 as Ne,aK as kt,aM as di,a7 as ci,bm as Et,bn as ye,X as je,h as fi,a6 as mi,a9 as pi,m as He,ad as dt,ck as vi,e as hi,S as Fe,b5 as gi,u as bi,an as yi,b as Be,g as wi,C as Si}from"./index-CMqj2Al3.js";import{Z as xi,a as Pi}from"./zoom-out-BUVy6KnP.js";import{g as ct,d as Ci}from"./discount-display-B6Eey6YP.js";import{C as ki}from"./clock-D3IH-vol.js";import{Z as Ei}from"./zap-GbPrasIU.js";import{T as Ti}from"./tag-DfpEZh13.js";import{I as Tt}from"./info-cnokKCSI.js";import{a as Ni,m as _i,i as Ai}from"./onboarding-store-BMmCnk14.js";import{a as ji}from"./group-duplex-apartments-t4v-4l-o.js";import{p as Yi,n as Xi,l as ft}from"./mobile-return-stack-BmcefHlU.js";import{R as mt}from"./refresh-cw-Cdw-0-8b.js";import"./mouse-pointer-2-DkMvBE77.js";var ve=function(e,r){return Number(e.toFixed(r))},Mi=function(e,r){return typeof e=="number"?e:r},D=function(e,r,t){t&&typeof t=="function"&&t(e,r)},Di=function(e){return-Math.cos(e*Math.PI)/2+.5},zi=function(e){return e},Oi=function(e){return e*e},Wi=function(e){return e*(2-e)},Ri=function(e){return e<.5?2*e*e:-1+(4-2*e)*e},Hi=function(e){return e*e*e},Fi=function(e){return--e*e*e+1},Bi=function(e){return e<.5?4*e*e*e:(e-1)*(2*e-2)*(2*e-2)+1},Li=function(e){return e*e*e*e},Zi=function(e){return 1- --e*e*e*e},Ki=function(e){return e<.5?8*e*e*e*e:1-8*--e*e*e*e},Vi=function(e){return e*e*e*e*e},$i=function(e){return 1+--e*e*e*e*e},Ui=function(e){return e<.5?16*e*e*e*e*e:1+16*--e*e*e*e*e},Nt={easeOut:Di,linear:zi,easeInQuad:Oi,easeOutQuad:Wi,easeInOutQuad:Ri,easeInCubic:Hi,easeOutCubic:Fi,easeInOutCubic:Bi,easeInQuart:Li,easeOutQuart:Zi,easeInOutQuart:Ki,easeInQuint:Vi,easeOutQuint:$i,easeInOutQuint:Ui},_t=function(e){typeof e=="number"&&cancelAnimationFrame(e)},ae=function(e){e.mounted&&(_t(e.animation),e.isAnimating=!1,e.animation=null,e.velocity=null)};function At(e,r,t,i){if(e.mounted){var n=new Date().getTime(),o=1;ae(e),e.animation=function(){if(!e.mounted)return _t(e.animation);var a=new Date().getTime()-n,s=a/t,l=Nt[r],u=l(s);a>=t?(i(o),e.animation=null):e.animation&&(i(u),requestAnimationFrame(e.animation))},requestAnimationFrame(e.animation)}}function Qi(e){var r=e.scale,t=e.positionX,i=e.positionY;return!(Number.isNaN(r)||Number.isNaN(t)||Number.isNaN(i))}function me(e,r,t,i){var n=Qi(r);if(!(!e.mounted||!n)){var o=e.setState,a=e.state,s=a.scale,l=a.positionX,u=a.positionY,d=r.scale-s,f=r.positionX-l,p=r.positionY-u;t===0?o(r.scale,r.positionX,r.positionY):At(e,i,t,function(h){h!==1?e.isAnimating=!0:e.isAnimating=!1;var m=s+d*h,v=l+f*h,y=u+p*h;o(m,v,y)})}}function qi(e,r,t){var i=e.offsetWidth,n=e.offsetHeight,o=r.offsetWidth,a=r.offsetHeight,s=o*t,l=a*t,u=i-s,d=n-l;
1return{wrapperWidth:i,wrapperHeight:n,newContentWidth:s,newDiffWidth:u,newContentHeight:l,newDiffHeight:d}}var Gi=function(e,r,t,i,n,o,a){var s=e>r?t*(a?.5:1):0,l=i>n?o*(a?.5:1):0,u=e-r-s,d=s,f=i-n-l,p=l;return{minPositionX:u,maxPositionX:d,minPositionY:f,maxPositionY:p,scaleWidthFactor:s,scaleHeightFactor:l}},Ie=function(e,r){var t=e.wrapperComponent,i=e.contentComponent,n=e.setup,o=n.centerZoomedOut,a=n.disablePadding;if(!t||!i)throw new Error("Components are not mounted");var s=qi(t,i,r),l=s.wrapperWidth,u=s.wrapperHeight,d=s.newContentWidth,f=s.newContentHeight,p=s.newDiffWidth,h=s.newDiffHeight,m=Gi(l,d,p,u,f,h,!!o),v=l>=d&&u>=f;a&&v&&!o&&(m.minPositionX=0,m.maxPositionX=0,m.minPositionY=0,m.maxPositionY=0);var y=e.setup,x=y.minPositionX,k=y.maxPositionX,E=y.minPositionY,T=y.maxPositionY;return x!=null&&(m.minPositionX=l*(1-r)+x*r),k!=null&&(m.maxPositionX=k*r),E!=null&&(m.minPositionY=u*(1-r)+E*r),T!=null&&(m.maxPositionY=T*r),m},Se=function(e,r,t,i){return i?e<r?ve(r,2):e>t?ve(t,2):ve(e,2):ve(e,2)},he=function(e,r){var t=Ie(e,r);return e.bounds=t,t};function Ce(e,r,t,i,n,o,a){var s=t.minPositionX,l=t.minPositionY,u=t.maxPositionX,d=t.maxPositionY,f=0,p=0;a&&(f=n,p=o);var h=Se(e,s-f,u+f,i),m=Se(r,l-p,d+p,i);return{x:h,y:m}}function Me(e,r,t,i,n,o){var a=e.state,s=a.scale,l=a.positionX,u=a.positionY,d=i-s;if(typeof r!="number"||typeof t!="number")return console.error("Mouse X and Y position were not provided!"),{x:l,y:u};var f=l-r*d,p=u-t*d,h=Ce(f,p,n,o,0,0,null);return h}var pt=1e-7;function ke(e,r,t,i,n){var o=n?i:0,a=Math.max(r-o,pt),s=t+o;return!Number.isNaN(t)&&e>=s?s:!Number.isNaN(r)&&e<=a?a:Math.max(e,pt)}var vt=function(e,r){var t=e.setup.panning.excluded,i=e.isInitialized,n=e.wrapperComponent,o=r.target,a="shadowRoot"in o&&"composedPath"in r,s=a?r.composedPath().some(function(d){return d instanceof Element?n==null?void 0:n.contains(d):!1}):n==null?void 0:n.contains(o),l=i&&o&&s;if(!l)return!1;var u=Ee(o,t);return!(u||o.getAttribute("draggable")==="true"||o.getAttribute("contenteditable")==="true"||o.isContentEditable)},ht=function(e){var r=e.isInitialized,t=e.isPanning,i=e.setup,n=i.panning.disabled,o=r&&t&&!n;return!!o},Ji=function(e,r){var t=e.state,i=t.positionX,n=t.positionY;e.isPanning=!0;var o=r.clientX,a=r.clientY;e.startCoords={x:o-i,y:a-n}},Ii=function(e,r){var t=r.touches,i=e.state,n=i.positionX,o=i.positionY;e.isPanning=!0;var a=t.length===1;if(a){var s=t[0].clientX,l=t[0].clientY;e.startCoords={x:s-n,y:l-o}}};function er(e){var r=e.state,t=r.positionX,i=r.positionY,n=r.scale,o=e.setup,a=o.disabled,s=o.limitToBounds,l=o.centerZoomedOut,u=e.wrapperComponent;if(!(a||!u||!e.bounds)){var d=e.bounds,f=d.maxPositionX,p=d.minPositionX,h=d.maxPositionY,m=d.minPositionY,v=t>f||t<p,y=i>h||i<m,x=t>f?u.offsetWidth:e.setup.minPositionX||0,k=i>h?u.offsetHeight:e.setup.minPositionY||0,E=Me(e,x,k,n,e.bounds,s||l),T=E.x,A=E.y;return{scale:n,positionX:v?T:t,positionY:y?A:i}}}function jt(e,r,t,i,n){var o=e.setup.limitToBounds,a=e.wrapperComponent,s=e.bounds,l=e.state,u=l.scale,d=l.positionX,f=l.positionY;if(!(a===null||s===null||r===d&&t===f)){var p=Ce(r,t,s,o,i,n,a),h=p.x,m=p.y;e.setState(u,h,m)}}var tr=function(e,r,t){var i=e.startCoords,n=e.state,o=e.setup.panning,a=o.lockAxisX,s=o.lockAxisY,l=n.positionX,u=n.positionY;if(!i)return{x:l,y:u};var d=r-i.x,f=t-i.y,p=a?l:d,h=s?u:f;return{x:p,y:h}},fe=function(e,r,t){var i=e.setup,n=e.state,o=i.minScale,a=i.disablePadding,s=i.centerZoomedOut,l=t!=null?t:n.scale;return r>0&&l>=o&&!a&&!s?r:0},ce;(function(e){e.TRACK_PAD="track_pad",e.MOUSE="mouse",e.TOUCH="touch"})(ce||(ce={}));var ir=function(e){var r=e.mounted,t=e.wrapperComponent,i=e.contentComponent,n=e.setup,o=n.disabled,a=n.velocityAnimation,s=n.limitToBounds,l=e.state.scale,u=a.disabled;if(u||o||!r||!t||!i)return!1;if(!s)return!0;var d=t.offsetWidth<i.offsetWidth*l||t.offsetHeight<i.offsetHeight*l;return d},rr=function(e){var r=e.mounted,t=e.velocity,i=e.bounds,n=e.setup,o=n.disabled,a=n.velocityAnimation,s=a.disabled,l=!s&&!o&&r;return!(!l||!t||!i)};function nr(e,r){var t=e.setup.velocityAnimation,i=t.animationTime,n=t.maxAnimationTime,o=t.inertia;return Math.min(i*Math.max(1,Math.abs(r/o)),n)}function gt(e,r,t,i,n,o,a,s,l,u){if(n){if(r>a&&t>a){var d=a+(e-a)*u;return d>l?l:d<a?a:d}
1if(r<o&&t<o){var d=o+(e-o)*u;return d<s?s:d>o?o:d}}return i?r:Se(e,o,a,n)}function or(e){var r=1,t=e.offsetWidth/window.innerWidth;return Number.isNaN(t)?r:Math.min(r,t)}var Le=function(e,r,t){var i=0,n=e*t;return Number.isNaN(n)?i:e<0?Math.max(n,-r):Math.min(n,r)};function ar(e,r,t){var i,n,o=ir(e);if(o){var a=e.lastMousePosition,s=e.velocityTime,l=e.setup,u=e.wrapperComponent,d=l.velocityAnimation,f=d.maxStrengthMouse,p=d.maxStrengthTouch,h=d.sensitivityTouch,m=d.sensitivityMouse,v=Date.now();if(a&&s&&u){var y=or(u),x=(i={},i[ce.TOUCH]=h,i[ce.MOUSE]=m,i)[t],k=(n={},n[ce.TOUCH]=p,n[ce.MOUSE]=f,n)[t],E=r.x-a.x,T=r.y-a.y,A=Le(E/y,k,x),j=Le(T/y,k,x),O=v-s,N=E*E+T*T,w=Le(Math.sqrt(N)/O,k,x);e.velocity={velocityX:A,velocityY:j,total:w}}e.lastMousePosition=r,e.velocityTime=v}}function sr(e){var r=e.velocity,t=e.bounds,i=e.setup,n=e.wrapperComponent,o=rr(e);if(!(!o||!r||!t||!n)){var a=r.velocityX,s=r.velocityY,l=r.total,u=t.maxPositionX,d=t.minPositionX,f=t.maxPositionY,p=t.minPositionY,h=i.limitToBounds,m=i.autoAlignment,v=i.zoomAnimation,y=i.panning,x=y.lockAxisY,k=y.lockAxisX,E=v.animationType,T=m.sizeX,A=m.sizeY,j=m.velocityAlignmentTime,O=j,N=nr(e,l),w=Math.max(N,O),C=fe(e,T),_=fe(e,A),X=C*n.offsetWidth/100,z=_*n.offsetHeight/100,$=u+X,I=d-X,G=f+z,se=p-z,U=e.state,le=new Date().getTime();At(e,E,w,function(re){var ee=e.state,ue=ee.scale,Q=ee.positionX,ne=ee.positionY,W=new Date().getTime()-le,J=W/O,S=Nt[m.animationType],P=1-S(Math.min(1,J)),F=1-re,B=Q+a*F,K=ne+s*F,H=gt(B,U.positionX,Q,k,h,d,u,I,$,P),R=gt(K,U.positionY,ne,x,h,p,f,se,G,P);if(Q!==B||ne!==K){e.setState(ue,H,R);var L=e.props.onPanning;L&&L(M(e),{})}})}}function bt(e,r){var t=e.state,i=t.scale,n=t.positionX,o=t.positionY;e.panStartPosition={x:n,y:o},ae(e),he(e,i),window.TouchEvent!==void 0&&r instanceof TouchEvent?Ii(e,r):Ji(e,r)}function Yt(e,r){var t=e.state.scale,i=e.setup,n=i.minScale,o=i.autoAlignment,a=o.disabled,s=o.sizeX,l=o.sizeY,u=o.animationTime,d=o.animationType,f=a||t<n||!s&&!l;if(!f){var p=er(e);p&&me(e,p,u,d)}}function yt(e,r,t,i){var n=e.startCoords,o=e.setup,a=o.autoAlignment,s=a.sizeX,l=a.sizeY;if(n){var u=tr(e,r,t),d=u.x,f=u.y,p=fe(e,s),h=fe(e,l);ar(e,{x:d,y:f},i),jt(e,d,f,p,h)}}function lr(e,r){if(e.isPanning){var t=e.velocity,i=e.wrapperComponent,n=e.contentComponent;e.isPanning=!1;var o=e.state,a=o.positionX,s=o.positionY,l=o.scale,u=e.panStartPosition;if(e.panStartPosition=null,u){var d=a-u.x,f=s-u.y;if(d*d+f*f<=25)return}e.isAnimating=!1,e.animation=null;var p=(i==null?void 0:i.offsetWidth)||0,h=(i==null?void 0:i.offsetHeight)||0,m=((n==null?void 0:n.offsetWidth)||0)*l,v=((n==null?void 0:n.offsetHeight)||0)*l,y=!e.setup.limitToBounds||p<m||h<v,x=!r&&t&&t.total>.1&&y;x?sr(e):Yt(e)}}function et(e,r,t,i){var n=e.setup,o=n.minScale,a=n.maxScale,s=n.limitToBounds,l=ke(ve(r,2),o,a,0,!1),u=he(e,l),d=Me(e,t,i,l,u,s),f=d.x,p=d.y;return{scale:l,positionX:f,positionY:p}}function tt(e,r,t){var i=e.state.scale,n=e.wrapperComponent,o=e.setup,a=o.minScale,s=o.maxScale,l=o.limitToBounds,u=o.zoomAnimation,d=u.disabled,f=u.animationTime,p=u.animationType,h=i>=a&&i<=s,m=d||h;if((i>=1||l)&&Yt(e),!(m||!n||!e.mounted)){var v=r||n.offsetWidth/2,y=t||n.offsetHeight/2,x=i<a?a:s,k=et(e,x,v,y);k&&me(e,k,f,p)}}var ie=function(){return ie=Object.assign||function(r){for(var t,i=1,n=arguments.length;i<n;i++){t=arguments[i];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(r[o]=t[o])}return r},ie.apply(this,arguments)};function wt(e,r,t){for(var i=0,n=r.length,o;i<n;i++)(o||!(i in r))&&(o||(o=Array.prototype.slice.call(r,0,i)),o[i]=r[i]);return e.concat(o||Array.prototype.slice.call(r))}var Ze={scale:1,positionX:0,positionY:0},pe={disabled:!1,minPositionX:null,maxPositionX:null,minPositionY:null,maxPositionY:null,minScale:1,maxScale:8,limitToBounds:!0,centerZoomedOut:!1,centerOnInit:!1,disablePadding:!1,smooth:!0,detached:!1,wheel:{step:.015,disabled:!1,wheelDisabled:!1,touchPadDisabled:!1,activationKeys:[],excluded:[]},trackPadPanning:{disabled:!0,velocityDisabled:!1,lockAxisX:!1,lockAxisY:!1,activationKeys:[],excluded:[]},panning:{disabled:!1,velocityDisabled:!1,lockAxisX:!1,lockAxisY:!1,allowLeftClickPan:!0,allowMiddleClickPan:!0,allowRightClickPan:!0,activationKeys:[],excluded:[]},pinch:{step:5,disabled:!1,allowPanning:!0,excluded:[]},doubleClick:{disabled:!1,step:.7,mode:"zoomIn",animationType:"easeOut",animationTime:200,excluded:[]},zoomAnimation:{disabled:!1,size:.4,animationTime:200,animationType:"easeOut"},autoAlignment:{disabled:!1,sizeX:100,sizeY:100,animationTime:200,velocityAlignmentTime:400,animationType:"easeOut"},velocityAnimation:{disabled:!1,sensitivityMouse:1,sensitivityTouch:1.2,maxStrengthMouse:20,maxStrengthTouch:40,inertia:1,animationTime:300,maxAnimationTime:800,animationType:"easeOut"}},qe={wrapperClass:"react-transform-wrapper",contentClass:"react-transform-component"},Xt=function(e){var r,t,i,n,o,a,s,l,u,d=Math.max((r=e.minScale)!==null&&r!==void 0?r:pe.minScale,1e-7),f=(t=e.maxScale)!==null&&t!==void 0?t:pe.maxScale,p=(i=e.initialScale)!==null&&i!==void 0?i:Ze.scale,h=Math.min(Math.max(p,d),f),m=Se((n=e.initialPositionX)!==null&&n!==void 0?n:Ze.positionX,(o=e.minPositionX)!==null&&o!==void 0?o:-1/0,(a=e.maxPositionX)!==null&&a!==void 0?a:1/0,e.minPositionX!=null||e.maxPositionX!=null),v=Se((s=e.initialPositionY)!==null&&s!==void 0?s:Ze.positionY,(l=e.minPositionY)!==null&&l!==void 0?l:-1/0,(u=e.maxPositionY)!==null&&u!==void 0?u:1/0,e.minPositionY!=null||e.maxPositionY!=null);return{previousScale:h,scale:h,positionX:m,positionY:v}},St=function(e){var r=ie({},pe);return Object.keys(e).forEach(function(t){var i=t,n=typeof e[i]!="undefined",o=typeof pe[
1i]!="undefined";if(o&&n){var a=Object.prototype.toString.call(pe[i]),s=a==="[object Object]",l=a==="[object Array]";s?r[i]=ie(ie({},pe[i]),e[i]):l?r[i]=wt(wt([],pe[i],!0),e[i]):r[i]=e[i]}}),r.minScale<=0&&(r.minScale=1e-7),r},Mt=function(e,r,t){var i=e.state.scale,n=e.wrapperComponent,o=e.setup,a=o.maxScale,s=o.minScale,l=o.zoomAnimation,u=o.smooth,d=l.size;if(!n)throw new Error("Wrapper is not mounted");var f=u?i*Math.exp(r*t):i+r*t,p=ke(ve(f,3),s,a,d,!1);return p};function Dt(e,r,t,i,n){var o,a,s=e.wrapperComponent,l=e.state,u=l.scale,d=l.positionX,f=l.positionY,p=e.setup.zoomAnimation;if(!s)return console.error("No WrapperComponent found");var h=p.disabled?0:i,m=s.offsetWidth,v=s.offsetHeight,y=(m/2-d)/u,x=(v/2-f)/u,k=Mt(e,r,t),E=et(e,k,y,x);if(!E)return console.error("Error during zoom event. New transformation state was not calculated.");var T=e.props,A=T.onZoomStart,j=T.onZoom,O=T.onZoomStop,N=new MouseEvent("mousemove",{bubbles:!0}),w=M(e);D(w,N,A),D(w,N,j),me(e,E,h,n);var C=(a=(o=s.ownerDocument)===null||o===void 0?void 0:o.defaultView)!==null&&a!==void 0?a:typeof window!="undefined"?window:null;C&&C.setTimeout(function(){e.mounted&&D(M(e),N,O)},h)}function zt(e,r,t,i){var n,o,a=e.setup,s=e.wrapperComponent,l=e.contentComponent,u=a.limitToBounds,d=a.centerOnInit,f=Xt(e.props),p=e.state,h=p.scale,m=p.positionX,v=p.positionY;if(s){var y=f.positionX,x=f.positionY;if(d&&l){var k=it(f.scale,s,l);y=k.positionX,x=k.positionY}var E=Ie(e,f.scale),T=Ce(y,x,E,u,0,0,s),A={scale:f.scale,positionX:T.x,positionY:T.y};if(!(h===f.scale&&m===f.positionX&&v===f.positionY)){i==null||i();var j=e.props,O=j.onZoomStart,N=j.onZoom,w=j.onZoomStop,C=new MouseEvent("mousemove",{bubbles:!0}),_=M(e);D(_,C,O),D(_,C,N),me(e,A,r,t);var X=(o=(n=s.ownerDocument)===null||n===void 0?void 0:n.defaultView)!==null&&o!==void 0?o:typeof window!="undefined"?window:null;X&&X.setTimeout(function(){e.mounted&&D(M(e),C,w)},r)}}}function ur(e,r,t,i){var n=e.getBoundingClientRect(),o=r.getBoundingClientRect(),a=t.getBoundingClientRect(),s=o.x*i.scale,l=o.y*i.scale;return{x:(n.x-a.x+s)/i.scale,y:(n.y-a.y+l)/i.scale}}function dr(e,r,t,i,n){i===void 0&&(i=0),n===void 0&&(n=0);var o=e.wrapperComponent,a=e.contentComponent,s=e.state,l=e.setup,u=l.limitToBounds,d=l.minScale,f=l.maxScale;if(!o||!a)return s;var p=o.getBoundingClientRect(),h=r.getBoundingClientRect(),m=ur(r,o,a,s),v=m.x,y=m.
1y,x=h.width/s.scale,k=h.height/s.scale,E=o.offsetWidth/x,T=o.offsetHeight/k,A=ke(t||Math.min(E,T),d,f,0,!1),j=(p.width-x*A)/2,O=(p.height-k*A)/2,N=(p.left-v)*A+j+i,w=(p.top-y)*A+O+n,C=Ie(e,A),_=Ce(N,w,C,u,0,0,o),X=_.x,z=_.y;return{positionX:X,positionY:z,scale:A}}var cr=function(e){return function(r,t,i){r===void 0&&(r=.5),t===void 0&&(t=300),i===void 0&&(i="easeOut"),Dt(e,1,r,t,i)}},fr=function(e){return function(r,t,i){r===void 0&&(r=.5),t===void 0&&(t=300),i===void 0&&(i="easeOut"),Dt(e,-1,r,t,i)}},mr=function(e){return function(r,t,i,n,o){n===void 0&&(n=300),o===void 0&&(o="easeOut");var a=e.state,s=a.positionX,l=a.positionY,u=a.scale,d=e.wrapperComponent,f=e.contentComponent,p=e.setup.disabled;if(!(p||!d||!f)){var h={positionX:Number.isNaN(r)?s:r,positionY:Number.isNaN(t)?l:t,scale:Number.isNaN(i)?u:i};me(e,h,n,o)}}},pr=function(e){return function(r,t){r===void 0&&(r=200),t===void 0&&(t="easeOut"),zt(e,r,t)}},vr=function(e){return function(r,t,i){t===void 0&&(t=200),i===void 0&&(i="easeOut");var n=e.state,o=e.wrapperComponent,a=e.contentComponent;if(o&&a){var s=it(r||n.scale,o,a);me(e,s,t,i)}}},hr=function(e){return function(r,t,i,n,o,a){i===void 0&&(i=600),n===void 0&&(n="easeOut"),o===void 0&&(o=0),a===void 0&&(a=0),ae(e);var s=e.wrapperComponent,l=typeof r=="string"?document.getElementById(r):r;if(s&&l&&s.contains(l)){var u=dr(e,l,t,o,a);me(e,u,i,n)}}},Ge=function(e){return{instance:e,state:e.state,zoomIn:cr(e),zoomOut:fr(e),setTransform:mr(e),resetTransform:pr(e),centerView:vr(e),zoomToElement:hr(e)}},gr=function(e){return{instance:e,state:e.state}},M=function(e){var r={};return Object.assign(r,gr(e)),Object.assign(r,Ge(e)),r},Ke=!1;function Ve(){try{var e={get passive(){return Ke=!0,!1}};return e}catch(r){return Ke=!1,Ke}}var _e=".".concat(qe.wrapperClass),Ee=function(e,r){return r.some(function(t){return e.matches("".concat(_e," ").concat(t,", ").concat(_e," .").concat(t,", ").concat(_e," ").concat(t," *, ").concat(_e," .").concat(t," *"))})},xe=function(e){e&&clearTimeout(e)},br=function(e){return Number.parseFloat(e.toFixed(8))},Ot=function(e,r,t){var i=br(t);return"translate(".concat(e,"px, ").concat(r,"px) scale(").concat(i,")")},it=function(e,r,t){var i=t.offsetWidth*e,n=t.offsetHeight*e,o=(r.offsetWidth-i)/2,a=(r.offsetHeight-n)/2;return{scale:e,positionX:o,positionY:a}};function yr(e,r){e!=null&&(typeof e=="function"?e(r):e.current=r)}function wr(e){return function(r){e.forEach(function(t){typeof t=="function"?t(r):t!=null&&(t.current=r)})}}var Wt=function(e,r){var t=e.setup.wheel,i=t.disabled,n=t.wheelDisabled,o=t.touchPadDisabled,a=t.excluded,s=e.isInitialized,l=e.isPanning,u=r.target,d=s&&!l&&!i&&u;if(!d||n&&!r.ctrlKey||o&&r.ctrlKey)return!1;var f=Ee(u,a);if(f)return!1;var p=e.isPressingKeys(e.setup.wheel.activationKeys);return!!p},Sr=function(e,r){var t=e.setup,i=t.disabled,n=t.trackPadPanning,o=n.activationKeys,a=n.excluded;if(!e.wrapperComponent||!e.contentComponent||i||n.disabled||r.ctrlKey)return!1;var s=Wt(e,r);if(s)return!1;var l=r.target,u=Ee(l,a);if(u)return!1;var d=e.isPressingKeys(o);return!!d},xr=function(e){return e?e.deltaY<0?1:-1:0};function Pr(e,r){var t=xr(e),i=Mi(r,t);return i}function Rt(e,r,t){var i=r.getBoundingClientRect(),n=0,o=0;if("clientX"in e)n=(e.clientX-i.left)/t,o=(e.clientY-i.top)/t;else{var a=e.touches[0];n=(a.clientX-i.left)/t,o=(a.clientY-i.top)/t}return(Number.isNaN(n)||Number.isNaN(o))&&console.error("No mouse or touch offset found"),{x:n,y:o}}var Cr=function(e,r,t,i,n){var o=e.state.scale,a=e.wrapperComponent,s=e.setup,l=s.maxScale,u=s.minScale,d=s.zoomAnimation,f=s.disablePadding,p=d.size,h=d.disabled;if(!a)throw new Error("Wrapper is not mounted");var m=o+r*t,v=i?!1:!h,y=ke(m,u,l,p,v&&!f);return y},Ht=function(e,r){var t=e.previousWheelEvent,i=e.state.scale,n=e.setup,o=n.maxScale,a=n.minScale;return t?i<o||i>a||Math.sign(t.deltaY)!==Math.sign(r.deltaY)||t.deltaY>0&&t.deltaY<r.deltaY||t.deltaY<0&&t.deltaY>r.deltaY||Math.sign(t.deltaY)!==Math.sign(r.deltaY):!1},kr=function(e,r){var t=e.setup.pinch,i=t.disabled,n=t.excluded,o=e.isInitialized,a=r.target,s=o&&!i&&a;if(!s)return!1;var l=Ee(a,n);return!l},Er=function(e){var r=e.setup.pinch.disabled,t=e.isInitialized,i=e.pinchStartDistance,n=t&&!r&&i!==null;return!!n},Tr=function(e,r,t){var i=t.getBoundingClientRect(),n=e.touches,o=n[0].clientX-i.left,a=n[0].clientY-i.top,s=n[1].clientX-i.left,l=n[1].clientY-i.top;return{x:(o+s)/2/r,y:(a+l)/2/r}},Ft=function(e){return Math.sqrt(Math.pow(e.touches[0].pageX-e.touches[1].pageX,2)+Math.pow(e.touches[0].pageY-e.touches[1].pageY,2))},Nr=5,_r=function(e,r){var t=e.pinchStartScale,i=e.pinchStartDistance,n=e.setup,o=n.maxScale,a=n.minScale,s=n.zoomAnimation,l=n.disablePadding,u=n.pinch,d=s.size,f=s.disabled,p=u.step;if(!t||i===null)throw new Error("Pinch touches distance was not provided");
1if(r<0)return e.state.scale;var h=r/i,m=h*t,v=(m-t)*(p/Nr),y=t+v,x=y===1/0?0:ve(y,10);return ke(x,a,o,d,!f&&!l)},Bt=160,Lt=100,Ar=function(e,r){var t=e.props,i=t.onWheelStart,n=t.onZoomStart;e.wheelStopEventTimer||(ae(e),D(M(e),r,i),D(M(e),r,n))},jr=function(e,r){var t=e.props,i=t.onWheel,n=t.onZoom,o=e.contentComponent,a=e.setup,s=e.state,l=s.scale,u=a.limitToBounds,d=a.centerZoomedOut,f=a.zoomAnimation,p=a.wheel,h=a.disablePadding,m=a.smooth,v=f.size,y=f.disabled,x=p.step;if(!o)throw new Error("Component not mounted");r.preventDefault(),r.stopPropagation();var k=Pr(r,null),E=m?x*Math.abs(r.deltaY):x,T=Cr(e,k,E,!r.ctrlKey);if(l!==T){var A=he(e,T),j=Rt(r,o,l),O=y||v===0||d||h,N=u&&O,w=Me(e,j.x,j.y,T,A,N),C=w.x,_=w.y;e.previousWheelEvent=r,e.setState(T,C,_),D(M(e),r,i),D(M(e),r,n)}},Yr=function(e,r){var t=e.props,i=t.onWheelStop,n=t.onZoomStop;xe(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(tt(e,r.x,r.y),e.wheelAnimationTimer=null)},Lt);var o=Ht(e,r);o&&(xe(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,D(M(e),r,i),D(M(e),r,n))},Bt))},Xr=function(e,r){var t=e.props,i=t.onWheelStart,n=t.onPanningStart;e.wheelStopEventTimer||(ae(e),D(M(e),r,i),D(M(e),r,n))},Mr=function(e,r){var t=e.props,i=t.onWheelStop,n=t.onPanningStop;xe(e.wheelAnimationTimer),e.wheelAnimationTimer=setTimeout(function(){e.mounted&&(tt(e,r.x,r.y),e.wheelAnimationTimer=null)},Lt);var o=Ht(e,r);o&&(xe(e.wheelStopEventTimer),e.wheelStopEventTimer=setTimeout(function(){e.mounted&&(e.wheelStopEventTimer=null,D(M(e),r,i),D(M(e),r,n))},Bt))},Zt=function(e){for(var r=0,t=0,i=0;i<2;i+=1)r+=e.touches[i].clientX,t+=e.touches[i].clientY;var n=r/2,o=t/2;return{x:n,y:o}},Dr=function(e,r){var t=Ft(r);e.pinchStartDistance=t,e.lastDistance=t,e.pinchStartScale=e.state.scale,e.isPanning=!1,e.isPinching=!0,e.pinchPreviousCenter=Zt(r),ae(e)},zr=function(e,r){var t=e.contentComponent,i=e.pinchStartDistance,n=e.wrapperComponent,o=e.pinchPreviousCenter,a=e.state.scale,s=e.setup,l=s.limitToBounds,u=s.centerZoomedOut,d=s.zoomAnimation,f=s.autoAlignment,p=s.pinch,h=s.panning,m=d.disabled,v=d.size,y=p.allowPanning;if(!(i===null||!t)){var x=Tr(r,a,t);if(!(!Number.isFinite(x.x)||!Number.isFinite(x.y))){var k=Ft(r),E=_r(e,k),T=Zt(r),A=a/E,j=(T.x-((o==null?void 0:o.x)||0))*A,O=(T.y-((o==null?void 0:o.y)||0))*A;if(!(E===a&&j===0&&O===0)){e.pinchPreviousCenter=T;var N=he(e,E),w=m||v===0||u,C=l&&w,_=Me(e,x.x,x.y,E,N,C),X=_.x,z=_.y;if(e.pinchMidpoint=x,e.lastDistance=k,h.disabled||!y)e.setState(E,X,z);else{var $=f.sizeX,I=f.sizeY,G=fe(e,$,E),se=fe(e,I,E),U=X+j,le=z+O,re=Ce(U,le,N,l,G,se,n),ee=re.x,ue=re.y;e.setState(E,ee,ue)}}}}},Or=function(e){var r=e.pinchMidpoint;e.velocity=null,e.lastDistance=null,e.pinchMidpoint=null,e.pinchStartScale=null,e.pinchStartDistance=null,e.isPinching=!1,tt(e,r==null?void 0:r.x,r==null?void 0:r.y)},Kt=function(e,r){var t=e.props.onZoomStop,i=e.setup.doubleClick.animationTime;xe(e.doubleClickStopEventTimer),e.doubleClickStopEventTimer=setTimeout(function(){e.doubleClickStopEventTimer=null,D(M(e),r,t)},i)},Wr=function(e,r){var t=e.props,i=t.onZoomStart,n=t.onZoom,o=e.setup.doubleClick,a=o.animationTime,s=o.animationType;D(M(e),r,i),zt(e,a,s,function(){return D(M(e),r,n)}),Kt(e,r)};function Rr(e,r){return e==="toggle"?r===1?1:-1:e==="zoomOut"?-1:1}function Hr(e,r){var t=e.setup,i=e.doubleClickStopEventTimer,n=e.state,o=e.contentComponent,a=n.scale,s=e.props,l=s.onZoomStart,u=s.onZoom,d=t.doubleClick,f=d.disabled,p=d.mode,h=d.step,m=d.animationTime,v=d.animationType;if(!f&&!i){if(p==="reset")return Wr(e,r);if(!o)return console.error("No ContentComponent found");var y=Rr(p,e.state.scale),x=Mt(e,y,h);if(a!==x){D(M(e),r,l);var k=Rt(r,o,a),E=et(e,x,k.x,k.y);if(!E)return console.error("Error during zoom event. New transformation state was not calculated.");D(M(e),r,u),me(e,E,m,v),Kt(e,r)}}}var Fr=function(e,r){var t=e.isInitialized,i=e.setup,n=e.wrapperComponent,o=i.doubleClick,a=o.disabled,s=o.excluded,l=r.target,u=n==null?void 0:n.contains(l),d=t&&l&&u&&!a;if(!d)return!1;var f=Ee(l,s);return!f},Br=(function(){function e(r){var t=this;this.mounted=!0,this.onChangeCallbacks=new Set,this.onInitCallbacks=new Set,this.onTransformCallbacks=new Set,this.wrapperComponent=null,this.contentComponent=null,this.isInitialized=!1,this.bounds=null,this.previousWheelEvent=null,this.wheelStopEventTimer=null,this.wheelAnimationTimer=null,this.isPanning=!1,this.isWheelPanning=!1,this.startCoords=null,this.panStartPosition=null,this.lastTouch=null,this.isPinching=!1,this.distance=null,this.lastDistance=null,this.pinchStartDistance=null,this.pinchStartScale=null,this.pinchMidpoint=null,this.pinchPreviousCenter=null,this.doubleClickStopEventTimer=null,this.velocity=null,this.velocityTime=null,this.lastMousePosition=null,this.isAnimating=!1,this.animation=null,this.pressedKeys={},this.mount=function(){t.initializeWindowEvents()},this.unmount=function(){t.cleanupWindowEvents()},this.update=function(i){t.props=i,t.wrapperComponent&&t.contentComponent&&he(t,t.state.scale),t.setup=St(i)},this.initializeWindowEvents=function(){var i,n,o,a,s=Ve(),l=(i=t.wrapperComponent)===null||i===void 0?void 0:i.ownerDocument,u=l==null?void 0:l.defaultView;(n=t.wrapperComponent)===null||n===void 0||n.addEventListener("wheel",t.onWheelPanning,s),(o=t.wrapperComponent)===null||o===void 0||o.addEventListener("keyup",t.setKeyUnPressed,s),(a=t.wrapperComponent)===null||a===void 0||a.addEventListener("keydown",t.setKeyPressed,s),u==null||u.addEventListener("mousedown",t.onPanningStart,s),u==null||u.addEventListener("mousemove",t.onPanning,s),u==null||u.addEventListener("mouseup",t.onPanningStop,s),l==null||l.addEventListener("mouseleave",t.clearPanning,s),u==null||u.addEventListener("keyup",t.setKeyUnPressed,s),u==null||u.addEventListener("keydown",t.setKeyPressed,s),u==null||u.addEventListener("blur",t.handleWindowBlur)},this.cleanupWindowEvents=function(){var i,n,o,a,s,l=Ve(),u=(i=t.wrapperComponent)===null||i===void 0?void 0:i.ownerDocument,d=u==null?void 0:u.defaultView;d==null||d.removeEventListener("mousedown",t.onPanningStart,l),d==null||d.removeEventListener("mousemove",t.onPanning,l),d==null||d.removeEventListener("mouseup",t.onPanningStop,l),u==null||u.removeEventListener("mouseleave",t.clearPanning,l),d==null||d.removeEventListener("keyup",t.setKeyUnPressed,l),d==null||d.removeEventListener("keydown",t.setKeyPressed,l),d==null||d.removeEventListener("blur",t.handleWindowBlur),document.removeEventListener("mouseleave",t.clearPanning,l),(n=t.wrapperComponent)===null||n===void 0||n.removeEventListener("wheel",t.onWheelPanning,l),(o=t.wrapperComponent)===null||o===void 0||o.removeEventListener("keyup",t.setKeyUnPressed,l),(a=t.wrapperComponent)===null||a===void 0||a.removeEventListener("keydown",t.setKeyPressed,l),ae(t),(s=t.observer)===null||s===void 0||s.disconnect()},this.handleInitializeWrapperEvents=function(i){var n=Ve();i.addEventListener("wheel",t.onWheelZoom,n),i.addEventListener("dblclick",t.onDoubleClick,n),i.addEventListener("touchstart",t.onTouchPanningStart,n),i.addEventListener("touchmove",t.onTouchPanning,n),i.addEventListener("touchend",t.onTouchPanningStop,n)},this.handleInitialize=function(i){var n=t.setup.centerOnInit;t.applyTransformation(),t.onInitCallbacks.forEach(function(o){return o(M(t))}),n&&(t.setCenter(),t.observer=new ResizeObserver(function(){var o,a=i.offsetWidth,s=i.offsetHeight;(a>0||s>0)&&(t.onInitCallbacks.forEach(function(l){return l(M(t))}),t.setCenter(),(o=t.observer)===null||o===void 0||o.disconnect())}),setTimeout(function(){var o;(o=t.observer)===null||o===void 0||o.disconnect()},5e3),t.observer.observe(i))},this.onWheelZoom=function(i){var n=t.setup.disabled;if(!n){t.syncModifierKeys(i);var o=Wt(t,i);o&&(Ar(t,i),jr(t,i),Yr(t,i))}},this.onWheelPanning=function(i){var n=t.props.onPanning,o=t.setup.trackPadPanning,a=o.lockAxisX,s=o.lockAxisY;t.syncModifierKeys(i);var l=Sr(t,i);if(l){i.preventDefault(),i.stopPropagation();var u=t.state,d=u.positionX,f=u.positionY,p=d-i.deltaX,h=f-i.deltaY,m=a?d:p,v=s?f:h,y=t.setup.autoAlignment,x=y.sizeX,k=y.sizeY,E=fe(t,x),T=fe(t,k);m===d&&v===f||(Xr(t,i),jt(t,m,v,E,T),D(M(t),i,n),Mr(t,i))}},this.onPanningStart=function(i){var n=t.setup.disabled,o=t.props.onPanningStart;if(!n){t.syncModifierKeys(i);var a=vt(t,i);if(a){var s=t.isPressingKeys(t.setup.panning.activationKeys);s&&(i.button===0&&!t.setup.panning.allowLeftClickPan||i.button===1&&!t.setup.panning.allowMiddleClickPan||i.button===2&&!t.setup.panning.allowRightClickPan||(i.preventDefault(),i.stopPropagation(),ae(t),bt(t,i),D(M(t),i,o)))}}},this.onPanning=function(i){var n=t.setup.disabled,o=t.props.onPanning;if(!n){if(t.syncModifierKeys(i),t.isPanning&&i.buttons===0){t.clearPanning(i);return}var a=ht(t);if(a){var s=t.isPressingKeys(t.setup.panning.activationKeys);s&&(i.preventDefault(),i.stopPropagation(),yt(t,i.clientX,i.clientY,ce.MOUSE),D(M(t),i,o))}}},this.onPanningStop=function(i){var n=t.setup.panning.velocityDisabled,o=t.props.onPanningStop;t.isPanning&&(lr(t,n),D(M(t),i,o))},this.onPinchStart=function(i){var n=t.setup.disabled,o=t.props.onPinchStart;if(!n){var a=kr(t,i);a&&(Dr(t,i),ae(t),D(M(t),i,o))}},this.onPinch=function(i){var n=t.setup.disabled,o=t.props.onPinch;if(!n){var a=Er(t);a&&(i.preventDefault(),i.stopPropagation(),zr(t,i),D(M(t),i,o))}},this.onPinchStop=function(i){var n=t.props.onPinchStop;t.pinchStartScale&&(Or(t),D(M(t),i,n))},this.onTouchPanningStart=function(i){var n=t.setup,o=n.disabled,a=n.doubleClick,s=t.props.onPanningStart;if(!o){var l=!(a!=null&&a.disabled),u=t.lastTouch&&+new Date-t.lastTouch<200;if(l&&u&&i.touches.length===1)t.onDoubleClick(i);else{t.lastTouch=+new Date,ae(t);var d=i.touches,f=d.length===1,p=d.length===2,h=vt(t,i);if(f){if(!h)return;ae(t),bt(t,i),D(M(t),i,s)}p&&t.onPinchStart(i)}}},this.onTouchPanning=function(i){var n=t.setup.disabled,o=t.props.onPanning;if(t.isPanning&&i.touches.length===1){if(n)return;var a=ht(t);if(!a)return;i.cancelable&&i.preventDefault(),i.stopPropagation();var s=i.touches[0];yt(t,s.clientX,s.clientY,ce.TOUCH),D(M(t),i,o)}else i.touches.length>1&&t.onPinch(i)},this.onTouchPanningStop=function(i){t.onPanningStop(i),t.onPinchStop(i)},this.onDoubleClick=function(i){var n=t.setup.disabled;if(!n){var o=Fr(t,i);o&&Hr(t,i)}},this.clearPanning=function(i){t.isPanning&&t.onPanningStop(i)},this.handleWindowBlur=function(){t.pressedKeys={},t.isPanning&&(t.isPanning=!1,t.startCoords=null)},this.syncModifierKeys=function(i){var n=i.ctrlKey,o=i.metaKey,a=i.shiftKey,s=i.altKey;typeof n=="boolean"&&(t.pressedKeys.Control=n),typeof o=="boolean"&&(t.pressedKeys.Meta=o),typeof a=="boolean"&&(t.pressedKeys.Shift=a),typeof s=="boolean"&&(t.pressedKeys.Alt=s)},this.setKeyPressed=function(i){t.pressedKeys[i.key]=!0},this.setKeyUnPressed=function(i){t.pressedKeys[i.key]=!1},this.isPressingKeys=function(i){return typeof i=="function"?i(Object.entries(t.pressedKeys).filter(function(n){var o=n[1];return o}
1).map(function(n){var o=n[0];return o})):i.length?!!i.every(function(n){return t.pressedKeys[n]}):!0},this.setCenter=function(){if(t.wrapperComponent&&t.contentComponent){var i=it(t.state.scale,t.wrapperComponent,t.contentComponent);t.setState(i.scale,i.positionX,i.positionY)}},this.handleTransformStyles=function(i,n,o){return t.props.customTransform?t.props.customTransform(i,n,o):Ot(i,n,o)},this.getContext=function(){return M(t)},this.applyTransformation=function(){if(!(!t.mounted||!t.contentComponent)){var i=t.state,n=i.scale,o=i.positionX,a=i.positionY,s=t.handleTransformStyles(o,a,n);t.props.detached||(t.contentComponent.style.transform=s),t.onTransformCallbacks.forEach(function(l){return l({scale:n,positionX:o,positionY:a,previousScale:t.state.previousScale,ref:M(t)})})}},this.setState=function(i,n,o){var a=t.props.onTransform;if(!Number.isNaN(i)&&!Number.isNaN(n)&&!Number.isNaN(o)){var s=Math.max(i,1e-7);s!==t.state.scale&&(t.state.previousScale=t.state.scale,t.state.scale=s),t.state.positionX=n,t.state.positionY=o,t.applyTransformation();var l=M(t);t.onChangeCallbacks.forEach(function(u){return u(l)}),D(l,{scale:t.state.scale,positionX:n,positionY:o},a)}else console.error("Detected NaN set state values")},this.onTransform=function(i){return t.onTransformCallbacks.has(i)||t.onTransformCallbacks.add(i),function(){t.onTransformCallbacks.delete(i)}},this.onChange=function(i){return t.onChangeCallbacks.has(i)||t.onChangeCallbacks.add(i),function(){t.onChangeCallbacks.delete(i)}},this.onInit=function(i){return t.onInitCallbacks.has(i)||t.onInitCallbacks.add(i),function(){t.onInitCallbacks.delete(i)}},this.init=function(i,n){t.cleanupWindowEvents(),t.wrapperComponent=i,t.contentComponent=n,he(t,t.state.scale),t.handleInitializeWrapperEvents(i),t.handleInitialize(n),t.initializeWindowEvents(),t.isInitialized=!0;var o=M(t);D(o,void 0,t.props.onInit),yr(t.props.ref,o)},this.props=r,this.setup=St(this.props),this.state=Xt(this.props)}return e})(),De=Xe.createContext(null),Lr=function(e,r){return typeof e=="function"?e(r):e},Zr=Xe.forwardRef(function(e,r){var t=g.useRef(new Br(e)).current,i=Lr(e.children,Ge(t));return g.useImperativeHandle(r,function(){return Ge(t)},[t]),g.useEffect(function(){t.update(e)},[t,e]),c.jsx(De.Provider,ie({value:t},{children:i}))});Xe.forwardRef(function(e,r){var t=g.useRef(null),i=g.useContext(De);return g.useEffect(function(){return i.onChange(function(n){if(t.current){var o=0,a=0;t.current.style.transform=i.handleTransformStyles(o,a,1/n.instance.state.scale)}})},[i]),c.jsx("div",ie({},e,{ref:wr([t,r])}))});function Kr(e,r){r===void 0&&(r={});var t=r.insertAt;if(typeof document!="undefined"){var i=document.head||document.getElementsByTagName("head")[0],n=document.createElement("style");n.type="text/css",t==="top"&&i.firstChild?i.insertBefore(n,i.firstChild):i.appendChild(n),n.styleSheet?n.styleSheet.cssText=e:n.appendChild(document.createTextNode(e))}}var Vr=`.transform-component-module_wrapper__SPB86 {
2  position: relative;
3  width: -moz-fit-content;
4  width: fit-content;
5  height: -moz-fit-content;
6  height: fit-content;
7  overflow: hidden;
8  -webkit-touch-callout: none; /* iOS Safari */
9  -webkit-user-select: none; /* Safari */
10  -khtml-user-select: none; /* Konqueror HTML */
11  -moz-user-select: none; /* Firefox */
12  -ms-user-select: none; /* Internet Explorer/Edge */
13  user-select: none;
14  margin: 0;
15  padding: 0;
16  transform: translate3d(0, 0, 0);
17}
18.transform-component-module_content__FBWxo {
19  display: flex;
20  flex-wrap: wrap;
21  width: -moz-fit-content;
22  width: fit-content;
23  height: -moz-fit-content;
24  height: fit-content;
25  margin: 0;
26  padding: 0;
27  transform-origin: 0% 0%;
28}
29.transform-component-module_content__FBWxo img {
30  pointer-events: none;
31}
32.transform-component-module_infiniteGrid__Z-aP3 {
33  position: absolute;
34  inset: 0;
35  pointer-events: none;
36  background-image: radial-gradient(
37    circle,
38    rgba(0, 0, 0, 0.12) 1px,
39    transparent 1px
40  );
41  background-size: 20px 20px;
42  background-position: 0 0;
43}
44`,$e={wrapper:"transform-component-module_wrapper__SPB86",content:"transform-component-module_content__FBWxo",infiniteGrid:"transform-component-module_infiniteGrid__Z-aP3"};Kr(Vr);var $r=function(e){var r=e.children,t=e.wrapperClass,i=t===void 0?"":t,n=e.contentClass,o=n===void 0?"":n,a=e.wrapperStyle,s=e.contentStyle,l=e.wrapperProps,u=l===void 0?{}:l,d=e.contentProps,f=d===void 0?{}:d,p=e.infinite,h=p===void 0?!1:p,m=g.useContext(De),v=m.init,y=m.cleanupWindowEvents,x=g.useRef(null),k=g.useRef(null),E=g.useRef(null);return g.useEffect(function(){var T=x.current,A=k.current;return T!==null&&A!==null&&v&&(v==null||v(T,A)),function(){y==null||y()}},[]),g.useEffect(function(){if(h){var T=E.current;if(T){var A=function(){var j=m.state,O=j.positionX,N=j.positionY;T.style.backgroundPosition="".concat(O,"px ").concat(N,"px")};return A(),m.onChange(A)}}},[h,m]),c.jsxs("div",ie({},u,{ref:x,className:"".concat(qe.wrapperClass," ").concat($e.wrapper," ").concat(i),style:a},{children:[h&&c.jsx("div",{ref:E,className:$e.infiniteGrid,"aria-hidden":!0}),c.jsx("div",ie({},f,{ref:k,className:"".concat(qe.contentClass," ").concat($e.content," ").concat(o),style:ie(ie({},s),{transform:Ot(m.state.positionX,m.state.positionY,m.state.scale)})},{children:r}))]}))};function Ur(e,r){var t=Math.max(0,Math.min(e.x+e.width,r.x+r.width)-Math.max(e.x,r.x)),i=Math.max(0,Math.min(e.y+e.height,r.y+r.height)-Math.max(e.y,r.y));return t*i}function Qr(e){var r=e.elementX,t=e.elementY,i=e.elementWidth,n=e.elementHeight,o=e.scale,a=e.positionX,s=e.positionY,l=e.viewportWidth,u=e.viewportHe
44ight,d=e.margin,f=d===void 0?0:d,p=e.threshold,h=p===void 0?0:p,m={x:-f,y:-f,width:l+2*f,height:u+2*f},v={x:r*o+a,y:t*o+s,width:i*o,height:n*o};if(h<=0){var y=v.x<m.x+m.width&&v.x+v.width>m.x,x=v.y<m.y+m.height&&v.y+v.height>m.y;return y&&x}var k=v.width*v.height;if(k<=0)return!1;var E=Ur(m,v);return E/k>=h}Xe.forwardRef(function(e,r){var t=e.x,i=e.y,n=e.width,o=e.height,a=e.margin,s=a===void 0?0:a,l=e.threshold,u=l===void 0?0:l,d=e.placeholder,f=d===void 0?null:d,p=e.onShow,h=e.onHide,m=e.children,v=e.className,y=e.style,x=g.useContext(De),k=g.useState(!1),E=k[0],T=k[1],A=g.useRef(!1),j=g.useRef(p),O=g.useRef(h);return j.current=p,O.current=h,g.useEffect(function(){var N=function(){var _,X,z=x.wrapperComponent;if(z){var $=Qr({elementX:t,elementY:i,elementWidth:n,elementHeight:o,scale:x.state.scale,positionX:x.state.positionX,positionY:x.state.positionY,viewportWidth:z.offsetWidth,viewportHeight:z.offsetHeight,margin:s,threshold:u});$!==A.current&&(A.current=$,T($),$?(_=j.current)===null||_===void 0||_.call(j):(X=O.current)===null||X===void 0||X.call(O))}};N();var w=x.onChange(N),C;return x.wrapperComponent||(C=x.onInit(function(){return N()})),function(){w(),C==null||C()}},[x,t,i,n,o,s,u]),E?c.jsx("div",ie({ref:r,className:v,style:y},{children:m})):f?c.jsx(c.Fragment,{children:f}):null});const qr={floor1:{w:3767.17,h:2530.37},"floor2-8":{w:3736.41,h:2548},floor9:{w:3660.58,h:2445.19},floor10:{w:4568.79,h:3143.07}};function Vt(e){return e===1?"floor1":e>=2&&e<=8?"floor2-8":e===9?"floor9":"floor10"}function Gr(e,r){return`/plans/house1/raster/${Vt(e)}-${r}.webp`}function $t(e){return e==="available"?"rgba(0,200,155,0.55)":e==="reserved"?"rgba(217,119,6,0.55)":e==="sold"?"rgba(220,38,38,0.50)":e==="construction"?"rgba(246,199,98,0.55)":"rgba(148,163,184,0.35)"}const Ut="rgba(148,163,184,0.18)",Qt="rgba(148,163,184,0.55)",qt="rgba(246,199,98,0.55)",rt="#f6c762";function nt(e,r){var t;return e==="available"?"#00C89B":e==="reserved"?"#D97706":e==="sold"?"#DC2626":e==="construction"?"#F6C762":(t=li[e!=null?e:""])!=null?t:"#94a3b8"}function xt(e,r,t,i){const n=Pe(e),o=e.id===r,a=e.id===t,s=i.has(e.id),l=!s&&!a,u=l?Ut:n?qt:$t(e.status),d=l?Qt:n?rt:nt(e.status);return{comingSoon:n,isCurrent:o,isSelected:a,isHighlighted:s,dimmed:l,fill:u,stroke:d,strokeFactor:a?3.5:l?1:2}}function Jr(e){return e.house===1?c.jsx(Ir,{...e}):c.jsx(en,{...e})}function Ir({house:e,floor:r,floorApartments:t,housePool:i,currentApartmentId:n,selectedApartmentId:o,highlightedIds:a,showStatusOverlay:s=!0,onApartmentTap:l,onZoomChange:u,diagStatusFilter:d,diagEntrances:f}){const p=Gr(r,"colored"),h=qr[Vt(r)],[m,v]=g.useState(!1),[y,x]=g.useState(!1),[k,E]=g.useState(null),[T,A]=g.useState(null);g.useEffect(()=>{v(!1),x(!1)},[p]),g.useEffect(()=>{let w=!1;return Ct(e,r).then(C=>{w||A(C)}),()=>{w=!0}},[e,r]);const j=g.useMemo(()=>t.filter(w=>w.floor===r).sort((w,C)=>w.number-C.number),[t,r]),O=g.useMemo(()=>{if(!T)return[];const w=i!=null?i:t,C=[];for(const _ of T){let X;if(_.aptIndex>=0&&_.aptIndex<j.length&&(X=j[_.aptIndex]),_.duplexPairId){const z=w.find($=>$.duplexPairId===_.duplexPairId);z&&(X=z)}X&&C.push({zone:_,apt:X})}return C},[T,j,i,t]),N=g.useCallback(w=>{const C=w.currentTarget;E({w:C.naturalWidth,h:C.naturalHeight}),v(!0)},[]);return y?c.jsx("div",{className:"w-full h-full flex items-center justify-center text-muted-foreground text-sm",children:"Не удалось загрузить план этажа"}):c.jsx(Gt,{ratio:h?h.w/h.h:null,onZoomChange:u,children:c.jsxs("div",{className:"relative w-full h-full",onClick:w=>{var C,_;const X=w.target;(_=(C=oe).debug)==null||_.call(C,"ui","[floor-click] mobile-house1",{mode:"house1-zones",houseId:e,floor:r,apartmentId:null,clickedPolygonId:(X==null?void 0:X.id)||(X==null?void 0:X.tagName)||null,selectedStatusFilter:d!=null?d:null,selectedEntranceFilter:f!=null?f:null,isApartment:!1,isCommonArea:!0})},children:[!m&&c.jsx("div",{className:"absolute inset-0 flex items-center justify-center",children:c.jsx(Ae,{size:32})}),c.jsx("img",{src:p,alt:`План этажа ${r}`,draggable:!1,className:"block w-full h-full object-contain select-none",onLoad:N,onError:()=>x(!0),style:{opacity:m?1:0,transition:"opacity 200ms"},"data-testid":`floor-selector-plan-raster-${r}`}),m&&k&&h&&c.jsxs("svg",{className:"absolute top-0 left-0 w-full h-full",viewBox:`0 0 ${k.w} ${k.h}`,preserveAspectRatio:"xMidYMid meet",style:{overflow:"visible"},children:[c.jsx("style",{children:`
45              @keyframes selectorPulse {
46                0%, 100% { stroke-opacity: 1; }
47                50% { stroke-opacity: 0.55; }
48              }
49              .selector-current { animation: selectorPulse 2s ease-in-out infinite; }
50            `}),O.map(({zone:w,apt:C},_)=>{const X=k.w/h.w,z=k.h/h.h,$=w.points.map(Q=>`${Q.x*X},${Q.y*z}`).join(" "),I=Pe(C),G=C.id===o,se=a.has(C.id),U=s?!se&&!G:!1,le=I?rt:nt(C.status),re=G?"transparent":s?U?Ut:I?qt:$t(C.status):"transparent",ee=G?le:s?U?Qt:le:"none",ue=G?5:U?1.5:3;return c.jsx("polygon",{points:$,fill:re,stroke:ee,strokeWidth:ue*Math.max(X,z),strokeLinejoin:"miter",style:{cursor:"pointer",pointerEvents:"all",opacity:U?.55:1},onClick:Q=>{var ne,W,J,S;Q.stopPropagation(),(S=(J=oe).debug)==null||S.call(J,"ui","[floor-click] mobile-house1",{mode:"house1-zones",houseId:e,floor:r,apartmentId:C.id,clickedPolygonId:(ne=C.svgPathId
50)!=null?ne:null,number:C.number,status:C.status,entrance:(W=C.entrance)!=null?W:null,selectedStatusFilter:d!=null?d:null,selectedEntranceFilter:f!=null?f:null,isCurrent:C.id===n,isApartment:!0,isCommonArea:!1}),l(C)},"data-testid":`floor-zone-${C.id}`},`${C.id}-${_}`)})]})]})})}const Ue=new Map;function en({house:e,floor:r,floorApartments:t,currentApartmentId:i,selectedApartmentId:n,highlightedIds:o,showStatusOverlay:a=!0,onApartmentTap:s,onZoomChange:l,diagStatusFilter:u,diagEntrances:d}){var f;const p=ui(e),h=(f=p==null?void 0:p.getFloorSvgUrl(r))!=null?f:null,m=g.useRef(null),[v,y]=g.useState(null),[x,k]=g.useState(!1),[E,T]=g.useState(!1),[A,j]=g.useState(void 0);g.useEffect(()=>{let N=!1;return j(void 0),Ct(e,r).then(w=>{N||j(w)}),()=>{N=!0}},[e,r]);const O=g.useMemo(()=>v?tn(v):null,[v]);return g.useEffect(()=>{if(!h)return;if(k(!1),T(!1),Ue.has(h)){y(Ue.get(h));return}y(null);let N=!1;return fetch(h+(h.includes("?")?"&":"?")+"v=4").then(w=>{if(!w.ok)throw new Error("Failed");return w.text()}).then(w=>{N||(Ue.set(h,w),y(w))}).catch(()=>{N||k(!0)}),()=>{N=!0}},[h]),g.useEffect(()=>{const N=m.current;if(!N||!v)return;for(;N.firstChild;)N.removeChild(N.firstChild);const w=ri(v);if(w){if(!w.getAttribute("viewBox")){const C=w.getAttribute("width"),_=w.getAttribute("height");C&&_&&w.setAttribute("viewBox",`0 0 ${parseFloat(C)} ${parseFloat(_)}`)}if(w.removeAttribute("width"),w.removeAttribute("height"),w.style.width="100%",w.style.height="100%",w.style.maxWidth="100%",w.style.maxHeight="100%",w.style.display="block",w.getAttribute("preserveAspectRatio")||w.setAttribute("preserveAspectRatio","xMidYMid meet"),e===1){const _=(w.getAttribute("class")||"").split(/\s+/).filter(Boolean),X=ni()?["house1-floor-svg","house1-floor-colored"]:["house1-floor-svg"];for(const z of X)_.includes(z)||_.push(z);w.setAttribute("class",_.join(" "))}N.appendChild(w)}},[v,e]),g.useEffect(()=>{var N,w,C;const _=m.current;if(!_||!v||!t.length||A===void 0)return;const X=_.querySelector("svg");if(!X)return;X.querySelectorAll(".selector-pin, [data-zone-overlay]").forEach(S=>S.remove()),X.style.overflow="visible";const z=[...t].sort((S,P)=>S.number-P.number),$=(N=p==null?void 0:p.colors)!=null?N:[],I=p==null?void 0:p.zoneMapping,G=p==null?void 0:p.badgeDetection,se=String(r),U=(w=I==null?void 0:I[se])!=null?w:I==null?void 0:I.default,le=Array.from(X.querySelectorAll("path, polygon")),re=[],ee=new Map,ue=[];le.forEach(S=>{const P=S.getAttribute("fill");P&&$.includes(P.toUpperCase())&&(re.push(S),ee.set(S,P))});const Q=oi(re),ne=Array.isArray(A)&&A.length>0,W=(S,P)=>{const F=B=>{var K,H,R;B.stopPropagation(),(R=(H=oe).debug)==null||R.call(H,"ui","[floor-click] mobile-other",{mode:ne?"saved-zones":"path",houseId:e,floor:r,apartmentId:P.id,clickedPolygonId:S.id||S.getAttribute("id")||P.svgPathId||null,number:P.number,status:P.status,entrance:(K=P.entrance)!=null?K:null,selectedStatusFilter:u!=null?u:null,selectedEntranceFilter:d!=null?d:null,isApartment:!0,isCommonArea:!1}),s(P)};S.addEventListener("click",F),ue.push({el:S,fn:F})},J=(S,P)=>{const F=P.id===n,K=Pe(P)?rt:nt(P.status);if(F){S.style.stroke=K,S.style.strokeWidth="3.5",S.style.strokeLinejoin="miter",S.style.cursor="pointer",S.style.opacity="1",S.style.pointerEvents="all",S.__aptId=P.id,W(S,P);return}if(!a){S.style.stroke="none",S.style.strokeWidth="0",S.style.strokeLinejoin="miter",S.style.cursor="pointer",S.style.opacity="1",S.style.pointerEvents="all",S.__aptId=P.id,W(S,P);return}const H=xt(P,i,n,o);S.setAttribute("fill",H.fill),S.style.fill=H.fill,S.style.stroke=H.stroke,S.style.strokeWidth=String(H.strokeFactor),S.style.strokeLinejoin="miter",S.style.cursor="pointer",S.style.opacity=H.dimmed?"0.6":"1",S.style.pointerEvents="all",S.__aptId=P.id,W(S,P)};if(ne){Q.forEach(H=>{H.style.pointerEvents="none"});const S="http://www.w3.org/2000/svg",P=document.createElementNS(S,"g");P.setAttribute("data-zone-overlay","");const F=X.viewBox.baseVal,K=F&&F.width?F.width/3736:1;A.forEach(H=>{const R=H.aptIndex>=0&&H.aptIndex<z.length?z[H.aptIndex]:void 0;if(!R||!H.points||H.points.length<3)return;const L=xt(R,i,n,o),V=document.createElementNS(S,"polygon");V.setAttribute("points",H.points.map(be=>`${be.x},${be.y}`).join(" "));const ge=L.isSelected||!a?"transparent":L.fill,Te=L.isSelected||a?L.stroke:"none";V.setAttribute("fill",ge),V.style.stroke=Te;const ze=L.isSelected?5:a?L.dimmed?1.5:3:0;V.style.strokeWidth=String(ze*K),V.style.strokeLinejoin="miter",V.style.cursor="pointer",V.style.opacity=L.isSelected||!a?"1":L.dimmed?"0.6":"1",V.style.pointerEvents="all",V.__aptId=R.id,V.setAttribute("data-testid",`floor-zone-${R.id}`),W(V,R),P.appendChild(V)}),X.appendChild(P)}else if(U&&U.length>0){let S=0;
50U.forEach((P,F)=>{const B=Q[F];if(B){if(P.action==="new"){const K=z[S];K&&J(B,K),S++}else if(P.action==="merge-prev"){const K=S>0?z[S-1]:null;K&&J(B,K)}}})}else if(G){const S=(C=G[se])!=null?C:G.default;if(S){const P=Math.max(X.viewBox.baseVal.width,X.viewBox.baseVal.height)*.08;Q.forEach(F=>{const B=ai(F),K=B.x+B.width/2,H=B.y+B.height/2;let R=null;for(const L of S){const V=Math.sqrt((K-L.x)**2+(H-L.y)**2);V<P&&(!R||V<R.dist)&&(R={aptIndex:L.aptIndex,dist:V})}if(R){const L=z[R.aptIndex];L&&J(F,L)}})}}else Q.forEach((S,P)=>{const F=z[P];F&&J(S,F)});return T(!0),()=>{ue.forEach(({el:S,fn:P})=>S.removeEventListener("click",P)),X.querySelectorAll("[data-zone-overlay]").forEach(S=>S.remove()),ee.forEach((S,P)=>{P.setAttribute("fill",S),P.style.fill="",P.style.stroke="",P.style.strokeWidth="",P.style.opacity="",P.style.cursor="",P.style.pointerEvents="",P.classList.remove("selector-current-other")})}},[v,A,t,p,e,r,i,n,o,a,s]),h?x?c.jsx("div",{className:"flex items-center justify-center min-h-[280px] text-center text-muted-foreground",children:c.jsxs("div",{children:[c.jsx(ut,{className:"w-12 h-12 mx-auto mb-2 opacity-50"}),c.jsx("p",{className:"text-sm",children:"Не удалось загрузить план этажа"})]})}):v?c.jsxs(Gt,{ratio:O,onZoomChange:l,children:[c.jsx("style",{children:`
51        @keyframes selectorPulseOther {
52          0%, 100% { stroke-opacity: 1; }
53          50% { stroke-opacity: 0.55; }
54        }
55        .selector-current-other { animation: selectorPulseOther 2s ease-in-out infinite; }
56      `}),c.jsx("div",{ref:m,className:`w-full h-full transition-opacity duration-300 ${E?"opacity-100":"opacity-0"}`,"data-testid":"floor-selector-plan-svg",onClick:N=>{var w,C;const _=N.target;(C=(w=oe).debug)==null||C.call(w,"ui","[floor-click] mobile-other",{mode:Array.isArray(A)&&A.length>0?"saved-zones":"path",houseId:e,floor:r,apartmentId:null,clickedPolygonId:(_==null?void 0:_.id)||(_==null?void 0:_.tagName)||null,selectedStatusFilter:u!=null?u:null,selectedEntranceFilter:d!=null?d:null,isApartment:!1,isCommonArea:!0})}})]}):c.jsx("div",{className:"flex items-center justify-center min-h-[280px]",children:c.jsx(Ae,{size:32})}):c.jsx("div",{className:"flex items-center justify-center min-h-[280px] text-center text-muted-foreground","data-testid":"floor-selector-no-plan",children:c.jsxs("div",{children:[c.jsx(ut,{className:"w-12 h-12 mx-auto mb-2 opacity-50"}),c.jsx("p",{className:"text-sm",children:"План этажа скоро будет добавлен"})]})})}function tn(e){const r=e.match(/viewBox\s*=\s*["']\s*[-\d.]+\s+[-\d.]+\s+([\d.]+)\s+([\d.]+)/i);if(r){const n=parseFloat(r[1]),o=parseFloat(r[2]);if(n>0&&o>0)return n/o}const t=e.match(/\bwidth\s*=\s*["']\s*([\d.]+)/i),i=e.match(/\bheight\s*=\s*["']\s*([\d.]+)/i);if(t&&i){const n=parseFloat(t[1]),o=parseFloat(i[1]);if(n>0&&o>0)return n/o}return null}function Gt({ratio:e,children:r,onZoomChange:t}){const i=g.useRef(null),n=g.useRef(null),[o,a]=g.useState(null);g.useEffect(()=>{const u=i.current;if(!u||e==null){a(null);return}const d=()=>{const p=u.clientWidth,h=u.clientHeight;if(!p||!h)return;let m=p,v=p/e;v>h&&(v=h,m=h*e),a({w:Math.round(m),h:Math.round(v)})};d();const f=new ResizeObserver(d);return f.observe(u),()=>f.disconnect()},[e]),g.useEffect(()=>{o&&n.current&&n.current.centerView(1,0)},[o==null?void 0:o.w,o==null?void 0:o.h]);const s=.1,l=o?{width:o.w,height:o.h,boxSizing:"content-box",paddingLeft:Math.round(o.w*s),paddingRight:Math.round(o.w*s),paddingTop:Math.round(o.h*s),paddingBottom:Math.round(o.h*s)}:{width:"100%",height:"100%"};return c.jsx("div",{ref:i,className:"relative w-full h-full overflow-hidden",children:c.jsx(Zr,{onInit:u=>{n.current=u},initialScale:1,minScale:1,maxScale:4,centerOnInit:!0,centerZoomedOut:!0,doubleClick:{disabled:!1,mode:"toggle",step:2},wheel:{step:.2},pinch:{step:5},panning:{velocityDisabled:!1},limitToBounds:!0,onTransform:(u,d)=>t==null?void 0:t(d.scale),children:({zoomIn:u,zoomOut:d})=>c.jsxs(c.Fragment,{children:[c.jsx($r,{wrapperStyle:{width:"100%",height:"100%"},contentStyle:l,children:r}),c.jsxs("div",{className:"absolute top-3 right-3 z-10 flex flex-col gap-1.5",children:[c.jsx("button",{type:"button",onClick:()=>u(),className:"w-10 h-10 rounded-full bg-white/85 dark:bg-black/55 backdrop-blur border border-black/10 dark:border-white/10 flex items-center justify-center shadow-md","data-testid":"button-zoom-in","aria-label":"Увеличить",children:c.jsx(xi,{className:"w-5 h-5 text-foreground"})}),c.jsx("button",{type:"button",onClick:()=>d(),className:"w-10 h-10 rounded-full bg-white/85 dark:bg-black/55 backdrop-blur border border-black/10 dark:border-white/10 flex items-center justify-center shadow-md","data-testid":"button-zoom-out","aria-label":"Уменьшить",children:c.jsx(Pi,{className:"w-5 h-5 text-foreground"})}),c.jsx("button",{type:"button",onClick:()=>{var f;return(f=n.current)==null?void 0:f.centerView(1,200)},className:"w-10 h-10 rounded-full bg-white/85 dark:bg-black/55 backdrop-blur border border-black/10 dark:border-white/10 flex items-center justify-center shadow-md","data-testid":"button-zoom-reset","aria-label":"Сбросить",children:c.jsx(si,{className:"w-5 h-5 text-foreground"})})]})]})})})}const rn=[{key:"all",label:"Все"},{key:"available",label:"В продаже"},{key:"reserved",label:"Бронь"},{key:"sold",label:"Проданные"},{key:"construction",label:"Строится"}];
56function nn({value:e,onChange:r,counts:t}){return c.jsx("div",{className:"flex gap-2 overflow-x-auto px-4 py-2 scrollbar-none -mx-4","data-testid":"floor-status-filter",children:rn.filter(i=>i.key!=="construction"||t.construction>0).map(i=>{var n,o;const a=t[i.key],s=e===i.key,l=i.key==="available"?Ne.available:i.key==="reserved"?Ne.reserved:i.key==="sold"?Ne.sold:i.key==="construction"?Ne.construction:null,u=(n=l==null?void 0:l.hover)!=null?n:"rgba(0,200,155,0.18)",d=(o=l==null?void 0:l.stroke)!=null?o:kt,f=i.key!=="all"?di[i.key]:null;return c.jsxs("button",{type:"button",onClick:()=>r(i.key==="all"&&e==="all"?"none":i.key),disabled:a===0&&i.key!=="all",className:`shrink-0 px-3.5 py-2 rounded-full text-sm font-bold whitespace-nowrap min-h-[40px] transition-all border ${s?"text-foreground":"bg-white/70 dark:bg-secondary/60 text-gray-600 dark:text-muted-foreground border-transparent"} ${a===0&&i.key!=="all"?"opacity-40":""}`,style:s?{backgroundColor:u,borderColor:d}:void 0,"data-testid":`filter-chip-${i.key}`,children:[f&&c.jsx("span",{className:"inline-block w-2 h-2 rounded-full mr-1.5 align-middle",style:{backgroundColor:f},"data-testid":`filter-dot-${i.key}`}),i.label,c.jsx("span",{className:"ml-1.5 text-xs opacity-70",children:a})]},i.key)})})}const on={available:"В продаже",reserved:"Забронирована",sold:"Продана"},an={available:"#00C89B",reserved:"#D97706",sold:"#DC2626"};function sn({apt:e,onClose:r,onOpen:t,isCurrent:i,recentlyViewed:n=!1}){var o,a;const s=!!e&&Pe(e),{getDiscountedPrice:l}=ci(),u=e&&!s&&e.status!=="sold"?l(e):null,d=!!u&&u.discountType!=="none",f=(u==null?void 0:u.discountType)==="super",[p,h]=g.useState(!1);return g.useEffect(()=>{h(!1)},[e==null?void 0:e.id]),c.jsx(Et,{children:e&&c.jsx(ye.div,{initial:{y:200,opacity:0},animate:{y:0,opacity:1},exit:{y:200,opacity:0},transition:{type:"spring",damping:28,stiffness:280},drag:"y",dragConstraints:{top:0,bottom:0},dragElastic:{top:0,bottom:.6},onDragEnd:(m,v)=>{(v.offset.y>120||v.velocity.y>600)&&r()},className:"fixed left-0 right-0 z-[60] px-3",style:{bottom:0,paddingBottom:"max(0.75rem, env(safe-area-inset-bottom))"},"data-testid":"floor-selector-preview",children:c.jsxs("div",{className:"relative mx-auto max-w-md",children:[d&&p&&u&&c.jsxs("div",{className:`absolute left-0 bottom-full mb-2 z-[70] w-[min(280px,calc(100%-1rem))] rounded-xl px-3 py-2.5 shadow-xl ${f?"border-0 text-white bg-gradient-to-r from-orange-500 to-red-500":"bg-popover text-popover-foreground border border-border"}`,onPointerDown:m=>m.stopPropagation(),"data-testid":"popup-preview-discount",children:[c.jsx("button",{type:"button",onClick:()=>h(!1),className:`absolute top-1.5 right-1.5 p-1 rounded-full ${f?"hover:bg-white/20":"hover:bg-black/10 dark:hover:bg-white/10"}`,"aria-label":"Закрыть","data-testid":"button-preview-discount-close",children:c.jsx(je,{className:"w-3.5 h-3.5"})}),c.jsxs("p",{className:"font-semibold text-sm leading-tight pr-5",children:[f?"Суперскидка":"Скидка"," ",Math.round(u.discountPercent),"%"]}),ct(u)&&c.jsx("p",{className:"text-xs mt-1 opacity-90",children:ct(u)}),u.endDate&&c.jsxs("p",{className:"flex items-center gap-1.5 text-xs mt-1 opacity-90",children:[c.jsx(ki,{className:"w-3 h-3"}),"до"," ",new Date(u.endDate).toLocaleDateString("ru-RU",{day:"2-digit",month:"2-digit",year:"numeric"})]})]}),c.jsxs("div",{className:"rounded-2xl bg-white dark:bg-[#14181a] shadow-2xl border border-black/5 dark:border-white/10 overflow-hidden",children:[c.jsx("div",{className:"flex justify-center pt-2 pb-1",children:c.jsx("div",{className:"w-10 h-1 rounded-full bg-gray-300 dark:bg-white/15"})}),c.jsxs("div",{className:"px-4 pb-4",children:[c.jsxs("div",{className:"flex items-start justify-between gap-2 mb-2",children:[c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-center gap-2",children:[c.jsx("span",{className:"inline-block w-2.5 h-2.5 rounded-full",style:{backgroundColor:s?"#f6c762":(o=an[e.status])!=null?o:"#94a3b8"}}),c.jsx("span",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground",children:s?"Скоро в продаже":(a=on[e.status])!=null?a:e.status}),i&&c.jsx("span",{className:"ml-1 text-[10px] font-bold uppercase tracking-wider px-2 py-0.5 rounded-full bg-primary/15 text-primary",children:"Текущая"})]}),c.jsxs("div",{className:"mt-1.5 text-base font-bold text-foreground","data-testid":"text-preview-rooms",children:["Квартира №",fi(e)," · ",e.rooms===0?"Студия":`${e.rooms}-комн.`]}),c.jsxs("div",{className:"text-sm text-muted-foreground",children:["Дом ",e.house,", этаж ",e.floor," · ",e.area," м²"]}),n&&c.jsxs("div",{className:"mt-1.5 inline-flex items-center gap-1 rounded-full bg-primary/10 text-primary px-2 py-0.5 text-[11px] font-medium","data-testid":"badge-recently-viewed",children:[c.jsx(mi,{className:"w-3 h-3"}),"Вы недавно смотрели эту квартиру"]})]}),c.jsx("button",{type:"button",onClick:r,className:"shrink-0 -mt-1 -mr-1 w-9 h-9 flex items-center justify-center rounded-full text-muted-foreground hover:bg-gray-100 dark:hover:bg-white/5","data-testid":"button-preview-close","aria-label":"Закрыть",children:c.jsx(je,{className:"w-5 h-5"})})]}),d&&u&&c.jsxs("button",{type:"button",onClick:()=>h(m=>!m),onPointerDown:m=>m.stopPropagation(),className:`inline-flex items-center gap-1 rounded-full text-[11px] font-semibold px-2 py-0.5 mt-2 ${Ci(u.discountType)}`,"aria-label":"Подробнее об акции","data-testid":"button-preview-discount",children:[f?c.jsx(Ei,{className:"w-3 h-3"}):c.jsx(Ti,{className:"w-3 h-3"}),u.discountLabel,c.jsx(Tt,{className:"w-3 h-3 opacity-80"})]}),c.jsxs("div",{className:"flex items-end justify-between gap-3 mt-3",children:[s?c.jsxs("div",{children:[c.jsx("div",{className:"text-base font-bold text-foreground","data-testid":"text-preview-price",children:"Скоро в продаже"}),c.jsx("div",{className:"text-xs text-muted-foreground max-w-[200px] leading-snug",children:pi})]}):d&&u?c.jsxs("div",{children:[c.jsxs("div",{className:"flex items-baseline gap-2",children:[c.jsx("div",{className:"text-xl font-bold text-foreground","data-testid":"text-preview-price",children:He(u.discountedPrice)}),c.jsx("span",{className:"text-sm text-muted-foreground line-through","data-testid":"text-preview-original-price",children:He(u.originalPrice)})]}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[dt(u.discountedPrice,e.area)," / м²"]})]}):c.jsxs("div",{children:[c.jsx("div",{className:"text-xl font-bold text-foreground","data-testid":"text-preview-price",children:He(e.price)}),c.jsxs("div",{className:"text-xs text-muted-foreground",children:[dt(e.price,e.area)," / м²"]})]}),!i&&(s||e.status!=="sold")&&c.jsxs("button",{type:"button",onClick:()=>t(e),className:"inline-flex items-center gap-1.5 px-4 py-2.5 rounded-full bg-primary text-white text-sm font-bold min-h-[44px]","data-testid":"button-preview-open",children:["Открыть",c.jsx(vi,{className:"w-4 h-4"})]})]})]})]})]})},e.id)})}const ln=[1,2,3,4,5,6,7,8];function Jt(e){return e===1?10:e===5||e===6?8:9}function un(e){return Array.from({length:Jt(e)},(r,t)=>t+1)}function dn({house:e,floor:r,onApply:t}){const[i,n]=g.useState(!1),[o,a]=g.useState(e),[s,l]=g.useState(r),u=g.useRef(null),d=()=>{a(e),l(r),n(!0)};g.useEffect(()=>{if(!i)return;const m=y=>{u.current&&!u.current.contains(y.target)&&n(!1)},v=y=>{y.key==="Escape"&&n(!1)};return document.addEventListener("pointerdown",m),document.addEventListener("keydown",v),()=>{document.removeEventListener("pointerdown",m),document.removeEventListener("keydown",v)}},[i]);const f=g.useMemo(()=>un(o),[o]),p=m=>{a(m),l(v=>Math.min(v,Jt(m)))},h=()=>{t(o,s),n(!1)};return c.jsxs("div",{ref:u,className:"relative flex justify-center",children:[c.jsxs("button",{type:"button",onClick:()=>i?n(!1):d(),"aria-expanded":i,"aria-haspopup":"dialog","aria-controls":"floor-house-picker-panel",className:"inline-flex items-center gap-1.5 max-w-full px-4 py-1.5 rounded-full border border-primary/50 bg-primary/5 text-sm font-bold text-foreground min-h-[40px] active:bg-primary/10","data-testid":"button-floor-house-picker",children:[c.jsxs("span",{className:"truncate",children:["Дом ",e," • Этаж ",r]}),c.jsx(hi,{className:Fe("w-4 h-4 shrink-0 transition-transform",i&&"rotate-180")}
56)]}),c.jsx(Et,{children:i&&c.jsxs(ye.div,{initial:{opacity:0,y:-8,scale:.98,x:"-50%"},animate:{opacity:1,y:0,scale:1,x:"-50%"},exit:{opacity:0,y:-8,scale:.98,x:"-50%"},transition:{duration:.15},id:"floor-house-picker-panel",role:"dialog","aria-label":"Выбор дома и этажа",className:"absolute top-full left-1/2 mt-2 z-[70] w-[min(92vw,360px)] rounded-2xl bg-white dark:bg-[#14181a] shadow-2xl border border-black/5 dark:border-white/10 p-4","data-testid":"floor-house-picker-panel",children:[c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2",children:"Дом"}),c.jsx("div",{className:"grid grid-cols-4 gap-2",children:ln.map(m=>{const v=gi(m),y=m===o;return c.jsxs("button",{type:"button",disabled:!v,"aria-pressed":y,onClick:()=>p(m),className:Fe("h-10 rounded-xl text-sm font-bold transition-colors border",y?"border-primary text-primary bg-primary/10":"border-transparent bg-gray-100 dark:bg-white/5 text-foreground",!v&&"opacity-30 cursor-not-allowed"),"data-testid":`picker-house-${m}`,children:["Дом ",m]},m)})}),c.jsx("div",{className:"my-3 border-t border-black/5 dark:border-white/10"}),c.jsx("div",{className:"text-xs font-bold uppercase tracking-wider text-muted-foreground mb-2",children:"Этаж"}),c.jsx("div",{className:"grid grid-cols-5 gap-2",children:f.map(m=>{const v=m===s;return c.jsx("button",{type:"button","aria-pressed":v,onClick:()=>l(m),className:Fe("h-10 rounded-xl text-sm font-bold transition-colors border",v?"border-primary text-primary bg-primary/10":"border-transparent bg-gray-100 dark:bg-white/5 text-foreground"),"data-testid":`picker-floor-${m}`,children:m},m)})}),c.jsx("button",{type:"button",onClick:h,className:"mt-4 w-full h-11 rounded-xl bg-primary text-white text-sm font-bold active:opacity-90","data-testid":"button-picker-apply",children:"Применить"})]})})]})}function cn({entrances:e,selected:r,onToggle:t}){return c.jsx("div",{className:"flex gap-2 overflow-x-auto px-4 py-2 scrollbar-none -mx-4","data-testid":"floor-entrance-tabs",children:e.map(i=>{const n=r.has(i);return c.jsxs("button",{type:"button",onClick:()=>t(i),"aria-pressed":n,className:`shrink-0 px-3.5 py-2 rounded-full text-sm font-bold whitespace-nowrap min-h-[40px] transition-all border ${n?"text-foreground":"bg-white/70 dark:bg-secondary/60 text-gray-600 dark:text-muted-foreground border-transparent"}`,style:n?{backgroundColor:"rgba(0,200,155,0.18)",borderColor:kt}:void 0,"data-testid":`entrance-tab-${i}`,children:["Подъезд ",i]},i)})})}function fn({onClose:e}){return c.jsxs("div",{className:"absolute left-1/2 -translate-x-1/2 z-10 max-w-[88vw] flex items-center gap-2 pl-2 pr-1 py-1.5 rounded-2xl bg-white dark:bg-[#14181a] shadow-lg border border-black/5 dark:border-white/10",style:{bottom:"5.5rem"},"data-testid":"hint-pinch",children:[c.jsx(mn,{}),c.jsx("span",{className:"text-[12px] text-foreground leading-snug",children:"Приблизьте план двумя пальцами"}),c.jsx("button",{type:"button",onClick:e,className:"shrink-0 w-7 h-7 flex items-center justify-center rounded-full text-muted-foreground hover:bg-gray-100 dark:hover:bg-white/5","data-testid":"button-hint-close","aria-label":"Закрыть подсказку",children:c.jsx(je,{className:"w-4 h-4"})})]})}function mn(){const e={duration:1.6,repeat:1/0,ease:"easeInOut"};return c.jsxs("div",{className:"relative shrink-0 w-10 h-7","aria-hidden":"true",children:[c.jsx(ye.span,{className:"absolute rounded-full border border-primary/40",style:{width:20,height:20,top:4,left:10},animate:{scale:[1,1.3,1],opacity:[.55,.15,.55]},transition:e}),c.jsx(ye.span,{className:"absolute rounded-full bg-primary",style:{width:10,height:10,top:9,left:6},animate:{x:[0,-5,0]},transition:e}),c.jsx(ye.span,{className:"absolute rounded-full bg-primary",style:{width:10,height:10,top:9,left:24},animate:{x:[0,5,0]},transition:e})]})}function pn({hasEntrances:e,onClose:r}){const t=()=>{_i("mobileFloorSelector"),r()},i=g.useMemo(()=>{const n=[{selector:'[data-testid="button-floor-house-picker"]',title:"Дом и этаж",description:"Переключайтесь между домами и этажами, чтобы посмотреть нужные планировки."},{selector:'[data-testid="floor-status-filter"]',title:"Статус квартир",description:"Показывайте свободные, забронированные или проданные квартиры."}];return e&&n.push({selector:'[data-testid="floor-entrance-tabs"]',title:"Подъезды",description:"Выделяйте нужные подъезды — остальные приглушатся на плане."}),n.push({selector:'[data-testid="button-zoom-in"]',title:"Масштаб плана",description:"Приближайте и отдаляйте план или используйте жест двумя пальцами."}),n},[e]);return c.jsx(Ni,{steps:i,onComplete:t,onSkip:t,testIdPrefix:"floor-selector-onboarding"})}const ot="floor_selector_return",at="floor_selector_return_ts",vn=1800*1e3;let we=null,Ye=0;function hn(e){we=e,Ye=Date.now();try{sessionStorage.setItem(ot,JSON.stringify(e)),sessionStorage.setItem(at,String(Ye))}catch(r){}}function gn(e){const r=t=>!t||Date.now()-t<=vn;if(we)return r(Ye)?we.id===e?we:null:(Je(),null);try{const t=sessionStorage.getItem(ot);if(!t)return null;const i=Number(sessionStorage.getItem(at));if(!r(i))return Je(),null;const n=JSON.parse(t);return n&&n.id===e?n:null}catch(t){return null}}function Je(){we=null,Ye=0;try{sessionStorage.removeItem(ot),sessionStorage.removeItem(at)}catch(e){}}const Qe="floor-selector-hint-dismissed",Pt="floor-selector-entrance-hint-dismissed";function bn(e,r){if(typeof window!="undefined"&&window.history.length>1){window.history.back();return}r(`/apartment/${e}`)}function jn({id:e}){var r,t;const[,i]=bi(),n=yi(),o=Be({queryKey:["/api/apartments/by-id",e],queryFn:async()=>{const b=await fetch(`/api/apartments/by-id/${e}`);if(!b.ok)throw new Error("Не удалось загрузить квартиру");return b.json()},enabled:!!e}),a=o.data,s=(r=a==null?void 0:a.house)!=null?r:0,l=(t=a==null?void 0:a.floor)!=null?t:0,[u,d]=g.useState(0),[f,p]=g.useState(0),h=g.useRef(!1),m=g.useRef(null);g.useEffect(()=>{h.current||(s&&d(s),l&&p(l))},[s,l]);const v=u||s,y=f||l,x=Be({queryKey:["/api/apartments",v,y],queryFn:async()=>{const b=await fetch(`/api/apartments/${v}/${y}`);if(!b.ok)throw new Error("Не удалось загрузить этаж");return b.json()},enabled:!!v&&!!y}),k=Be({queryKey:["/api/apartments"]}),E=g.useMemo(()=>{var b;return((b=k.data)!=null?b:[]).filter(Y=>Y.house===v)},[k.data,v]);g.useEffect(()=>{n===!1&&i(`/apartment/${e}`,{replace:!0})},[n,e,i]);const T=g.useRef(Date.now()),A=g.useRef(0);g.useEffect(()=>{if(!a)return;T.current=Date.now(),A.current=0,oe.track("floor_selector_opened","open",a.id,{apartmentId:a.id,currentApartmentId:a.id,house:a.house,floor:a.floor,source:"apartment_detail_mobile"});const b=a.id;return()=>{oe.track("floor_selector_closed","close",b,{currentApartmentId:b,durationMs:Date.now()-T.current,openedSelections:A.current})}},[a==null?void 0:a.id]),g.useEffect(()=>{window.scrollTo(0,0)},[]);const[j,O]=g.useState("all"),[N,w]=g.useState(null),[C,_]=g.useState(null),[X,z]=g.useState(null);g.useEffect(()=>{var b,Y;const Z=gn(e);Z&&(h.current=!0,d(Z.house),p(Z.floor),O(Z.filter),_((b=Z.selectedId)!=null?b:null),z((Y=Z.selectedId)!=null?Y:null),m.current={house:Z.house,floor:Z.floor,entrances:Z.entrances},Je())},[e]);const $=g.useCallback((b,Y)=>{b===v&&Y===y||(d(b),p(Y),_(null),w(null),oe.track("floor_selector_floor_changed","change",`${b}-${Y}`,{currentApartmentId:e,fromHouse:v,toHouse:b,fromFloor:y,toFloor:Y}))},[v,y,e]),[I,G]=g.useState(()=>{if(typeof window=="undefined")return!1;try{return window.sessionStorage.getItem(Qe)!=="1"}catch(b){return!0}}),se=g.useCallback(()=>{G(!1);try{window.sessionStorage.setItem(Qe,"1")}
56catch(b){}},[]),[U,le]=g.useState(!1),re=g.useCallback(b=>{if(b>1.01){le(!0);try{window.sessionStorage.setItem(Qe,"1")}catch(Y){}}},[]),[ee,ue]=g.useState(()=>{if(typeof window=="undefined")return!1;try{return window.localStorage.getItem(Pt)==="1"}catch(b){return!1}}),Q=g.useCallback(()=>{ue(!0);try{window.localStorage.setItem(Pt,"1")}catch(b){}},[]),ne=g.useCallback(b=>{O(b),oe.track("floor_filter_changed","change",b,{currentApartmentId:e,filter:b,house:v,floor:y})},[e,v,y]),W=g.useMemo(()=>{var b,Y,Z;const q=(b=x.data)!=null?b:[],de=E;if(!a)return q;const Re=new Map(q.map(te=>[te.id,te]));for(const te of de){if(!te.isDuplex||!te.duplexPairId)continue;const ti=(Y=te.duplexFloorStart)!=null?Y:te.floor,ii=(Z=te.duplexFloorEnd)!=null?Z:te.floor;y<ti||y>ii||Re.has(te.id)||Re.set(te.id,te)}return Array.from(Re.values())},[x.data,E,a,y]),J=g.useMemo(()=>{const b={all:0,available:0,reserved:0,sold:0,construction:0};for(const Y of W){if(b.all++,Pe(Y)){b.construction++;continue}Y.status==="available"?b.available++:Y.status==="reserved"?b.reserved++:Y.status==="sold"&&b.sold++}return b},[W]);g.useEffect(()=>{J.all!==0&&j!=="all"&&j!=="none"&&J[j]===0&&O("all")},[j,J]);const S=g.useMemo(()=>{const b=new Map;for(const Y of W)Y.entrance!=null&&b.set(Y.id,Y.entrance);return b},[W]),P=g.useMemo(()=>Array.from(new Set(S.values())).sort((b,Y)=>b-Y),[S]),F=P.join(",");g.useEffect(()=>{w(new Set(P))},[F]),g.useEffect(()=>{const b=m.current;if(!b||b.house!==v||b.floor!==y||P.length===0)return;m.current=null;const Y=new Set(P),Z=new Set(b.entrances.filter(q=>Y.has(q)));w(Z.size?Z:new Set(P))},[v,y,F]);const B=N!=null?N:new Set(P),K=g.useCallback(b=>{w(Y=>{const Z=Y!=null?Y:new Set(P),q=new Set(Z);return q.has(b)?q.delete(b):q.add(b),q}),oe.track("floor_entrance_changed","change",String(b),{currentApartmentId:e,entrance:b,house:v,floor:y})},[P,e,v,y]),H=g.useMemo(()=>{const b=new Set;for(const Y of W){const Z=j==="all"||wi(Y)===j,q=S.get(Y.id),de=q==null||B.has(q);Z&&de&&b.add(Y.id)}return b},[W,j,B,S]),R=g.useMemo(()=>{var b;return C&&(b=W.find(Y=>Y.id===C))!=null?b:null},[C,W]),L=g.useCallback(b=>{_(b.id),z(Y=>Y===b.id?Y:null),A.current+=1,oe.track("floor_apartment_tapped","tap",b.id,{currentApartmentId:e,selectedApartmentId:b.id,status:b.status,house:b.house,floor:b.floor})},[e]),V=g.useCallback(b=>{var Y;const Z=E.length?E:W,q=ji(b,Z),de=(Y=q==null?void 0:q.canonicalId)!=null?Y:b.id;oe.track("floor_apartment_opened","open",de,{currentApartmentId:e,selectedApartmentId:de,status:b.status,source:"mobile_floor_plan"}),hn({id:e,house:v,floor:y,filter:j,entrances:Array.from(N!=null?N:P),selectedId:b.id}),Yi(`/apartment/${de}`,void 0,"floor-plan→apartment card"),i(`/apartment/${de}`)},[e,i,E,W,v,y,j,N,P]),ge=g.useMemo(()=>typeof window!="undefined"&&new URLSearchParams(window.location.search).get("from")==="apartments",[]),Te=g.useCallback(()=>{if(ge){ft("floor-selector back",{variant:"fromCatalog",id:e}),Xi(b=>i(b),"/apartments");return}ft("floor-selector back",{variant:"fromCard",id:e}),bn(e,b=>i(b))},[ge,e,i]),[ze,be]=g.useState(!1),[Oe,st]=g.useState(!1);g.useEffect(()=>{if(!n||!a||x.isLoading||!W.some(Y=>Y.id!==e)||Ai("mobileFloorSelector"))return;be(!0);const b=setTimeout(()=>st(!0),600);return()=>clearTimeout(b)},[n,a==null?void 0:a.id,x.isLoading,W,e]);const It=g.useCallback(()=>{st(!1),be(!1)},[]);if(o.isLoading||!a)return c.jsx("div",{className:"min-h-screen bg-background flex items-center justify-center",children:c.jsx(Ae,{size:32})});if(o.isError)return c.jsxs("div",{className:"min-h-screen bg-background flex flex-col items-center justify-center p-4 text-center gap-3","data-testid":"floor-selector-error",children:[c.jsx("div",{className:"text-sm text-muted-foreground",children:"Не удалось загрузить план этажа. Попробуйте ещё раз"}),c.jsxs("button",{type:"button",onClick:()=>o.refetch(),className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-full bg-primary text-white text-sm font-bold min-h-[44px]","data-testid":"button-floor-selector-retry",children:[c.jsx(mt,{className:"w-4 h-4"}),"Повторить"]})]});const We=W.some(b=>b.id!==e),ei=B.size>0&&B.size<P.length,lt=!ee&&!x.isLoading&&We&&P.length>1&&!ei;return c.jsxs("div",{className:"h-[100dvh] overflow-hidden bg-background flex flex-col","data-testid":"page-floor-selector",children:[c.jsxs("header",{className:"sticky top-0 z-50 bg-white/90 dark:bg-[#0c1012]/90 backdrop-blur border-b border-black/5 dark:border-white/5",style:{paddingTop:"env(safe-area-inset-top)"},children:[c.jsxs("div",{className:"relative flex items-center justify-center px-3 py-2",children:[c.jsxs("button",{type:"button",onClick:Te,className:"absolute left-1 top-1/2 -translate-y-1/2 inline-flex items-center gap-1 px-2 py-2 rounded-full text-foreground min-h-[44px]","data-testid":"button-back","aria-label":"НаÐ
56·Ð°Ð´",children:[c.jsx(Si,{className:"w-5 h-5"}),c.jsx("span",{className:"text-sm font-bold",children:"Назад"})]}),c.jsx(dn,{house:v,floor:y,onApply:$})]}),c.jsx(nn,{value:j,onChange:ne,counts:J}),P.length>1&&c.jsx(cn,{entrances:P,selected:B,onToggle:K})]}),c.jsxs("main",{className:"flex-1 min-h-0 relative overflow-hidden","data-testid":"floor-selector-plan",children:[c.jsx("div",{className:"w-full h-full min-h-[360px] bg-gray-50 dark:bg-[#14181a]",style:{touchAction:"none"},children:x.isLoading?c.jsx("div",{className:"w-full h-full flex items-center justify-center",children:c.jsx(Ae,{size:32})}):x.isError?c.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center gap-3 px-6 text-center","data-testid":"floor-selector-floor-error",children:[c.jsx("div",{className:"text-sm text-muted-foreground",children:"Не удалось загрузить план этажа. Попробуйте ещё раз"}),c.jsxs("button",{type:"button",onClick:()=>x.refetch(),className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-full bg-primary text-white text-sm font-bold min-h-[44px]","data-testid":"button-floor-retry",children:[c.jsx(mt,{className:"w-4 h-4"}),"Повторить"]})]}):We?c.jsx(Jr,{house:v,floor:y,floorApartments:W,housePool:E,currentApartmentId:e,selectedApartmentId:C,highlightedIds:H,showStatusOverlay:j!=="none",onApartmentTap:L,onZoomChange:re,diagStatusFilter:j,diagEntrances:Array.from(B)}):c.jsxs("div",{className:"w-full h-full flex flex-col items-center justify-center gap-3 px-6 text-center","data-testid":"floor-selector-empty",children:[c.jsx("div",{className:"text-sm text-muted-foreground",children:"На этом этаже нет других доступных квартир"}),c.jsx("button",{type:"button",onClick:Te,className:"inline-flex items-center gap-2 px-4 py-2.5 rounded-full bg-primary text-white text-sm font-bold min-h-[44px]","data-testid":"button-back-to-apartment",children:ge?"Вернуться в каталог":"Вернуться к квартире"})]})}),I&&!U&&!R&&We&&!ze&&!Oe&&!lt&&c.jsx(fn,{onClose:se}),lt&&!R&&!Oe&&c.jsxs("div",{className:"absolute left-2 right-2 z-40 flex items-start gap-2 rounded-2xl bg-[#0c2a23]/95 text-white shadow-lg ring-1 ring-emerald-400/30 backdrop-blur px-3 py-2.5",style:{bottom:"max(0.75rem, calc(0.5rem + env(safe-area-inset-bottom)))"},role:"status","data-testid":"floor-entrance-hint",children:[c.jsx(Tt,{className:"w-4 h-4 mt-0.5 shrink-0 text-emerald-300"}),c.jsx("span",{className:"text-[13px] leading-snug flex-1",children:"Выберите подъезд, чтобы фильтры применились корректно"}),c.jsx("button",{type:"button",onClick:Q,className:"shrink-0 -mr-1 -mt-1 p-1.5 rounded-full hover:bg-white/10 active:bg-white/15","aria-label":"Скрыть подсказку","data-testid":"button-dismiss-entrance-hint",children:c.jsx(je,{className:"w-4 h-4"})})]})]}),c.jsx(sn,{apt:R,isCurrent:(R==null?void 0:R.id)===e,recentlyViewed:!!X&&(R==null?void 0:R.id)===X,onClose:()=>_(null),onOpen:V}),Oe&&c.jsx(pn,{hasEntrances:P.length>1,onClose:It})]})}export{jn as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.