@efficiency-point/design-system 0.0.9 → 0.0.11
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.
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
-
import { SortingState } from '@tanstack/react-table';
|
|
2
|
+
import { SortFn, SortingState } from '@tanstack/react-table';
|
|
3
|
+
declare const dataTableFeatures: {
|
|
4
|
+
rowSortingFeature: import('@tanstack/table-core').TableFeature;
|
|
5
|
+
sortedRowModel: (table: import('@tanstack/table-core').Table<any, any>) => () => import('@tanstack/table-core').RowModel<any, any>;
|
|
6
|
+
};
|
|
7
|
+
type DSDataTableFeatures = typeof dataTableFeatures;
|
|
3
8
|
type DSDataType = 'text' | 'number' | 'date' | 'boolean' | 'custom';
|
|
4
9
|
type DSDataTableAccessor<TData extends object> = Extract<keyof TData, string> | ((row: TData) => unknown);
|
|
10
|
+
type DSColumnSortFn<TData extends object> = SortFn<DSDataTableFeatures, TData>;
|
|
5
11
|
export type DSDataTableBreakpoint = 'default' | 'wide';
|
|
6
12
|
export type DSDataTableData = Record<string, unknown>;
|
|
7
13
|
export type DSDataTableMobileColumnMeta<TData> = {
|
|
@@ -21,6 +27,7 @@ export type DSDataTableColumn<TData extends object> = {
|
|
|
21
27
|
cell?: (row: TData, value: unknown) => ReactNode;
|
|
22
28
|
dataType?: DSDataType;
|
|
23
29
|
enableSorting?: boolean;
|
|
30
|
+
sortFn?: DSColumnSortFn<TData>;
|
|
24
31
|
sortDescFirst?: boolean;
|
|
25
32
|
mobile?: DSDataTableMobileColumnMeta<TData>;
|
|
26
33
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DSDataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DSDataTable/DSDataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,
|
|
1
|
+
{"version":3,"file":"DSDataTable.d.ts","sourceRoot":"","sources":["../../../src/components/DSDataTable/DSDataTable.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAqB,KAAK,aAAa,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAC9E,OAAO,EAQH,KAAK,MAAM,EACX,KAAK,YAAY,EACpB,MAAM,uBAAuB,CAAC;AAK/B,QAAA,MAAM,iBAAiB;;;CAGrB,CAAC;AAEH,KAAK,mBAAmB,GAAG,OAAO,iBAAiB,CAAC;AAEpD,KAAK,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAC;AACpE,KAAK,mBAAmB,CAAC,KAAK,SAAS,MAAM,IACvC,OAAO,CAAC,MAAM,KAAK,EAAE,MAAM,CAAC,GAC5B,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,OAAO,CAAC,CAAC;AAEhC,KAAK,cAAc,CAAC,KAAK,SAAS,MAAM,IAAI,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;AAE/E,MAAM,MAAM,qBAAqB,GAAG,SAAS,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AAEtD,MAAM,MAAM,2BAA2B,CAAC,KAAK,IAAI;IAC7C,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,SAAS,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IAC9C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,iBAAiB,CAAC,KAAK,SAAS,MAAM,IAAI;IAClD,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,QAAQ,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,KAAK,SAAS,CAAC;IACjD,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,2BAA2B,CAAC,KAAK,CAAC,CAAC;CAC/C,CAAC;AAEF,MAAM,MAAM,2BAA2B,CAAC,KAAK,SAAS,MAAM,IAAI;IAC5D,GAAG,EAAE,KAAK,CAAC;IACX,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,KAAK,SAAS,MAAM,IAAI;IACjD,OAAO,EAAE,iBAAiB,CAAC,KAAK,CAAC,EAAE,CAAC;IACpC,IAAI,EAAE,KAAK,EAAE,CAAC;IACd,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,gBAAgB,CAAC,EAAE,CAAC,OAAO,EAAE,2BAA2B,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;IAC9E,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,SAAS,CAAC,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAAI,KAAK,SAAS,MAAM,EACxD,SAAS,iBAAiB,CAAC,KAAK,CAAC,EAAE,EACnC,MAAM,KAAK,EAAE,KACd,MAAM,GAAG,IAoBX,CAAC;AA6IF,eAAO,MAAM,WAAW,GAAI,KAAK,SAAS,MAAM,EAAE,4MAiB/C,gBAAgB,CAAC,KAAK,CAAC,gCA+HzB,CAAC"}
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react/jsx-runtime"),t=require("react"),n=require("@tanstack/react-table"),r=require("react-dom"),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_1jisp_1`,sm:`_sm_1jisp_31`,md:`_md_1jisp_33`,lg:`_lg_1jisp_35`,primary:`_primary_1jisp_37`,secondary:`_secondary_1jisp_39`,outline:`_outline_1jisp_41`,ghost:`_ghost_1jisp_45`,empty:`_empty_1jisp_57`,destructive:`_destructive_1jisp_67`,destructiveOutline:`_destructiveOutline_1jisp_69`},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,type:s,className:`${l.button} ${l[n]} ${l[r]} ${u}`,disabled:o||i,"aria-busy":i||void 0,...d,children:i?(0,e.jsx)(c,{variant:`light`,label:a}):t}));u.displayName=`DSButton`;var d={label:`_label_1lsqq_1`,required:`_required_1lsqq_23`,error:`_error_1lsqq_25`,optional:`_optional_1lsqq_33`,hint:`_hint_1lsqq_35`,disabled:`_disabled_1lsqq_47`,message:`_message_1lsqq_55`,success:`_success_1lsqq_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_1528c_1`,trigger:`_trigger_1528c_17`,nav:`_nav_1528c_53`,day:`_day_1528c_55`,monthSelect:`_monthSelect_1528c_57`,yearInput:`_yearInput_1528c_59`,timeInput:`_timeInput_1528c_61`,value:`_value_1528c_85`,placeholder:`_placeholder_1528c_93`,error:`_error_1528c_101`,panel:`_panel_1528c_109`,calendarHeader:`_calendarHeader_1528c_135`,weekdays:`_weekdays_1528c_225`,days:`_days_1528c_227`,outside:`_outside_1528c_263`,selected:`_selected_1528c_271`,timeLabel:`_timeLabel_1528c_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=({value:n,onChange:r,mode:i=`date`,label:a,placeholder:o,hint:s,error:c,disabled:l=!1,readOnly:u=!1,required:d=!1,min:m,max:h,id:y,name:b,className:D=``})=>{let O=(0,t.useId)(),k=y??`ds-date-time-${b??O}`,A=s?`${k}-hint`:void 0,j=c?`${k}-error`:void 0,M=(0,t.useRef)(null),N=(0,t.useRef)(null),[P,F]=(0,t.useState)(!1),[I,L]=(0,t.useState)(n??new Date),[R,z]=(0,t.useState)(x(n,`time`)),B=(0,t.useMemo)(()=>w(I),[I]),V=i!==`time`,ee=i!==`date`;(0,t.useEffect)(()=>{n&&L(n),z(x(n,`time`))},[n]),(0,t.useEffect)(()=>{let e=e=>{M.current?.contains(e.target)||F(!1)},t=e=>{e.key===`Escape`&&(F(!1),N.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[]);let te=e=>{if(E(e,m,h))return;let t=new Date(e);t.setHours(n?.getHours()??0,n?.getMinutes()??0,0,0),r?.(t),i===`date`&&F(!1)},ne=e=>{if(z(e),!e){r?.(null);return}let t=S(e,`time`);if(!t)return;let a=new Date(i===`datetime`?n??I:new Date);a.setHours(t.getHours(),t.getMinutes(),0,0),!(m&&a<m||h&&a>h)&&r?.(a)},re=o??(i===`date`?`Выберите дату`:i===`time`?`Введите время`:`Выберите дату и время`),ie=[A,j].filter(Boolean).join(` `)||void 0;return(0,e.jsxs)(`div`,{ref:M,className:`${g.wrapper} ${D}`,children:[a&&(0,e.jsx)(f,{htmlFor:k,required:d,disabled:l,children:a}),(0,e.jsxs)(`button`,{ref:N,id:k,name:b,type:`button`,className:`${g.trigger} ${c?g.error:``}`,disabled:l,"aria-readonly":u||void 0,"aria-expanded":P,"aria-haspopup":`dialog`,"aria-describedby":ie,onClick:()=>{u||F(e=>!e)},children:[(0,e.jsx)(`span`,{className:n?g.value:g.placeholder,children:C(n,i)||re}),(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`▾`})]}),P&&!u&&(0,e.jsxs)(`div`,{className:g.panel,role:`dialog`,"aria-label":a??re,children:[V&&(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:()=>L(new Date(I.getFullYear(),I.getMonth()-1,1)),children:`‹`}),(0,e.jsx)(`select`,{className:g.monthSelect,"aria-label":`Месяц`,value:I.getMonth(),onChange:e=>L(new Date(I.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:I.getFullYear(),onChange:e=>L(new Date(Number(e.target.value),I.getMonth(),1))}),(0,e.jsx)(`button`,{type:`button`,className:g.nav,"aria-label":`Следующий месяц`,onClick:()=>L(new Date(I.getFullYear(),I.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:B.map(t=>{let r=T(n,t);return(0,e.jsx)(`button`,{type:`button`,className:`${g.day} ${t.getMonth()===I.getMonth()?``:g.outside} ${r?g.selected:``}`,disabled:E(t,m,h),"aria-pressed":r,onClick:()=>te(t),children:t.getDate()},t.toISOString())})})]}),ee&&(0,e.jsxs)(`label`,{className:g.timeLabel,children:[(0,e.jsx)(`span`,{children:`Время`}),(0,e.jsx)(`input`,{className:g.timeInput,type:`time`,value:R,onChange:e=>ne(e.target.value)})]})]}),s&&!c&&(0,e.jsx)(p,{id:A,children:s}),c&&(0,e.jsx)(p,{id:j,variant:`error`,children:c})]})},O={root:`_root_1q42e_1`,legend:`_legend_1q42e_3`,range:`_range_1q42e_5`},k=e=>!!(e.from&&e.to&&e.from.getTime()<=e.to.getTime()),A=({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),k(e)&&n?.(e)};return(0,e.jsxs)(`fieldset`,{className:`${O.root} ${h}`,disabled:d,children:[(0,e.jsxs)(`div`,{className:O.range,children:[(0,e.jsx)(D,{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)(D,{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})]})},j={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`},M=({variant:t=`text`,width:n=`100%`,height:r,lines:i=1,animated:a=!0,className:o=``})=>(0,e.jsx)(`span`,{className:`${j.group} ${o}`,"aria-hidden":`true`,children:Array.from({length:Math.max(1,i)},(o,s)=>(0,e.jsx)(`span`,{className:`${j.skeleton} ${j[t]} ${a?j.animated:``}`,style:{width:s===i-1&&i>1?`70%`:n,height:r}},s))}),N={wrapper:`_wrapper_dkn63_1`,label:`_label_dkn63_17`,container:`_container_dkn63_29`,trigger:`_trigger_dkn63_37`,disabledText:`_disabledText_dkn63_39`,value:`_value_dkn63_109`,placeholder:`_placeholder_dkn63_111`,chevron:`_chevron_dkn63_137`,chevronOpen:`_chevronOpen_dkn63_163`,menu:`_menu_dkn63_171`,option:`_option_dkn63_207`,selected:`_selected_dkn63_245`,message:`_message_dkn63_265`,error:`_error_dkn63_267`,errorState:`_errorState_dkn63_293`},P=(e,t,n)=>{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},F=({options:n,value:r,onChange:i,placeholder:a=`Выберите опцию`,disabled:o=!1,stringWhileDisabled:s=!1,label:c,error:l,hint:u,className:d=``,name:f,id:p,needMark:m=!0,maxMenuHeight:h})=>{let g=(0,t.useId)(),_=p??`ds-dropdown-${f??g}`,[v,y]=(0,t.useState)(!1),b=(0,t.useRef)(null),x=(0,t.useRef)(null),S=(0,t.useRef)([]),C=(0,t.useMemo)(()=>n.find(e=>e.value===r),[n,r]),w=u?`${_}-hint`:void 0,T=l?`${_}-error`:void 0,E=[w,T].filter(Boolean).join(` `)||void 0,D=o&&s;(0,t.useEffect)(()=>{let e=e=>{b.current?.contains(e.target)||y(!1)},t=e=>{e.key===`Escape`&&v&&(y(!1),x.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[v]);let O=(e,t)=>{let r=P(n,e,t);S.current[r]?.focus(),S.current[r]?.scrollIntoView({block:`nearest`})},k=e=>{e.disabled||(i?.(e.value,e),y(!1),x.current?.focus())};return(0,e.jsxs)(`div`,{ref:b,className:[N.wrapper,l?N.errorState:``,d].filter(Boolean).join(` `),children:[c&&(0,e.jsx)(`label`,{htmlFor:D?void 0:_,className:N.label,children:c}),(0,e.jsx)(`div`,{className:N.container,children:D?(0,e.jsx)(`div`,{id:_,className:N.disabledText,"aria-describedby":E,children:C?.label??a}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(`button`,{ref:x,id:_,type:`button`,name:f,className:N.trigger,disabled:o,"aria-haspopup":`listbox`,"aria-expanded":v,"aria-controls":`${_}-listbox`,"aria-describedby":E,"aria-invalid":!!l,onClick:()=>y(e=>!e),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),y(!0);let t=e.key===`ArrowDown`?1:-1;requestAnimationFrame(()=>O(e.key===`ArrowDown`?0:n.length-1,t))}},children:[(0,e.jsx)(`span`,{className:C?N.value:N.placeholder,children:C?.label??a}),(0,e.jsx)(`span`,{className:`${N.chevron} ${v?N.chevronOpen:``}`,"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`})})})]}),v&&(0,e.jsx)(`ul`,{id:`${_}-listbox`,className:N.menu,role:`listbox`,"aria-label":c,style:{maxHeight:h},children:n.map((t,i)=>{let a=t.value===r;return(0,e.jsx)(`li`,{role:`presentation`,children:(0,e.jsxs)(`button`,{ref:e=>{S.current[i]=e},type:`button`,role:`option`,"aria-selected":a,disabled:t.disabled,className:`${N.option} ${a?N.selected:``}`,onClick:()=>k(t),onKeyDown:e=>{if((e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),O(i+(e.key===`ArrowDown`?1:-1),e.key===`ArrowDown`?1:-1)),e.key===`Tab`&&y(!1),e.key===`Home`||e.key===`End`){e.preventDefault();let t=e.key===`Home`?1:-1;O(e.key===`Home`?0:n.length-1,t)}},children:[(0,e.jsx)(`span`,{children:t.label}),a&&m&&(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`✓`})]})},t.value)})})]})}),u&&!l&&(0,e.jsx)(`span`,{id:w,className:N.message,children:u}),l&&(0,e.jsx)(`span`,{id:T,className:N.error,children:l})]})},I=e=>`${e.id}:${e.direction}`,L=({options:t,value:n,onChange:r,label:i=`Сортировка`,placeholder:a=`Выберите сортировку`,disabled:o=!1,className:s})=>{let c=t.flatMap(e=>[{value:I({id:e.id,direction:`asc`}),label:e.ascLabel??`${e.label} · по возрастанию`,disabled:e.disabled},{value:I({id:e.id,direction:`desc`}),label:e.descLabel??`${e.label} · по убыванию`,disabled:e.disabled}]);return(0,e.jsx)(F,{options:c,value:n?I(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)})}})},R={root:`_root_1h9ti_1`,tableWrap:`_tableWrap_1h9ti_3`,table:`_table_1h9ti_3`,sticky:`_sticky_1h9ti_15`,sortButton:`_sortButton_1h9ti_17`,state:`_state_1h9ti_21`,cards:`_cards_1h9ti_23`,mobileSort:`_mobileSort_1h9ti_23`,card:`_card_1h9ti_23`,spanTwo:`_spanTwo_1h9ti_37`,default:`_default_1h9ti_41`,tableOnMobile:`_tableOnMobile_1h9ti_41`,wide:`_wide_1h9ti_45`},z=(0,n.tableFeatures)({rowSortingFeature:n.rowSortingFeature,sortedRowModel:(0,n.createSortedRowModel)(),sortFns:{alphanumeric:n.sortFn_alphanumeric,basic:n.sortFn_basic,text:n.sortFn_text}}),B=(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},V=e=>{if(e==null||e===``)return null;let t=Date.parse(String(e));return Number.isNaN(t)?null:t},ee=(e,t,n)=>{let r=V(e.getValue(n)),i=V(t.getValue(n));return r===null&&i===null?0:r===null?-1:i===null?1:r-i},te=(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)},ne=(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)},re=e=>{switch(e){case`date`:return ee;case`number`:return te;case`boolean`:return ne;case`text`:return`text`;default:return}},ie=e=>typeof e==`function`?e:t=>t[e],ae=e=>{let t=ie(e.accessor),n=e.enableSorting??(e.dataType!==void 0&&e.dataType!==`custom`),r=re(e.dataType),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:n,sortDescFirst:e.sortDescFirst};return r!==void 0&&(i.sortFn=r),i},oe=({columns:r,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=``})=>{let[y,b]=(0,t.useState)([]),x=s??y,S=(0,t.useMemo)(()=>B(r,i),[r,i]),C=(0,t.useMemo)(()=>r.map(e=>ae(e)),[r]),w=(0,n.useTable)({features:z,columns:C,data:i,state:{sorting:x},onSortingChange:e=>{let t=typeof e==`function`?e(x):e;s===void 0&&b(t),c?.(t)},getRowId:u},e=>e),T=w.getRowModel().rows,E=r.filter(e=>e.enableSorting??(e.dataType!==void 0&&e.dataType!==`custom`)).map(e=>({id:e.id,label:typeof e.header==`string`?e.header:e.id})),D=[R.root,o===`wide`?R.wide:R.default,a?R.tableOnMobile:``,v].filter(Boolean).join(` `),O=S??m;return(0,e.jsxs)(`section`,{className:D,"aria-busy":p,children:[!a&&!p&&!O&&T.length>0&&E.length>0&&(0,e.jsx)(L,{className:R.mobileSort,options:E,value:x[0]?{id:x[0].id,direction:x[0].desc?`desc`:`asc`}:null,onChange:e=>{w.setSorting([{id:e.id,desc:e.direction===`desc`}])}}),(0,e.jsx)(`div`,{className:R.tableWrap,style:{maxHeight:_},children:(0,e.jsxs)(`table`,{className:R.table,"aria-label":f,children:[d&&(0,e.jsx)(`caption`,{children:d}),(0,e.jsx)(`thead`,{className:g?R.sticky:``,children:w.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:R.sortButton,disabled:!r,onClick:i,children:[(0,e.jsx)(w.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:r.length,children:(0,e.jsx)(M,{lines:3})})}):O?(0,e.jsx)(`tr`,{children:(0,e.jsx)(`td`,{className:R.state,colSpan:r.length,children:O})}):T.length===0?(0,e.jsx)(`tr`,{children:(0,e.jsx)(`td`,{className:R.state,colSpan:r.length,children:h})}):T.map(t=>(0,e.jsx)(`tr`,{children:t.getAllCells().map(t=>(0,e.jsx)(`td`,{children:(0,e.jsx)(w.FlexRender,{cell:t})},t.id))},t.id))})]})}),!a&&(0,e.jsx)(`div`,{className:R.cards,role:`list`,"aria-label":f??d,children:p?(0,e.jsx)(M,{lines:4}):O?(0,e.jsx)(`div`,{className:R.state,children:O}):T.length===0?(0,e.jsx)(`div`,{className:R.state,children:h}):T.map(t=>{if(l)return(0,e.jsx)(`div`,{role:`listitem`,children:l({row:t.original,columns:r})},t.id);let n=r.filter(e=>!e.mobile?.hideOnMobile).sort((e,t)=>(e.mobile?.mobileOrder??0)-(t.mobile?.mobileOrder??0)),i=n.find(e=>e.mobile?.primary)??n.find(e=>e.mobile?.mobileVariant!==`actions`),a=e=>typeof e.accessor==`function`?e.accessor(t.original):t.original[e.accessor],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:R.card,children:[(0,e.jsx)(`h3`,{children:i?o(i):`Строка ${t.index+1}`}),(0,e.jsx)(`dl`,{children:n.filter(e=>e!==i&&e.mobile?.mobileVariant!==`actions`).map(t=>(0,e.jsxs)(`div`,{className:t.mobile?.mobileSpan===2?R.spanTwo:``,children:[(0,e.jsx)(`dt`,{children:t.mobile?.mobileLabel??t.header}),(0,e.jsx)(`dd`,{children:o(t)})]},t.id))}),n.filter(e=>e.mobile?.mobileVariant===`actions`).map(t=>(0,e.jsx)(`footer`,{children:o(t)},t.id))]},t.id)})})]})},se=({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=P(n,e,t);x.current[r]?.focus(),x.current[r]?.scrollIntoView({block:`nearest`})};return(0,e.jsxs)(`div`,{ref:y,className:[N.wrapper,c?N.errorState:``,u].filter(Boolean).join(` `),children:[s&&(0,e.jsx)(`label`,{htmlFor:g,className:N.label,children:s}),(0,e.jsxs)(`div`,{className:N.container,children:[(0,e.jsxs)(`button`,{ref:b,id:g,type:`button`,name:d,className:N.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?N.value:N.placeholder,children:C||a}),(0,e.jsx)(`span`,{className:`${N.chevron} ${_?N.chevronOpen:``}`,"aria-hidden":`true`,children:`⌄`})]}),_&&(0,e.jsx)(`ul`,{id:`${g}-listbox`,className:N.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:`${N.option} ${a?N.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:N.message,children:l}),c&&(0,e.jsx)(`span`,{id:T,className:N.error,children:c})]})},ce={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`},le=({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:ce[t]})]}),H={root:`_root_1y2s8_1`,header:`_header_1y2s8_21`,title:`_title_1y2s8_41`,dismiss:`_dismiss_1y2s8_55`,content:`_content_1y2s8_113`},ue=({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:`${H.root} ${c}`,"aria-labelledby":l,children:[(0,e.jsxs)(`header`,{className:H.header,children:[(0,e.jsx)(s,{id:l,className:H.title,children:n}),i&&(0,e.jsx)(`button`,{type:`button`,className:H.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:H.content,children:r})]})},U={wrapper:`_wrapper_1tz82_1`,control:`_control_1tz82_3`,input:`_input_1tz82_5`,disabledText:`_disabledText_1tz82_5`,inputError:`_inputError_1tz82_11`,trailingAction:`_trailingAction_1tz82_13`},W=({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,clearable:_=!0,required:v=!1,selectTextOnFocus:y=!1,isPassword:b=!1,passwordVisibleLabel:x=`Скрыть пароль`,passwordHiddenLabel:S=`Показать пароль`,onFocus:C,...w})=>{let T=(0,t.useId)(),E=g??`ds-input-${h??T}`,D=(0,t.useRef)(null),[O,k]=(0,t.useState)(!1),A=d?`${E}-hint`:void 0,j=u?`${E}-error`:void 0,M=String(n??``),N=[A,j].filter(Boolean).join(` `)||void 0,P=b?O?`text`:`password`:i;return(0,t.useEffect)(()=>{b||k(!1)},[b]),(0,e.jsxs)(`div`,{className:`${U.wrapper} ${m}`,children:[l&&(0,e.jsx)(f,{htmlFor:E,required:v,disabled:o,children:l}),o&&c?(0,e.jsx)(`div`,{id:E,className:U.disabledText,"aria-describedby":N,children:M||a}):(0,e.jsxs)(`div`,{className:U.control,children:[(0,e.jsx)(`input`,{ref:D,id:E,name:h,type:P,value:M,placeholder:a,disabled:o,readOnly:s,required:v,"aria-invalid":!!u,"aria-describedby":N,className:`${U.input} ${u?U.inputError:``}`,onChange:e=>{if(i===`number`&&!b){let t=e.target.value===``?``:Number(e.target.value);r?.(t,e);return}r?.(e.target.value,e)},onFocus:e=>{y&&e.currentTarget.value&&e.currentTarget.select(),C?.(e)},...w}),b&&(0,e.jsx)(`button`,{type:`button`,className:U.trailingAction,disabled:o,"aria-label":O?x:S,"aria-pressed":O,onClick:()=>k(e=>!e),children:O?(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`})]})}),!b&&_&&M&&!o&&!s&&(0,e.jsx)(`button`,{type:`button`,className:U.trailingAction,"aria-label":`Очистить поле`,onClick:()=>{let e=D.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:A,children:d}),u&&(0,e.jsx)(p,{id:j,variant:`error`,children:u})]})},G={wrapper:`_wrapper_vu1ob_1`,input:`_input_vu1ob_21`,switch:`_switch_vu1ob_35`,thumb:`_thumb_vu1ob_67`,label:`_label_vu1ob_111`,disabled:`_disabled_vu1ob_123`},de=({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:`${G.wrapper} ${a?G.disabled:``} ${s}`,children:[(0,e.jsx)(`input`,{id:f,className:G.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:G.switch,"aria-hidden":`true`,children:(0,e.jsx)(`span`,{className:G.thumb})}),i&&(0,e.jsx)(`span`,{className:G.label,children:i})]})},fe={root:`_root_kepgo_1`,grid:`_grid_kepgo_3`,actions:`_actions_kepgo_5`},pe=({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:`${fe.root} ${l}`,"aria-label":`Фильтры`,"aria-busy":s,children:[(0,e.jsx)(`div`,{className:fe.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={key:t.id,label:t.label,hint:t.hint,placeholder:t.placeholder,disabled:r};return t.inputType===`number`?(0,e.jsx)(W,{...n,type:`number`,value:i??``,onChange:e=>d(t.id,e)}):(0,e.jsx)(W,{...n,type:`text`,value:String(i??``),onChange:e=>d(t.id,e)})}if(t.type===`dropdown`)return(0,e.jsx)(F,{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)(se,{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)(de,{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)(A,{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:fe.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:`Применить`})]})]})},K={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`},q=e=>`${e.name}:${e.size}:${e.lastModified}`,me=e=>e<1024?`${e} Б`:e<1048576?`${(e/1024).toFixed(1)} КБ`:`${(e/1024/1024).toFixed(1)} МБ`,he=(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),ge=({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(q)),l=e.filter(e=>he(e,a)?o!==void 0&&e.size>o?(t.push({file:e,reason:`maxSize`}),!1):!c.has(q(e))&&(c.add(q(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:`${K.wrapper} ${y}`,children:[c&&(0,e.jsx)(f,{htmlFor:T,required:m,disabled:h,children:c}),(0,e.jsxs)(`div`,{className:`${K.dropzone} ${O?K.dragActive:``} ${h?K.disabled:``} ${d?K.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:K.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:K.files,"aria-live":`polite`,children:n.map((t,i)=>(0,e.jsxs)(`li`,{className:K.file,children:[(0,e.jsx)(`span`,{className:K.fileName,title:t.name,children:t.name}),(0,e.jsx)(`span`,{className:K.fileSize,children:me(t.size)}),N&&(0,e.jsx)(u,{variant:`empty`,size:`sm`,"aria-label":`Удалить файл ${t.name}`,onClick:()=>r?.(n.filter((e,t)=>t!==i)),children:`×`})]},q(t)))}),N&&(i||n.length===0)&&(0,e.jsx)(u,{className:K.browseButton,size:`sm`,onClick:()=>E.current?.click(),children:S}),N&&!i&&(0,e.jsx)(u,{className:K.browseButton,size:`sm`,onClick:()=>E.current?.click(),children:x})]}):(0,e.jsxs)(`div`,{className:K.empty,children:[(0,e.jsx)(`span`,{className:K.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:K.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})]})},_e=0,J=(0,i.create)(e=>({modals:[],openModal:(t,n={},r={})=>{_e+=1;let i=`ds-modal-${_e}`;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:[]})})),ve=()=>J.setState({modals:[]}),Y={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`},ye=`button:not(:disabled), [href], input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])`,be=({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=J(e=>e.closeModal);return(0,t.useEffect)(()=>{let e=document.activeElement,t=f.current;return(t?.querySelector(ye)??t)?.focus(),()=>e?.focus()},[]),(0,e.jsxs)(`div`,{ref:f,className:`${Y.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(ye)??[]);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:Y.header,children:[r&&(0,e.jsx)(`h2`,{id:l,className:Y.title,children:r}),(0,e.jsx)(u,{variant:`empty`,size:`sm`,"aria-label":o,onClick:()=>p(a),children:`×`})]}),i&&(0,e.jsx)(`p`,{id:d,className:Y.description,children:i}),(0,e.jsx)(`div`,{className:Y.content,children:n})]})},xe=({registry:n})=>{let i=J(e=>e.modals),a=J(e=>e.closeModal),o=J(e=>e.closeAllModals);return(0,t.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;let t=J.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,r.createPortal)((0,e.jsx)(`div`,{className:Y.layer,"aria-label":`Модальные окна`,children:i.map((t,r)=>{let s=n[t.name];return s?(0,e.jsx)(`div`,{className:Y.backdrop,"aria-hidden":r!==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)},Se=({registry:n,children:r,lockBodyScroll:i=!0})=>{let a=J(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)(xe,{registry:n})]})},Ce=e=>e,X={message:`_message_1vtru_1`,actions:`_actions_1vtru_3`},we=new Map,Te=0,Ee=({modalId:t,close:n,title:r=`Подтверждение`,message:i=`Продолжить действие?`,confirmLabel:a=`Подтвердить`,cancelLabel:o=`Отмена`,tone:s=`default`,requestId:c})=>{let l=e=>{we.get(c)?.(e),we.delete(c),n()};return(0,e.jsxs)(be,{modalId:t,title:r,role:`alertdialog`,children:[(0,e.jsx)(`p`,{className:X.message,children:i}),(0,e.jsxs)(`div`,{className:X.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})]})]})},De=({modalId:t,close:n,title:r=`Ошибка`,message:i,closeLabel:a=`Закрыть`})=>(0,e.jsxs)(be,{modalId:t,title:r,role:`alertdialog`,children:[(0,e.jsx)(`p`,{className:X.message,children:i}),(0,e.jsx)(`div`,{className:X.actions,children:(0,e.jsx)(u,{onClick:n,children:a})})]}),Oe=Ce({ConfirmModal:Ee,ErrorModal:De}),ke=()=>{let e=J(e=>e.openModal);return(t={})=>new Promise(n=>{Te+=1;let r=`confirm-${Te}`;we.set(r,n),e(`ConfirmModal`,{...t,requestId:r},{closeOnEscape:!1})})},Ae=e=>e instanceof Error?e.message:typeof e==`string`?e:e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`?e.message:`Произошла неизвестная ошибка`,je=()=>{let e=J(e=>e.openModal);return{showError:(t,n)=>e(`ErrorModal`,{title:n,message:Ae(t)})}},Me=(0,i.create)(()=>({})),Ne=(0,i.create)(()=>({})),Pe=()=>{let e=J(e=>e.modals),t=J(e=>e.openModal);return{openModal:(e,n={},r)=>t(e,n,r),closeModal:J(e=>e.closeModal),closeTopModal:J(e=>e.closeTopModal),closeAllModals:J(e=>e.closeAllModals),isOpen:t=>e.some(e=>e.name===t),count:e.length}},Fe={root:`_root_1x7h7_1`},Ie=({label:t=`Загрузка страницы`,className:n=``})=>(0,e.jsxs)(`div`,{className:`${Fe.root} ${n}`,role:`status`,"aria-label":t,children:[(0,e.jsx)(c,{decorative:!0}),(0,e.jsx)(`span`,{children:t})]}),Le={root:`_root_elask_1`,legend:`_legend_elask_3`,range:`_range_elask_5`},Re=[{value:`1`,label:`День`},{value:`2`,label:`Неделя`},{value:`3`,label:`Месяц`}],ze={day:1,week:2,month:3},Be=({value:t,onChange:n,label:r,hint:i,error:a,disabled:o=!1,min:s,max:c,className:l=``,periodTypeOptions:u=Re})=>(0,e.jsxs)(`fieldset`,{className:`${Le.root} ${l}`,disabled:o,children:[r&&(0,e.jsx)(`legend`,{className:Le.legend,children:r}),(0,e.jsx)(F,{options:u,value:String(t.periodType),disabled:o,onChange:e=>n?.({...t,periodType:Number(e)}),label:`Тип периода`}),(0,e.jsxs)(`div`,{className:Le.range,children:[(0,e.jsx)(D,{value:t.startDate,onChange:e=>n?.({...t,startDate:e}),label:`Начало`,min:s,max:c,disabled:o}),(0,e.jsx)(D,{value:t.endDate,onChange:e=>n?.({...t,endDate:e}),label:`Окончание`,min:t.startDate??s,max:c,disabled:o})]}),i&&!a&&(0,e.jsx)(p,{children:i}),a&&(0,e.jsx)(p,{variant:`error`,children:a})]}),Z={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`},Ve=({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:`${Z.toast} ${Z[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)(le,{name:n.variant===`warning`?`warning`:`info`,className:Z.icon}),(0,e.jsxs)(`div`,{className:Z.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:`×`})]})},He=0,Q=(0,i.create)(e=>({toasts:[],showToast:t=>{He+=1;let n=`ds-toast-${He}`;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:[]})})),Ue=()=>Q.setState({toasts:[]}),We=({position:t=`top-right`})=>{let n=Q(e=>e.toasts),r=Q(e=>e.removeToast);return(0,e.jsx)(`div`,{className:`${Z.viewport} ${Z[t]}`,"aria-label":`Уведомления`,children:n.map(t=>(0,e.jsx)(Ve,{toast:t,onClose:r},t.id))})},Ge=()=>{let e=Q(e=>e.showToast),n=Q(e=>e.removeToast),r=Q(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])},Ke={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:`${Ke.root} ${c}`,onPointerDown:u?m:p,children:[h,u&&(0,e.jsx)(`span`,{id:l,role:`tooltip`,className:`${Ke.tooltip} ${Ke[i]}`,style:{maxWidth:s},children:n})]})},$={root:`_root_1ue3g_1`,frame:`_frame_1ue3g_3`,video:`_video_1ue3g_5`,overlay:`_overlay_1ue3g_7`,error:`_error_1ue3g_7`,caption:`_caption_1ue3g_13`},Je=({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:`${$.root} ${d}`,children:[(0,e.jsxs)(`div`,{className:$.frame,style:{aspectRatio:a},children:[!_&&n.length>0&&(0,e.jsxs)(`video`,{...m,"aria-label":i,controls:f,playsInline:p,className:$.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:$.overlay,children:(0,e.jsx)(c,{label:`Загрузка видео`})}),(_||n.length===0)&&(0,e.jsx)(`div`,{className:$.error,role:`alert`,children:u??_??`Источник видео не указан`})]}),(0,e.jsx)(`figcaption`,{className:$.caption,children:i})]})};exports.ConfirmModal=Ee,exports.DSBadge=o,exports.DSButton=u,exports.DSCheckbox=h,exports.DSDataTable=oe,exports.DSDateRange=A,exports.DSDateTimePicker=D,exports.DSDropDown=F,exports.DSDropDownMultiple=se,exports.DSFieldLabel=f,exports.DSFieldMessage=p,exports.DSFileInput=ge,exports.DSFilters=pe,exports.DSIcon=le,exports.DSInfoBlock=ue,exports.DSInput=W,exports.DSLoader=c,exports.DSModal=xe,exports.DSModalFrame=be,exports.DSPageLoader=Ie,exports.DSRadioButton=de,exports.DSSkeleton=M,exports.DSSort=L,exports.DSTimePeriodPicker=Be,exports.DSToast=Ve,exports.DSToastProvider=We,exports.DSTooltip=qe,exports.DSVideoPlayerFrame=Je,exports.DS_PERIOD_TYPE_CODES=ze,exports.ErrorModal=De,exports.ModalSystemProvider=Se,exports.builtInModalRegistry=Oe,exports.defineModalRegistry=Ce,exports.formatDateTimeLocalValue=x,exports.getErrorMessage=Ae,exports.getNextEnabledOptionIndex=P,exports.isValidDateRange=k,exports.parseDateTimeLocalValue=S,exports.resetModalStore=ve,exports.resetToastStore=Ue,exports.useConfirmModal=ke,exports.useConfirmModalStore=Me,exports.useErrorModal=je,exports.useErrorModalStore=Ne,exports.useModals=Pe,exports.useModalsStore=J,exports.useToast=Ge,exports.useToastStore=Q,exports.validateDSDataTableData=B;
|
|
1
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});let e=require("react/jsx-runtime"),t=require("react"),n=require("@tanstack/react-table"),r=require("react-dom"),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_1jisp_1`,sm:`_sm_1jisp_31`,md:`_md_1jisp_33`,lg:`_lg_1jisp_35`,primary:`_primary_1jisp_37`,secondary:`_secondary_1jisp_39`,outline:`_outline_1jisp_41`,ghost:`_ghost_1jisp_45`,empty:`_empty_1jisp_57`,destructive:`_destructive_1jisp_67`,destructiveOutline:`_destructiveOutline_1jisp_69`},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,type:s,className:`${l.button} ${l[n]} ${l[r]} ${u}`,disabled:o||i,"aria-busy":i||void 0,...d,children:i?(0,e.jsx)(c,{variant:`light`,label:a}):t}));u.displayName=`DSButton`;var d={label:`_label_1lsqq_1`,required:`_required_1lsqq_23`,error:`_error_1lsqq_25`,optional:`_optional_1lsqq_33`,hint:`_hint_1lsqq_35`,disabled:`_disabled_1lsqq_47`,message:`_message_1lsqq_55`,success:`_success_1lsqq_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_1528c_1`,trigger:`_trigger_1528c_17`,nav:`_nav_1528c_53`,day:`_day_1528c_55`,monthSelect:`_monthSelect_1528c_57`,yearInput:`_yearInput_1528c_59`,timeInput:`_timeInput_1528c_61`,value:`_value_1528c_85`,placeholder:`_placeholder_1528c_93`,error:`_error_1528c_101`,panel:`_panel_1528c_109`,calendarHeader:`_calendarHeader_1528c_135`,weekdays:`_weekdays_1528c_225`,days:`_days_1528c_227`,outside:`_outside_1528c_263`,selected:`_selected_1528c_271`,timeLabel:`_timeLabel_1528c_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=({value:n,onChange:r,mode:i=`date`,label:a,placeholder:o,hint:s,error:c,disabled:l=!1,readOnly:u=!1,required:d=!1,min:m,max:h,id:y,name:b,className:D=``})=>{let O=(0,t.useId)(),k=y??`ds-date-time-${b??O}`,A=s?`${k}-hint`:void 0,j=c?`${k}-error`:void 0,M=(0,t.useRef)(null),N=(0,t.useRef)(null),[P,F]=(0,t.useState)(!1),[I,L]=(0,t.useState)(n??new Date),[R,z]=(0,t.useState)(x(n,`time`)),B=(0,t.useMemo)(()=>w(I),[I]),V=i!==`time`,ee=i!==`date`;(0,t.useEffect)(()=>{n&&L(n),z(x(n,`time`))},[n]),(0,t.useEffect)(()=>{let e=e=>{M.current?.contains(e.target)||F(!1)},t=e=>{e.key===`Escape`&&(F(!1),N.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[]);let te=e=>{if(E(e,m,h))return;let t=new Date(e);t.setHours(n?.getHours()??0,n?.getMinutes()??0,0,0),r?.(t),i===`date`&&F(!1)},ne=e=>{if(z(e),!e){r?.(null);return}let t=S(e,`time`);if(!t)return;let a=new Date(i===`datetime`?n??I:new Date);a.setHours(t.getHours(),t.getMinutes(),0,0),!(m&&a<m||h&&a>h)&&r?.(a)},re=o??(i===`date`?`Выберите дату`:i===`time`?`Введите время`:`Выберите дату и время`),ie=[A,j].filter(Boolean).join(` `)||void 0;return(0,e.jsxs)(`div`,{ref:M,className:`${g.wrapper} ${D}`,children:[a&&(0,e.jsx)(f,{htmlFor:k,required:d,disabled:l,children:a}),(0,e.jsxs)(`button`,{ref:N,id:k,name:b,type:`button`,className:`${g.trigger} ${c?g.error:``}`,disabled:l,"aria-readonly":u||void 0,"aria-expanded":P,"aria-haspopup":`dialog`,"aria-describedby":ie,onClick:()=>{u||F(e=>!e)},children:[(0,e.jsx)(`span`,{className:n?g.value:g.placeholder,children:C(n,i)||re}),(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`▾`})]}),P&&!u&&(0,e.jsxs)(`div`,{className:g.panel,role:`dialog`,"aria-label":a??re,children:[V&&(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:()=>L(new Date(I.getFullYear(),I.getMonth()-1,1)),children:`‹`}),(0,e.jsx)(`select`,{className:g.monthSelect,"aria-label":`Месяц`,value:I.getMonth(),onChange:e=>L(new Date(I.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:I.getFullYear(),onChange:e=>L(new Date(Number(e.target.value),I.getMonth(),1))}),(0,e.jsx)(`button`,{type:`button`,className:g.nav,"aria-label":`Следующий месяц`,onClick:()=>L(new Date(I.getFullYear(),I.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:B.map(t=>{let r=T(n,t);return(0,e.jsx)(`button`,{type:`button`,className:`${g.day} ${t.getMonth()===I.getMonth()?``:g.outside} ${r?g.selected:``}`,disabled:E(t,m,h),"aria-pressed":r,onClick:()=>te(t),children:t.getDate()},t.toISOString())})})]}),ee&&(0,e.jsxs)(`label`,{className:g.timeLabel,children:[(0,e.jsx)(`span`,{children:`Время`}),(0,e.jsx)(`input`,{className:g.timeInput,type:`time`,value:R,onChange:e=>ne(e.target.value)})]})]}),s&&!c&&(0,e.jsx)(p,{id:A,children:s}),c&&(0,e.jsx)(p,{id:j,variant:`error`,children:c})]})},O={root:`_root_1q42e_1`,legend:`_legend_1q42e_3`,range:`_range_1q42e_5`},k=e=>!!(e.from&&e.to&&e.from.getTime()<=e.to.getTime()),A=({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),k(e)&&n?.(e)};return(0,e.jsxs)(`fieldset`,{className:`${O.root} ${h}`,disabled:d,children:[(0,e.jsxs)(`div`,{className:O.range,children:[(0,e.jsx)(D,{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)(D,{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})]})},j={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`},M=({variant:t=`text`,width:n=`100%`,height:r,lines:i=1,animated:a=!0,className:o=``})=>(0,e.jsx)(`span`,{className:`${j.group} ${o}`,"aria-hidden":`true`,children:Array.from({length:Math.max(1,i)},(o,s)=>(0,e.jsx)(`span`,{className:`${j.skeleton} ${j[t]} ${a?j.animated:``}`,style:{width:s===i-1&&i>1?`70%`:n,height:r}},s))}),N={wrapper:`_wrapper_dkn63_1`,label:`_label_dkn63_17`,container:`_container_dkn63_29`,trigger:`_trigger_dkn63_37`,disabledText:`_disabledText_dkn63_39`,value:`_value_dkn63_109`,placeholder:`_placeholder_dkn63_111`,chevron:`_chevron_dkn63_137`,chevronOpen:`_chevronOpen_dkn63_163`,menu:`_menu_dkn63_171`,option:`_option_dkn63_207`,selected:`_selected_dkn63_245`,message:`_message_dkn63_265`,error:`_error_dkn63_267`,errorState:`_errorState_dkn63_293`},P=(e,t,n)=>{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},F=({options:n,value:r,onChange:i,placeholder:a=`Выберите опцию`,disabled:o=!1,stringWhileDisabled:s=!1,label:c,error:l,hint:u,className:d=``,name:f,id:p,needMark:m=!0,maxMenuHeight:h})=>{let g=(0,t.useId)(),_=p??`ds-dropdown-${f??g}`,[v,y]=(0,t.useState)(!1),b=(0,t.useRef)(null),x=(0,t.useRef)(null),S=(0,t.useRef)([]),C=(0,t.useMemo)(()=>n.find(e=>e.value===r),[n,r]),w=u?`${_}-hint`:void 0,T=l?`${_}-error`:void 0,E=[w,T].filter(Boolean).join(` `)||void 0,D=o&&s;(0,t.useEffect)(()=>{let e=e=>{b.current?.contains(e.target)||y(!1)},t=e=>{e.key===`Escape`&&v&&(y(!1),x.current?.focus())};return document.addEventListener(`mousedown`,e),document.addEventListener(`keydown`,t),()=>{document.removeEventListener(`mousedown`,e),document.removeEventListener(`keydown`,t)}},[v]);let O=(e,t)=>{let r=P(n,e,t);S.current[r]?.focus(),S.current[r]?.scrollIntoView({block:`nearest`})},k=e=>{e.disabled||(i?.(e.value,e),y(!1),x.current?.focus())};return(0,e.jsxs)(`div`,{ref:b,className:[N.wrapper,l?N.errorState:``,d].filter(Boolean).join(` `),children:[c&&(0,e.jsx)(`label`,{htmlFor:D?void 0:_,className:N.label,children:c}),(0,e.jsx)(`div`,{className:N.container,children:D?(0,e.jsx)(`div`,{id:_,className:N.disabledText,"aria-describedby":E,children:C?.label??a}):(0,e.jsxs)(e.Fragment,{children:[(0,e.jsxs)(`button`,{ref:x,id:_,type:`button`,name:f,className:N.trigger,disabled:o,"aria-haspopup":`listbox`,"aria-expanded":v,"aria-controls":`${_}-listbox`,"aria-describedby":E,"aria-invalid":!!l,onClick:()=>y(e=>!e),onKeyDown:e=>{if(e.key===`ArrowDown`||e.key===`ArrowUp`){e.preventDefault(),y(!0);let t=e.key===`ArrowDown`?1:-1;requestAnimationFrame(()=>O(e.key===`ArrowDown`?0:n.length-1,t))}},children:[(0,e.jsx)(`span`,{className:C?N.value:N.placeholder,children:C?.label??a}),(0,e.jsx)(`span`,{className:`${N.chevron} ${v?N.chevronOpen:``}`,"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`})})})]}),v&&(0,e.jsx)(`ul`,{id:`${_}-listbox`,className:N.menu,role:`listbox`,"aria-label":c,style:{maxHeight:h},children:n.map((t,i)=>{let a=t.value===r;return(0,e.jsx)(`li`,{role:`presentation`,children:(0,e.jsxs)(`button`,{ref:e=>{S.current[i]=e},type:`button`,role:`option`,"aria-selected":a,disabled:t.disabled,className:`${N.option} ${a?N.selected:``}`,onClick:()=>k(t),onKeyDown:e=>{if((e.key===`ArrowDown`||e.key===`ArrowUp`)&&(e.preventDefault(),O(i+(e.key===`ArrowDown`?1:-1),e.key===`ArrowDown`?1:-1)),e.key===`Tab`&&y(!1),e.key===`Home`||e.key===`End`){e.preventDefault();let t=e.key===`Home`?1:-1;O(e.key===`Home`?0:n.length-1,t)}},children:[(0,e.jsx)(`span`,{children:t.label}),a&&m&&(0,e.jsx)(`span`,{"aria-hidden":`true`,children:`✓`})]})},t.value)})})]})}),u&&!l&&(0,e.jsx)(`span`,{id:w,className:N.message,children:u}),l&&(0,e.jsx)(`span`,{id:T,className:N.error,children:l})]})},I=e=>`${e.id}:${e.direction}`,L=({options:t,value:n,onChange:r,label:i=`Сортировка`,placeholder:a=`Выберите сортировку`,disabled:o=!1,className:s})=>{let c=t.flatMap(e=>[{value:I({id:e.id,direction:`asc`}),label:e.ascLabel??`${e.label} · по возрастанию`,disabled:e.disabled},{value:I({id:e.id,direction:`desc`}),label:e.descLabel??`${e.label} · по убыванию`,disabled:e.disabled}]);return(0,e.jsx)(F,{options:c,value:n?I(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)})}})},R={root:`_root_1h9ti_1`,tableWrap:`_tableWrap_1h9ti_3`,table:`_table_1h9ti_3`,sticky:`_sticky_1h9ti_15`,sortButton:`_sortButton_1h9ti_17`,state:`_state_1h9ti_21`,cards:`_cards_1h9ti_23`,mobileSort:`_mobileSort_1h9ti_23`,card:`_card_1h9ti_23`,spanTwo:`_spanTwo_1h9ti_37`,default:`_default_1h9ti_41`,tableOnMobile:`_tableOnMobile_1h9ti_41`,wide:`_wide_1h9ti_45`},z=(0,n.tableFeatures)({rowSortingFeature:n.rowSortingFeature,sortedRowModel:(0,n.createSortedRowModel)()}),B=(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},V=(e,t)=>typeof e==`function`?e(t):t[e],ee=e=>{if(e==null||e===``)return null;let t=Date.parse(String(e));return Number.isNaN(t)?null:t},te=(e,t,n)=>{let r=ee(e.getValue(n)),i=ee(t.getValue(n));return r===null&&i===null?0:r===null?-1:i===null?1:r-i},ne=(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)},re=(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)},ie=(e,t,n)=>{let r=String(e.getValue(n)??``),i=String(t.getValue(n)??``);return r.localeCompare(i,void 0,{numeric:!0,sensitivity:`base`})},ae=e=>{switch(e){case`date`:return te;case`number`:return ne;case`boolean`:return re;case`text`:case void 0:return ie;case`custom`:return}},oe=e=>{let t=t=>V(e.accessor,t),n=e.sortFn??ae(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},se=({columns:r,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=``})=>{let[y,b]=(0,t.useState)([]),x=s??y,S=(0,t.useMemo)(()=>B(r,i),[r,i]),C=(0,t.useMemo)(()=>r.map(oe),[r]),w=(0,n.useTable)({features:z,columns:C,data:i,state:{sorting:x},onSortingChange:e=>{let t=typeof e==`function`?e(x):e;s===void 0&&b(t),c?.(t)},getRowId:u}),T=w.getRowModel().rows,E=r.filter(e=>e.enableSorting??e.dataType!==`custom`).map(e=>({id:e.id,label:typeof e.header==`string`?e.header:e.id})),D=[R.root,o===`wide`?R.wide:R.default,a?R.tableOnMobile:``,v].filter(Boolean).join(` `),O=S??m;return(0,e.jsxs)(`section`,{className:D,"aria-busy":p,children:[!a&&!p&&!O&&T.length>0&&E.length>0&&(0,e.jsx)(L,{className:R.mobileSort,options:E,value:x[0]?{id:x[0].id,direction:x[0].desc?`desc`:`asc`}:null,onChange:e=>w.setSorting([{id:e.id,desc:e.direction===`desc`}])}),(0,e.jsx)(`div`,{className:R.tableWrap,style:{maxHeight:_},children:(0,e.jsxs)(`table`,{className:R.table,"aria-label":f,children:[d&&(0,e.jsx)(`caption`,{children:d}),(0,e.jsx)(`thead`,{className:g?R.sticky:``,children:w.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:R.sortButton,disabled:!r,onClick:i,children:[(0,e.jsx)(w.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:r.length,children:(0,e.jsx)(M,{lines:3})})}):O?(0,e.jsx)(`tr`,{children:(0,e.jsx)(`td`,{className:R.state,colSpan:r.length,children:O})}):T.length===0?(0,e.jsx)(`tr`,{children:(0,e.jsx)(`td`,{className:R.state,colSpan:r.length,children:h})}):T.map(t=>(0,e.jsx)(`tr`,{children:t.getAllCells().map(t=>(0,e.jsx)(`td`,{children:(0,e.jsx)(w.FlexRender,{cell:t})},t.id))},t.id))})]})}),!a&&(0,e.jsx)(`div`,{className:R.cards,role:`list`,"aria-label":f??d,children:p?(0,e.jsx)(M,{lines:4}):O?(0,e.jsx)(`div`,{className:R.state,children:O}):T.length===0?(0,e.jsx)(`div`,{className:R.state,children:h}):T.map(t=>{if(l)return(0,e.jsx)(`div`,{role:`listitem`,children:l({row:t.original,columns:r})},t.id);let n=r.filter(e=>!e.mobile?.hideOnMobile).sort((e,t)=>(e.mobile?.mobileOrder??0)-(t.mobile?.mobileOrder??0)),i=n.find(e=>e.mobile?.primary)??n.find(e=>e.mobile?.mobileVariant!==`actions`),a=e=>V(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:R.card,children:[(0,e.jsx)(`h3`,{children:i?o(i):`Строка ${t.index+1}`}),(0,e.jsx)(`dl`,{children:n.filter(e=>e!==i&&e.mobile?.mobileVariant!==`actions`).map(t=>(0,e.jsxs)(`div`,{className:t.mobile?.mobileSpan===2?R.spanTwo:``,children:[(0,e.jsx)(`dt`,{children:t.mobile?.mobileLabel??t.header}),(0,e.jsx)(`dd`,{children:o(t)})]},t.id))}),n.filter(e=>e.mobile?.mobileVariant===`actions`).map(t=>(0,e.jsx)(`footer`,{children:o(t)},t.id))]},t.id)})})]})},ce=({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=P(n,e,t);x.current[r]?.focus(),x.current[r]?.scrollIntoView({block:`nearest`})};return(0,e.jsxs)(`div`,{ref:y,className:[N.wrapper,c?N.errorState:``,u].filter(Boolean).join(` `),children:[s&&(0,e.jsx)(`label`,{htmlFor:g,className:N.label,children:s}),(0,e.jsxs)(`div`,{className:N.container,children:[(0,e.jsxs)(`button`,{ref:b,id:g,type:`button`,name:d,className:N.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?N.value:N.placeholder,children:C||a}),(0,e.jsx)(`span`,{className:`${N.chevron} ${_?N.chevronOpen:``}`,"aria-hidden":`true`,children:`⌄`})]}),_&&(0,e.jsx)(`ul`,{id:`${g}-listbox`,className:N.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:`${N.option} ${a?N.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:N.message,children:l}),c&&(0,e.jsx)(`span`,{id:T,className:N.error,children:c})]})},le={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`},ue=({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:le[t]})]}),H={root:`_root_1y2s8_1`,header:`_header_1y2s8_21`,title:`_title_1y2s8_41`,dismiss:`_dismiss_1y2s8_55`,content:`_content_1y2s8_113`},de=({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:`${H.root} ${c}`,"aria-labelledby":l,children:[(0,e.jsxs)(`header`,{className:H.header,children:[(0,e.jsx)(s,{id:l,className:H.title,children:n}),i&&(0,e.jsx)(`button`,{type:`button`,className:H.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:H.content,children:r})]})},U={wrapper:`_wrapper_1tz82_1`,control:`_control_1tz82_3`,input:`_input_1tz82_5`,disabledText:`_disabledText_1tz82_5`,inputError:`_inputError_1tz82_11`,trailingAction:`_trailingAction_1tz82_13`},W=({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,clearable:_=!0,required:v=!1,selectTextOnFocus:y=!1,isPassword:b=!1,passwordVisibleLabel:x=`Скрыть пароль`,passwordHiddenLabel:S=`Показать пароль`,onFocus:C,...w})=>{let T=(0,t.useId)(),E=g??`ds-input-${h??T}`,D=(0,t.useRef)(null),[O,k]=(0,t.useState)(!1),A=d?`${E}-hint`:void 0,j=u?`${E}-error`:void 0,M=String(n??``),N=[A,j].filter(Boolean).join(` `)||void 0,P=b?O?`text`:`password`:i;return(0,t.useEffect)(()=>{b||k(!1)},[b]),(0,e.jsxs)(`div`,{className:`${U.wrapper} ${m}`,children:[l&&(0,e.jsx)(f,{htmlFor:E,required:v,disabled:o,children:l}),o&&c?(0,e.jsx)(`div`,{id:E,className:U.disabledText,"aria-describedby":N,children:M||a}):(0,e.jsxs)(`div`,{className:U.control,children:[(0,e.jsx)(`input`,{ref:D,id:E,name:h,type:P,value:M,placeholder:a,disabled:o,readOnly:s,required:v,"aria-invalid":!!u,"aria-describedby":N,className:`${U.input} ${u?U.inputError:``}`,onChange:e=>{if(i===`number`&&!b){let t=e.target.value===``?``:Number(e.target.value);r?.(t,e);return}r?.(e.target.value,e)},onFocus:e=>{y&&e.currentTarget.value&&e.currentTarget.select(),C?.(e)},...w}),b&&(0,e.jsx)(`button`,{type:`button`,className:U.trailingAction,disabled:o,"aria-label":O?x:S,"aria-pressed":O,onClick:()=>k(e=>!e),children:O?(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`})]})}),!b&&_&&M&&!o&&!s&&(0,e.jsx)(`button`,{type:`button`,className:U.trailingAction,"aria-label":`Очистить поле`,onClick:()=>{let e=D.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:A,children:d}),u&&(0,e.jsx)(p,{id:j,variant:`error`,children:u})]})},G={wrapper:`_wrapper_vu1ob_1`,input:`_input_vu1ob_21`,switch:`_switch_vu1ob_35`,thumb:`_thumb_vu1ob_67`,label:`_label_vu1ob_111`,disabled:`_disabled_vu1ob_123`},fe=({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:`${G.wrapper} ${a?G.disabled:``} ${s}`,children:[(0,e.jsx)(`input`,{id:f,className:G.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:G.switch,"aria-hidden":`true`,children:(0,e.jsx)(`span`,{className:G.thumb})}),i&&(0,e.jsx)(`span`,{className:G.label,children:i})]})},pe={root:`_root_kepgo_1`,grid:`_grid_kepgo_3`,actions:`_actions_kepgo_5`},me=({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:`${pe.root} ${l}`,"aria-label":`Фильтры`,"aria-busy":s,children:[(0,e.jsx)(`div`,{className:pe.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={key:t.id,label:t.label,hint:t.hint,placeholder:t.placeholder,disabled:r};return t.inputType===`number`?(0,e.jsx)(W,{...n,type:`number`,value:i??``,onChange:e=>d(t.id,e)}):(0,e.jsx)(W,{...n,type:`text`,value:String(i??``),onChange:e=>d(t.id,e)})}if(t.type===`dropdown`)return(0,e.jsx)(F,{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)(ce,{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)(fe,{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)(A,{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:pe.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:`Применить`})]})]})},K={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`},q=e=>`${e.name}:${e.size}:${e.lastModified}`,he=e=>e<1024?`${e} Б`:e<1048576?`${(e/1024).toFixed(1)} КБ`:`${(e/1024/1024).toFixed(1)} МБ`,ge=(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),_e=({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(q)),l=e.filter(e=>ge(e,a)?o!==void 0&&e.size>o?(t.push({file:e,reason:`maxSize`}),!1):!c.has(q(e))&&(c.add(q(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:`${K.wrapper} ${y}`,children:[c&&(0,e.jsx)(f,{htmlFor:T,required:m,disabled:h,children:c}),(0,e.jsxs)(`div`,{className:`${K.dropzone} ${O?K.dragActive:``} ${h?K.disabled:``} ${d?K.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:K.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:K.files,"aria-live":`polite`,children:n.map((t,i)=>(0,e.jsxs)(`li`,{className:K.file,children:[(0,e.jsx)(`span`,{className:K.fileName,title:t.name,children:t.name}),(0,e.jsx)(`span`,{className:K.fileSize,children:he(t.size)}),N&&(0,e.jsx)(u,{variant:`empty`,size:`sm`,"aria-label":`Удалить файл ${t.name}`,onClick:()=>r?.(n.filter((e,t)=>t!==i)),children:`×`})]},q(t)))}),N&&(i||n.length===0)&&(0,e.jsx)(u,{className:K.browseButton,size:`sm`,onClick:()=>E.current?.click(),children:S}),N&&!i&&(0,e.jsx)(u,{className:K.browseButton,size:`sm`,onClick:()=>E.current?.click(),children:x})]}):(0,e.jsxs)(`div`,{className:K.empty,children:[(0,e.jsx)(`span`,{className:K.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:K.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})]})},ve=0,J=(0,i.create)(e=>({modals:[],openModal:(t,n={},r={})=>{ve+=1;let i=`ds-modal-${ve}`;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:[]})})),ye=()=>J.setState({modals:[]}),Y={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`},be=`button:not(:disabled), [href], input:not(:disabled), select:not(:disabled), textarea:not(:disabled), [tabindex]:not([tabindex="-1"])`,xe=({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=J(e=>e.closeModal);return(0,t.useEffect)(()=>{let e=document.activeElement,t=f.current;return(t?.querySelector(be)??t)?.focus(),()=>e?.focus()},[]),(0,e.jsxs)(`div`,{ref:f,className:`${Y.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(be)??[]);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:Y.header,children:[r&&(0,e.jsx)(`h2`,{id:l,className:Y.title,children:r}),(0,e.jsx)(u,{variant:`empty`,size:`sm`,"aria-label":o,onClick:()=>p(a),children:`×`})]}),i&&(0,e.jsx)(`p`,{id:d,className:Y.description,children:i}),(0,e.jsx)(`div`,{className:Y.content,children:n})]})},Se=({registry:n})=>{let i=J(e=>e.modals),a=J(e=>e.closeModal),o=J(e=>e.closeAllModals);return(0,t.useEffect)(()=>{let e=e=>{if(e.key!==`Escape`)return;let t=J.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,r.createPortal)((0,e.jsx)(`div`,{className:Y.layer,"aria-label":`Модальные окна`,children:i.map((t,r)=>{let s=n[t.name];return s?(0,e.jsx)(`div`,{className:Y.backdrop,"aria-hidden":r!==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)},Ce=({registry:n,children:r,lockBodyScroll:i=!0})=>{let a=J(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)(Se,{registry:n})]})},we=e=>e,X={message:`_message_1vtru_1`,actions:`_actions_1vtru_3`},Te=new Map,Ee=0,De=({modalId:t,close:n,title:r=`Подтверждение`,message:i=`Продолжить действие?`,confirmLabel:a=`Подтвердить`,cancelLabel:o=`Отмена`,tone:s=`default`,requestId:c})=>{let l=e=>{Te.get(c)?.(e),Te.delete(c),n()};return(0,e.jsxs)(xe,{modalId:t,title:r,role:`alertdialog`,children:[(0,e.jsx)(`p`,{className:X.message,children:i}),(0,e.jsxs)(`div`,{className:X.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})]})]})},Oe=({modalId:t,close:n,title:r=`Ошибка`,message:i,closeLabel:a=`Закрыть`})=>(0,e.jsxs)(xe,{modalId:t,title:r,role:`alertdialog`,children:[(0,e.jsx)(`p`,{className:X.message,children:i}),(0,e.jsx)(`div`,{className:X.actions,children:(0,e.jsx)(u,{onClick:n,children:a})})]}),ke=we({ConfirmModal:De,ErrorModal:Oe}),Ae=()=>{let e=J(e=>e.openModal);return(t={})=>new Promise(n=>{Ee+=1;let r=`confirm-${Ee}`;Te.set(r,n),e(`ConfirmModal`,{...t,requestId:r},{closeOnEscape:!1})})},je=e=>e instanceof Error?e.message:typeof e==`string`?e:e&&typeof e==`object`&&`message`in e&&typeof e.message==`string`?e.message:`Произошла неизвестная ошибка`,Me=()=>{let e=J(e=>e.openModal);return{showError:(t,n)=>e(`ErrorModal`,{title:n,message:je(t)})}},Ne=(0,i.create)(()=>({})),Pe=(0,i.create)(()=>({})),Fe=()=>{let e=J(e=>e.modals),t=J(e=>e.openModal);return{openModal:(e,n={},r)=>t(e,n,r),closeModal:J(e=>e.closeModal),closeTopModal:J(e=>e.closeTopModal),closeAllModals:J(e=>e.closeAllModals),isOpen:t=>e.some(e=>e.name===t),count:e.length}},Ie={root:`_root_1x7h7_1`},Le=({label:t=`Загрузка страницы`,className:n=``})=>(0,e.jsxs)(`div`,{className:`${Ie.root} ${n}`,role:`status`,"aria-label":t,children:[(0,e.jsx)(c,{decorative:!0}),(0,e.jsx)(`span`,{children:t})]}),Re={root:`_root_elask_1`,legend:`_legend_elask_3`,range:`_range_elask_5`},ze=[{value:`1`,label:`День`},{value:`2`,label:`Неделя`},{value:`3`,label:`Месяц`}],Be={day:1,week:2,month:3},Ve=({value:t,onChange:n,label:r,hint:i,error:a,disabled:o=!1,min:s,max:c,className:l=``,periodTypeOptions:u=ze})=>(0,e.jsxs)(`fieldset`,{className:`${Re.root} ${l}`,disabled:o,children:[r&&(0,e.jsx)(`legend`,{className:Re.legend,children:r}),(0,e.jsx)(F,{options:u,value:String(t.periodType),disabled:o,onChange:e=>n?.({...t,periodType:Number(e)}),label:`Тип периода`}),(0,e.jsxs)(`div`,{className:Re.range,children:[(0,e.jsx)(D,{value:t.startDate,onChange:e=>n?.({...t,startDate:e}),label:`Начало`,min:s,max:c,disabled:o}),(0,e.jsx)(D,{value:t.endDate,onChange:e=>n?.({...t,endDate:e}),label:`Окончание`,min:t.startDate??s,max:c,disabled:o})]}),i&&!a&&(0,e.jsx)(p,{children:i}),a&&(0,e.jsx)(p,{variant:`error`,children:a})]}),Z={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`},He=({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:`${Z.toast} ${Z[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)(ue,{name:n.variant===`warning`?`warning`:`info`,className:Z.icon}),(0,e.jsxs)(`div`,{className:Z.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:`×`})]})},Ue=0,Q=(0,i.create)(e=>({toasts:[],showToast:t=>{Ue+=1;let n=`ds-toast-${Ue}`;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:[]})})),We=()=>Q.setState({toasts:[]}),Ge=({position:t=`top-right`})=>{let n=Q(e=>e.toasts),r=Q(e=>e.removeToast);return(0,e.jsx)(`div`,{className:`${Z.viewport} ${Z[t]}`,"aria-label":`Уведомления`,children:n.map(t=>(0,e.jsx)(He,{toast:t,onClose:r},t.id))})},Ke=()=>{let e=Q(e=>e.showToast),n=Q(e=>e.removeToast),r=Q(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])},qe={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`},Je=({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:`${qe.root} ${c}`,onPointerDown:u?m:p,children:[h,u&&(0,e.jsx)(`span`,{id:l,role:`tooltip`,className:`${qe.tooltip} ${qe[i]}`,style:{maxWidth:s},children:n})]})},$={root:`_root_1ue3g_1`,frame:`_frame_1ue3g_3`,video:`_video_1ue3g_5`,overlay:`_overlay_1ue3g_7`,error:`_error_1ue3g_7`,caption:`_caption_1ue3g_13`},Ye=({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:`${$.root} ${d}`,children:[(0,e.jsxs)(`div`,{className:$.frame,style:{aspectRatio:a},children:[!_&&n.length>0&&(0,e.jsxs)(`video`,{...m,"aria-label":i,controls:f,playsInline:p,className:$.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:$.overlay,children:(0,e.jsx)(c,{label:`Загрузка видео`})}),(_||n.length===0)&&(0,e.jsx)(`div`,{className:$.error,role:`alert`,children:u??_??`Источник видео не указан`})]}),(0,e.jsx)(`figcaption`,{className:$.caption,children:i})]})};exports.ConfirmModal=De,exports.DSBadge=o,exports.DSButton=u,exports.DSCheckbox=h,exports.DSDataTable=se,exports.DSDateRange=A,exports.DSDateTimePicker=D,exports.DSDropDown=F,exports.DSDropDownMultiple=ce,exports.DSFieldLabel=f,exports.DSFieldMessage=p,exports.DSFileInput=_e,exports.DSFilters=me,exports.DSIcon=ue,exports.DSInfoBlock=de,exports.DSInput=W,exports.DSLoader=c,exports.DSModal=Se,exports.DSModalFrame=xe,exports.DSPageLoader=Le,exports.DSRadioButton=fe,exports.DSSkeleton=M,exports.DSSort=L,exports.DSTimePeriodPicker=Ve,exports.DSToast=He,exports.DSToastProvider=Ge,exports.DSTooltip=Je,exports.DSVideoPlayerFrame=Ye,exports.DS_PERIOD_TYPE_CODES=Be,exports.ErrorModal=Oe,exports.ModalSystemProvider=Ce,exports.builtInModalRegistry=ke,exports.defineModalRegistry=we,exports.formatDateTimeLocalValue=x,exports.getErrorMessage=je,exports.getNextEnabledOptionIndex=P,exports.isValidDateRange=k,exports.parseDateTimeLocalValue=S,exports.resetModalStore=ye,exports.resetToastStore=We,exports.useConfirmModal=Ae,exports.useConfirmModalStore=Ne,exports.useErrorModal=Me,exports.useErrorModalStore=Pe,exports.useModals=Fe,exports.useModalsStore=J,exports.useToast=Ke,exports.useToastStore=Q,exports.validateDSDataTableData=B;
|