add update

This commit is contained in:
2026-09-09 18:54:57 +07:00
parent da5ff2b80c
commit 56aabd5b8b
49 changed files with 1445 additions and 1203 deletions
@@ -1,4 +1,4 @@
import{A as e,D as t,N as n,it as r,v as i}from"./vue-router-bPs2Bq2h.js";import{B as a,G as o,J as s,K as c,M as l,N as u,V as d,Y as f,Z as p,o as m,r as h,t as g}from"./light-BDe84dgP.js";import{a as _,c as v,r as y}from"./resolve-slot-Cp3m6n7Y.js";import{B as b,C as x,F as S,I as C,L as w,M as T,P as E,S as D,j as O}from"./index-Bv36EVVv.js";function k(e){let{lineHeight:t,borderRadius:n,fontWeightStrong:r,baseColor:i,dividerColor:o,actionColor:s,textColor1:c,textColor2:l,closeColorHover:u,closeColorPressed:f,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,infoColor:g,successColor:_,warningColor:v,errorColor:y,fontSize:b}=e;return Object.assign(Object.assign({},x),{fontSize:b,lineHeight:t,titleFontWeight:r,borderRadius:n,border:`1px solid ${o}`,color:s,titleTextColor:c,iconColor:l,contentTextColor:l,closeBorderRadius:n,closeColorHover:u,closeColorPressed:f,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,borderInfo:`1px solid ${d(i,a(g,{alpha:.25}))}`,colorInfo:d(i,a(g,{alpha:.08})),titleTextColorInfo:c,iconColorInfo:g,contentTextColorInfo:l,closeColorHoverInfo:u,closeColorPressedInfo:f,closeIconColorInfo:p,closeIconColorHoverInfo:m,closeIconColorPressedInfo:h,borderSuccess:`1px solid ${d(i,a(_,{alpha:.25}))}`,colorSuccess:d(i,a(_,{alpha:.08})),titleTextColorSuccess:c,iconColorSuccess:_,contentTextColorSuccess:l,closeColorHoverSuccess:u,closeColorPressedSuccess:f,closeIconColorSuccess:p,closeIconColorHoverSuccess:m,closeIconColorPressedSuccess:h,borderWarning:`1px solid ${d(i,a(v,{alpha:.33}))}`,colorWarning:d(i,a(v,{alpha:.08})),titleTextColorWarning:c,iconColorWarning:v,contentTextColorWarning:l,closeColorHoverWarning:u,closeColorPressedWarning:f,closeIconColorWarning:p,closeIconColorHoverWarning:m,closeIconColorPressedWarning:h,borderError:`1px solid ${d(i,a(y,{alpha:.25}))}`,colorError:d(i,a(y,{alpha:.08})),titleTextColorError:c,iconColorError:y,contentTextColorError:l,closeColorHoverError:u,closeColorPressedError:f,closeIconColorError:p,closeIconColorHoverError:m,closeIconColorPressedError:h})}var A={name:`Alert`,common:g,self:k},j=c(`alert`,`
import{A as e,D as t,N as n,it as r,v as i}from"./vue-router-bPs2Bq2h.js";import{B as a,G as o,J as s,K as c,M as l,N as u,V as d,Y as f,Z as p,o as m,r as h,t as g}from"./light-BDe84dgP.js";import{a as _,c as v,r as y}from"./resolve-slot-Cp3m6n7Y.js";import{C as b,F as x,I as S,L as C,M as w,N as T,R as E,V as D,w as O}from"./index-kBnBAq6I.js";function k(e){let{lineHeight:t,borderRadius:n,fontWeightStrong:r,baseColor:i,dividerColor:o,actionColor:s,textColor1:c,textColor2:l,closeColorHover:u,closeColorPressed:f,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,infoColor:g,successColor:_,warningColor:v,errorColor:y,fontSize:b}=e;return Object.assign(Object.assign({},O),{fontSize:b,lineHeight:t,titleFontWeight:r,borderRadius:n,border:`1px solid ${o}`,color:s,titleTextColor:c,iconColor:l,contentTextColor:l,closeBorderRadius:n,closeColorHover:u,closeColorPressed:f,closeIconColor:p,closeIconColorHover:m,closeIconColorPressed:h,borderInfo:`1px solid ${d(i,a(g,{alpha:.25}))}`,colorInfo:d(i,a(g,{alpha:.08})),titleTextColorInfo:c,iconColorInfo:g,contentTextColorInfo:l,closeColorHoverInfo:u,closeColorPressedInfo:f,closeIconColorInfo:p,closeIconColorHoverInfo:m,closeIconColorPressedInfo:h,borderSuccess:`1px solid ${d(i,a(_,{alpha:.25}))}`,colorSuccess:d(i,a(_,{alpha:.08})),titleTextColorSuccess:c,iconColorSuccess:_,contentTextColorSuccess:l,closeColorHoverSuccess:u,closeColorPressedSuccess:f,closeIconColorSuccess:p,closeIconColorHoverSuccess:m,closeIconColorPressedSuccess:h,borderWarning:`1px solid ${d(i,a(v,{alpha:.33}))}`,colorWarning:d(i,a(v,{alpha:.08})),titleTextColorWarning:c,iconColorWarning:v,contentTextColorWarning:l,closeColorHoverWarning:u,closeColorPressedWarning:f,closeIconColorWarning:p,closeIconColorHoverWarning:m,closeIconColorPressedWarning:h,borderError:`1px solid ${d(i,a(y,{alpha:.25}))}`,colorError:d(i,a(y,{alpha:.08})),titleTextColorError:c,iconColorError:y,contentTextColorError:l,closeColorHoverError:u,closeColorPressedError:f,closeIconColorError:p,closeIconColorHoverError:m,closeIconColorPressedError:h})}var A={name:`Alert`,common:g,self:k},j=c(`alert`,`
line-height: var(--n-line-height);
border-radius: var(--n-border-radius);
position: relative;
@@ -18,7 +18,7 @@ import{A as e,D as t,N as n,it as r,v as i}from"./vue-router-bPs2Bq2h.js";import
pointer-events: none;
`),f(`closable`,[c(`alert-body`,[s(`title`,`
padding-right: 24px;
`)])]),s(`icon`,{color:`var(--n-icon-color)`}),c(`alert-body`,{padding:`var(--n-padding)`},[s(`title`,{color:`var(--n-title-text-color)`}),s(`content`,{color:`var(--n-content-text-color)`})]),D({originalTransition:`transform .3s var(--n-bezier)`,enterToProps:{transform:`scale(1)`},leaveToProps:{transform:`scale(0.9)`}}),s(`icon`,`
`)])]),s(`icon`,{color:`var(--n-icon-color)`}),c(`alert-body`,{padding:`var(--n-padding)`},[s(`title`,{color:`var(--n-title-text-color)`}),s(`content`,{color:`var(--n-content-text-color)`})]),b({originalTransition:`transform .3s var(--n-bezier)`,enterToProps:{transform:`scale(1)`},leaveToProps:{transform:`scale(0.9)`}}),s(`icon`,`
position: absolute;
left: 0;
top: 0;
@@ -45,4 +45,4 @@ import{A as e,D as t,N as n,it as r,v as i}from"./vue-router-bPs2Bq2h.js";import
font-size: 16px;
line-height: 19px;
font-weight: var(--n-title-font-weight);
`,[o(`& +`,[s(`content`,{marginTop:`9px`})])]),s(`content`,{transition:`color .3s var(--n-bezier)`,fontSize:`var(--n-font-size)`})]),s(`icon`,{transition:`color .3s var(--n-bezier)`})]),M=t({name:`Alert`,inheritAttrs:!1,props:Object.assign(Object.assign({},h.props),{title:String,showIcon:{type:Boolean,default:!0},type:{type:String,default:`default`},bordered:{type:Boolean,default:!0},closable:Boolean,onClose:Function,onAfterLeave:Function,onAfterHide:Function}),slots:Object,setup(e){let{mergedClsPrefixRef:t,mergedBorderedRef:n,inlineThemeDisabled:a,mergedRtlRef:o}=u(e),s=h(`Alert`,`-alert`,j,A,e,t),c=m(`Alert`,o,t),d=i(()=>{let{common:{cubicBezierEaseInOut:t},self:n}=s.value,{fontSize:r,borderRadius:i,titleFontWeight:a,lineHeight:o,iconSize:c,iconMargin:l,iconMarginRtl:u,closeIconSize:d,closeBorderRadius:f,closeSize:m,closeMargin:h,closeMarginRtl:g,padding:_}=n,{type:y}=e,{left:b,right:x}=v(l);return{"--n-bezier":t,"--n-color":n[p(`color`,y)],"--n-close-icon-size":d,"--n-close-border-radius":f,"--n-close-color-hover":n[p(`closeColorHover`,y)],"--n-close-color-pressed":n[p(`closeColorPressed`,y)],"--n-close-icon-color":n[p(`closeIconColor`,y)],"--n-close-icon-color-hover":n[p(`closeIconColorHover`,y)],"--n-close-icon-color-pressed":n[p(`closeIconColorPressed`,y)],"--n-icon-color":n[p(`iconColor`,y)],"--n-border":n[p(`border`,y)],"--n-title-text-color":n[p(`titleTextColor`,y)],"--n-content-text-color":n[p(`contentTextColor`,y)],"--n-line-height":o,"--n-border-radius":i,"--n-font-size":r,"--n-title-font-weight":a,"--n-icon-size":c,"--n-icon-margin":l,"--n-icon-margin-rtl":u,"--n-close-size":m,"--n-close-margin":h,"--n-close-margin-rtl":g,"--n-padding":_,"--n-icon-margin-left":b,"--n-icon-margin-right":x}}),f=a?l(`alert`,i(()=>e.type[0]),d,e):void 0,g=r(!0),_=()=>{let{onAfterLeave:t,onAfterHide:n}=e;t&&t(),n&&n()};return{rtlEnabled:c,mergedClsPrefix:t,mergedBordered:n,visible:g,handleCloseClick:()=>{Promise.resolve(e.onClose?.call(e)).then(e=>{e!==!1&&(g.value=!1)})},handleAfterLeave:()=>{_()},mergedTheme:s,cssVars:a?void 0:d,themeClass:f?.themeClass,onRender:f?.onRender}},render(){var t;return(t=this.onRender)==null||t.call(this),e(O,{onAfterLeave:this.handleAfterLeave},{default:()=>{let{mergedClsPrefix:t,$slots:r}=this,i={class:[`${t}-alert`,this.themeClass,this.closable&&`${t}-alert--closable`,this.showIcon&&`${t}-alert--show-icon`,!this.title&&this.closable&&`${t}-alert--right-adjust`,this.rtlEnabled&&`${t}-alert--rtl`],style:this.cssVars,role:`alert`};return this.visible?e(`div`,Object.assign({},n(this.$attrs,i)),this.closable&&e(T,{clsPrefix:t,class:`${t}-alert__close`,onClick:this.handleCloseClick}),this.bordered&&e(`div`,{class:`${t}-alert__border`}),this.showIcon&&e(`div`,{class:`${t}-alert__icon`,"aria-hidden":`true`},y(r.icon,()=>[e(b,{clsPrefix:t},{default:()=>{switch(this.type){case`success`:return e(S,null);case`info`:return e(C,null);case`warning`:return e(E,null);case`error`:return e(w,null);default:return null}}})])),e(`div`,{class:[`${t}-alert-body`,this.mergedBordered&&`${t}-alert-body--bordered`]},_(r.header,n=>{let r=n||this.title;return r?e(`div`,{class:`${t}-alert-body__title`},r):null}),r.default&&e(`div`,{class:`${t}-alert-body__content`},r))):null}})}});export{M as t};
`,[o(`& +`,[s(`content`,{marginTop:`9px`})])]),s(`content`,{transition:`color .3s var(--n-bezier)`,fontSize:`var(--n-font-size)`})]),s(`icon`,{transition:`color .3s var(--n-bezier)`})]),M=t({name:`Alert`,inheritAttrs:!1,props:Object.assign(Object.assign({},h.props),{title:String,showIcon:{type:Boolean,default:!0},type:{type:String,default:`default`},bordered:{type:Boolean,default:!0},closable:Boolean,onClose:Function,onAfterLeave:Function,onAfterHide:Function}),slots:Object,setup(e){let{mergedClsPrefixRef:t,mergedBorderedRef:n,inlineThemeDisabled:a,mergedRtlRef:o}=u(e),s=h(`Alert`,`-alert`,j,A,e,t),c=m(`Alert`,o,t),d=i(()=>{let{common:{cubicBezierEaseInOut:t},self:n}=s.value,{fontSize:r,borderRadius:i,titleFontWeight:a,lineHeight:o,iconSize:c,iconMargin:l,iconMarginRtl:u,closeIconSize:d,closeBorderRadius:f,closeSize:m,closeMargin:h,closeMarginRtl:g,padding:_}=n,{type:y}=e,{left:b,right:x}=v(l);return{"--n-bezier":t,"--n-color":n[p(`color`,y)],"--n-close-icon-size":d,"--n-close-border-radius":f,"--n-close-color-hover":n[p(`closeColorHover`,y)],"--n-close-color-pressed":n[p(`closeColorPressed`,y)],"--n-close-icon-color":n[p(`closeIconColor`,y)],"--n-close-icon-color-hover":n[p(`closeIconColorHover`,y)],"--n-close-icon-color-pressed":n[p(`closeIconColorPressed`,y)],"--n-icon-color":n[p(`iconColor`,y)],"--n-border":n[p(`border`,y)],"--n-title-text-color":n[p(`titleTextColor`,y)],"--n-content-text-color":n[p(`contentTextColor`,y)],"--n-line-height":o,"--n-border-radius":i,"--n-font-size":r,"--n-title-font-weight":a,"--n-icon-size":c,"--n-icon-margin":l,"--n-icon-margin-rtl":u,"--n-close-size":m,"--n-close-margin":h,"--n-close-margin-rtl":g,"--n-padding":_,"--n-icon-margin-left":b,"--n-icon-margin-right":x}}),f=a?l(`alert`,i(()=>e.type[0]),d,e):void 0,g=r(!0),_=()=>{let{onAfterLeave:t,onAfterHide:n}=e;t&&t(),n&&n()};return{rtlEnabled:c,mergedClsPrefix:t,mergedBordered:n,visible:g,handleCloseClick:()=>{Promise.resolve(e.onClose?.call(e)).then(e=>{e!==!1&&(g.value=!1)})},handleAfterLeave:()=>{_()},mergedTheme:s,cssVars:a?void 0:d,themeClass:f?.themeClass,onRender:f?.onRender}},render(){var t;return(t=this.onRender)==null||t.call(this),e(w,{onAfterLeave:this.handleAfterLeave},{default:()=>{let{mergedClsPrefix:t,$slots:r}=this,i={class:[`${t}-alert`,this.themeClass,this.closable&&`${t}-alert--closable`,this.showIcon&&`${t}-alert--show-icon`,!this.title&&this.closable&&`${t}-alert--right-adjust`,this.rtlEnabled&&`${t}-alert--rtl`],style:this.cssVars,role:`alert`};return this.visible?e(`div`,Object.assign({},n(this.$attrs,i)),this.closable&&e(T,{clsPrefix:t,class:`${t}-alert__close`,onClick:this.handleCloseClick}),this.bordered&&e(`div`,{class:`${t}-alert__border`}),this.showIcon&&e(`div`,{class:`${t}-alert__icon`,"aria-hidden":`true`},y(r.icon,()=>[e(D,{clsPrefix:t},{default:()=>{switch(this.type){case`success`:return e(S,null);case`info`:return e(C,null);case`warning`:return e(x,null);case`error`:return e(E,null);default:return null}}})])),e(`div`,{class:[`${t}-alert-body`,this.mergedBordered&&`${t}-alert-body--bordered`]},_(r.header,n=>{let r=n||this.title;return r?e(`div`,{class:`${t}-alert-body__title`},r):null}),r.default&&e(`div`,{class:`${t}-alert-body__content`},r))):null}})}});export{M as t};
File diff suppressed because one or more lines are too long
+447
View File
File diff suppressed because one or more lines are too long
-447
View File
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,Dt as t,E as n,Et as r,H as i,Q as a,S as o,T as s,W as c,b as l,it as u,lt as d,o as f,p,y as m}from"./vue-router-bPs2Bq2h.js";import{t as h}from"./Tag-Cwv9HHV1.js";import{i as g,n as _,t as v}from"./HeaderMenu-02Sa-bgH.js";var y={class:`center-block-custom`},b={class:`width1200 display-table catalog-grid`},x=[`onClick`],S={class:`scenario-content-block`},C={class:`scenario-title`},w={class:`scenario-description`},T={class:`scenario-label`},E=_(e({__name:`CatalogPage`,setup(e){let l=g(),_=u([]),E=f();async function D(){_.value=[];let e=await l.GetScenariosCatalog({});_.value=e.scenarios}async function O(e){E.push(`/scenarios/`+e)}return D(),(e,l)=>(i(),o(p,null,[m(`div`,y,[m(`div`,b,[(i(!0),o(p,null,c(_.value,e=>(i(),o(`div`,{class:`scenario-block`,onClick:t=>O(e.id),key:e.id},[m(`div`,{class:`scenario-image-block scenario-image`,style:r({backgroundImage:`url(${e.image})`})},null,4),m(`div`,S,[m(`p`,C,t(e.name),1),m(`p`,w,t(e.description),1),m(`p`,T,[n(d(h),{bordered:!1,type:`success`,class:`status-block`},{default:a(()=>[s(`Автор: `+t(e.author?.username),1)]),_:2},1024)])])],8,x))),128))])]),n(v,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-14025c2d`]]),D=e({__name:`CatalogView`,setup(e){return(e,t)=>(i(),l(E))}});export{D as default};
import{D as e,Dt as t,E as n,Et as r,H as i,Q as a,S as o,T as s,W as c,b as l,it as u,lt as d,o as f,p,y as m}from"./vue-router-bPs2Bq2h.js";import{t as h}from"./Tag-DR1B5rxc.js";import{i as g,n as _,t as v}from"./HeaderMenu-eN2wSqXA.js";var y={class:`center-block-custom`},b={class:`width1200 display-table catalog-grid`},x=[`onClick`],S={class:`scenario-content-block`},C={class:`scenario-title`},w={class:`scenario-description`},T={class:`scenario-label`},E=_(e({__name:`CatalogPage`,setup(e){let l=g(),_=u([]),E=f();async function D(){_.value=[];let e=await l.GetScenariosCatalog({});_.value=e.scenarios}async function O(e){E.push(`/scenarios/`+e)}return D(),(e,l)=>(i(),o(p,null,[m(`div`,y,[m(`div`,b,[(i(!0),o(p,null,c(_.value,e=>(i(),o(`div`,{class:`scenario-block`,onClick:t=>O(e.id),key:e.id},[m(`div`,{class:`scenario-image-block scenario-image`,style:r({backgroundImage:`url(${e.image})`})},null,4),m(`div`,S,[m(`p`,C,t(e.name),1),m(`p`,w,t(e.description),1),m(`p`,T,[n(d(h),{bordered:!1,type:`success`,class:`status-block`},{default:a(()=>[s(`Автор: `+t(e.author?.username),1)]),_:2},1024)])])],8,x))),128))])]),n(v,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-14025c2d`]]),D=e({__name:`CatalogView`,setup(e){return(e,t)=>(i(),l(E))}});export{D as default};
@@ -1 +1 @@
import{D as e,E as t,H as n,S as r,p as i}from"./vue-router-bPs2Bq2h.js";import{t as a}from"./DocsPage-KXQ4ysCJ.js";import{t as o}from"./HeaderMenu-02Sa-bgH.js";var s=e({__name:`ConsentView`,setup(e){return(e,s)=>(n(),r(i,null,[t(a,{kind:`consent`}),t(o)],64))}});export{s as default};
import{D as e,E as t,H as n,S as r,p as i}from"./vue-router-bPs2Bq2h.js";import{t as a}from"./DocsPage-BuatbvfB.js";import{t as o}from"./HeaderMenu-eN2wSqXA.js";var s=e({__name:`ConsentView`,setup(e){return(e,s)=>(n(),r(i,null,[t(a,{kind:`consent`}),t(o)],64))}});export{s as default};
@@ -1,4 +1,4 @@
import{A as e,D as t,Dt as n,E as r,H as i,Q as a,S as o,T as s,Z as c,b as l,it as u,lt as d,t as f,v as p,y as m,z as h}from"./vue-router-bPs2Bq2h.js";import{G as g,K as _,M as v,N as y,Y as b,Z as x,r as S}from"./light-BDe84dgP.js";import{l as C}from"./resolve-slot-Cp3m6n7Y.js";import{t as w}from"./use-compitable-BcHeQzgm.js";import{t as T}from"./fade-in.cssr-CHZadXSL.js";import{t as E}from"./Alert-DVaP3Fck.js";import{A as D,k as O,o as k,q as A}from"./index-Bv36EVVv.js";import{i as j,n as M}from"./HeaderMenu-02Sa-bgH.js";import{t as N}from"./HeaderText-Bnv2gC6e.js";var P=g([g(`@keyframes spin-rotate`,`
import{A as e,D as t,Dt as n,E as r,H as i,Q as a,S as o,T as s,Z as c,b as l,it as u,lt as d,t as f,v as p,y as m,z as h}from"./vue-router-bPs2Bq2h.js";import{G as g,K as _,M as v,N as y,Y as b,Z as x,r as S}from"./light-BDe84dgP.js";import{l as C}from"./resolve-slot-Cp3m6n7Y.js";import{t as w}from"./use-compitable-BcHeQzgm.js";import{t as T}from"./fade-in.cssr-CHZadXSL.js";import{t as E}from"./Alert-PXucUWns.js";import{A as D,J as O,j as k,o as A}from"./index-kBnBAq6I.js";import{i as j,n as M}from"./HeaderMenu-eN2wSqXA.js";import{t as N}from"./HeaderText-CtkTsjpJ.js";var P=g([g(`@keyframes spin-rotate`,`
from {
transform: rotate(0);
}
@@ -40,4 +40,4 @@ import{A as e,D as t,Dt as n,E as r,H as i,Q as a,S as o,T as s,Z as c,b as l,it
-webkit-user-select: none;
pointer-events: none;
opacity: var(--n-opacity-spinning);
`)])]),F={small:20,medium:18,large:16},I=t({name:`Spin`,props:Object.assign(Object.assign(Object.assign({},S.props),{contentClass:String,contentStyle:[Object,String],description:String,size:{type:[String,Number],default:`medium`},show:{type:Boolean,default:!0},rotate:{type:Boolean,default:!0},spinning:{type:Boolean,validator:()=>!0,default:void 0},delay:Number}),D),slots:Object,setup(e){let{mergedClsPrefixRef:t,inlineThemeDisabled:n}=y(e),r=S(`Spin`,`-spin`,P,k,e,t),i=p(()=>{let{size:t}=e,{common:{cubicBezierEaseInOut:n},self:i}=r.value,{opacitySpinning:a,color:o,textColor:s}=i;return{"--n-bezier":n,"--n-opacity-spinning":a,"--n-size":typeof t==`number`?C(t):i[x(`size`,t)],"--n-color":o,"--n-text-color":s}}),a=n?v(`spin`,p(()=>{let{size:t}=e;return typeof t==`number`?String(t):t[0]}),i,e):void 0,o=w(e,[`spinning`,`show`]),s=u(!1);return c(t=>{let n;if(o.value){let{delay:r}=e;if(r){n=window.setTimeout(()=>{s.value=!0},r),t(()=>{clearTimeout(n)});return}}s.value=o.value}),{mergedClsPrefix:t,active:s,mergedStrokeWidth:p(()=>{let{strokeWidth:t}=e;if(t!==void 0)return t;let{size:n}=e;return F[typeof n==`number`?`medium`:n]}),cssVars:n?void 0:i,themeClass:a?.themeClass,onRender:a?.onRender}},render(){var t;let{$slots:n,mergedClsPrefix:r,description:i}=this,a=n.icon&&this.rotate,o=(i||n.description)&&e(`div`,{class:`${r}-spin-description`},i||n.description?.call(n)),s=n.icon?e(`div`,{class:[`${r}-spin-body`,this.themeClass]},e(`div`,{class:[`${r}-spin`,a&&`${r}-spin--rotate`],style:n.default?``:this.cssVars},n.icon()),o):e(`div`,{class:[`${r}-spin-body`,this.themeClass]},e(O,{clsPrefix:r,style:n.default?``:this.cssVars,stroke:this.stroke,"stroke-width":this.mergedStrokeWidth,radius:this.radius,scale:this.scale,class:`${r}-spin`}),o);return(t=this.onRender)==null||t.call(this),n.default?e(`div`,{class:[`${r}-spin-container`,this.themeClass],style:this.cssVars},e(`div`,{class:[`${r}-spin-content`,this.active&&`${r}-spin-content--spinning`,this.contentClass],style:this.contentStyle},n),e(A,{name:`fade-in-transition`},{default:()=>this.active?s:null})):s}}),L={class:`center-block-custom`},R={class:`width700 doc-page`},z={class:`doc-title`},B={key:0,class:`doc-loading`},V={key:2,class:`paper-block`},H={class:`paper`},U={class:`doc-text`},W={class:`docs-links`},G=M(t({__name:`DocsPage`,props:{kind:{}},setup(e){let t=e,c={terms:`Пользовательское соглашение`,privacy:`Политика конфиденциальности`,consent:`Согласие на обработку персональных данных`},p=u(``),g=u(!0),_=u(``);return h(async()=>{let e=j(),n={terms:()=>e.GetTerms({}),privacy:()=>e.GetPrivacy({}),consent:()=>e.GetConsent({})};try{let e=await n[t.kind]();e.error?_.value=e.error:p.value=e.text||``}catch(e){_.value=e instanceof Error?e.message:`Не удалось загрузить документ`}finally{g.value=!1}}),(e,u)=>(i(),o(`div`,L,[m(`div`,R,[m(`h1`,z,[r(N,null,{default:a(()=>[s(n(c[t.kind]),1)]),_:1})]),g.value?(i(),o(`div`,B,[r(d(I),{size:`large`})])):_.value?(i(),l(d(E),{key:1,type:`error`,"show-icon":!1,class:`doc-error`},{default:a(()=>[s(n(_.value),1)]),_:1})):(i(),o(`div`,V,[m(`div`,H,[m(`p`,U,n(p.value),1)]),u[0]||=m(`div`,{class:`paper-shadow paper-shadow-left`},null,-1),u[1]||=m(`div`,{class:`paper-shadow paper-shadow-right`},null,-1)])),m(`div`,W,[u[5]||=s(` Смотрите также: `,-1),r(d(f),{to:`/user-agreement`,class:`docs-link`},{default:a(()=>[...u[2]||=[s(`Пользовательское соглашение`,-1)]]),_:1}),u[6]||=s(` · `,-1),r(d(f),{to:`/privacy-policy`,class:`docs-link`},{default:a(()=>[...u[3]||=[s(`Политика конфиденциальности`,-1)]]),_:1}),u[7]||=s(` · `,-1),r(d(f),{to:`/consent`,class:`docs-link`},{default:a(()=>[...u[4]||=[s(`Согласие на обработку персональных данных`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-f5dde12c`]]);export{G as t};
`)])]),F={small:20,medium:18,large:16},I=t({name:`Spin`,props:Object.assign(Object.assign(Object.assign({},S.props),{contentClass:String,contentStyle:[Object,String],description:String,size:{type:[String,Number],default:`medium`},show:{type:Boolean,default:!0},rotate:{type:Boolean,default:!0},spinning:{type:Boolean,validator:()=>!0,default:void 0},delay:Number}),k),slots:Object,setup(e){let{mergedClsPrefixRef:t,inlineThemeDisabled:n}=y(e),r=S(`Spin`,`-spin`,P,A,e,t),i=p(()=>{let{size:t}=e,{common:{cubicBezierEaseInOut:n},self:i}=r.value,{opacitySpinning:a,color:o,textColor:s}=i;return{"--n-bezier":n,"--n-opacity-spinning":a,"--n-size":typeof t==`number`?C(t):i[x(`size`,t)],"--n-color":o,"--n-text-color":s}}),a=n?v(`spin`,p(()=>{let{size:t}=e;return typeof t==`number`?String(t):t[0]}),i,e):void 0,o=w(e,[`spinning`,`show`]),s=u(!1);return c(t=>{let n;if(o.value){let{delay:r}=e;if(r){n=window.setTimeout(()=>{s.value=!0},r),t(()=>{clearTimeout(n)});return}}s.value=o.value}),{mergedClsPrefix:t,active:s,mergedStrokeWidth:p(()=>{let{strokeWidth:t}=e;if(t!==void 0)return t;let{size:n}=e;return F[typeof n==`number`?`medium`:n]}),cssVars:n?void 0:i,themeClass:a?.themeClass,onRender:a?.onRender}},render(){var t;let{$slots:n,mergedClsPrefix:r,description:i}=this,a=n.icon&&this.rotate,o=(i||n.description)&&e(`div`,{class:`${r}-spin-description`},i||n.description?.call(n)),s=n.icon?e(`div`,{class:[`${r}-spin-body`,this.themeClass]},e(`div`,{class:[`${r}-spin`,a&&`${r}-spin--rotate`],style:n.default?``:this.cssVars},n.icon()),o):e(`div`,{class:[`${r}-spin-body`,this.themeClass]},e(D,{clsPrefix:r,style:n.default?``:this.cssVars,stroke:this.stroke,"stroke-width":this.mergedStrokeWidth,radius:this.radius,scale:this.scale,class:`${r}-spin`}),o);return(t=this.onRender)==null||t.call(this),n.default?e(`div`,{class:[`${r}-spin-container`,this.themeClass],style:this.cssVars},e(`div`,{class:[`${r}-spin-content`,this.active&&`${r}-spin-content--spinning`,this.contentClass],style:this.contentStyle},n),e(O,{name:`fade-in-transition`},{default:()=>this.active?s:null})):s}}),L={class:`center-block-custom`},R={class:`width700 doc-page`},z={class:`doc-title`},B={key:0,class:`doc-loading`},V={key:2,class:`paper-block`},H={class:`paper`},U={class:`doc-text`},W={class:`docs-links`},G=M(t({__name:`DocsPage`,props:{kind:{}},setup(e){let t=e,c={terms:`Пользовательское соглашение`,privacy:`Политика конфиденциальности`,consent:`Согласие на обработку персональных данных`},p=u(``),g=u(!0),_=u(``);return h(async()=>{let e=j(),n={terms:()=>e.GetTerms({}),privacy:()=>e.GetPrivacy({}),consent:()=>e.GetConsent({})};try{let e=await n[t.kind]();e.error?_.value=e.error:p.value=e.text||``}catch(e){_.value=e instanceof Error?e.message:`Не удалось загрузить документ`}finally{g.value=!1}}),(e,u)=>(i(),o(`div`,L,[m(`div`,R,[m(`h1`,z,[r(N,null,{default:a(()=>[s(n(c[t.kind]),1)]),_:1})]),g.value?(i(),o(`div`,B,[r(d(I),{size:`large`})])):_.value?(i(),l(d(E),{key:1,type:`error`,"show-icon":!1,class:`doc-error`},{default:a(()=>[s(n(_.value),1)]),_:1})):(i(),o(`div`,V,[m(`div`,H,[m(`p`,U,n(p.value),1)]),u[0]||=m(`div`,{class:`paper-shadow paper-shadow-left`},null,-1),u[1]||=m(`div`,{class:`paper-shadow paper-shadow-right`},null,-1)])),m(`div`,W,[u[5]||=s(` Смотрите также: `,-1),r(d(f),{to:`/user-agreement`,class:`docs-link`},{default:a(()=>[...u[2]||=[s(`Пользовательское соглашение`,-1)]]),_:1}),u[6]||=s(` · `,-1),r(d(f),{to:`/privacy-policy`,class:`docs-link`},{default:a(()=>[...u[3]||=[s(`Политика конфиденциальности`,-1)]]),_:1}),u[7]||=s(` · `,-1),r(d(f),{to:`/consent`,class:`docs-link`},{default:a(()=>[...u[4]||=[s(`Согласие на обработку персональных данных`,-1)]]),_:1})])])]))}}),[[`__scopeId`,`data-v-f5dde12c`]]);export{G as t};
@@ -1 +1 @@
import{A as e,D as t,v as n}from"./vue-router-bPs2Bq2h.js";import{N as r,Z as i,o as a,r as o}from"./light-BDe84dgP.js";import{o as s,s as c}from"./resolve-slot-Cp3m6n7Y.js";import{s as l}from"./Button-D2MhM2sJ.js";import{t as u}from"./get-slot-6kXJmSMP.js";import{c as d}from"./index-Bv36EVVv.js";function f(){return d}var p={name:`Flex`,self:f},m=t({name:`Flex`,props:Object.assign(Object.assign({},o.props),{align:String,justify:{type:String,default:`start`},inline:Boolean,vertical:Boolean,reverse:Boolean,size:{type:[String,Number,Array],default:`medium`},wrap:{type:Boolean,default:!0}}),setup(e){let{mergedClsPrefixRef:t,mergedRtlRef:l}=r(e),u=o(`Flex`,`-flex`,void 0,p,e,t);return{rtlEnabled:a(`Flex`,l,t),mergedClsPrefix:t,margin:n(()=>{let{size:t}=e;if(Array.isArray(t))return{horizontal:t[0],vertical:t[1]};if(typeof t==`number`)return{horizontal:t,vertical:t};let{self:{[i(`gap`,t)]:n}}=u.value,{row:r,col:a}=c(n);return{horizontal:s(a),vertical:s(r)}})}},render(){let{vertical:t,reverse:n,align:r,inline:i,justify:a,margin:o,wrap:s,mergedClsPrefix:c,rtlEnabled:d}=this,f=l(u(this),!1);return f.length?e(`div`,{role:`none`,class:[`${c}-flex`,d&&`${c}-flex--rtl`],style:{display:i?`inline-flex`:`flex`,flexDirection:t&&!n?`column`:t&&n?`column-reverse`:!t&&n?`row-reverse`:`row`,justifyContent:a,flexWrap:!s||t?`nowrap`:`wrap`,alignItems:r,gap:`${o.vertical}px ${o.horizontal}px`}},f):null}});export{m as t};
import{A as e,D as t,v as n}from"./vue-router-bPs2Bq2h.js";import{N as r,Z as i,o as a,r as o}from"./light-BDe84dgP.js";import{o as s,s as c}from"./resolve-slot-Cp3m6n7Y.js";import{s as l}from"./Button-9mGOEfhY.js";import{t as u}from"./get-slot-6kXJmSMP.js";import{l as d}from"./index-kBnBAq6I.js";function f(){return d}var p={name:`Flex`,self:f},m=t({name:`Flex`,props:Object.assign(Object.assign({},o.props),{align:String,justify:{type:String,default:`start`},inline:Boolean,vertical:Boolean,reverse:Boolean,size:{type:[String,Number,Array],default:`medium`},wrap:{type:Boolean,default:!0}}),setup(e){let{mergedClsPrefixRef:t,mergedRtlRef:l}=r(e),u=o(`Flex`,`-flex`,void 0,p,e,t);return{rtlEnabled:a(`Flex`,l,t),mergedClsPrefix:t,margin:n(()=>{let{size:t}=e;if(Array.isArray(t))return{horizontal:t[0],vertical:t[1]};if(typeof t==`number`)return{horizontal:t,vertical:t};let{self:{[i(`gap`,t)]:n}}=u.value,{row:r,col:a}=c(n);return{horizontal:s(a),vertical:s(r)}})}},render(){let{vertical:t,reverse:n,align:r,inline:i,justify:a,margin:o,wrap:s,mergedClsPrefix:c,rtlEnabled:d}=this,f=l(u(this),!1);return f.length?e(`div`,{role:`none`,class:[`${c}-flex`,d&&`${c}-flex--rtl`],style:{display:i?`inline-flex`:`flex`,flexDirection:t&&!n?`column`:t&&n?`column-reverse`:!t&&n?`row-reverse`:`row`,justifyContent:a,flexWrap:!s||t?`nowrap`:`wrap`,alignItems:r,gap:`${o.vertical}px ${o.horizontal}px`}},f):null}});export{m as t};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{A as e,D as t,Dt as n,E as r,H as i,P as a,Q as o,S as s,T as c,W as l,X as u,a as ee,b as d,it as f,lt as p,o as te,p as m,st as h,v as g,x as _,y as v}from"./vue-router-bPs2Bq2h.js";import{G as y,H as b,K as x,N as S,n as C,o as w,r as T,t as E}from"./light-BDe84dgP.js";import{M as D,O,i as k,t as A,u as ne}from"./Card-LtCh-0-i.js";import{a as j,r as M}from"./resolve-slot-Cp3m6n7Y.js";import{r as N}from"./light-q2QEcHBK.js";import{t as P}from"./Modal-Dszx1iS6.js";import{n as F,o as re,t as I}from"./Button-D2MhM2sJ.js";import{t as L}from"./call-ChHlm4-m.js";import{t as R}from"./Add-DIWmYlsC.js";import{i as ie,n as z,r as B}from"./application-C-j4K0SS.js";import{t as V}from"./Tag-Cwv9HHV1.js";import{t as H}from"./use-message-E8HGW_1l.js";import{t as U}from"./Space-D_HYLeHX.js";import{t as W}from"./Flex-BeGGN91g.js";import{n as ae,t as oe}from"./useSimplePolling-Dhfe_hAe.js";import{t as se}from"./text-Dd95B2VG.js";import{B as G,K,b as q}from"./index-Bv36EVVv.js";import{i as J,n as Y,o as ce,r as X,t as le}from"./HeaderMenu-02Sa-bgH.js";import{t as ue}from"./Settings-CfqkfQL3.js";import{t as de}from"./binary_client-BjwxZDHu.js";import{n as fe,t as pe}from"./datetime-BJNH0M1T.js";function Z(e){let{textColorDisabled:t}=e;return{iconColorDisabled:t}}var me=C({name:`InputNumber`,common:E,peers:{Button:q,Input:N},self:Z}),he=y([x(`input-number-suffix`,`
import{A as e,D as t,Dt as n,E as r,H as i,P as a,Q as o,S as s,T as c,W as l,X as u,a as ee,b as d,it as f,lt as p,o as te,p as m,st as h,v as g,x as _,y as v}from"./vue-router-bPs2Bq2h.js";import{G as y,H as b,K as x,N as S,n as C,o as w,r as T,t as E}from"./light-BDe84dgP.js";import{M as D,O,i as k,t as A,u as ne}from"./Card-DBUps96C.js";import{a as j,r as M}from"./resolve-slot-Cp3m6n7Y.js";import{r as N}from"./light-q2QEcHBK.js";import{t as P}from"./Modal-H_y1E-zi.js";import{n as F,o as re,t as I}from"./Button-9mGOEfhY.js";import{t as L}from"./call-ChHlm4-m.js";import{t as R}from"./Add-DIWmYlsC.js";import{i as ie,n as z,r as B}from"./application-BWBFRHg3.js";import{t as V}from"./Tag-DR1B5rxc.js";import{t as H}from"./use-message-Cp_bXspD.js";import{t as U}from"./Space-BVFZXAUN.js";import{t as W}from"./Flex-z4UnEypN.js";import{n as ae,t as oe}from"./useSimplePolling-Dhfe_hAe.js";import{t as se}from"./text-EYPOSbhr.js";import{V as G,q as K,x as q}from"./index-kBnBAq6I.js";import{i as J,n as Y,o as ce,r as X,t as le}from"./HeaderMenu-eN2wSqXA.js";import{t as ue}from"./Settings-CfqkfQL3.js";import{t as de}from"./binary_client-CXPLz1Gy.js";import{n as fe,t as pe}from"./datetime-BJNH0M1T.js";function Z(e){let{textColorDisabled:t}=e;return{iconColorDisabled:t}}var me=C({name:`InputNumber`,common:E,peers:{Button:q,Input:N},self:Z}),he=y([x(`input-number-suffix`,`
display: inline-block;
margin-right: 10px;
`),x(`input-number-prefix`,`
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,G as t,H as n,S as r}from"./vue-router-bPs2Bq2h.js";import{n as i}from"./HeaderMenu-02Sa-bgH.js";var a={class:`text-with-font`},o=i(e({__name:`HeaderText`,setup(e){return(e,i)=>(n(),r(`span`,a,[t(e.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-689794e0`]]);export{o as t};
import{D as e,G as t,H as n,S as r}from"./vue-router-bPs2Bq2h.js";import{n as i}from"./HeaderMenu-eN2wSqXA.js";var a={class:`text-with-font`},o=i(e({__name:`HeaderText`,setup(e){return(e,i)=>(n(),r(`span`,a,[t(e.$slots,`default`,{},void 0,!0)]))}}),[[`__scopeId`,`data-v-689794e0`]]);export{o as t};
@@ -1 +1 @@
import{D as e,E as t,H as n,S as r,p as i,y as a}from"./vue-router-bPs2Bq2h.js";import{t as o}from"./HeaderMenu-02Sa-bgH.js";var s=e({__name:`HomeView`,setup(e){return(e,s)=>(n(),r(i,null,[s[0]||=a(`div`,{class:`center-block-custom content-block center-middle-block-custom height80`},[a(`div`,null,[a(`h1`,{class:`font-text`},`Вечерний детектив`),a(`h3`,{class:`font-text`},`Дело №0`),a(`p`,{class:`content-text`},`Поиграем?`)])],-1),t(o,{active:`main`})],64))}});export{s as default};
import{D as e,E as t,H as n,S as r,p as i,y as a}from"./vue-router-bPs2Bq2h.js";import{t as o}from"./HeaderMenu-eN2wSqXA.js";var s=e({__name:`HomeView`,setup(e){return(e,s)=>(n(),r(i,null,[s[0]||=a(`div`,{class:`center-block-custom content-block center-middle-block-custom height80`},[a(`div`,null,[a(`h1`,{class:`font-text`},`Вечерний детектив`),a(`h3`,{class:`font-text`},`Дело №0`),a(`p`,{class:`content-text`},`Поиграем?`)])],-1),t(o,{active:`main`})],64))}});export{s as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+117
View File
File diff suppressed because one or more lines are too long
-117
View File
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,E as t,H as n,S as r,p as i}from"./vue-router-bPs2Bq2h.js";import{t as a}from"./DocsPage-KXQ4ysCJ.js";import{t as o}from"./HeaderMenu-02Sa-bgH.js";var s=e({__name:`PrivacyPolicyView`,setup(e){return(e,s)=>(n(),r(i,null,[t(a,{kind:`privacy`}),t(o)],64))}});export{s as default};
import{D as e,E as t,H as n,S as r,p as i}from"./vue-router-bPs2Bq2h.js";import{t as a}from"./DocsPage-BuatbvfB.js";import{t as o}from"./HeaderMenu-eN2wSqXA.js";var s=e({__name:`PrivacyPolicyView`,setup(e){return(e,s)=>(n(),r(i,null,[t(a,{kind:`privacy`}),t(o)],64))}});export{s as default};
@@ -1 +1 @@
import{D as e,Dt as t,E as n,H as r,Q as i,S as a,T as o,a as s,b as c,it as l,lt as u,p as d,y as f}from"./vue-router-bPs2Bq2h.js";import{t as p}from"./Tag-Cwv9HHV1.js";import{t as m}from"./use-message-E8HGW_1l.js";import{i as h,n as g,t as _}from"./HeaderMenu-02Sa-bgH.js";var v={class:`center-block-custom`},y={class:`width700`},b={class:`scenario-card`},x={class:`scenario-heading`},S={class:`scenario-title`},C={class:`scenario-image-frame`},w=[`src`,`alt`],T={class:`scenario-details`},E={class:`scenario-description`},D={class:`scenario-author`},O=g(e({__name:`ScenarioPage`,setup(e){let c=m(),g=h(),O=s().params.id,k=l({id:void 0,name:void 0,story:void 0,author:void 0,status:void 0,updatedAt:void 0,createdAt:void 0,publishedAt:void 0});async function A(e){let t=await g.GetScenario({id:e});if(t.error!=``){c.error(t.error);return}k.value=t.scenario}return A(Number(O)),(e,s)=>(r(),a(d,null,[f(`div`,v,[f(`div`,y,[f(`section`,b,[f(`div`,x,[s[0]||=f(`p`,{class:`scenario-kicker`},`ДЕЛО ИЗ КАТАЛОГА`,-1),f(`h1`,S,t(k.value.name),1)]),f(`div`,C,[f(`img`,{class:`scenario-image`,src:k.value.image,alt:k.value.name},null,8,w)]),f(`div`,T,[f(`p`,E,t(k.value.description),1),f(`div`,D,[n(u(p),{bordered:!1,type:`success`,class:`status-block`},{default:i(()=>[o(` Автор: `+t(k.value.author?.username),1)]),_:1})])])])])]),n(_,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-17249bca`]]),k=e({__name:`ScenarioView`,setup(e){return(e,t)=>(r(),c(O))}});export{k as default};
import{D as e,Dt as t,E as n,H as r,Q as i,S as a,T as o,a as s,b as c,it as l,lt as u,p as d,y as f}from"./vue-router-bPs2Bq2h.js";import{t as p}from"./Tag-DR1B5rxc.js";import{t as m}from"./use-message-Cp_bXspD.js";import{i as h,n as g,t as _}from"./HeaderMenu-eN2wSqXA.js";var v={class:`center-block-custom`},y={class:`width700`},b={class:`scenario-card`},x={class:`scenario-heading`},S={class:`scenario-title`},C={class:`scenario-image-frame`},w=[`src`,`alt`],T={class:`scenario-details`},E={class:`scenario-description`},D={class:`scenario-author`},O=g(e({__name:`ScenarioPage`,setup(e){let c=m(),g=h(),O=s().params.id,k=l({id:void 0,name:void 0,story:void 0,author:void 0,status:void 0,updatedAt:void 0,createdAt:void 0,publishedAt:void 0});async function A(e){let t=await g.GetScenario({id:e});if(t.error!=``){c.error(t.error);return}k.value=t.scenario}return A(Number(O)),(e,s)=>(r(),a(d,null,[f(`div`,v,[f(`div`,y,[f(`section`,b,[f(`div`,x,[s[0]||=f(`p`,{class:`scenario-kicker`},`ДЕЛО ИЗ КАТАЛОГА`,-1),f(`h1`,S,t(k.value.name),1)]),f(`div`,C,[f(`img`,{class:`scenario-image`,src:k.value.image,alt:k.value.name},null,8,w)]),f(`div`,T,[f(`p`,E,t(k.value.description),1),f(`div`,D,[n(u(p),{bordered:!1,type:`success`,class:`status-block`},{default:i(()=>[o(` Автор: `+t(k.value.author?.username),1)]),_:1})])])])])]),n(_,{active:`catalog`})],64))}}),[[`__scopeId`,`data-v-17249bca`]]),k=e({__name:`ScenarioView`,setup(e){return(e,t)=>(r(),c(O))}});export{k as default};
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{A as e,D as t,f as n,v as r}from"./vue-router-bPs2Bq2h.js";import{N as i,Z as a,o,r as s}from"./light-BDe84dgP.js";import{o as c,s as l}from"./resolve-slot-Cp3m6n7Y.js";import{c as u,s as d}from"./Button-D2MhM2sJ.js";import{t as f}from"./get-slot-6kXJmSMP.js";import{l as p}from"./index-Bv36EVVv.js";function m(){return p}var h={name:`Space`,self:m},g;function _(){if(!u)return!0;if(g===void 0){let e=document.createElement(`div`);e.style.display=`flex`,e.style.flexDirection=`column`,e.style.rowGap=`1px`,e.appendChild(document.createElement(`div`)),e.appendChild(document.createElement(`div`)),document.body.appendChild(e);let t=e.scrollHeight===1;return document.body.removeChild(e),g=t}return g}var v=t({name:`Space`,props:Object.assign(Object.assign({},s.props),{align:String,justify:{type:String,default:`start`},inline:Boolean,vertical:Boolean,reverse:Boolean,size:[String,Number,Array],wrapItem:{type:Boolean,default:!0},itemClass:String,itemStyle:[String,Object],wrap:{type:Boolean,default:!0},internalUseGap:{type:Boolean,default:void 0}}),setup(e){let{mergedClsPrefixRef:t,mergedRtlRef:n,mergedComponentPropsRef:u}=i(e),d=r(()=>e.size||u?.value?.Space?.size||`medium`),f=s(`Space`,`-space`,void 0,h,e,t),p=o(`Space`,n,t);return{useGap:_(),rtlEnabled:p,mergedClsPrefix:t,margin:r(()=>{let e=d.value;if(Array.isArray(e))return{horizontal:e[0],vertical:e[1]};if(typeof e==`number`)return{horizontal:e,vertical:e};let{self:{[a(`gap`,e)]:t}}=f.value,{row:n,col:r}=l(t);return{horizontal:c(r),vertical:c(n)}})}},render(){let{vertical:t,reverse:r,align:i,inline:a,justify:o,itemClass:s,itemStyle:c,margin:l,wrap:u,mergedClsPrefix:p,rtlEnabled:m,useGap:h,wrapItem:g,internalUseGap:_}=this,v=d(f(this),!1);if(!v.length)return null;let y=`${l.horizontal}px`,b=`${l.horizontal/2}px`,x=`${l.vertical}px`,S=`${l.vertical/2}px`,C=v.length-1,w=o.startsWith(`space-`);return e(`div`,{role:`none`,class:[`${p}-space`,m&&`${p}-space--rtl`],style:{display:a?`inline-flex`:`flex`,flexDirection:t&&!r?`column`:t&&r?`column-reverse`:!t&&r?`row-reverse`:`row`,justifyContent:[`start`,`end`].includes(o)?`flex-${o}`:o,flexWrap:!u||t?`nowrap`:`wrap`,marginTop:h||t?``:`-${S}`,marginBottom:h||t?``:`-${S}`,alignItems:i,gap:h?`${l.vertical}px ${l.horizontal}px`:``}},!g&&(h||_)?v:v.map((r,i)=>r.type===n?r:e(`div`,{role:`none`,class:s,style:[c,{maxWidth:`100%`},h?``:t?{marginBottom:i===C?``:x}:m?{marginLeft:w?o===`space-between`&&i===C?``:b:i===C?``:y,marginRight:w?o===`space-between`&&i===0?``:b:``,paddingTop:S,paddingBottom:S}:{marginRight:w?o===`space-between`&&i===C?``:b:i===C?``:y,marginLeft:w?o===`space-between`&&i===0?``:b:``,paddingTop:S,paddingBottom:S}]},r)))}});export{v as t};
import{A as e,D as t,f as n,v as r}from"./vue-router-bPs2Bq2h.js";import{N as i,Z as a,o,r as s}from"./light-BDe84dgP.js";import{o as c,s as l}from"./resolve-slot-Cp3m6n7Y.js";import{c as u,s as d}from"./Button-9mGOEfhY.js";import{t as f}from"./get-slot-6kXJmSMP.js";import{u as p}from"./index-kBnBAq6I.js";function m(){return p}var h={name:`Space`,self:m},g;function _(){if(!u)return!0;if(g===void 0){let e=document.createElement(`div`);e.style.display=`flex`,e.style.flexDirection=`column`,e.style.rowGap=`1px`,e.appendChild(document.createElement(`div`)),e.appendChild(document.createElement(`div`)),document.body.appendChild(e);let t=e.scrollHeight===1;return document.body.removeChild(e),g=t}return g}var v=t({name:`Space`,props:Object.assign(Object.assign({},s.props),{align:String,justify:{type:String,default:`start`},inline:Boolean,vertical:Boolean,reverse:Boolean,size:[String,Number,Array],wrapItem:{type:Boolean,default:!0},itemClass:String,itemStyle:[String,Object],wrap:{type:Boolean,default:!0},internalUseGap:{type:Boolean,default:void 0}}),setup(e){let{mergedClsPrefixRef:t,mergedRtlRef:n,mergedComponentPropsRef:u}=i(e),d=r(()=>e.size||u?.value?.Space?.size||`medium`),f=s(`Space`,`-space`,void 0,h,e,t),p=o(`Space`,n,t);return{useGap:_(),rtlEnabled:p,mergedClsPrefix:t,margin:r(()=>{let e=d.value;if(Array.isArray(e))return{horizontal:e[0],vertical:e[1]};if(typeof e==`number`)return{horizontal:e,vertical:e};let{self:{[a(`gap`,e)]:t}}=f.value,{row:n,col:r}=l(t);return{horizontal:c(r),vertical:c(n)}})}},render(){let{vertical:t,reverse:r,align:i,inline:a,justify:o,itemClass:s,itemStyle:c,margin:l,wrap:u,mergedClsPrefix:p,rtlEnabled:m,useGap:h,wrapItem:g,internalUseGap:_}=this,v=d(f(this),!1);if(!v.length)return null;let y=`${l.horizontal}px`,b=`${l.horizontal/2}px`,x=`${l.vertical}px`,S=`${l.vertical/2}px`,C=v.length-1,w=o.startsWith(`space-`);return e(`div`,{role:`none`,class:[`${p}-space`,m&&`${p}-space--rtl`],style:{display:a?`inline-flex`:`flex`,flexDirection:t&&!r?`column`:t&&r?`column-reverse`:!t&&r?`row-reverse`:`row`,justifyContent:[`start`,`end`].includes(o)?`flex-${o}`:o,flexWrap:!u||t?`nowrap`:`wrap`,marginTop:h||t?``:`-${S}`,marginBottom:h||t?``:`-${S}`,alignItems:i,gap:h?`${l.vertical}px ${l.horizontal}px`:``}},!g&&(h||_)?v:v.map((r,i)=>r.type===n?r:e(`div`,{role:`none`,class:s,style:[c,{maxWidth:`100%`},h?``:t?{marginBottom:i===C?``:x}:m?{marginLeft:w?o===`space-between`&&i===C?``:b:i===C?``:y,marginRight:w?o===`space-between`&&i===0?``:b:``,paddingTop:S,paddingBottom:S}:{marginRight:w?o===`space-between`&&i===C?``:b:i===C?``:y,marginLeft:w?o===`space-between`&&i===0?``:b:``,paddingTop:S,paddingBottom:S}]},r)))}});export{v as t};
@@ -1,4 +1,4 @@
import{A as e,D as t,U as n,it as r,st as i,v as a}from"./vue-router-bPs2Bq2h.js";import{B as o,G as s,J as c,K as l,M as u,N as d,X as f,Y as p,Z as m,o as h,r as g,t as _,z as v}from"./light-BDe84dgP.js";import{a as y,c as b}from"./resolve-slot-Cp3m6n7Y.js";import{n as x,t as S}from"./call-ChHlm4-m.js";import{M as C,T as w}from"./index-Bv36EVVv.js";function T(e){let{textColor2:t,primaryColorHover:n,primaryColorPressed:r,primaryColor:i,infoColor:a,successColor:s,warningColor:c,errorColor:l,baseColor:u,borderColor:d,opacityDisabled:f,tagColor:p,closeIconColor:m,closeIconColorHover:h,closeIconColorPressed:g,borderRadiusSmall:_,fontSizeMini:v,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,heightMini:S,heightTiny:C,heightSmall:T,heightMedium:E,closeColorHover:D,closeColorPressed:O,buttonColor2Hover:k,buttonColor2Pressed:A,fontWeightStrong:j}=e;return Object.assign(Object.assign({},w),{closeBorderRadius:_,heightTiny:S,heightSmall:C,heightMedium:T,heightLarge:E,borderRadius:_,opacityDisabled:f,fontSizeTiny:v,fontSizeSmall:y,fontSizeMedium:b,fontSizeLarge:x,fontWeightStrong:j,textColorCheckable:t,textColorHoverCheckable:t,textColorPressedCheckable:t,textColorChecked:u,colorCheckable:`#0000`,colorHoverCheckable:k,colorPressedCheckable:A,colorChecked:i,colorCheckedHover:n,colorCheckedPressed:r,border:`1px solid ${d}`,textColor:t,color:p,colorBordered:`rgb(250, 250, 252)`,closeIconColor:m,closeIconColorHover:h,closeIconColorPressed:g,closeColorHover:D,closeColorPressed:O,borderPrimary:`1px solid ${o(i,{alpha:.3})}`,textColorPrimary:i,colorPrimary:o(i,{alpha:.12}),colorBorderedPrimary:o(i,{alpha:.1}),closeIconColorPrimary:i,closeIconColorHoverPrimary:i,closeIconColorPressedPrimary:i,closeColorHoverPrimary:o(i,{alpha:.12}),closeColorPressedPrimary:o(i,{alpha:.18}),borderInfo:`1px solid ${o(a,{alpha:.3})}`,textColorInfo:a,colorInfo:o(a,{alpha:.12}),colorBorderedInfo:o(a,{alpha:.1}),closeIconColorInfo:a,closeIconColorHoverInfo:a,closeIconColorPressedInfo:a,closeColorHoverInfo:o(a,{alpha:.12}),closeColorPressedInfo:o(a,{alpha:.18}),borderSuccess:`1px solid ${o(s,{alpha:.3})}`,textColorSuccess:s,colorSuccess:o(s,{alpha:.12}),colorBorderedSuccess:o(s,{alpha:.1}),closeIconColorSuccess:s,closeIconColorHoverSuccess:s,closeIconColorPressedSuccess:s,closeColorHoverSuccess:o(s,{alpha:.12}),closeColorPressedSuccess:o(s,{alpha:.18}),borderWarning:`1px solid ${o(c,{alpha:.35})}`,textColorWarning:c,colorWarning:o(c,{alpha:.15}),colorBorderedWarning:o(c,{alpha:.12}),closeIconColorWarning:c,closeIconColorHoverWarning:c,closeIconColorPressedWarning:c,closeColorHoverWarning:o(c,{alpha:.12}),closeColorPressedWarning:o(c,{alpha:.18}),borderError:`1px solid ${o(l,{alpha:.23})}`,textColorError:l,colorError:o(l,{alpha:.1}),colorBorderedError:o(l,{alpha:.08}),closeIconColorError:l,closeIconColorHoverError:l,closeIconColorPressedError:l,closeColorHoverError:o(l,{alpha:.12}),closeColorPressedError:o(l,{alpha:.18})})}var E={name:`Tag`,common:_,self:T},D={color:Object,type:{type:String,default:`default`},round:Boolean,size:String,closable:Boolean,disabled:{type:Boolean,default:void 0}},O=l(`tag`,`
import{A as e,D as t,U as n,it as r,st as i,v as a}from"./vue-router-bPs2Bq2h.js";import{B as o,G as s,J as c,K as l,M as u,N as d,X as f,Y as p,Z as m,o as h,r as g,t as _,z as v}from"./light-BDe84dgP.js";import{a as y,c as b}from"./resolve-slot-Cp3m6n7Y.js";import{n as x,t as S}from"./call-ChHlm4-m.js";import{E as C,N as w}from"./index-kBnBAq6I.js";function T(e){let{textColor2:t,primaryColorHover:n,primaryColorPressed:r,primaryColor:i,infoColor:a,successColor:s,warningColor:c,errorColor:l,baseColor:u,borderColor:d,opacityDisabled:f,tagColor:p,closeIconColor:m,closeIconColorHover:h,closeIconColorPressed:g,borderRadiusSmall:_,fontSizeMini:v,fontSizeTiny:y,fontSizeSmall:b,fontSizeMedium:x,heightMini:S,heightTiny:w,heightSmall:T,heightMedium:E,closeColorHover:D,closeColorPressed:O,buttonColor2Hover:k,buttonColor2Pressed:A,fontWeightStrong:j}=e;return Object.assign(Object.assign({},C),{closeBorderRadius:_,heightTiny:S,heightSmall:w,heightMedium:T,heightLarge:E,borderRadius:_,opacityDisabled:f,fontSizeTiny:v,fontSizeSmall:y,fontSizeMedium:b,fontSizeLarge:x,fontWeightStrong:j,textColorCheckable:t,textColorHoverCheckable:t,textColorPressedCheckable:t,textColorChecked:u,colorCheckable:`#0000`,colorHoverCheckable:k,colorPressedCheckable:A,colorChecked:i,colorCheckedHover:n,colorCheckedPressed:r,border:`1px solid ${d}`,textColor:t,color:p,colorBordered:`rgb(250, 250, 252)`,closeIconColor:m,closeIconColorHover:h,closeIconColorPressed:g,closeColorHover:D,closeColorPressed:O,borderPrimary:`1px solid ${o(i,{alpha:.3})}`,textColorPrimary:i,colorPrimary:o(i,{alpha:.12}),colorBorderedPrimary:o(i,{alpha:.1}),closeIconColorPrimary:i,closeIconColorHoverPrimary:i,closeIconColorPressedPrimary:i,closeColorHoverPrimary:o(i,{alpha:.12}),closeColorPressedPrimary:o(i,{alpha:.18}),borderInfo:`1px solid ${o(a,{alpha:.3})}`,textColorInfo:a,colorInfo:o(a,{alpha:.12}),colorBorderedInfo:o(a,{alpha:.1}),closeIconColorInfo:a,closeIconColorHoverInfo:a,closeIconColorPressedInfo:a,closeColorHoverInfo:o(a,{alpha:.12}),closeColorPressedInfo:o(a,{alpha:.18}),borderSuccess:`1px solid ${o(s,{alpha:.3})}`,textColorSuccess:s,colorSuccess:o(s,{alpha:.12}),colorBorderedSuccess:o(s,{alpha:.1}),closeIconColorSuccess:s,closeIconColorHoverSuccess:s,closeIconColorPressedSuccess:s,closeColorHoverSuccess:o(s,{alpha:.12}),closeColorPressedSuccess:o(s,{alpha:.18}),borderWarning:`1px solid ${o(c,{alpha:.35})}`,textColorWarning:c,colorWarning:o(c,{alpha:.15}),colorBorderedWarning:o(c,{alpha:.12}),closeIconColorWarning:c,closeIconColorHoverWarning:c,closeIconColorPressedWarning:c,closeColorHoverWarning:o(c,{alpha:.12}),closeColorPressedWarning:o(c,{alpha:.18}),borderError:`1px solid ${o(l,{alpha:.23})}`,textColorError:l,colorError:o(l,{alpha:.1}),colorBorderedError:o(l,{alpha:.08}),closeIconColorError:l,closeIconColorHoverError:l,closeIconColorPressedError:l,closeColorHoverError:o(l,{alpha:.12}),closeColorPressedError:o(l,{alpha:.18})})}var E={name:`Tag`,common:_,self:T},D={color:Object,type:{type:String,default:`default`},round:Boolean,size:String,closable:Boolean,disabled:{type:Boolean,default:void 0}},O=l(`tag`,`
--n-close-margin: var(--n-close-margin-top) var(--n-close-margin-right) var(--n-close-margin-bottom) var(--n-close-margin-left);
white-space: nowrap;
position: relative;
@@ -68,4 +68,4 @@ import{A as e,D as t,U as n,it as r,st as i,v as a}from"./vue-router-bPs2Bq2h.js
`,[f(`disabled`,[s(`&:hover`,`background-color: var(--n-color-hover-checkable);`,[f(`checked`,`color: var(--n-text-color-hover-checkable);`)]),s(`&:active`,`background-color: var(--n-color-pressed-checkable);`,[f(`checked`,`color: var(--n-text-color-pressed-checkable);`)])]),p(`checked`,`
color: var(--n-text-color-checked);
background-color: var(--n-color-checked);
`,[f(`disabled`,[s(`&:hover`,`background-color: var(--n-color-checked-hover);`),s(`&:active`,`background-color: var(--n-color-checked-pressed);`)])])])]),k=Object.assign(Object.assign(Object.assign({},g.props),D),{bordered:{type:Boolean,default:void 0},checked:Boolean,checkable:Boolean,strong:Boolean,triggerClickOnClose:Boolean,onClose:[Array,Function],onMouseenter:Function,onMouseleave:Function,"onUpdate:checked":Function,onUpdateChecked:Function,internalCloseFocusable:{type:Boolean,default:!0},internalCloseIsButtonTag:{type:Boolean,default:!0},onCheckedChange:Function}),A=v(`n-tag`),j=t({name:`Tag`,props:k,slots:Object,setup(e){let t=r(null),{mergedBorderedRef:o,mergedClsPrefixRef:s,inlineThemeDisabled:c,mergedRtlRef:l,mergedComponentPropsRef:f}=d(e),p=a(()=>e.size||f?.value?.Tag?.size||`medium`),_=g(`Tag`,`-tag`,O,E,e,s);n(A,{roundRef:i(e,`round`)});function v(){if(!e.disabled&&e.checkable){let{checked:t,onCheckedChange:n,onUpdateChecked:r,"onUpdate:checked":i}=e;r&&r(!t),i&&i(!t),n&&n(!t)}}function y(t){if(e.triggerClickOnClose||t.stopPropagation(),!e.disabled){let{onClose:n}=e;n&&S(n,t)}}let C={setTextContent(e){let{value:n}=t;n&&(n.textContent=e)}},w=h(`Tag`,l,s),T=a(()=>{let{type:t,color:{color:n,textColor:r}={}}=e,i=p.value,{common:{cubicBezierEaseInOut:a},self:{padding:s,closeMargin:c,borderRadius:l,opacityDisabled:u,textColorCheckable:d,textColorHoverCheckable:f,textColorPressedCheckable:h,textColorChecked:g,colorCheckable:v,colorHoverCheckable:y,colorPressedCheckable:x,colorChecked:S,colorCheckedHover:C,colorCheckedPressed:w,closeBorderRadius:T,fontWeightStrong:E,[m(`colorBordered`,t)]:D,[m(`closeSize`,i)]:O,[m(`closeIconSize`,i)]:k,[m(`fontSize`,i)]:A,[m(`height`,i)]:j,[m(`color`,t)]:M,[m(`textColor`,t)]:N,[m(`border`,t)]:P,[m(`closeIconColor`,t)]:F,[m(`closeIconColorHover`,t)]:I,[m(`closeIconColorPressed`,t)]:L,[m(`closeColorHover`,t)]:R,[m(`closeColorPressed`,t)]:z}}=_.value,B=b(c);return{"--n-font-weight-strong":E,"--n-avatar-size-override":`calc(${j} - 8px)`,"--n-bezier":a,"--n-border-radius":l,"--n-border":P,"--n-close-icon-size":k,"--n-close-color-pressed":z,"--n-close-color-hover":R,"--n-close-border-radius":T,"--n-close-icon-color":F,"--n-close-icon-color-hover":I,"--n-close-icon-color-pressed":L,"--n-close-icon-color-disabled":F,"--n-close-margin-top":B.top,"--n-close-margin-right":B.right,"--n-close-margin-bottom":B.bottom,"--n-close-margin-left":B.left,"--n-close-size":O,"--n-color":n||(o.value?D:M),"--n-color-checkable":v,"--n-color-checked":S,"--n-color-checked-hover":C,"--n-color-checked-pressed":w,"--n-color-hover-checkable":y,"--n-color-pressed-checkable":x,"--n-font-size":A,"--n-height":j,"--n-opacity-disabled":u,"--n-padding":s,"--n-text-color":r||N,"--n-text-color-checkable":d,"--n-text-color-checked":g,"--n-text-color-hover-checkable":f,"--n-text-color-pressed-checkable":h}}),D=c?u(`tag`,a(()=>{let t=``,{type:n,color:{color:r,textColor:i}={}}=e;return t+=n[0],t+=p.value[0],r&&(t+=`a${x(r)}`),i&&(t+=`b${x(i)}`),o.value&&(t+=`c`),t}),T,e):void 0;return Object.assign(Object.assign({},C),{rtlEnabled:w,mergedClsPrefix:s,contentRef:t,mergedBordered:o,handleClick:v,handleCloseClick:y,cssVars:c?void 0:T,themeClass:D?.themeClass,onRender:D?.onRender})},render(){var t;let{mergedClsPrefix:n,rtlEnabled:r,closable:i,color:{borderColor:a}={},round:o,onRender:s,$slots:c}=this;s?.();let l=y(c.avatar,t=>t&&e(`div`,{class:`${n}-tag__avatar`},t)),u=y(c.icon,t=>t&&e(`div`,{class:`${n}-tag__icon`},t));return e(`div`,{class:[`${n}-tag`,this.themeClass,{[`${n}-tag--rtl`]:r,[`${n}-tag--strong`]:this.strong,[`${n}-tag--disabled`]:this.disabled,[`${n}-tag--checkable`]:this.checkable,[`${n}-tag--checked`]:this.checkable&&this.checked,[`${n}-tag--round`]:o,[`${n}-tag--avatar`]:l,[`${n}-tag--icon`]:u,[`${n}-tag--closable`]:i}],style:this.cssVars,onClick:this.handleClick,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},u||l,e(`span`,{class:`${n}-tag__content`,ref:`contentRef`},(t=this.$slots).default?.call(t)),!this.checkable&&i?e(C,{clsPrefix:n,class:`${n}-tag__close`,disabled:this.disabled,onClick:this.handleCloseClick,focusable:this.internalCloseFocusable,round:o,isButtonTag:this.internalCloseIsButtonTag,absolute:!0}):null,!this.checkable&&this.mergedBordered?e(`div`,{class:`${n}-tag__border`,style:{borderColor:a}}):null)}});export{j as t};
`,[f(`disabled`,[s(`&:hover`,`background-color: var(--n-color-checked-hover);`),s(`&:active`,`background-color: var(--n-color-checked-pressed);`)])])])]),k=Object.assign(Object.assign(Object.assign({},g.props),D),{bordered:{type:Boolean,default:void 0},checked:Boolean,checkable:Boolean,strong:Boolean,triggerClickOnClose:Boolean,onClose:[Array,Function],onMouseenter:Function,onMouseleave:Function,"onUpdate:checked":Function,onUpdateChecked:Function,internalCloseFocusable:{type:Boolean,default:!0},internalCloseIsButtonTag:{type:Boolean,default:!0},onCheckedChange:Function}),A=v(`n-tag`),j=t({name:`Tag`,props:k,slots:Object,setup(e){let t=r(null),{mergedBorderedRef:o,mergedClsPrefixRef:s,inlineThemeDisabled:c,mergedRtlRef:l,mergedComponentPropsRef:f}=d(e),p=a(()=>e.size||f?.value?.Tag?.size||`medium`),_=g(`Tag`,`-tag`,O,E,e,s);n(A,{roundRef:i(e,`round`)});function v(){if(!e.disabled&&e.checkable){let{checked:t,onCheckedChange:n,onUpdateChecked:r,"onUpdate:checked":i}=e;r&&r(!t),i&&i(!t),n&&n(!t)}}function y(t){if(e.triggerClickOnClose||t.stopPropagation(),!e.disabled){let{onClose:n}=e;n&&S(n,t)}}let C={setTextContent(e){let{value:n}=t;n&&(n.textContent=e)}},w=h(`Tag`,l,s),T=a(()=>{let{type:t,color:{color:n,textColor:r}={}}=e,i=p.value,{common:{cubicBezierEaseInOut:a},self:{padding:s,closeMargin:c,borderRadius:l,opacityDisabled:u,textColorCheckable:d,textColorHoverCheckable:f,textColorPressedCheckable:h,textColorChecked:g,colorCheckable:v,colorHoverCheckable:y,colorPressedCheckable:x,colorChecked:S,colorCheckedHover:C,colorCheckedPressed:w,closeBorderRadius:T,fontWeightStrong:E,[m(`colorBordered`,t)]:D,[m(`closeSize`,i)]:O,[m(`closeIconSize`,i)]:k,[m(`fontSize`,i)]:A,[m(`height`,i)]:j,[m(`color`,t)]:M,[m(`textColor`,t)]:N,[m(`border`,t)]:P,[m(`closeIconColor`,t)]:F,[m(`closeIconColorHover`,t)]:I,[m(`closeIconColorPressed`,t)]:L,[m(`closeColorHover`,t)]:R,[m(`closeColorPressed`,t)]:z}}=_.value,B=b(c);return{"--n-font-weight-strong":E,"--n-avatar-size-override":`calc(${j} - 8px)`,"--n-bezier":a,"--n-border-radius":l,"--n-border":P,"--n-close-icon-size":k,"--n-close-color-pressed":z,"--n-close-color-hover":R,"--n-close-border-radius":T,"--n-close-icon-color":F,"--n-close-icon-color-hover":I,"--n-close-icon-color-pressed":L,"--n-close-icon-color-disabled":F,"--n-close-margin-top":B.top,"--n-close-margin-right":B.right,"--n-close-margin-bottom":B.bottom,"--n-close-margin-left":B.left,"--n-close-size":O,"--n-color":n||(o.value?D:M),"--n-color-checkable":v,"--n-color-checked":S,"--n-color-checked-hover":C,"--n-color-checked-pressed":w,"--n-color-hover-checkable":y,"--n-color-pressed-checkable":x,"--n-font-size":A,"--n-height":j,"--n-opacity-disabled":u,"--n-padding":s,"--n-text-color":r||N,"--n-text-color-checkable":d,"--n-text-color-checked":g,"--n-text-color-hover-checkable":f,"--n-text-color-pressed-checkable":h}}),D=c?u(`tag`,a(()=>{let t=``,{type:n,color:{color:r,textColor:i}={}}=e;return t+=n[0],t+=p.value[0],r&&(t+=`a${x(r)}`),i&&(t+=`b${x(i)}`),o.value&&(t+=`c`),t}),T,e):void 0;return Object.assign(Object.assign({},C),{rtlEnabled:w,mergedClsPrefix:s,contentRef:t,mergedBordered:o,handleClick:v,handleCloseClick:y,cssVars:c?void 0:T,themeClass:D?.themeClass,onRender:D?.onRender})},render(){var t;let{mergedClsPrefix:n,rtlEnabled:r,closable:i,color:{borderColor:a}={},round:o,onRender:s,$slots:c}=this;s?.();let l=y(c.avatar,t=>t&&e(`div`,{class:`${n}-tag__avatar`},t)),u=y(c.icon,t=>t&&e(`div`,{class:`${n}-tag__icon`},t));return e(`div`,{class:[`${n}-tag`,this.themeClass,{[`${n}-tag--rtl`]:r,[`${n}-tag--strong`]:this.strong,[`${n}-tag--disabled`]:this.disabled,[`${n}-tag--checkable`]:this.checkable,[`${n}-tag--checked`]:this.checkable&&this.checked,[`${n}-tag--round`]:o,[`${n}-tag--avatar`]:l,[`${n}-tag--icon`]:u,[`${n}-tag--closable`]:i}],style:this.cssVars,onClick:this.handleClick,onMouseenter:this.onMouseenter,onMouseleave:this.onMouseleave},u||l,e(`span`,{class:`${n}-tag__content`,ref:`contentRef`},(t=this.$slots).default?.call(t)),!this.checkable&&i?e(w,{clsPrefix:n,class:`${n}-tag__close`,disabled:this.disabled,onClick:this.handleCloseClick,focusable:this.internalCloseFocusable,round:o,isButtonTag:this.internalCloseIsButtonTag,absolute:!0}):null,!this.checkable&&this.mergedBordered?e(`div`,{class:`${n}-tag__border`,style:{borderColor:a}}):null)}});export{j as t};
File diff suppressed because one or more lines are too long
+440
View File
File diff suppressed because one or more lines are too long
-440
View File
File diff suppressed because one or more lines are too long
@@ -1 +1 @@
import{D as e,E as t,H as n,S as r,p as i}from"./vue-router-bPs2Bq2h.js";import{t as a}from"./DocsPage-KXQ4ysCJ.js";import{t as o}from"./HeaderMenu-02Sa-bgH.js";var s=e({__name:`UserAgreementView`,setup(e){return(e,s)=>(n(),r(i,null,[t(a,{kind:`terms`}),t(o)],64))}});export{s as default};
import{D as e,E as t,H as n,S as r,p as i}from"./vue-router-bPs2Bq2h.js";import{t as a}from"./DocsPage-BuatbvfB.js";import{t as o}from"./HeaderMenu-eN2wSqXA.js";var s=e({__name:`UserAgreementView`,setup(e){return(e,s)=>(n(),r(i,null,[t(a,{kind:`terms`}),t(o)],64))}});export{s as default};
-1
View File
@@ -1 +0,0 @@
.user-block[data-v-7c14036f]{background-color:#222;border-radius:10px;margin:0 0 20px;padding:20px}.user-field[data-v-7c14036f]{margin:10px}.roles-buttons-block[data-v-7c14036f]{margin-top:20px}
-1
View File
@@ -1 +0,0 @@
import{D as e,Dt as t,E as n,H as r,Q as i,S as a,T as o,W as s,b as c,it as l,lt as u,p as d,y as f}from"./vue-router-bPs2Bq2h.js";import{t as p}from"./Button-D2MhM2sJ.js";import{t as m}from"./Tag-Cwv9HHV1.js";import{t as h}from"./use-message-E8HGW_1l.js";import{t as g}from"./Space-D_HYLeHX.js";import{t as _}from"./Flex-BeGGN91g.js";import{i as v,n as y,t as b}from"./HeaderMenu-02Sa-bgH.js";var x={class:`center-block-custom`},S={class:`width700`},C={class:`user-field`},w={class:`user-field`},T={class:`user-field`},E=y(e({__name:`UsersPage`,setup(e){let y=v(),E=h(),D=l([]);async function O(){let e=await y.GetUsers({});if(e.error!=``){E.error(e.error);return}D.value=e.users}O();async function k(e,t){let n=await y.AddUserRole({id:e,role:t});if(n.error!=``){E.error(n.error);return}await O()}async function A(e,t){let n=await y.DeleteUserRole({id:e,role:t});if(n.error!=``){E.error(n.error);return}await O()}return(e,l)=>(r(),a(d,null,[f(`div`,x,[f(`div`,S,[(r(!0),a(d,null,s(D.value,e=>(r(),a(`div`,{key:e.id,class:`user-block`},[f(`div`,C,`Позывной: `+t(e.username),1),f(`div`,w,`Почта: `+t(e.email),1),f(`div`,T,[n(u(g),null,{default:i(()=>[l[0]||=o(` Роли: `,-1),(r(!0),a(d,null,s(e.roles,e=>(r(),c(u(m),{bordered:!1,key:e},{default:i(()=>[o(t(e),1)]),_:2},1024))),128))]),_:2},1024)]),n(u(_),{justify:`end`,class:`roles-buttons-block`},{default:i(()=>[e.roles?.includes(`author`)?(r(),c(u(p),{key:1,onClick:t=>A(e.id,`author`)},{default:i(()=>[...l[2]||=[o(`Забрать роль автора`,-1)]]),_:1},8,[`onClick`])):(r(),c(u(p),{key:0,onClick:t=>k(e.id,`author`)},{default:i(()=>[...l[1]||=[o(`Сделать автором`,-1)]]),_:1},8,[`onClick`])),e.roles?.includes(`organizer`)?(r(),c(u(p),{key:3,onClick:t=>A(e.id,`organizer`)},{default:i(()=>[...l[4]||=[o(`Забрать роль организатора`,-1)]]),_:1},8,[`onClick`])):(r(),c(u(p),{key:2,onClick:t=>k(e.id,`organizer`)},{default:i(()=>[...l[3]||=[o(`Сделать организатором`,-1)]]),_:1},8,[`onClick`]))]),_:2},1024)]))),128))])]),n(b,{active:`users`})],64))}}),[[`__scopeId`,`data-v-7c14036f`]]),D=e({__name:`UsersView`,setup(e){return(e,t)=>(r(),c(E))}});export{D as default};
+1
View File
@@ -0,0 +1 @@
.user-block[data-v-dd0ba571]{background-color:#222;border-radius:10px;margin:0 0 20px;padding:20px}.user-field[data-v-dd0ba571]{margin:10px}.roles-buttons-block[data-v-dd0ba571]{margin-top:20px}
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{A as e,D as t}from"./vue-router-bPs2Bq2h.js";import{o as n}from"./HeaderMenu-02Sa-bgH.js";var r=t({name:`Remove`,render(){return e(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 512 512`},e(`line`,{x1:`400`,y1:`256`,x2:`112`,y2:`256`,style:`
import{A as e,D as t}from"./vue-router-bPs2Bq2h.js";import{o as n}from"./HeaderMenu-eN2wSqXA.js";var r=t({name:`Remove`,render(){return e(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 512 512`},e(`line`,{x1:`400`,y1:`256`,x2:`112`,y2:`256`,style:`
fill: none;
stroke: currentColor;
stroke-linecap: round;
@@ -1 +1 @@
import{a as e,o as t}from"./HeaderMenu-02Sa-bgH.js";function n(){let t=e();return r(t.refreshTokenAction,t.getToken)}function r(e,n){async function r(r,i){let a={},o=n();o&&(a.Authorization=`Bearer ${o}`);let s=await fetch(`${t()}/${r}`,{...i,headers:{...a,...i.headers}});if(s.status==401){await e();let o=n();o&&(a.Authorization=`Bearer ${o}`),s=await fetch(`${t()}/${r}`,{...i,headers:{...a,...i.headers}})}return s}async function o(e,t){let n=await r(e,{method:`GET`});if(!n.ok)throw Error(await a(n));return{blob:await n.blob(),filename:i(n.headers.get(`Content-Disposition`))||t}}function s(e){return o(`api/scenarios/${e}/archive`,`scenario-${e}.zip`)}function c(e){return o(`api/games/${e}/teams/qr.pdf`,`game-${e}.pdf`)}async function l(e){let t=await r(`api/scenarios/archive`,{method:`POST`,headers:{"Content-Type":e.type||`application/zip`},body:e}),n=await t.json().catch(()=>null);if(!t.ok)return{id:null,error:n?.message||`Ошибка сервера (${t.status})`};let i=typeof n?.error==`string`&&n.error!==``?n.error:null;return{id:typeof n?.id==`number`?n.id:null,error:i}}return{downloadScenarioArchive:s,downloadTeamQR:c,uploadScenarioArchive:l}}function i(e){if(!e)return``;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1].trim()).replace(/[\\/:*?"<>|]/g,`_`)}catch{}let n=e.match(/filename="?([^";]+)"?/i);return(n?n[1]:``).replace(/[\\/:*?"<>|]/g,`_`)}async function a(e){let t=await e.json().catch(()=>null);return t&&typeof t.message==`string`&&t.message!==``?t.message:`Ошибка сервера (${e.status})`}export{n as t};
import{a as e,o as t}from"./HeaderMenu-eN2wSqXA.js";function n(){let t=e();return r(t.refreshTokenAction,t.getToken)}function r(e,n){async function r(r,i){let a={},o=n();o&&(a.Authorization=`Bearer ${o}`);let s=await fetch(`${t()}/${r}`,{...i,headers:{...a,...i.headers}});if(s.status==401){await e();let o=n();o&&(a.Authorization=`Bearer ${o}`),s=await fetch(`${t()}/${r}`,{...i,headers:{...a,...i.headers}})}return s}async function o(e,t){let n=await r(e,{method:`GET`});if(!n.ok)throw Error(await a(n));return{blob:await n.blob(),filename:i(n.headers.get(`Content-Disposition`))||t}}function s(e){return o(`api/scenarios/${e}/archive`,`scenario-${e}.zip`)}function c(e){return o(`api/games/${e}/teams/qr.pdf`,`game-${e}.pdf`)}async function l(e){let t=await r(`api/scenarios/archive`,{method:`POST`,headers:{"Content-Type":e.type||`application/zip`},body:e}),n=await t.json().catch(()=>null);if(!t.ok)return{id:null,error:n?.message||`Ошибка сервера (${t.status})`};let i=typeof n?.error==`string`&&n.error!==``?n.error:null;return{id:typeof n?.id==`number`?n.id:null,error:i}}return{downloadScenarioArchive:s,downloadTeamQR:c,uploadScenarioArchive:l}}function i(e){if(!e)return``;let t=e.match(/filename\*=UTF-8''([^;]+)/i);if(t)try{return decodeURIComponent(t[1].trim()).replace(/[\\/:*?"<>|]/g,`_`)}catch{}let n=e.match(/filename="?([^";]+)"?/i);return(n?n[1]:``).replace(/[\\/:*?"<>|]/g,`_`)}async function a(e){let t=await e.json().catch(()=>null);return t&&typeof t.message==`string`&&t.message!==``?t.message:`Ошибка сервера (${e.status})`}export{n as t};
+1
View File
@@ -0,0 +1 @@
import{D as e,d as t}from"./light-BDe84dgP.js";import{H as n,W as r}from"./index-kBnBAq6I.js";var i=/^(\d|\.)+$/,a=/(\d|\.)+/;function o(e,{c:t=1,offset:n=0,attachPx:r=!0}={}){if(typeof e==`number`){let r=(e+n)*t;return r===0?`0`:`${r}px`}else if(typeof e==`string`)if(i.test(e)){let i=(Number(e)+n)*t;return r?i===0?`0`:`${i}px`:`${i}`}else{let r=a.exec(e);return r?e.replace(a,String((Number(r[0])+n)*t)):e}return e}var s=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c=/^\w*$/;function l(t,n){if(e(t))return!1;var i=typeof t;return i==`number`||i==`symbol`||i==`boolean`||t==null||r(t)?!0:c.test(t)||!s.test(t)||n!=null&&t in Object(n)}var u=`Expected a function`;function d(e,n){if(typeof e!=`function`||n!=null&&typeof n!=`function`)throw TypeError(u);var r=function(){var t=arguments,i=n?n.apply(this,t):t[0],a=r.cache;if(a.has(i))return a.get(i);var o=e.apply(this,t);return r.cache=a.set(i,o)||a,o};return r.cache=new(d.Cache||t),r}d.Cache=t;var f=500;function p(e){var t=d(e,function(e){return n.size===f&&n.clear(),e}),n=t.cache;return t}var m=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,h=/\\(\\)?/g,g=p(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(``),e.replace(m,function(e,n,r,i){t.push(r?i.replace(h,`$1`):n||e)}),t});function _(t,r){return e(t)?t:l(t,r)?[t]:g(n(t))}var v=1/0;function y(e){if(typeof e==`string`||r(e))return e;var t=e+``;return t==`0`&&1/e==-v?`-0`:t}function b(e,t){t=_(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[y(t[n++])];return n&&n==r?e:void 0}function x(e,t,n){var r=e==null?void 0:b(e,t);return r===void 0?n:r}export{l as a,_ as i,b as n,o,y as r,x as t};
File diff suppressed because one or more lines are too long
@@ -1,4 +1,4 @@
import{A as e,D as t,v as n}from"./vue-router-bPs2Bq2h.js";import{K as r,M as i,N as a,Y as o,Z as s,r as c}from"./light-BDe84dgP.js";import{t as l}from"./use-compitable-BcHeQzgm.js";import{r as u}from"./index-Bv36EVVv.js";var d=r(`text`,`
import{A as e,D as t,v as n}from"./vue-router-bPs2Bq2h.js";import{K as r,M as i,N as a,Y as o,Z as s,r as c}from"./light-BDe84dgP.js";import{t as l}from"./use-compitable-BcHeQzgm.js";import{r as u}from"./index-kBnBAq6I.js";var d=r(`text`,`
transition: color .3s var(--n-bezier);
color: var(--n-text-color);
`,[o(`strong`,`
@@ -1 +1 @@
import{j as e}from"./vue-router-bPs2Bq2h.js";import{I as t}from"./light-BDe84dgP.js";import{d as n}from"./index-Bv36EVVv.js";function r(){let r=e(n,null);return r===null&&t(`use-message`,"No outer <n-message-provider /> founded. See prerequisite in https://www.naiveui.com/en-US/os-theme/components/message for more details. If you want to use `useMessage` outside setup, please check https://www.naiveui.com/zh-CN/os-theme/components/message#Q-&-A."),r}export{r as t};
import{j as e}from"./vue-router-bPs2Bq2h.js";import{I as t}from"./light-BDe84dgP.js";import{f as n}from"./index-kBnBAq6I.js";function r(){let r=e(n,null);return r===null&&t(`use-message`,"No outer <n-message-provider /> founded. See prerequisite in https://www.naiveui.com/en-US/os-theme/components/message for more details. If you want to use `useMessage` outside setup, please check https://www.naiveui.com/zh-CN/os-theme/components/message#Q-&-A."),r}export{r as t};
+131
View File
File diff suppressed because one or more lines are too long
-131
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -5,7 +5,7 @@
<link rel="icon" href="/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Вечерний детектив</title>
<script type="module" crossorigin src="/assets/index-Bv36EVVv.js"></script>
<script type="module" crossorigin src="/assets/index-kBnBAq6I.js"></script>
<link rel="modulepreload" crossorigin href="/assets/vue-router-bPs2Bq2h.js">
<link rel="modulepreload" crossorigin href="/assets/light-BDe84dgP.js">
<link rel="modulepreload" crossorigin href="/assets/light-q2QEcHBK.js">
+21
View File
@@ -186,6 +186,20 @@ service EveningDetectiveServer {
};
}
// Только администратор; сеансы пользователя сохраняются.
// Ошибки: 401, 403, 400, 404, 500.
rpc ChangeUserPassword(ChangeUserPasswordReq) returns (ChangeUserPasswordRsp) {
option (google.api.http) = {
post: "/api/users/{id}/password"
body: "*"
};
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
tags: "Пользователи";
summary: "Изменить чужой пароль (только администратор)";
description: "Пароль вводится вручную: минимум 12 символов, максимум 72 байта. Сеансы сохраняются. Ошибки: 401 — нет авторизации, 403 — нет прав, 400 — неверные данные или собственный ID, 404 — пользователь не найден, 500 — ошибка сохранения.";
};
}
rpc AddUserRole(AddUserRoleReq) returns (AddUserRoleRsp) {
option (google.api.http) = {
post: "/api/users/{id}/role/add"
@@ -826,6 +840,13 @@ message GetMeRsp {
User user = 2;
}
message ChangeUserPasswordReq {
int32 id = 1;
string new_password = 2;
}
message ChangeUserPasswordRsp {}
message AddUserRoleReq {
int32 id = 1;
string role = 2;
+12 -2
View File
@@ -25,11 +25,21 @@ function createAuthHttpHandler(
handler: (request: { path: string; method: string; body: string | null }) => Promise<unknown>,
): (request: { path: string; method: string; body: string | null }) => Promise<unknown> {
return async (request: { path: string; method: string; body: string | null }) => {
let response: unknown
try {
return await handler(request)
response = await handler(request)
} catch {
await refreshTokens()
return await handler(request)
response = await handler(request)
}
// Gateway возвращает gRPC-ошибки как JSON даже при HTTP 403/400/500.
if (response && typeof response === 'object' && 'code' in response && response.code !== 0) {
throw new Error(
'message' in response && typeof response.message === 'string'
? response.message
: 'Ошибка запроса',
)
}
return response
}
}
@@ -132,6 +132,14 @@ export type GetMeRsp = {
user: User | undefined;
};
export type ChangeUserPasswordReq = {
id: number | undefined;
newPassword: string | undefined;
};
export type ChangeUserPasswordRsp = {
};
export type AddUserRoleReq = {
id: number | undefined;
role: string | undefined;
@@ -699,6 +707,9 @@ export interface EveningDetectiveServer {
GetUsers(request: GetUsersReq): Promise<GetUsersRsp>;
GetUserById(request: GetUserByIdReq): Promise<GetUserByIdRsp>;
GetMe(request: GetMeReq): Promise<GetMeRsp>;
// Только администратор; сеансы пользователя сохраняются.
// Ошибки: 401, 403, 400, 404, 500.
ChangeUserPassword(request: ChangeUserPasswordReq): Promise<ChangeUserPasswordRsp>;
AddUserRole(request: AddUserRoleReq): Promise<AddUserRoleRsp>;
DeleteUserRole(request: DeleteUserRoleReq): Promise<DeleteUserRoleRsp>;
GetPermissions(request: GetPermissionsReq): Promise<GetPermissionsRsp>;
@@ -990,6 +1001,26 @@ export function createEveningDetectiveServerClient(
method: "GetMe",
}) as Promise<GetMeRsp>;
},
ChangeUserPassword(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
if (!request.id) {
throw new Error("missing required field request.id");
}
const path = `api/users/${request.id}/password`; // eslint-disable-line quotes
const body = JSON.stringify(request);
const queryParams: string[] = [];
let uri = path;
if (queryParams.length > 0) {
uri += `?${queryParams.join("&")}`
}
return handler({
path: uri,
method: "POST",
body,
}, {
service: "EveningDetectiveServer",
method: "ChangeUserPassword",
}) as Promise<ChangeUserPasswordRsp>;
},
AddUserRole(request) { // eslint-disable-line @typescript-eslint/no-unused-vars
if (!request.id) {
throw new Error("missing required field request.id");
+76 -1
View File
@@ -1,15 +1,49 @@
<script setup lang="ts">
import { NButton, NFlex, NSpace, NTag, useMessage } from 'naive-ui'
import { NButton, NFlex, NFormItem, NInput, NModal, NSpace, NTag, useMessage } from 'naive-ui'
import { ref } from 'vue'
import { getAuthClient } from '@/api/auth_client'
import type { User } from '@/api/generated/crabs/evening_detective_server'
import HeaderMenu from '@/components/HeaderMenu.vue'
import { useAuthStore } from '@/stores/auth'
const client = getAuthClient()
const message = useMessage()
const users = ref<User[]>([])
const auth = useAuthStore()
const passwordUser = ref<User | null>(null)
const newPassword = ref('')
const confirmPassword = ref('')
const savingPassword = ref(false)
function closePasswordForm() {
passwordUser.value = null
newPassword.value = ''
confirmPassword.value = ''
}
async function changePassword() {
if (!passwordUser.value || savingPassword.value) return
if ([...newPassword.value].length < 12 || new TextEncoder().encode(newPassword.value).length > 72) {
message.error('Пароль должен содержать минимум 12 символов и не более 72 байт')
return
}
if (newPassword.value !== confirmPassword.value) {
message.error('Пароли не совпадают')
return
}
savingPassword.value = true
try {
await client.ChangeUserPassword({ id: passwordUser.value.id!, newPassword: newPassword.value })
closePasswordForm()
message.success('Пароль изменён')
} catch (err) {
message.error(err instanceof Error ? err.message : 'Не удалось изменить пароль')
} finally {
savingPassword.value = false
}
}
async function getUsers() {
const res = await client.GetUsers({})
@@ -55,6 +89,10 @@ async function deleteRole(userId: number, role: string) {
</n-space>
</div>
<n-flex justify="end" class="roles-buttons-block">
<n-button
v-if="auth.hasRole('admin') && auth.user && user.id !== auth.user.id"
@click="passwordUser = user"
>Изменить пароль</n-button>
<n-button @click="addRole(user.id!, 'author')" v-if="!user.roles?.includes('author')"
>Сделать автором</n-button
>
@@ -73,6 +111,43 @@ async function deleteRole(userId: number, role: string) {
</div>
</div>
<n-modal
:show="passwordUser !== null"
preset="card"
title="Изменить пароль"
style="width: min(94vw, 480px)"
:closable="!savingPassword"
:mask-closable="!savingPassword"
:close-on-esc="!savingPassword"
@update:show="(show: boolean) => { if (!show) closePasswordForm() }"
>
<p>{{ passwordUser?.username }} — {{ passwordUser?.email }}</p>
<form @submit.prevent="changePassword">
<n-form-item label="Новый пароль" label-for="new-user-password">
<n-input
v-model:value="newPassword"
:input-props="{ id: 'new-user-password', autocomplete: 'new-password' }"
type="password"
show-password-on="click"
:disabled="savingPassword"
placeholder="От 12 символов, не более 72 байт"
/>
</n-form-item>
<n-form-item label="Повторите пароль" label-for="confirm-user-password">
<n-input
v-model:value="confirmPassword"
:input-props="{ id: 'confirm-user-password', autocomplete: 'new-password' }"
type="password"
:disabled="savingPassword"
/>
</n-form-item>
<n-flex justify="end">
<n-button :disabled="savingPassword" @click="closePasswordForm">Отмена</n-button>
<n-button attr-type="submit" type="primary" :loading="savingPassword">Сохранить</n-button>
</n-flex>
</form>
</n-modal>
<HeaderMenu active="users" />
</template>