@efficiency-point/design-system 0.0.29 → 0.0.30

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react/jsx-runtime"),t=require("react"),n=require("react-dom"),r=require("@tanstack/react-table"),i=require("zustand");var a={badge:`_badge_1pk53_1`,sm:`_sm_1pk53_3`,md:`_md_1pk53_5`,neutral:`_neutral_1pk53_7`,info:`_info_1pk53_9`,success:`_success_1pk53_11`,warning:`_warning_1pk53_13`,error:`_error_1pk53_15`,dot:`_dot_1pk53_17`,icon:`_icon_1pk53_19`,label:`_label_1pk53_21`},o=({children:t,variant:n=`neutral`,size:r=`md`,dot:i=!1,icon:o,className:s=``})=>(0,e.jsxs)(`span`,{className:`${a.badge} ${a[n]} ${a[r]} ${s}`,children:[i&&(0,e.jsx)(`span`,{className:a.dot,"aria-hidden":`true`}),o&&(0,e.jsx)(`span`,{className:a.icon,"aria-hidden":`true`,children:o}),(0,e.jsx)(`span`,{className:a.label,children:t})]}),s={loader:`_loader_1tjcf_1`,"ds-spin":`_ds-spin_1tjcf_1`,primary:`_primary_1tjcf_21`,secondary:`_secondary_1tjcf_23`,light:`_light_1tjcf_25`,danger:`_danger_1tjcf_27`},c=({variant:t=`primary`,label:n=`Загрузка`,className:r=``,decorative:i=!1})=>(0,e.jsx)(`span`,{className:`${s.loader} ${s[t]} ${r}`,role:i?void 0:`status`,"aria-label":i?void 0:n,"aria-hidden":i||void 0}),l={button:`_button_1gql6_1`,sm:`_sm_1gql6_43`,md:`_md_1gql6_55`,lg:`_lg_1gql6_67`,primary:`_primary_1gql6_79`,secondary:`_secondary_1gql6_91`,outline:`_outline_1gql6_103`,ghost:`_ghost_1gql6_115`,empty:`_empty_1gql6_127`,destructive:`_destructive_1gql6_139`,destructiveOutline:`_destructiveOutline_1gql6_147`},u=(0,t.forwardRef)(({children:t,variant:n=`primary`,size:r=`md`,isLoading:i=!1,loadingLabel:a=`Загрузка`,disabled:o,type:s=`button`,className:u=``,...d},f)=>(0,e.jsx)(`button`,{ref:f,className:`${l.button} ${l[n]} ${l[r]} ${u}`,disabled:o||i,"aria-busy":i||void 0,...d,type:s,children:i?(0,e.jsx)(c,{variant:`light`,label:a}):t}));u.displayName=`DSButton`;var d={label:`_label_fa00b_1`,required:`_required_fa00b_23`,error:`_error_fa00b_25`,optional:`_optional_fa00b_33`,hint:`_hint_fa00b_35`,disabled:`_disabled_fa00b_47`,message:`_message_fa00b_55`,success:`_success_fa00b_71`},f=({children:t,required:n=!1,optionalText:r,disabled:i=!1,className:a=``,...o})=>(0,e.jsxs)(`label`,{className:`${d.label} ${i?d.disabled:``} ${a}`,...o,children:[(0,e.jsx)(`span`,{children:t}),n&&(0,e.jsx)(`span`,{className:d.required,"aria-hidden":`true`,children:`*`}),r&&(0,e.jsx)(`span`,{className:d.optional,children:r})]}),p=({children:t,variant:n=`hint`,id:r,live:i=!1,className:a=``})=>(0,e.jsx)(`span`,{id:r,className:`${d.message} ${d[n]} ${a}`,role:i&&n===`error`?`alert`:void 0,"aria-live":i&&n!==`error`?`polite`:void 0,children:t}),m={wrapper:`_wrapper_1gq36_1`,label:`_label_1gq36_3`,input:`_input_1gq36_5`,control:`_control_1gq36_7`,disabled:`_disabled_1gq36_13`,controlError:`_controlError_1gq36_17`},h=({checked:n,onChange:r,label:i,hint:a,error:o,disabled:s=!1,readOnly:c=!1,className:l=``,name:u,id:d,indeterminate:f=!1,...h})=>{let g=(0,t.useId)(),_=d??`ds-checkbox-${u??g}`,v=(0,t.useRef)(null),y=a?`${_}-hint`:void 0,b=o?`${_}-error`:void 0;return(0,t.useEffect)(()=>{v.current&&(v.current.indeterminate=f&&!n)},[n,f]),(0,e.jsxs)(`div`,{className:`${m.wrapper} ${l}`,children:[(0,e.jsxs)(`label`,{className:`${m.label} ${s?m.disabled:``}`,htmlFor:_,children:[(0,e.jsx)(`input`,{ref:v,id:_,name:u,type:`checkbox`,checked:n,disabled:s,"aria-readonly":c||void 0,"aria-invalid":!!o,"aria-describedby":[y,b].filter(Boolean).join(` `)||void 0,className:m.input,onChange:e=>{c||r?.(e.target.checked,e)},...h}),(0,e.jsx)(`span`,{className:`${m.control} ${o?m.controlError:``}`,"aria-hidden":`true`,children:f&&!n?`−`:n?`✓`:``}),i&&(0,e.jsx)(`span`,{children:i})]}),a&&!o&&(0,e.jsx)(p,{id:y,children:a}),o&&(0,e.jsx)(p,{id:b,variant:`error`,children:o})]})},g={wrapper:`_wrapper_qvnxe_1`,trigger:`_trigger_qvnxe_17`,nav:`_nav_qvnxe_53`,day:`_day_qvnxe_55`,monthSelect:`_monthSelect_qvnxe_57`,yearInput:`_yearInput_qvnxe_59`,timeInput:`_timeInput_qvnxe_61`,value:`_value_qvnxe_85`,placeholder:`_placeholder_qvnxe_93`,error:`_error_qvnxe_101`,panel:`_panel_qvnxe_109`,calendarHeader:`_calendarHeader_qvnxe_135`,weekdays:`_weekdays_qvnxe_225`,days:`_days_qvnxe_227`,outside:`_outside_qvnxe_263`,selected:`_selected_qvnxe_271`,timeLabel:`_timeLabel_qvnxe_291`},_=[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],v=[`Январь`,`Февраль`,`Март`,`Апрель`,`Май`,`Июнь`,`Июль`,`Август`,`Сентябрь`,`Октябрь`,`Ноябрь`,`Декабрь`],y=e=>String(e).padStart(2,`0`),b=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),x=(e,t)=>{if(!e)return``;let n=`${e.getFullYear()}-${y(e.getMonth()+1)}-${y(e.getDate())}`,r=`${y(e.getHours())}:${y(e.getMinutes())}`;return t===`date`?n:t===`time`?r:`${n}T${r}`},S=(e,t)=>{if(!e)return null;if(t===`time`){let t=/^(\d{2}):(\d{2})$/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);if(n>23||r>59)return null;let i=new Date;return i.setHours(n,r,0,0),i}let n=new Date(t===`date`?`${e}T00:00`:e);return Number.isNaN(n.getTime())?null:n},C=(e,t)=>{if(!e)return``;let n=`${y(e.getDate())}.${y(e.getMonth()+1)}.${e.getFullYear()}`,r=`${y(e.getHours())}:${y(e.getMinutes())}`;return t===`date`?n:t===`time`?r:`${n} ${r}`},w=e=>{let t=new Date(e.getFullYear(),e.getMonth(),1),n=(t.getDay()+6)%7,r=new Date(t);return r.setDate(t.getDate()-n),Array.from({length:42},(e,t)=>{let n=new Date(r);return n.setDate(r.getDate()+t),n})},T=(e,t)=>!!(e&&e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()),E=(e,t,n)=>{let r=b(e).getTime();return!!(t&&r<b(t).getTime()||n&&r>b(n).getTime())},D=8,O=6,k=({value:r,onChange:i,mode:a=`date`,label:o,placeholder:s,hint:c,error:l,disabled:u=!1,readOnly:d=!1,required:m=!1,min:h,max:y,id:b,name:k,className:A=``})=>{let j=(0,t.useId)(),M=b??`ds-date-time-${k??j}`,N=c?`${M}-hint`:void 0,P=l?`${M}-error`:void 0,F=(0,t.useRef)(null),I=(0,t.useRef)(null),L=(0,t.useRef)(null),[R,z]=(0,t.useState)(!1),[B,V]=(0,t.useState)(r??new Date),[H,ee]=(0,t.useState)(x(r,`time`)),[U,te]=(0,t.useState)(null),ne=(0,t.useMemo)(()=>w(B),[B]),re=a!==`time`,ie=a!==`date`;(0,t.useEffect)(()=>{r&&V(r),ee(x(r,`time`))},[r]);let W=(0,t.useCallback)(()=>{let e=I.current,t=L.current;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight-n.bottom-D,o=n.top-D,s=a<r.height&&o>a,c=Math.max(120,s?o:a),l=s?Math.max(D,n.top-r.height-O):n.bottom+O,u=n.left,d=i-r.width-D;te({top:l,left:Math.max(D,Math.min(u,d)),maxHeight:c})},[]);(0,t.useLayoutEffect)(()=>{if(!R){te(null);return}return W(),window.addEventListener(`resize`,W),window.addEventListener(`scroll`,W,!0),()=>{window.removeEventListener(`resize`,W),window.removeEventListener(`scroll`,W,!0)}},[R,W,B,H]),(0,t.useEffect)(()=>{if(!R)return;let e=e=>{let t=e.target,n=F.current?.contains(t),r=L.current?.contains(t);!n&&!r&&z(!1)},t=e=>{e.key===`Escape`&&(z(!1),I.current?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[R]);let ae=e=>{if(E(e,h,y))return;let t=new Date(e);t.setHours(r?.getHours()??0,r?.getMinutes()??0,0,0),i?.(t),a===`date`&&z(!1)},oe=e=>{if(ee(e),!e){i?.(null);return}let t=S(e,`time`);if(!t)return;let n=new Date(a===`datetime`?r??B:new Date);n.setHours(t.getHours(),t.getMinutes(),0,0),!(h&&n<h||y&&n>y)&&i?.(n)},se=s??(a===`date`?`Выберите дату`:a===`time`?`Введите время`:`Выберите дату и время`),ce=[N,P].filter(Boolean).join(` `)||void 0,le=R&&!d?(0,e.jsxs)(`div`,{ref:L,className:g.panel,role:`dialog`,"aria-label":o??se,style:U?{top:U.top,left:U.left,maxHeight:U.maxHeight}:{visibility:`hidden`,top:0,left:0},children:[re&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(`div`,{className:g.calendarHeader,children:[(0,e.jsx)(`button`,{type:`button`,className:g.nav,"aria-label":`Предыдущий месяц`,onClick:()=>V(new Date(B.getFullYear(),B.getMonth()-1,1)),children:`‹`}),(0,e.jsx)(`select`,{className:g.monthSelect,"aria-label":`Месяц`,value:B.getMonth(),onChange:e=>V(new Date(B.getFullYear(),Number(e.target.value),1)),children:v.map((t,n)=>(0,e.jsx)(`option`,{value:n,children:t},t))}),(0,e.jsx)(`input`,{className:g.yearInput,type:`number`,"aria-label":`Год`,value:B.getFullYear(),onChange:e=>V(new Date(Number(e.target.value),B.getMonth(),1))}),(0,e.jsx)(`button`,{type:`button`,className:g.nav,"aria-label":`Следующий месяц`,onClick:()=>V(new Date(B.getFullYear(),B.getMonth()+1,1)),children:`›`})]}),(0,e.jsx)(`div`,{className:g.weekdays,children:_.map(t=>(0,e.jsx)(`span`,{children:t},t))}),(0,e.jsx)(`div`,{className:g.days,children:ne.map(t=>{let n=T(r,t);return(0,e.jsx)(`button`,{type:`button`,className:`${g.day} ${t.getMonth()===B.getMonth()?``:g.outside} ${n?g.selected:``}`,disabled:E(t,h,y),"aria-pressed":n,onClick:()=>ae(t),children:t.getDate()},t.toISOString())})})]}),ie&&(0,e.jsxs)(`label`,{className:g.timeLabel,children:[(0,e.jsx)(`span`,{children:`Время`}),(0,e.jsx)(`input`,{className:g.timeInput,type:`time`,value:H,onChange:e=>oe(e.target.value)})]})]}):null;return(0,e.jsxs)(`div`,{ref:F,className:`${g.wrapper} ${A}`,children:[o&&(0,e.jsx)(f,{htmlFor:M,required:m,disabled:u,children:o}),(0,e.jsxs)(`button`,{ref:I,id:M,name:k,type:`button`,className:`${g.trigger} ${l?g.error:``}`,disabled:u,"aria-readonly":d||void 0,"aria-expanded":R,"aria-haspopup":`dialog`,"aria-describedby":ce,onClick:()=>{d||z(e=>!e)},children:[(0,e.jsx)(`span`,{className:r?g.value:g.placeholder,children:C(r,a)||se}),(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`▾`})]}),le&&(0,n.createPortal)(le,document.body),c&&!l&&(0,e.jsx)(p,{id:N,children:c}),l&&(0,e.jsx)(p,{id:P,variant:`error`,children:l})]})},A={root:`_root_1q42e_1`,legend:`_legend_1q42e_3`,range:`_range_1q42e_5`},j=e=>!!(e.from&&e.to&&e.from.getTime()<=e.to.getTime()),M=({value:t,onChange:n,onDraftChange:r,mode:i=`date`,fromLabel:a=`От`,toLabel:o=`До`,hint:s,error:c,min:l,max:u,disabled:d=!1,readOnly:f=!1,required:m=!1,className:h=``})=>{let g=c??(t.from&&t.to&&t.from>t.to?`Дата «От» не может быть позже даты «До»`:void 0),_=e=>{r?.(e),j(e)&&n?.(e)};return(0,e.jsxs)(`fieldset`,{className:`${A.root} ${h}`,disabled:d,children:[(0,e.jsxs)(`div`,{className:A.range,children:[(0,e.jsx)(k,{value:t.from,mode:i===`datetime`?`datetime`:i,label:a,min:l,max:t.to??u,disabled:d,readOnly:f,required:m,error:g,onChange:e=>_({...t,from:e})}),(0,e.jsx)(k,{value:t.to,mode:i===`datetime`?`datetime`:i,label:o,min:t.from??l,max:u,disabled:d,readOnly:f,required:m,error:g,onChange:e=>_({...t,to:e})})]}),s&&!g&&(0,e.jsx)(p,{children:s})]})},N={group:`_group_1fs9e_1`,skeleton:`_skeleton_1fs9e_3`,text:`_text_1fs9e_5`,rectangular:`_rectangular_1fs9e_7`,circular:`_circular_1fs9e_9`,animated:`_animated_1fs9e_11`,"ds-skeleton":`_ds-skeleton_1fs9e_1`},P=({variant:t=`text`,width:n=`100%`,height:r,lines:i=1,animated:a=!0,className:o=``})=>(0,e.jsx)(`span`,{className:`${N.group} ${o}`,"aria-hidden":`true`,children:Array.from({length:Math.max(1,i)},(o,s)=>(0,e.jsx)(`span`,{className:`${N.skeleton} ${N[t]} ${a?N.animated:``}`,style:{width:s===i-1&&i>1?`70%`:n,height:r}},s))}),F={wrapper:`_wrapper_q0qut_1`,label:`_label_q0qut_17`,lg:`_lg_q0qut_29`,container:`_container_q0qut_37`,trigger:`_trigger_q0qut_45`,disabledText:`_disabledText_q0qut_47`,sm:`_sm_q0qut_69`,md:`_md_q0qut_79`,value:`_value_q0qut_147`,placeholder:`_placeholder_q0qut_149`,chevron:`_chevron_q0qut_201`,chevronOpen:`_chevronOpen_q0qut_227`,menu:`_menu_q0qut_235`,option:`_option_q0qut_265`,selected:`_selected_q0qut_335`,message:`_message_q0qut_355`,error:`_error_q0qut_357`,errorState:`_errorState_q0qut_383`},I=8,L=6,R=120,z=(e,t,n)=>{if(!e.length)return-1;for(let r=0;r<e.length;r+=1){let i=(t+r*n+e.length)%e.length;if(!e[i]?.disabled)return i}return-1},B=e=>{if(typeof e==`number`)return e;if(typeof e==`string`){let t=Number.parseFloat(e);if(Number.isFinite(t))return t}return 1/0},V=({options:r,value:i,onChange:a,placeholder:o=`Выберите опцию`,disabled:s=!1,stringWhileDisabled:c=!1,label:l,error:u,size:d=`md`,hint:f,className:p=``,name:m,id:h,needMark:g=!0,maxMenuHeight:_})=>{let v=(0,t.useId)(),y=h??`ds-dropdown-${m??v}`,b=`${y}-listbox`,[x,S]=(0,t.useState)(!1),[C,w]=(0,t.useState)(null),T=(0,t.useRef)(null),E=(0,t.useRef)(null),D=(0,t.useRef)(null),O=(0,t.useRef)([]),k=(0,t.useMemo)(()=>r.find(e=>e.value===i),[r,i]),A=f?`${y}-hint`:void 0,j=u?`${y}-error`:void 0,M=[A,j].filter(Boolean).join(` `)||void 0,N=s&&c,P=(0,t.useCallback)(()=>{let e=E.current,t=D.current;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight-n.bottom-I,o=n.top-I,s=a<r.height&&o>a,c=Math.max(R,s?o:a),l=B(_),u=Math.min(c,l),d=n.left,f=i-n.width-I,p=Math.max(I,Math.min(d,f)),m=s?Math.max(I,n.top-r.height-L):n.bottom+L;w({top:m,left:p,width:n.width,maxHeight:u})},[_]);(0,t.useLayoutEffect)(()=>{if(!x){w(null);return}return P(),window.addEventListener(`resize`,P),window.addEventListener(`scroll`,P,!0),()=>{window.removeEventListener(`resize`,P),window.removeEventListener(`scroll`,P,!0)}},[x,P,r.length]),(0,t.useEffect)(()=>{if(!x)return;let e=e=>{let t=e.target,n=T.current?.contains(t),r=D.current?.contains(t);!n&&!r&&S(!1)},t=e=>{e.key===`Escape`&&(S(!1),E.current?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[x]);let V=(e,t)=>{let n=z(r,e,t);if(n===-1)return;let i=O.current[n];i?.focus(),i?.scrollIntoView({block:`nearest`})},H=e=>{e.disabled||(a?.(e.value,e),S(!1),E.current?.focus())},ee=x?(0,e.jsx)(`ul`,{ref:D,id:b,className:F.menu,role:`listbox`,"aria-label":l,style:C?{position:`fixed`,top:C.top,left:C.left,width:C.width,maxHeight:C.maxHeight}:{position:`fixed`,top:0,left:0,visibility:`hidden`,maxHeight:0},children:r.map((t,n)=>{let a=t.value===i;return(0,e.jsx)(`li`,{role:`presentation`,children:(0,e.jsxs)(`button`,{ref:e=>{O.current[n]=e},type:`button`,role:`option`,"aria-selected":a,disabled:t.disabled,className:[F[d],F.option,a?F.selected:``].filter(Boolean).join(` `),onClick:()=>H(t),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;V(n+t,t)}if(e.key===`Tab`&&S(!1),e.key===`Home`||e.key===`End`){e.preventDefault();let t=e.key===`Home`?1:-1;V(e.key===`Home`?0:r.length-1,t)}(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),H(t))},children:[(0,e.jsx)(`span`,{children:t.label}),a&&g&&(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`✓`})]})},t.value)})}):null;return(0,e.jsxs)(`div`,{ref:T,className:[F.wrapper,u?F.errorState:``,p].filter(Boolean).join(` `),children:[l&&(0,e.jsx)(`label`,{htmlFor:N?void 0:y,className:F.label,children:l}),(0,e.jsx)(`div`,{className:F.container,children:N?(0,e.jsx)(`div`,{id:y,className:F.disabledText,"aria-describedby":M,children:k?.label??o}):(0,e.jsxs)(`button`,{ref:E,id:y,type:`button`,name:m,className:`${F.trigger} ${F[d]}`,disabled:s,"aria-haspopup":`listbox`,"aria-expanded":x,"aria-controls":b,"aria-describedby":M,"aria-invalid":!!u,onClick:()=>S(e=>!e),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),S(!0);let t=e.key===`ArrowDown`?1:-1;requestAnimationFrame(()=>{V(e.key===`ArrowDown`?0:r.length-1,t)})}if(e.key===`Enter`&&x){e.preventDefault();let t=r.findIndex(e=>e.value===i);V(t>=0?t:0,1)}},children:[(0,e.jsx)(`span`,{className:`${k?F.value:F.placeholder}
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react/jsx-runtime"),t=require("react"),n=require("react-dom"),r=require("@tanstack/react-table"),i=require("zustand");var a={badge:`_badge_1pk53_1`,sm:`_sm_1pk53_3`,md:`_md_1pk53_5`,neutral:`_neutral_1pk53_7`,info:`_info_1pk53_9`,success:`_success_1pk53_11`,warning:`_warning_1pk53_13`,error:`_error_1pk53_15`,dot:`_dot_1pk53_17`,icon:`_icon_1pk53_19`,label:`_label_1pk53_21`},o=({children:t,variant:n=`neutral`,size:r=`md`,dot:i=!1,icon:o,className:s=``})=>(0,e.jsxs)(`span`,{className:`${a.badge} ${a[n]} ${a[r]} ${s}`,children:[i&&(0,e.jsx)(`span`,{className:a.dot,"aria-hidden":`true`}),o&&(0,e.jsx)(`span`,{className:a.icon,"aria-hidden":`true`,children:o}),(0,e.jsx)(`span`,{className:a.label,children:t})]}),s={loader:`_loader_1tjcf_1`,"ds-spin":`_ds-spin_1tjcf_1`,primary:`_primary_1tjcf_21`,secondary:`_secondary_1tjcf_23`,light:`_light_1tjcf_25`,danger:`_danger_1tjcf_27`},c=({variant:t=`primary`,label:n=`Загрузка`,className:r=``,decorative:i=!1})=>(0,e.jsx)(`span`,{className:`${s.loader} ${s[t]} ${r}`,role:i?void 0:`status`,"aria-label":i?void 0:n,"aria-hidden":i||void 0}),l={button:`_button_1gql6_1`,sm:`_sm_1gql6_43`,md:`_md_1gql6_55`,lg:`_lg_1gql6_67`,primary:`_primary_1gql6_79`,secondary:`_secondary_1gql6_91`,outline:`_outline_1gql6_103`,ghost:`_ghost_1gql6_115`,empty:`_empty_1gql6_127`,destructive:`_destructive_1gql6_139`,destructiveOutline:`_destructiveOutline_1gql6_147`},u=(0,t.forwardRef)(({children:t,variant:n=`primary`,size:r=`md`,isLoading:i=!1,loadingLabel:a=`Загрузка`,disabled:o,type:s=`button`,className:u=``,...d},f)=>(0,e.jsx)(`button`,{ref:f,className:`${l.button} ${l[n]} ${l[r]} ${u}`,disabled:o||i,"aria-busy":i||void 0,...d,type:s,children:i?(0,e.jsx)(c,{variant:`light`,label:a}):t}));u.displayName=`DSButton`;var d={label:`_label_fa00b_1`,required:`_required_fa00b_23`,error:`_error_fa00b_25`,optional:`_optional_fa00b_33`,hint:`_hint_fa00b_35`,disabled:`_disabled_fa00b_47`,message:`_message_fa00b_55`,success:`_success_fa00b_71`},f=({children:t,required:n=!1,optionalText:r,disabled:i=!1,className:a=``,...o})=>(0,e.jsxs)(`label`,{className:`${d.label} ${i?d.disabled:``} ${a}`,...o,children:[(0,e.jsx)(`span`,{children:t}),n&&(0,e.jsx)(`span`,{className:d.required,"aria-hidden":`true`,children:`*`}),r&&(0,e.jsx)(`span`,{className:d.optional,children:r})]}),p=({children:t,variant:n=`hint`,id:r,live:i=!1,className:a=``})=>(0,e.jsx)(`span`,{id:r,className:`${d.message} ${d[n]} ${a}`,role:i&&n===`error`?`alert`:void 0,"aria-live":i&&n!==`error`?`polite`:void 0,children:t}),m={wrapper:`_wrapper_1gq36_1`,label:`_label_1gq36_3`,input:`_input_1gq36_5`,control:`_control_1gq36_7`,disabled:`_disabled_1gq36_13`,controlError:`_controlError_1gq36_17`},h=({checked:n,onChange:r,label:i,hint:a,error:o,disabled:s=!1,readOnly:c=!1,className:l=``,name:u,id:d,indeterminate:f=!1,...h})=>{let g=(0,t.useId)(),_=d??`ds-checkbox-${u??g}`,v=(0,t.useRef)(null),y=a?`${_}-hint`:void 0,b=o?`${_}-error`:void 0;return(0,t.useEffect)(()=>{v.current&&(v.current.indeterminate=f&&!n)},[n,f]),(0,e.jsxs)(`div`,{className:`${m.wrapper} ${l}`,children:[(0,e.jsxs)(`label`,{className:`${m.label} ${s?m.disabled:``}`,htmlFor:_,children:[(0,e.jsx)(`input`,{ref:v,id:_,name:u,type:`checkbox`,checked:n,disabled:s,"aria-readonly":c||void 0,"aria-invalid":!!o,"aria-describedby":[y,b].filter(Boolean).join(` `)||void 0,className:m.input,onChange:e=>{c||r?.(e.target.checked,e)},...h}),(0,e.jsx)(`span`,{className:`${m.control} ${o?m.controlError:``}`,"aria-hidden":`true`,children:f&&!n?`−`:n?`✓`:``}),i&&(0,e.jsx)(`span`,{children:i})]}),a&&!o&&(0,e.jsx)(p,{id:y,children:a}),o&&(0,e.jsx)(p,{id:b,variant:`error`,children:o})]})},g={wrapper:`_wrapper_qvnxe_1`,trigger:`_trigger_qvnxe_17`,nav:`_nav_qvnxe_53`,day:`_day_qvnxe_55`,monthSelect:`_monthSelect_qvnxe_57`,yearInput:`_yearInput_qvnxe_59`,timeInput:`_timeInput_qvnxe_61`,value:`_value_qvnxe_85`,placeholder:`_placeholder_qvnxe_93`,error:`_error_qvnxe_101`,panel:`_panel_qvnxe_109`,calendarHeader:`_calendarHeader_qvnxe_135`,weekdays:`_weekdays_qvnxe_225`,days:`_days_qvnxe_227`,outside:`_outside_qvnxe_263`,selected:`_selected_qvnxe_271`,timeLabel:`_timeLabel_qvnxe_291`},_=[`Пн`,`Вт`,`Ср`,`Чт`,`Пт`,`Сб`,`Вс`],v=[`Январь`,`Февраль`,`Март`,`Апрель`,`Май`,`Июнь`,`Июль`,`Август`,`Сентябрь`,`Октябрь`,`Ноябрь`,`Декабрь`],y=e=>String(e).padStart(2,`0`),b=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()),x=(e,t)=>{if(!e)return``;let n=`${e.getFullYear()}-${y(e.getMonth()+1)}-${y(e.getDate())}`,r=`${y(e.getHours())}:${y(e.getMinutes())}`;return t===`date`?n:t===`time`?r:`${n}T${r}`},S=(e,t)=>{if(!e)return null;if(t===`time`){let t=/^(\d{2}):(\d{2})$/.exec(e);if(!t)return null;let n=Number(t[1]),r=Number(t[2]);if(n>23||r>59)return null;let i=new Date;return i.setHours(n,r,0,0),i}let n=new Date(t===`date`?`${e}T00:00`:e);return Number.isNaN(n.getTime())?null:n},C=(e,t)=>{if(!e)return``;let n=`${y(e.getDate())}.${y(e.getMonth()+1)}.${e.getFullYear()}`,r=`${y(e.getHours())}:${y(e.getMinutes())}`;return t===`date`?n:t===`time`?r:`${n} ${r}`},w=e=>{let t=new Date(e.getFullYear(),e.getMonth(),1),n=(t.getDay()+6)%7,r=new Date(t);return r.setDate(t.getDate()-n),Array.from({length:42},(e,t)=>{let n=new Date(r);return n.setDate(r.getDate()+t),n})},T=(e,t)=>!!(e&&e.getFullYear()===t.getFullYear()&&e.getMonth()===t.getMonth()&&e.getDate()===t.getDate()),E=(e,t,n)=>{let r=b(e).getTime();return!!(t&&r<b(t).getTime()||n&&r>b(n).getTime())},D=8,O=6,k=({value:r,onChange:i,mode:a=`date`,label:o,placeholder:s,hint:c,error:l,disabled:u=!1,readOnly:d=!1,required:m=!1,min:h,max:y,id:b,name:k,className:A=``})=>{let j=(0,t.useId)(),M=b??`ds-date-time-${k??j}`,N=c?`${M}-hint`:void 0,P=l?`${M}-error`:void 0,F=(0,t.useRef)(null),I=(0,t.useRef)(null),L=(0,t.useRef)(null),[R,z]=(0,t.useState)(!1),[B,V]=(0,t.useState)(r??new Date),[H,ee]=(0,t.useState)(x(r,`time`)),[U,te]=(0,t.useState)(null),ne=(0,t.useMemo)(()=>w(B),[B]),re=a!==`time`,ie=a!==`date`;(0,t.useEffect)(()=>{r&&V(r),ee(x(r,`time`))},[r]);let W=(0,t.useCallback)(()=>{let e=I.current,t=L.current;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight-n.bottom-D,o=n.top-D,s=a<r.height&&o>a,c=Math.max(120,s?o:a),l=s?Math.max(D,n.top-r.height-O):n.bottom+O,u=n.left,d=i-r.width-D;te({top:l,left:Math.max(D,Math.min(u,d)),maxHeight:c})},[]);(0,t.useLayoutEffect)(()=>{if(!R){te(null);return}return W(),window.addEventListener(`resize`,W),window.addEventListener(`scroll`,W,!0),()=>{window.removeEventListener(`resize`,W),window.removeEventListener(`scroll`,W,!0)}},[R,W,B,H]),(0,t.useEffect)(()=>{if(!R)return;let e=e=>{let t=e.target,n=F.current?.contains(t),r=L.current?.contains(t);!n&&!r&&z(!1)},t=e=>{e.key===`Escape`&&(z(!1),I.current?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[R]);let ae=e=>{if(E(e,h,y))return;let t=new Date(e);t.setHours(r?.getHours()??0,r?.getMinutes()??0,0,0),i?.(t),a===`date`&&z(!1)},oe=e=>{if(ee(e),!e){i?.(null);return}let t=S(e,`time`);if(!t)return;let n=new Date(a===`datetime`?r??B:new Date);n.setHours(t.getHours(),t.getMinutes(),0,0),!(h&&n<h||y&&n>y)&&i?.(n)},se=s??(a===`date`?`Выберите дату`:a===`time`?`Введите время`:`Выберите дату и время`),ce=[N,P].filter(Boolean).join(` `)||void 0,le=R&&!d?(0,e.jsxs)(`div`,{ref:L,className:g.panel,role:`dialog`,"aria-label":o??se,style:U?{top:U.top,left:U.left,maxHeight:U.maxHeight}:{visibility:`hidden`,top:0,left:0},children:[re&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(`div`,{className:g.calendarHeader,children:[(0,e.jsx)(`button`,{type:`button`,className:g.nav,"aria-label":`Предыдущий месяц`,onClick:()=>V(new Date(B.getFullYear(),B.getMonth()-1,1)),children:`‹`}),(0,e.jsx)(`select`,{className:g.monthSelect,"aria-label":`Месяц`,value:B.getMonth(),onChange:e=>V(new Date(B.getFullYear(),Number(e.target.value),1)),children:v.map((t,n)=>(0,e.jsx)(`option`,{value:n,children:t},t))}),(0,e.jsx)(`input`,{className:g.yearInput,type:`number`,"aria-label":`Год`,value:B.getFullYear(),onChange:e=>V(new Date(Number(e.target.value),B.getMonth(),1))}),(0,e.jsx)(`button`,{type:`button`,className:g.nav,"aria-label":`Следующий месяц`,onClick:()=>V(new Date(B.getFullYear(),B.getMonth()+1,1)),children:`›`})]}),(0,e.jsx)(`div`,{className:g.weekdays,children:_.map(t=>(0,e.jsx)(`span`,{children:t},t))}),(0,e.jsx)(`div`,{className:g.days,children:ne.map(t=>{let n=T(r,t);return(0,e.jsx)(`button`,{type:`button`,className:`${g.day} ${t.getMonth()===B.getMonth()?``:g.outside} ${n?g.selected:``}`,disabled:E(t,h,y),"aria-pressed":n,onClick:()=>ae(t),children:t.getDate()},t.toISOString())})})]}),ie&&(0,e.jsxs)(`label`,{className:g.timeLabel,children:[(0,e.jsx)(`span`,{children:`Время`}),(0,e.jsx)(`input`,{className:g.timeInput,type:`time`,value:H,onChange:e=>oe(e.target.value)})]})]}):null;return(0,e.jsxs)(`div`,{ref:F,className:`${g.wrapper} ${A}`,children:[o&&(0,e.jsx)(f,{htmlFor:M,required:m,disabled:u,children:o}),(0,e.jsxs)(`button`,{ref:I,id:M,name:k,type:`button`,className:`${g.trigger} ${l?g.error:``}`,disabled:u,"aria-readonly":d||void 0,"aria-expanded":R,"aria-haspopup":`dialog`,"aria-describedby":ce,onClick:()=>{d||z(e=>!e)},children:[(0,e.jsx)(`span`,{className:r?g.value:g.placeholder,children:C(r,a)||se}),(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`▾`})]}),le&&(0,n.createPortal)(le,document.body),c&&!l&&(0,e.jsx)(p,{id:N,children:c}),l&&(0,e.jsx)(p,{id:P,variant:`error`,children:l})]})},A={root:`_root_1q42e_1`,legend:`_legend_1q42e_3`,range:`_range_1q42e_5`},j=e=>!!(e.from&&e.to&&e.from.getTime()<=e.to.getTime()),M=({value:t,onChange:n,onDraftChange:r,mode:i=`date`,fromLabel:a=`От`,toLabel:o=`До`,hint:s,error:c,min:l,max:u,disabled:d=!1,readOnly:f=!1,required:m=!1,className:h=``})=>{let g=c??(t.from&&t.to&&t.from>t.to?`Дата «От» не может быть позже даты «До»`:void 0),_=e=>{r?.(e),j(e)&&n?.(e)};return(0,e.jsxs)(`fieldset`,{className:`${A.root} ${h}`,disabled:d,children:[(0,e.jsxs)(`div`,{className:A.range,children:[(0,e.jsx)(k,{value:t.from,mode:i===`datetime`?`datetime`:i,label:a,min:l,max:t.to??u,disabled:d,readOnly:f,required:m,error:g,onChange:e=>_({...t,from:e})}),(0,e.jsx)(k,{value:t.to,mode:i===`datetime`?`datetime`:i,label:o,min:t.from??l,max:u,disabled:d,readOnly:f,required:m,error:g,onChange:e=>_({...t,to:e})})]}),s&&!g&&(0,e.jsx)(p,{children:s})]})},N={group:`_group_1fs9e_1`,skeleton:`_skeleton_1fs9e_3`,text:`_text_1fs9e_5`,rectangular:`_rectangular_1fs9e_7`,circular:`_circular_1fs9e_9`,animated:`_animated_1fs9e_11`,"ds-skeleton":`_ds-skeleton_1fs9e_1`},P=({variant:t=`text`,width:n=`100%`,height:r,lines:i=1,animated:a=!0,className:o=``})=>(0,e.jsx)(`span`,{className:`${N.group} ${o}`,"aria-hidden":`true`,children:Array.from({length:Math.max(1,i)},(o,s)=>(0,e.jsx)(`span`,{className:`${N.skeleton} ${N[t]} ${a?N.animated:``}`,style:{width:s===i-1&&i>1?`70%`:n,height:r}},s))}),F={wrapper:`_wrapper_q0qut_1`,label:`_label_q0qut_17`,lg:`_lg_q0qut_29`,container:`_container_q0qut_37`,trigger:`_trigger_q0qut_45`,disabledText:`_disabledText_q0qut_47`,sm:`_sm_q0qut_69`,md:`_md_q0qut_79`,value:`_value_q0qut_147`,placeholder:`_placeholder_q0qut_149`,chevron:`_chevron_q0qut_201`,chevronOpen:`_chevronOpen_q0qut_227`,menu:`_menu_q0qut_235`,option:`_option_q0qut_265`,selected:`_selected_q0qut_335`,message:`_message_q0qut_355`,error:`_error_q0qut_357`,errorState:`_errorState_q0qut_383`},I=8,L=6,R=120,z=(e,t,n)=>{if(!e.length)return-1;for(let r=0;r<e.length;r+=1){let i=(t+r*n+e.length)%e.length;if(!e[i]?.disabled)return i}return-1},B=e=>{if(typeof e==`number`)return e;if(typeof e==`string`){let t=Number.parseFloat(e);if(Number.isFinite(t))return t}return 1/0},V=({options:r,value:i,onChange:a,placeholder:o=`Выберите опцию`,disabled:s=!1,stringWhileDisabled:c=!1,label:l,error:u,size:d=`md`,hint:f,className:p=``,name:m,id:h,needMark:g=!0,maxMenuHeight:_})=>{let v=(0,t.useId)(),y=h??`ds-dropdown-${m??v}`,b=`${y}-listbox`,[x,S]=(0,t.useState)(!1),[C,w]=(0,t.useState)(null),T=(0,t.useRef)(null),E=(0,t.useRef)(null),D=(0,t.useRef)(null),O=(0,t.useRef)([]),k=(0,t.useMemo)(()=>r.find(e=>e.value===i),[r,i]),A=f?`${y}-hint`:void 0,j=u?`${y}-error`:void 0,M=[A,j].filter(Boolean).join(` `)||void 0,N=s&&c,P=(0,t.useCallback)(()=>{let e=E.current,t=D.current;if(!e||!t)return;let n=e.getBoundingClientRect(),r=t.getBoundingClientRect(),i=window.innerWidth,a=window.innerHeight-n.bottom-I,o=n.top-I,s=a<r.height&&o>a,c=Math.max(R,s?o:a),l=B(_),u=Math.min(c,l),d=n.left,f=i-n.width-I,p=Math.max(I,Math.min(d,f)),m=s?Math.max(I,n.top-r.height-L):n.bottom+L;w({top:m,left:p,width:n.width,maxHeight:u})},[_]);(0,t.useLayoutEffect)(()=>{if(!x){w(null);return}return P(),window.addEventListener(`resize`,P),window.addEventListener(`scroll`,P,!0),()=>{window.removeEventListener(`resize`,P),window.removeEventListener(`scroll`,P,!0)}},[x,P,r.length]),(0,t.useEffect)(()=>{if(!x)return;let e=e=>{let t=e.target,n=T.current?.contains(t),r=D.current?.contains(t);!n&&!r&&S(!1)},t=e=>{e.key===`Escape`&&(S(!1),E.current?.focus())};return document.addEventListener(`pointerdown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`pointerdown`,e),document.removeEventListener(`keydown`,t)}},[x]);let V=(e,t)=>{let n=z(r,e,t);if(n===-1)return;let i=O.current[n];i?.focus(),i?.scrollIntoView({block:`nearest`})},H=e=>{e.disabled||(a?.(e.value,e),S(!1),E.current?.focus())},ee=x?(0,e.jsx)(`ul`,{ref:D,id:b,className:F.menu,role:`listbox`,"aria-label":l,style:C?{position:`fixed`,top:C.top,left:C.left,width:C.width,maxHeight:C.maxHeight}:{position:`fixed`,top:0,left:0,visibility:`hidden`,maxHeight:0},children:r.map((t,n)=>{let a=t.value===i;return(0,e.jsx)(`li`,{role:`presentation`,children:(0,e.jsxs)(`button`,{ref:e=>{O.current[n]=e},type:`button`,role:`option`,"aria-selected":a,disabled:t.disabled,className:[F[d],F.option,a?F.selected:``].filter(Boolean).join(` `),onClick:()=>H(t),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;V(n+t,t)}if(e.key===`Tab`&&S(!1),e.key===`Home`||e.key===`End`){e.preventDefault();let t=e.key===`Home`?1:-1;V(e.key===`Home`?0:r.length-1,t)}(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),H(t))},children:[(0,e.jsx)(`span`,{children:t.label}),a&&g&&(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`✓`})]})},t.value)})}):null;return(0,e.jsxs)(`div`,{ref:T,className:[F.wrapper,u?F.errorState:``,p].filter(Boolean).join(` `),children:[l&&(0,e.jsx)(`label`,{htmlFor:N?void 0:y,className:`${F.label} ${F[d]}`,children:l}),(0,e.jsx)(`div`,{className:F.container,children:N?(0,e.jsx)(`div`,{id:y,className:F.disabledText,"aria-describedby":M,children:k?.label??o}):(0,e.jsxs)(`button`,{ref:E,id:y,type:`button`,name:m,className:`${F.trigger} ${F[d]}`,disabled:s,"aria-haspopup":`listbox`,"aria-expanded":x,"aria-controls":b,"aria-describedby":M,"aria-invalid":!!u,onClick:()=>S(e=>!e),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),S(!0);let t=e.key===`ArrowDown`?1:-1;requestAnimationFrame(()=>{V(e.key===`ArrowDown`?0:r.length-1,t)})}if(e.key===`Enter`&&x){e.preventDefault();let t=r.findIndex(e=>e.value===i);V(t>=0?t:0,1)}},children:[(0,e.jsx)(`span`,{className:`${k?F.value:F.placeholder}
2
2
  ${F[d]}`,children:k?.label??o}),(0,e.jsx)(`span`,{className:[F.chevron,x?F.chevronOpen:``].filter(Boolean).join(` `),"aria-hidden":`true`,children:(0,e.jsx)(`svg`,{viewBox:`0 0 20 20`,fill:`none`,children:(0,e.jsx)(`path`,{d:`M5 7.5L10 12.5L15 7.5`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]})}),x&&(0,n.createPortal)(ee,document.body),f&&!u&&(0,e.jsx)(`span`,{id:A,className:F.message,children:f}),u&&(0,e.jsx)(`span`,{id:j,className:F.error,children:u})]})},H=e=>`${e.id}:${e.direction}`,ee=({options:t,value:n,onChange:r,label:i=`Сортировка`,placeholder:a=`Выберите сортировку`,disabled:o=!1,className:s})=>{let c=t.flatMap(e=>[{value:H({id:e.id,direction:`asc`}),label:e.ascLabel??`${e.label} · по возрастанию`,disabled:e.disabled},{value:H({id:e.id,direction:`desc`}),label:e.descLabel??`${e.label} · по убыванию`,disabled:e.disabled}]);return(0,e.jsx)(V,{options:c,value:n?H(n):``,label:i,placeholder:a,disabled:o,className:s,onChange:e=>{let t=e.lastIndexOf(`:`);r?.({id:e.slice(0,t),direction:e.slice(t+1)})}})},U={root:`_root_epm0h_1`,tableWrap:`_tableWrap_epm0h_3`,table:`_table_epm0h_3`,sticky:`_sticky_epm0h_15`,sortButton:`_sortButton_epm0h_17`,state:`_state_epm0h_21`,cards:`_cards_epm0h_23`,mobileSort:`_mobileSort_epm0h_23`,card:`_card_epm0h_23`,spanTwo:`_spanTwo_epm0h_37`,clickableRow:`_clickableRow_epm0h_39`,default:`_default_epm0h_47`,tableOnMobile:`_tableOnMobile_epm0h_47`,wide:`_wide_epm0h_51`},te=(0,r.tableFeatures)({rowSortingFeature:r.rowSortingFeature,sortedRowModel:(0,r.createSortedRowModel)()}),ne=(e,t)=>{let n=new Set;for(let t of e){if(!t.id.trim())return`Идентификатор колонки не может быть пустым`;if(n.has(t.id))return`Идентификатор колонки «${t.id}» повторяется`;n.add(t.id)}for(let n=0;n<t.length;n+=1){let r=t[n];for(let t of e)if(typeof t.accessor==`string`&&!(t.accessor in r))return`В строке ${n+1} отсутствует колонка «${t.id}»`}return null},re=(e,t)=>typeof e==`function`?e(t):t[e],ie=e=>{if(e==null||e===``)return null;let t=Date.parse(String(e));return Number.isNaN(t)?null:t},W=(e,t,n)=>{let r=ie(e.getValue(n)),i=ie(t.getValue(n));return r===null&&i===null?0:r===null?-1:i===null?1:r-i},ae=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r==null&&i==null?0:r==null?-1:i==null?1:Number(r)-Number(i)},oe=(e,t,n)=>{let r=e.getValue(n),i=t.getValue(n);return r==null&&i==null?0:r==null?-1:i==null?1:Number(!!r)-Number(!!i)},se=(e,t,n)=>{let r=String(e.getValue(n)??``),i=String(t.getValue(n)??``);return r.localeCompare(i,void 0,{numeric:!0,sensitivity:`base`})},ce=e=>{switch(e){case`date`:return W;case`number`:return ae;case`boolean`:return oe;case`text`:case void 0:return se;case`custom`:return}},le=e=>{let t=t=>re(e.accessor,t),n=e.sortFn??ce(e.dataType),r=e.enableSorting??(e.dataType!==`custom`&&n!==void 0),i={id:e.id,accessorFn:t,header:()=>e.header,cell:t=>{let n=t.getValue();return e.cell?.(t.row.original,n)??String(n??``)},enableSorting:r,sortDescFirst:e.sortDescFirst};return n!==void 0&&(i.sortFn=n),i},ue=({columns:n,data:i,tableOnMobile:a=!1,breakpoint:o=`default`,sorting:s,onSortingChange:c,renderMobileCard:l,getRowId:u,caption:d,ariaLabel:f,loading:p=!1,error:m,emptyState:h=`Нет данных`,stickyHeader:g=!1,maxHeight:_,className:v=``,onRowClick:y})=>{let[b,x]=(0,t.useState)([]),S=s??b,C=(0,t.useMemo)(()=>ne(n,i),[n,i]),w=(0,t.useMemo)(()=>n.map(le),[n]),T=(0,r.useTable)({features:te,columns:w,data:i,state:{sorting:S},onSortingChange:e=>{let t=typeof e==`function`?e(S):e;s===void 0&&x(t),c?.(t)},getRowId:u}),E=T.getRowModel().rows,D=n.filter(e=>e.enableSorting??e.dataType!==`custom`).map(e=>({id:e.id,label:typeof e.header==`string`?e.header:e.id})),O=[U.root,o===`wide`?U.wide:U.default,a?U.tableOnMobile:``,v].filter(Boolean).join(` `),k=C??m;return(0,e.jsxs)(`section`,{className:O,"aria-busy":p,children:[!a&&!p&&!k&&E.length>0&&D.length>0&&(0,e.jsx)(ee,{className:U.mobileSort,options:D,value:S[0]?{id:S[0].id,direction:S[0].desc?`desc`:`asc`}:null,onChange:e=>T.setSorting([{id:e.id,desc:e.direction===`desc`}])}),(0,e.jsx)(`div`,{className:U.tableWrap,style:{maxHeight:_},children:(0,e.jsxs)(`table`,{className:U.table,"aria-label":f,children:[d&&(0,e.jsx)(`caption`,{children:d}),(0,e.jsx)(`thead`,{className:g?U.sticky:``,children:T.getHeaderGroups().map(t=>(0,e.jsx)(`tr`,{children:t.headers.map(t=>{let n=t.column.getIsSorted(),r=t.column.getCanSort(),i=t.column.getToggleSortingHandler();return(0,e.jsx)(`th`,{scope:`col`,"aria-sort":n===`asc`?`ascending`:n===`desc`?`descending`:`none`,children:(0,e.jsxs)(`button`,{type:`button`,className:U.sortButton,disabled:!r,onClick:i,children:[(0,e.jsx)(T.FlexRender,{header:t}),(0,e.jsx)(`span`,{"aria-hidden":`true`,children:n===`asc`?`↑`:n===`desc`?`↓`:`↕`})]})},t.id)})},t.id))}),(0,e.jsx)(`tbody`,{children:p?(0,e.jsx)(`tr`,{children:(0,e.jsx)(`td`,{colSpan:n.length,children:(0,e.jsx)(P,{lines:3})})}):k?(0,e.jsx)(`tr`,{children:(0,e.jsx)(`td`,{className:U.state,colSpan:n.length,children:k})}):E.length===0?(0,e.jsx)(`tr`,{children:(0,e.jsx)(`td`,{className:U.state,colSpan:n.length,children:h})}):E.map(t=>(0,e.jsx)(`tr`,{className:y?U.clickableRow:void 0,onClick:()=>y?.(t.original),onKeyDown:e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),y?.(t.original))},tabIndex:y?0:void 0,role:y?`button`:void 0,children:t.getAllCells().map(t=>(0,e.jsx)(`td`,{children:(0,e.jsx)(T.FlexRender,{cell:t})},t.id))},t.id))})]})}),!a&&(0,e.jsx)(`div`,{className:U.cards,role:`list`,"aria-label":f??d,children:p?(0,e.jsx)(P,{lines:4}):k?(0,e.jsx)(`div`,{className:U.state,children:k}):E.length===0?(0,e.jsx)(`div`,{className:U.state,children:h}):E.map(t=>{if(l)return(0,e.jsx)(`div`,{role:`listitem`,children:l({row:t.original,columns:n})},t.id);let r=n.filter(e=>!e.mobile?.hideOnMobile).sort((e,t)=>(e.mobile?.mobileOrder??0)-(t.mobile?.mobileOrder??0)),i=r.find(e=>e.mobile?.primary)??r.find(e=>e.mobile?.mobileVariant!==`actions`),a=e=>re(e.accessor,t.original),o=e=>e.mobile?.renderMobile?.(t.original,a(e))??e.cell?.(t.original,a(e))??String(a(e)??``);return(0,e.jsxs)(`article`,{role:`listitem`,className:U.card,children:[(0,e.jsx)(`h3`,{children:i?o(i):`Строка ${t.index+1}`}),(0,e.jsx)(`dl`,{children:r.filter(e=>e!==i&&e.mobile?.mobileVariant!==`actions`).map(t=>(0,e.jsxs)(`div`,{className:t.mobile?.mobileSpan===2?U.spanTwo:``,children:[(0,e.jsx)(`dt`,{children:t.mobile?.mobileLabel??t.header}),(0,e.jsx)(`dd`,{children:o(t)})]},t.id))}),r.filter(e=>e.mobile?.mobileVariant===`actions`).map(t=>(0,e.jsx)(`footer`,{children:o(t)},t.id))]},t.id)})})]})},de=({options:n,value:r,onChange:i,placeholder:a=`Выберите опции`,disabled:o=!1,label:s,error:c,hint:l,className:u=``,name:d,id:f,closeOnSelect:p=!1,maxMenuHeight:m})=>{let h=(0,t.useId)(),g=f??`ds-dropdown-multiple-${d??h}`,[_,v]=(0,t.useState)(!1),y=(0,t.useRef)(null),b=(0,t.useRef)(null),x=(0,t.useRef)([]),S=(0,t.useMemo)(()=>n.filter(e=>r.includes(e.value)),[n,r]),C=S.map(e=>e.label).join(`, `),w=l?`${g}-hint`:void 0,T=c?`${g}-error`:void 0;(0,t.useEffect)(()=>{let e=e=>{y.current?.contains(e.target)||v(!1)},t=e=>{e.key===`Escape`&&_&&(v(!1),b.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[_]);let E=e=>{if(e.disabled)return;let t=r.includes(e.value)?r.filter(t=>t!==e.value):[...r,e.value];i?.(t,n.filter(e=>t.includes(e.value))),p&&(v(!1),b.current?.focus())},D=(e,t)=>{let r=z(n,e,t);x.current[r]?.focus(),x.current[r]?.scrollIntoView({block:`nearest`})};return(0,e.jsxs)(`div`,{ref:y,className:[F.wrapper,c?F.errorState:``,u].filter(Boolean).join(` `),children:[s&&(0,e.jsx)(`label`,{htmlFor:g,className:F.label,children:s}),(0,e.jsxs)(`div`,{className:F.container,children:[(0,e.jsxs)(`button`,{ref:b,id:g,type:`button`,name:d,className:F.trigger,disabled:o,"aria-haspopup":`listbox`,"aria-expanded":_,"aria-controls":`${g}-listbox`,"aria-describedby":[w,T].filter(Boolean).join(` `)||void 0,"aria-invalid":!!c,onClick:()=>v(e=>!e),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),v(!0);let t=e.key===`ArrowDown`?1:-1;requestAnimationFrame(()=>D(e.key===`ArrowDown`?0:n.length-1,t))}},children:[(0,e.jsx)(`span`,{className:S.length?F.value:F.placeholder,children:C||a}),(0,e.jsx)(`span`,{className:`${F.chevron} ${_?F.chevronOpen:``}`,"aria-hidden":`true`,children:`⌄`})]}),_&&(0,e.jsx)(`ul`,{id:`${g}-listbox`,className:F.menu,role:`listbox`,"aria-label":s,"aria-multiselectable":`true`,style:{maxHeight:m},children:n.map((t,i)=>{let a=r.includes(t.value);return(0,e.jsx)(`li`,{role:`presentation`,children:(0,e.jsxs)(`button`,{ref:e=>{x.current[i]=e},type:`button`,role:`option`,"aria-selected":a,disabled:t.disabled,className:`${F.option} ${a?F.selected:``}`,onClick:()=>E(t),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault();let t=e.key===`ArrowDown`?1:-1;D(i+t,t)}if(e.key===`Home`||e.key===`End`){e.preventDefault();let t=e.key===`Home`?1:-1;D(e.key===`Home`?0:n.length-1,t)}e.key===`Tab`&&v(!1)},children:[(0,e.jsx)(`span`,{children:t.label}),(0,e.jsx)(`span`,{"aria-hidden":`true`,children:a?`✓`:``})]})},t.value)})})]}),l&&!c&&(0,e.jsx)(`span`,{id:w,className:F.message,children:l}),c&&(0,e.jsx)(`span`,{id:T,className:F.error,children:c})]})},fe={approve:`M4 12l5 5L20 6`,reject:`M5 5l14 14M19 5L5 19`,edit:`M4 20h4L19 9l-4-4L4 16v4z`,cross:`M5 5l14 14M19 5L5 19`,chevron:`M6 9l6 6 6-6`,basket:`M4 7h16l-1 13H5L4 7zm3 0V4h10v3`,info:`M12 10v7m0-10v.01`,warning:`M12 4L3 20h18L12 4zm0 5v5m0 3v.01`},pe=({name:t,title:n,width:r=24,height:i=24,...a})=>(0,e.jsxs)(`svg`,{viewBox:`0 0 24 24`,width:r,height:i,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`,role:n?`img`:void 0,"aria-hidden":!n||void 0,focusable:`false`,...a,children:[n&&(0,e.jsx)(`title`,{children:n}),(0,e.jsx)(`path`,{d:fe[t]})]}),G={root:`_root_1y2s8_1`,header:`_header_1y2s8_21`,title:`_title_1y2s8_41`,dismiss:`_dismiss_1y2s8_55`,content:`_content_1y2s8_113`},me=({title:n,children:r,dismissible:i=!1,onDismiss:a,dismissLabel:o=`Закрыть информационный блок`,headingAs:s=`h3`,className:c=``})=>{let l=`ds-info-block-${(0,t.useId)()}`;return(0,e.jsxs)(`section`,{className:`${G.root} ${c}`,"aria-labelledby":l,children:[(0,e.jsxs)(`header`,{className:G.header,children:[(0,e.jsx)(s,{id:l,className:G.title,children:n}),i&&(0,e.jsx)(`button`,{type:`button`,className:G.dismiss,onClick:a,"aria-label":o,children:(0,e.jsx)(`svg`,{viewBox:`0 0 20 20`,"aria-hidden":`true`,children:(0,e.jsx)(`path`,{d:`M5 5L15 15M15 5L5 15`,fill:`none`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`})})})]}),(0,e.jsx)(`div`,{className:G.content,children:r})]})},K={wrapper:`_wrapper_v5lkp_1`,control:`_control_v5lkp_3`,input:`_input_v5lkp_5`,disabledText:`_disabledText_v5lkp_5`,sm:`_sm_v5lkp_41`,md:`_md_v5lkp_53`,lg:`_lg_v5lkp_65`,inputError:`_inputError_v5lkp_77`,trailingAction:`_trailingAction_v5lkp_79`},he=({value:n,onChange:r,type:i=`text`,placeholder:a=``,disabled:o=!1,readOnly:s=!1,stringWhileDisabled:c=!1,label:l,error:u,hint:d,className:m=``,name:h,id:g,size:_=`md`,clearable:v=!0,required:y=!1,selectTextOnFocus:b=!1,isPassword:x=!1,passwordVisibleLabel:S=`Скрыть пароль`,passwordHiddenLabel:C=`Показать пароль`,onFocus:w,...T})=>{let E=(0,t.useId)(),D=g??`ds-input-${h??E}`,O=(0,t.useRef)(null),[k,A]=(0,t.useState)(!1),j=d?`${D}-hint`:void 0,M=u?`${D}-error`:void 0,N=String(n??``),P=[j,M].filter(Boolean).join(` `)||void 0,F=x?k?`text`:`password`:i;return(0,t.useEffect)(()=>{x||A(!1)},[x]),(0,e.jsxs)(`div`,{className:`${K.wrapper} ${m}`,children:[l&&(0,e.jsx)(f,{htmlFor:D,required:y,disabled:o,children:l}),o&&c?(0,e.jsx)(`div`,{id:D,className:K.disabledText,"aria-describedby":P,children:N||a}):(0,e.jsxs)(`div`,{className:K.control,children:[(0,e.jsx)(`input`,{ref:O,id:D,name:h,type:F,value:N,placeholder:a,disabled:o,readOnly:s,required:y,"aria-invalid":!!u,"aria-describedby":P,className:`${K.input} ${K[_]} ${u?K.inputError:``}`,onChange:e=>{if(i===`number`&&!x){let t=e.target.value===``?``:Number(e.target.value);r?.(t,e);return}r?.(e.target.value,e)},onFocus:e=>{b&&e.currentTarget.value&&e.currentTarget.select(),w?.(e)},...T}),x&&(0,e.jsx)(`button`,{type:`button`,className:K.trailingAction,disabled:o,"aria-label":k?S:C,"aria-pressed":k,onClick:()=>A(e=>!e),children:k?(0,e.jsx)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:(0,e.jsx)(`path`,{d:`M3 3l18 18M10.6 10.7a2 2 0 0 0 2.7 2.7M9.9 4.2A10.7 10.7 0 0 1 12 4c5.5 0 9 5.3 9 5.3a14 14 0 0 1-2.3 2.8M6.6 6.6C4.3 8.1 3 10 3 10s3.5 5 9 5c1 0 2-.2 2.8-.5`})}):(0,e.jsxs)(`svg`,{viewBox:`0 0 24 24`,"aria-hidden":`true`,children:[(0,e.jsx)(`path`,{d:`M3 12s3.5-5 9-5 9 5 9 5-3.5 5-9 5-9-5-9-5Z`}),(0,e.jsx)(`circle`,{cx:`12`,cy:`12`,r:`2.5`})]})}),!x&&v&&N&&!o&&!s&&(0,e.jsx)(`button`,{type:`button`,className:K.trailingAction,"aria-label":`Очистить поле`,onClick:()=>{let e=O.current;e&&((Object.getOwnPropertyDescriptor(HTMLInputElement.prototype,`value`)?.set)?.call(e,``),e.dispatchEvent(new Event(`input`,{bubbles:!0})),e.focus())},children:`×`})]}),d&&!u&&(0,e.jsx)(p,{id:j,children:d}),u&&(0,e.jsx)(p,{id:M,variant:`error`,children:u})]})},q={wrapper:`_wrapper_vu1ob_1`,input:`_input_vu1ob_21`,switch:`_switch_vu1ob_35`,thumb:`_thumb_vu1ob_67`,label:`_label_vu1ob_111`,disabled:`_disabled_vu1ob_123`},ge=({checked:n,onChange:r,label:i,disabled:a=!1,readOnly:o=!1,className:s=``,name:c,id:l,value:u})=>{let d=(0,t.useId)(),f=l??`ds-radio-button-${c??d}`;return(0,e.jsxs)(`label`,{htmlFor:f,className:`${q.wrapper} ${a?q.disabled:``} ${s}`,children:[(0,e.jsx)(`input`,{id:f,className:q.input,type:`checkbox`,role:`switch`,name:c,value:u,checked:n,disabled:a,"aria-readonly":o||void 0,onChange:e=>{o||r?.(e.target.checked,e)}}),(0,e.jsx)(`span`,{className:q.switch,"aria-hidden":`true`,children:(0,e.jsx)(`span`,{className:q.thumb})}),i&&(0,e.jsx)(`span`,{className:q.label,children:i})]})},_e={root:`_root_kepgo_1`,grid:`_grid_kepgo_3`,actions:`_actions_kepgo_5`},ve=({filters:t,values:n,onChange:r,onApply:i,onReset:a,applyMode:o=`instant`,loading:s=!1,disabled:c=!1,className:l=``})=>{let d=(e,t)=>{let a={...n,[e]:t};r?.(a,e),o===`instant`&&i?.(a)};return(0,e.jsxs)(`section`,{className:`${_e.root} ${l}`,"aria-label":`Фильтры`,"aria-busy":s,children:[(0,e.jsx)(`div`,{className:_e.grid,children:t.filter(e=>!e.hidden).map(t=>{let r=c||s||t.disabled,i=n[t.id];if(t.type===`input`){let n={label:t.label,hint:t.hint,placeholder:t.placeholder,disabled:r};return t.inputType===`number`?(0,e.jsx)(he,{...n,type:`number`,value:i??``,onChange:e=>d(t.id,e)},t.id):(0,e.jsx)(he,{...n,type:`text`,value:String(i??``),onChange:e=>d(t.id,e)},t.id)}if(t.type===`dropdown`)return(0,e.jsx)(V,{label:t.label,hint:t.hint,placeholder:t.placeholder,options:t.options,value:String(i??``),disabled:r,onChange:e=>d(t.id,e)},t.id);if(t.type===`multiple`)return(0,e.jsx)(de,{label:t.label,hint:t.hint,placeholder:t.placeholder,options:t.options,value:Array.isArray(i)?i:[],disabled:r,onChange:e=>d(t.id,e)},t.id);if(t.type===`checkbox`)return(0,e.jsx)(h,{label:t.label,hint:t.hint,checked:!!i,disabled:r,onChange:e=>d(t.id,e)},t.id);if(t.type===`radio`)return(0,e.jsx)(ge,{label:t.label,checked:!!i,disabled:r,onChange:e=>d(t.id,e)},t.id);let a=i&&typeof i==`object`&&!Array.isArray(i)?i:{from:null,to:null};return(0,e.jsx)(M,{hint:t.hint,mode:t.mode,min:t.min,max:t.max,value:a,disabled:r,onDraftChange:e=>d(t.id,e)},t.id)})}),(a||o===`manual`)&&(0,e.jsxs)(`div`,{className:_e.actions,children:[a&&(0,e.jsx)(u,{variant:`destructiveOutline`,disabled:c||s,onClick:a,children:`Сбросить`}),o===`manual`&&(0,e.jsx)(u,{isLoading:s,disabled:c,onClick:()=>i?.(n),children:`Применить`})]})]})},J={wrapper:`_wrapper_1ymdr_1`,dropzone:`_dropzone_1ymdr_3`,dragActive:`_dragActive_1ymdr_5`,disabled:`_disabled_1ymdr_7`,error:`_error_1ymdr_9`,nativeInput:`_nativeInput_1ymdr_11`,empty:`_empty_1ymdr_13`,uploadIcon:`_uploadIcon_1ymdr_15`,browseButton:`_browseButton_1ymdr_17`,files:`_files_1ymdr_19`,file:`_file_1ymdr_19`,fileName:`_fileName_1ymdr_23`,fileSize:`_fileSize_1ymdr_25`},ye=e=>`${e.name}:${e.size}:${e.lastModified}`,be=e=>e<1024?`${e} Б`:e<1048576?`${(e/1024).toFixed(1)} КБ`:`${(e/1024/1024).toFixed(1)} МБ`,xe=(e,t)=>!t||t.split(`,`).map(e=>e.trim().toLowerCase()).some(t=>t.startsWith(`.`)?e.name.toLowerCase().endsWith(t):t.endsWith(`/*`)?e.type.startsWith(t.slice(0,-1)):e.type.toLowerCase()===t),Se=({value:n,onChange:r,multiple:i=!1,accept:a,maxSize:o,maxFiles:s,label:c,hint:l,error:d,required:m=!1,disabled:h=!1,readOnly:g=!1,name:_,id:v,className:y=``,dropLabel:b=`Перетащите файлы в эту область`,browseLabel:x=`Выбрать файлы`,addMoreLabel:S=`Добавить ещё`,onReject:C})=>{let w=(0,t.useId)(),T=v??`ds-file-input-${_??w}`,E=(0,t.useRef)(null),D=(0,t.useRef)(0),[O,k]=(0,t.useState)(!1),A=l?`${T}-hint`:void 0,j=d?`${T}-error`:void 0,M=[A,j].filter(Boolean).join(` `)||void 0,N=!h&&!g,P=e=>{let t=[],c=new Set(n.map(ye)),l=e.filter(e=>xe(e,a)?o!==void 0&&e.size>o?(t.push({file:e,reason:`maxSize`}),!1):!c.has(ye(e))&&(c.add(ye(e)),!0):(t.push({file:e,reason:`accept`}),!1)),u=i?s:1,d=i?[...n,...l]:l.slice(-1);u!==void 0&&d.length>u&&(d.slice(u).forEach(e=>t.push({file:e,reason:`maxFiles`})),d=d.slice(0,u)),t.length&&C?.(t),l.length&&r?.(d),E.current&&(E.current.value=``)};return(0,e.jsxs)(`div`,{className:`${J.wrapper} ${y}`,children:[c&&(0,e.jsx)(f,{htmlFor:T,required:m,disabled:h,children:c}),(0,e.jsxs)(`div`,{className:`${J.dropzone} ${O?J.dragActive:``} ${h?J.disabled:``} ${d?J.error:``}`,onDragEnter:e=>{e.preventDefault(),N&&++D.current===1&&k(!0)},onDragOver:e=>e.preventDefault(),onDragLeave:e=>{e.preventDefault(),--D.current<=0&&(D.current=0,k(!1))},onDrop:e=>{e.preventDefault(),D.current=0,k(!1),N&&P(Array.from(e.dataTransfer.files))},children:[(0,e.jsx)(`input`,{ref:E,id:T,name:_,className:J.nativeInput,type:`file`,multiple:i,accept:a,required:m&&n.length===0,disabled:!N,"aria-describedby":M,"aria-invalid":!!d,onChange:e=>P(Array.from(e.target.files??[]))}),n.length?(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(`ul`,{className:J.files,"aria-live":`polite`,children:n.map((t,i)=>(0,e.jsxs)(`li`,{className:J.file,children:[(0,e.jsx)(`span`,{className:J.fileName,title:t.name,children:t.name}),(0,e.jsx)(`span`,{className:J.fileSize,children:be(t.size)}),N&&(0,e.jsx)(u,{variant:`empty`,size:`sm`,"aria-label":`Удалить файл ${t.name}`,onClick:()=>r?.(n.filter((e,t)=>t!==i)),children:`×`})]},ye(t)))}),N&&(i||n.length===0)&&(0,e.jsx)(u,{className:J.browseButton,size:`sm`,onClick:()=>E.current?.click(),children:S}),N&&!i&&(0,e.jsx)(u,{className:J.browseButton,size:`sm`,onClick:()=>E.current?.click(),children:x})]}):(0,e.jsxs)(`div`,{className:J.empty,children:[(0,e.jsx)(`span`,{className:J.uploadIcon,"aria-hidden":`true`,children:`↑`}),(0,e.jsx)(`strong`,{children:O?`Отпустите файлы здесь`:b}),!O&&N&&(0,e.jsxs)(e.Fragment,{children:[(0,e.jsx)(`span`,{children:`или`}),(0,e.jsx)(u,{className:J.browseButton,onClick:()=>E.current?.click(),children:x})]})]})]}),l&&!d&&(0,e.jsx)(p,{id:A,children:l}),d&&(0,e.jsx)(p,{id:j,variant:`error`,live:!0,children:d})]})},Ce=0,Y=(0,i.create)(e=>({modals:[],openModal:(t,n={},r={})=>{Ce+=1;let i=`ds-modal-${Ce}`;return e(e=>({modals:[...e.modals,{id:i,name:t,payload:n,closeOnEscape:r.closeOnEscape??!0,closeOnBackdrop:r.closeOnBackdrop??!0}]})),i},closeModal:t=>e(e=>({modals:e.modals.filter(e=>e.id!==t)})),closeTopModal:()=>e(e=>({modals:e.modals.slice(0,-1)})),closeAllModals:()=>e({modals:[]})})),we=()=>Y.setState({modals:[]}),X={layer:`_layer_1nb2z_1`,backdrop:`_backdrop_1nb2z_3`,panel:`_panel_1nb2z_5`,header:`_header_1nb2z_9`,title:`_title_1nb2z_11`,description:`_description_1nb2z_13`,content:`_content_1nb2z_15`},Te=`button:not(:disabled), [href], input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])`,Ee=({children:n,title:r,description:i,modalId:a,closeLabel:o=`Закрыть модальное окно`,className:s=``,role:c=`dialog`})=>{let l=(0,t.useId)(),d=(0,t.useId)(),f=(0,t.useRef)(null),p=Y(e=>e.closeModal);return(0,t.useEffect)(()=>{let e=document.activeElement,t=f.current;return(t?.querySelector(Te)??t)?.focus(),()=>e?.focus()},[]),(0,e.jsxs)(`div`,{ref:f,className:`${X.panel} ${s}`,role:c,"aria-modal":`true`,"aria-labelledby":r?l:void 0,"aria-describedby":i?d:void 0,tabIndex:-1,onKeyDown:e=>{if(e.key!==`Tab`)return;let t=Array.from(f.current?.querySelectorAll(Te)??[]);if(!t.length){e.preventDefault();return}let n=t[0],r=t[t.length-1];e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())},children:[(r||o)&&(0,e.jsxs)(`header`,{className:X.header,children:[r&&(0,e.jsx)(`h2`,{id:l,className:X.title,children:r}),(0,e.jsx)(u,{variant:`empty`,size:`sm`,"aria-label":o,onClick:()=>p(a),children:(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,e.jsx)(`path`,{d:`M18 6 6 18`}),(0,e.jsx)(`path`,{d:`m6 6 12 12`})]})})]}),i&&(0,e.jsx)(`p`,{id:d,className:X.description,children:i}),(0,e.jsx)(`div`,{className:X.content,children:n})]})},De=({registry:r})=>{let i=Y(e=>e.modals),a=Y(e=>e.closeModal),o=Y(e=>e.closeAllModals);return(0,t.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;let t=Y.getState().modals.at(-1);t?.closeOnEscape&&a(t.id)};return document.addEventListener(`keydown`,e),()=>document.removeEventListener(`keydown`,e)},[a]),!i.length||typeof document>`u`?null:(0,n.createPortal)((0,e.jsx)(`div`,{className:X.layer,"aria-label":`Модальные окна`,children:i.map((t,n)=>{let s=r[t.name];return s?(0,e.jsx)(`div`,{className:X.backdrop,"aria-hidden":n!==i.length-1||void 0,onMouseDown:e=>{e.target===e.currentTarget&&t.closeOnBackdrop&&a(t.id)},children:(0,e.jsx)(s,{...t.payload,modalId:t.id,close:()=>a(t.id),closeAll:o})},t.id):null})}),document.body)},Oe=({registry:n,children:r,lockBodyScroll:i=!0})=>{let a=Y(e=>e.modals.length);return(0,t.useEffect)(()=>{if(!i||a===0)return;let e=document.body.style.overflow;return document.body.style.overflow=`hidden`,()=>{document.body.style.overflow=e}},[i,a]),(0,e.jsxs)(e.Fragment,{children:[r,(0,e.jsx)(De,{registry:n})]})},ke=e=>e,Ae={message:`_message_1vtru_1`,actions:`_actions_1vtru_3`},je=new Map,Me=0,Ne=({modalId:t,close:n,title:r=`Подтверждение`,message:i=`Продолжить действие?`,confirmLabel:a=`Подтвердить`,cancelLabel:o=`Отмена`,tone:s=`default`,requestId:c})=>{let l=e=>{je.get(c)?.(e),je.delete(c),n()};return(0,e.jsxs)(Ee,{modalId:t,title:r,role:`alertdialog`,children:[(0,e.jsx)(`p`,{className:Ae.message,children:i}),(0,e.jsxs)(`div`,{className:Ae.actions,children:[(0,e.jsx)(u,{variant:`outline`,onClick:()=>l(!1),children:o}),(0,e.jsx)(u,{variant:s===`danger`?`destructive`:`primary`,onClick:()=>l(!0),children:a})]})]})},Pe=({modalId:t,close:n,title:r=`Ошибка`,message:i,closeLabel:a=`Закрыть`})=>(0,e.jsxs)(Ee,{modalId:t,title:r,role:`alertdialog`,children:[(0,e.jsx)(`p`,{className:Ae.message,children:i}),(0,e.jsx)(`div`,{className:Ae.actions,children:(0,e.jsx)(u,{onClick:n,children:a})})]}),Fe=ke({ConfirmModal:Ne,ErrorModal:Pe}),Ie=()=>{let e=Y(e=>e.openModal);return(t={})=>new Promise(n=>{Me+=1;let r=`confirm-${Me}`;je.set(r,n),e(`ConfirmModal`,{...t,requestId:r},{closeOnEscape:!1})})},Le=e=>e instanceof Error?e.message:typeof e==`string`?e:e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`?e.message:`Произошла неизвестная ошибка`,Re=()=>{let e=Y(e=>e.openModal);return{showError:(t,n)=>e(`ErrorModal`,{title:n,message:Le(t)})}},ze=(0,i.create)(()=>({})),Be=(0,i.create)(()=>({})),Ve=()=>{let e=Y(e=>e.modals),t=Y(e=>e.openModal);return{openModal:(e,n={},r)=>t(e,n,r),closeModal:Y(e=>e.closeModal),closeTopModal:Y(e=>e.closeTopModal),closeAllModals:Y(e=>e.closeAllModals),isOpen:t=>e.some(e=>e.name===t),count:e.length}},He={root:`_root_fvxpr_1`},Ue=({label:t=`Загрузка страницы`,className:n=``})=>(0,e.jsxs)(`div`,{className:`${He.root} ${n}`,role:`status`,"aria-label":t,children:[(0,e.jsx)(c,{decorative:!0}),(0,e.jsx)(`span`,{children:t})]}),We={viewport:`_viewport_15mi5_1`,"top-right":`_top-right_15mi5_3`,"top-left":`_top-left_15mi5_5`,"bottom-right":`_bottom-right_15mi5_7`,"bottom-left":`_bottom-left_15mi5_9`,toast:`_toast_15mi5_11`,body:`_body_15mi5_13`,icon:`_icon_15mi5_15`,info:`_info_15mi5_17`,success:`_success_15mi5_19`,warning:`_warning_15mi5_21`,error:`_error_15mi5_23`},Ge=t=>{let n;return n=t===`info`?(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#179cf0`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,e.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,e.jsx)(`path`,{d:`M12 16v-4`}),(0,e.jsx)(`path`,{d:`M12 8h.01`})]}):t===`success`?(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#179c66`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,e.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,e.jsx)(`path`,{d:`m9 12 2 2 4-4`})]}):t===`warning`?(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#f59e0b`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,e.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,e.jsx)(`path`,{d:`M12 9v4`}),(0,e.jsx)(`path`,{d:`M12 17h.01`})]}):t===`error`?(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`#dc2626`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,e.jsx)(`path`,{d:`m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3`}),(0,e.jsx)(`path`,{d:`M12 9v4`}),(0,e.jsx)(`path`,{d:`M12 17h.01`})]}):(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,e.jsx)(`circle`,{cx:`12`,cy:`12`,r:`10`}),(0,e.jsx)(`path`,{d:`m15 9-6 6`}),(0,e.jsx)(`path`,{d:`m9 9 6 6`})]}),n},Ke=({toast:n,onClose:r})=>{let[i,a]=(0,t.useState)(!1),o=(0,t.useRef)(n.duration),s=(0,t.useRef)(Date.now());return(0,t.useEffect)(()=>{if(i||n.duration<=0)return;s.current=Date.now();let e=setTimeout(()=>r(n.id),o.current);return()=>{clearTimeout(e),o.current=Math.max(0,o.current-(Date.now()-s.current))}},[r,i,n.duration,n.id]),(0,e.jsxs)(`article`,{className:`${We.toast} ${We[n.variant]}`,role:n.variant===`error`?`alert`:`status`,"aria-live":n.variant===`error`?`assertive`:`polite`,onMouseEnter:()=>a(!0),onMouseLeave:()=>a(!1),onFocus:()=>a(!0),onBlur:()=>a(!1),children:[(0,e.jsx)(`div`,{children:Ge(n.variant)}),(0,e.jsxs)(`div`,{className:We.body,children:[n.title&&(0,e.jsx)(`strong`,{children:n.title}),(0,e.jsx)(`div`,{children:n.message}),n.action&&(0,e.jsx)(u,{variant:`empty`,size:`sm`,onClick:()=>{n.action?.onClick(),(n.action?.dismissOnClick??!0)&&r(n.id)},children:n.action.label})]}),n.closable&&(0,e.jsx)(u,{variant:`empty`,size:`sm`,"aria-label":`Закрыть уведомление`,onClick:()=>r(n.id),children:(0,e.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:[(0,e.jsx)(`path`,{d:`M18 6 6 18`}),(0,e.jsx)(`path`,{d:`m6 6 12 12`})]})})]})},qe=0,Z=(0,i.create)(e=>({toasts:[],showToast:t=>{qe+=1;let n=`ds-toast-${qe}`;return e(e=>({toasts:[...e.toasts,{variant:`info`,duration:5e3,closable:!0,...t,id:n}]})),n},removeToast:t=>e(e=>({toasts:e.toasts.filter(e=>e.id!==t)})),clearToasts:()=>e({toasts:[]})})),Je=()=>Z.setState({toasts:[]}),Ye=({position:t=`top-right`})=>{let n=Z(e=>e.toasts),r=Z(e=>e.removeToast);return(0,e.jsx)(`div`,{className:`${We.viewport} ${We[t]}`,"aria-label":`Уведомления`,children:n.map(t=>(0,e.jsx)(Ke,{toast:t,onClose:r},t.id))})},Xe=()=>{let e=Z(e=>e.showToast),n=Z(e=>e.removeToast),r=Z(e=>e.clearToasts),i=(0,t.useCallback)(t=>e({...t,variant:`info`}),[e]),a=(0,t.useCallback)(t=>e({...t,variant:`success`}),[e]),o=(0,t.useCallback)(t=>e({...t,variant:`warning`}),[e]),s=(0,t.useCallback)(t=>e({...t,variant:`error`}),[e]);return(0,t.useMemo)(()=>({showToast:e,infoToast:i,successToast:a,warningToast:o,errorToast:s,removeToast:n,clearToasts:r}),[r,s,i,n,e,a,o])},Ze={root:`_root_s9o0g_1`,tooltip:`_tooltip_s9o0g_3`,"ds-tooltip-in":`_ds-tooltip-in_s9o0g_1`,top:`_top_s9o0g_5`,bottom:`_bottom_s9o0g_7`,left:`_left_s9o0g_9`,right:`_right_s9o0g_11`},Qe=({content:n,children:r,placement:i=`top`,delay:a=450,disabled:o=!1,maxWidth:s=280,className:c=``})=>{let l=(0,t.useId)(),[u,d]=(0,t.useState)(!1),f=(0,t.useRef)(null),p=()=>{o||!n||(f.current=setTimeout(()=>d(!0),a))},m=()=>{f.current&&clearTimeout(f.current),d(!1)};if((0,t.useEffect)(()=>{let e=e=>{e.key===`Escape`&&m()};return document.addEventListener(`keydown`,e),()=>{document.removeEventListener(`keydown`,e),f.current&&clearTimeout(f.current)}},[]),!(0,t.isValidElement)(r))return r;let h=(0,t.cloneElement)(r,{"aria-describedby":u?l:void 0,onMouseEnter:p,onMouseLeave:m,onFocus:p,onBlur:m});return(0,e.jsxs)(`span`,{className:`${Ze.root} ${c}`,onPointerDown:u?m:p,children:[h,u&&(0,e.jsx)(`span`,{id:l,role:`tooltip`,className:`${Ze.tooltip} ${Ze[i]}`,style:{maxWidth:s},children:n})]})},Q={root:`_root_1ue3g_1`,frame:`_frame_1ue3g_3`,video:`_video_1ue3g_5`,overlay:`_overlay_1ue3g_7`,error:`_error_1ue3g_7`,caption:`_caption_1ue3g_13`},$e=({sources:n,tracks:r=[],title:i,aspectRatio:a=`16 / 9`,objectFit:o=`contain`,loading:s=!1,error:l,fallback:u,className:d=``,controls:f=!0,playsInline:p=!0,...m})=>{let[h,g]=(0,t.useState)(!1),_=l??(h?`Не удалось воспроизвести видео`:void 0);return(0,e.jsxs)(`figure`,{className:`${Q.root} ${d}`,children:[(0,e.jsxs)(`div`,{className:Q.frame,style:{aspectRatio:a},children:[!_&&n.length>0&&(0,e.jsxs)(`video`,{...m,"aria-label":i,controls:f,playsInline:p,className:Q.video,style:{objectFit:o},onError:e=>{g(!0),m.onError?.(e)},children:[n.map(t=>(0,e.jsx)(`source`,{...t},`${t.src}-${t.type}`)),r.map(t=>(0,e.jsx)(`track`,{...t},`${t.src}-${t.srcLang}`))]}),s&&(0,e.jsx)(`div`,{className:Q.overlay,children:(0,e.jsx)(c,{label:`Загрузка видео`})}),(_||n.length===0)&&(0,e.jsx)(`div`,{className:Q.error,role:`alert`,children:u??_??`Источник видео не указан`})]}),(0,e.jsx)(`figcaption`,{className:Q.caption,children:i})]})},et={popup:`_popup_15ovj_1`,trigger:`_trigger_15ovj_15`,content:`_content_15ovj_23`,top:`_top_15ovj_107`,right:`_right_15ovj_141`,bottom:`_bottom_15ovj_175`,left:`_left_15ovj_209`},tt=({content:t,children:n,placement:r=`top`,disabled:i=!1})=>i?(0,e.jsx)(e.Fragment,{children:n}):(0,e.jsxs)(`span`,{className:`${et.popup} ${et[r]}`,children:[(0,e.jsx)(`span`,{className:et.trigger,children:n}),(0,e.jsx)(`span`,{className:et.content,role:`tooltip`,children:t})]}),$={root:`_root_1tdda_1`,trigger:`_trigger_1tdda_15`,heading:`_heading_1tdda_41`,title:`_title_1tdda_51`,subtitle:`_subtitle_1tdda_59`,icon:`_icon_1tdda_69`,open:`_open_1tdda_91`,content:`_content_1tdda_99`,contentInner:`_contentInner_1tdda_119`},nt=({title:n,subtitle:r,children:i,defaultOpen:a=!1,open:o,onOpenChange:s,className:c=``})=>{let l=(0,t.useId)(),[u,d]=(0,t.useState)(a),f=o??u;return(0,e.jsxs)(`section`,{className:`${$.root} ${f?$.open:``} ${c}`,children:[(0,e.jsxs)(`button`,{type:`button`,className:$.trigger,"aria-expanded":f,"aria-controls":l,onClick:()=>{let e=!f;o===void 0&&d(e),s?.(e)},children:[(0,e.jsxs)(`span`,{className:$.heading,children:[(0,e.jsx)(`span`,{className:$.title,children:n}),r&&(0,e.jsx)(`span`,{className:$.subtitle,children:r})]}),(0,e.jsx)(`span`,{className:$.icon,"aria-hidden":`true`,children:(0,e.jsx)(`svg`,{viewBox:`0 0 20 20`,fill:`none`,children:(0,e.jsx)(`path`,{d:`M5 7.5L10 12.5L15 7.5`,stroke:`currentColor`,strokeWidth:`1.8`,strokeLinecap:`round`,strokeLinejoin:`round`})})})]}),(0,e.jsx)(`div`,{id:l,className:$.content,"aria-hidden":!f,children:(0,e.jsx)(`div`,{className:$.contentInner,children:i})})]})},rt=({children:e,containerId:r=`overlay-root`})=>{let[i,a]=(0,t.useState)(null);return(0,t.useEffect)(()=>{let e=document.getElementById(r);if(e){a(e);return}let t=document.createElement(`div`);return t.id=r,document.body.appendChild(t),a(t),()=>{t.childElementCount===0&&t.parentElement&&t.remove()}},[r]),i?(0,n.createPortal)(e,i):null};exports.ConfirmModal=Ne,exports.DSAccordion=nt,exports.DSBadge=o,exports.DSButton=u,exports.DSCheckbox=h,exports.DSDataTable=ue,exports.DSDateRange=M,exports.DSDateTimePicker=k,exports.DSDropDown=V,exports.DSDropDownMultiple=de,exports.DSFieldLabel=f,exports.DSFieldMessage=p,exports.DSFileInput=Se,exports.DSFilters=ve,exports.DSIcon=pe,exports.DSInfoBlock=me,exports.DSInput=he,exports.DSLoader=c,exports.DSModal=De,exports.DSModalFrame=Ee,exports.DSPageLoader=Ue,exports.DSPopup=tt,exports.DSPortal=rt,exports.DSRadioButton=ge,exports.DSSkeleton=P,exports.DSSort=ee,exports.DSToast=Ke,exports.DSToastProvider=Ye,exports.DSTooltip=Qe,exports.DSVideoPlayerFrame=$e,exports.ErrorModal=Pe,exports.ModalSystemProvider=Oe,exports.builtInModalRegistry=Fe,exports.defineModalRegistry=ke,exports.formatDateTimeLocalValue=x,exports.getErrorMessage=Le,exports.getNextEnabledOptionIndex=z,exports.isValidDateRange=j,exports.parseDateTimeLocalValue=S,exports.resetModalStore=we,exports.resetToastStore=Je,exports.useConfirmModal=Ie,exports.useConfirmModalStore=ze,exports.useErrorModal=Re,exports.useErrorModalStore=Be,exports.useModals=Ve,exports.useModalsStore=Y,exports.useToast=Xe,exports.useToastStore=Z,exports.validateDSDataTableData=ne;
package/dist/index.es.js CHANGED
@@ -602,7 +602,7 @@ var T = {
602
602
  children: [
603
603
  g && /* @__PURE__ */ t("label", {
604
604
  htmlFor: te ? void 0 : E,
605
- className: W.label,
605
+ className: `${W.label} ${W[v]}`,
606
606
  children: g
607
607
  }),
608
608
  /* @__PURE__ */ t("div", {
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "description": "Efficiency-point react design system",
4
4
  "type": "module",
5
5
  "license": "UNLICENSED",
6
- "version": "0.0.29",
6
+ "version": "0.0.30",
7
7
  "publishConfig": {
8
8
  "access": "public",
9
9
  "registry": "https://registry.npmjs.org/"