copper-ui
Version:
Modern React UI components library with TypeScript support, built on top of Ant Design
1 lines • 77 kB
JavaScript
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const M=require("nuqs"),N=require("react"),s=require("react/jsx-runtime"),v=require("antd"),L=require("@ant-design/icons"),pe=require("dayjs"),ge=require("date-fns"),ot=require("clsx"),he=require("@tanstack/react-table");function Tt(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e){for(const r in e)if(r!=="default"){const n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:()=>e[r]})}}return t.default=e,Object.freeze(t)}const B=Tt(N);function it(e,t){const[r,n]=N.useState(e);return N.useEffect(()=>{const a=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(a)}},[e]),r}const Mt=M.createParser({parse:e=>{try{const t=JSON.parse(e);return typeof t=="object"&&t!==null&&"value"in t&&"label"in t?t:null}catch{return null}},serialize:e=>typeof e=="object"&&e!==null&&"value"in e&&"label"in e?JSON.stringify(e):JSON.stringify(null)}),At=M.createParser({parse:e=>{try{const t=JSON.parse(e);return Array.isArray(t)&&t.every(n=>typeof n=="object"&&n!==null&&"value"in n&&"label"in n)?t:null}catch{return null}},serialize:e=>Array.isArray(e)&&e.every(r=>typeof r=="object"&&r!==null&&"value"in r&&"label"in r)?JSON.stringify(e):JSON.stringify(null)}),Pt=(e,t)=>{const r={},n=(a,c,o,i)=>{switch(a){case"boolean":r[c]=M.parseAsBoolean;break;case"multiselect":r[c]=M.parseAsArrayOf(M.parseAsString);break;case"date-range":r[c]=M.parseAsArrayOf(M.parseAsString);break;case"date":r[c]=M.parseAsString;break;case"select":r[c]=M.parseAsString;break;case"radio":r[c]=M.parseAsString.withDefault(i??null);break;case"checkbox":r[c]=M.parseAsArrayOf(M.parseAsString);break;case"custom":r[c]=o?At:Mt;break;default:r[c]=M.parseAsString}};for(const a of e)if(a.filter){const c=a.filter.id??a.definition.id,o=a.filter.type==="custom"&&"isMultiple"in a.filter&&a.filter.isMultiple;n(a.filter.type,c,o)}for(const a of t)n(a.type,a.id,void 0,a.default);return r},Ot=({columns:e,quickFilters:t,filtersDebounceDelay:r=300,debounceFields:n})=>{const[a,c]=N.useState({field:"",order:"asc"}),[o,i]=M.useQueryStates({pageIndex:M.parseAsInteger.withDefault(0),pageSize:M.parseAsInteger.withDefault(10)}),[l,d]=N.useState(0),u=N.useCallback(T=>{T&&l!==T&&d(T)},[l]),m=N.useMemo(()=>Pt(e,(t==null?void 0:t.filters)??[]),[e,t]),[h,y]=M.useQueryStates(m),b=N.useMemo(()=>n||e.filter(A=>{var z,$;return((z=A.filter)==null?void 0:z.type)==="input"||(($=A.filter)==null?void 0:$.type)==="input-number"}).map(A=>{var z;return((z=A.filter)==null?void 0:z.id)??A.definition.id}),[e,n]),k=N.useMemo(()=>{const T={};return b.forEach(A=>{T[A]=h[A]}),T},[h,b]),j=it(k,r),S=N.useMemo(()=>{const T={...h};return b.forEach(A=>{const z=A;z in j&&(T[z]=j[z])}),T},[h,j,b]);return N.useMemo(()=>({sort:a,setSort:c,pagination:o,setPagination:i,totalPages:l,filters:h,debouncedFilters:S,filterParsers:m,setFilters:y,quickFilters:t,setTotalPages:u}),[a,c,o,i,l,h,S,m,y,t,u])};function ae(e){"@babel/helpers - typeof";return ae=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?function(t){return typeof t}:function(t){return t&&typeof Symbol=="function"&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},ae(e)}function zt(e,t){if(ae(e)!="object"||!e)return e;var r=e[Symbol.toPrimitive];if(r!==void 0){var n=r.call(e,t);if(ae(n)!="object")return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(e)}function Ft(e){var t=zt(e,"string");return ae(t)=="symbol"?t:t+""}function Gt(e,t,r){return(t=Ft(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _e(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter(function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable})),r.push.apply(r,n)}return r}function Ve(e){for(var t=1;t<arguments.length;t++){var r=arguments[t]!=null?arguments[t]:{};t%2?_e(Object(r),!0).forEach(function(n){Gt(e,n,r[n])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):_e(Object(r)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(r,n))})}return e}var Rt={yearFormat:"YYYY",dayFormat:"D",cellMeridiemFormat:"A",monthBeforeYear:!0},It=Ve(Ve({},Rt),{},{locale:"ru_RU",today:"Сегодня",now:"Сейчас",backToToday:"Текущая дата",ok:"ОК",clear:"Очистить",week:"Неделя",month:"Месяц",year:"Год",timeSelect:"Выбрать время",dateSelect:"Выбрать дату",monthSelect:"Выбрать месяц",yearSelect:"Выбрать год",decadeSelect:"Выбрать десятилетие",dateFormat:"D-M-YYYY",dateTimeFormat:"D-M-YYYY HH:mm:ss",previousMonth:"Предыдущий месяц (PageUp)",nextMonth:"Следующий месяц (PageDown)",previousYear:"Предыдущий год (Control + left)",nextYear:"Следующий год (Control + right)",previousDecade:"Предыдущее десятилетие",nextDecade:"Следущее десятилетие",previousCentury:"Предыдущий век",nextCentury:"Следующий век"});const lt={placeholder:"Выберите время",rangePlaceholder:["Время начала","Время окончания"]},be={lang:Object.assign({placeholder:"Выберите дату",yearPlaceholder:"Выберите год",quarterPlaceholder:"Выберите квартал",monthPlaceholder:"Выберите месяц",weekPlaceholder:"Выберите неделю",rangePlaceholder:["Начальная дата","Конечная дата"],rangeYearPlaceholder:["Начальный год","Год окончания"],rangeMonthPlaceholder:["Начальный месяц","Конечный месяц"],rangeWeekPlaceholder:["Начальная неделя","Конечная неделя"],shortWeekDays:["Вс","Пн","Вт","Ср","Чт","Пт","Сб"],shortMonths:["Янв","Фев","Мар","Апр","Май","Июн","Июл","Авг","Сен","Окт","Ноя","Дек"]},It),timePickerLocale:Object.assign({},lt)};var Dt={items_per_page:"/ стр.",jump_to:"Перейти",jump_to_confirm:"подтвердить",page:"Страница",prev_page:"Назад",next_page:"Вперед",prev_5:"Предыдущие 5",next_5:"Следующие 5",prev_3:"Предыдущие 3",next_3:"Следующие 3",page_size:"размер страницы"};const D="${label} не является типом ${type}",Be={locale:"ru",Pagination:Dt,DatePicker:be,TimePicker:lt,Calendar:be,global:{placeholder:"Пожалуйста выберите",close:"Закрыть"},Table:{filterTitle:"Фильтр",filterConfirm:"OK",filterReset:"Сбросить",filterEmptyText:"Без фильтров",filterCheckAll:"Выбрать все элементы",filterSearchPlaceholder:"Поиск в фильтрах",emptyText:"Нет данных",selectAll:"Выбрать всё",selectInvert:"Инвертировать выбор",selectNone:"Очистить все данные",selectionAll:"Выбрать все данные",sortTitle:"Сортировка",expand:"Развернуть строку",collapse:"Свернуть строку",triggerDesc:"Нажмите для сортировки по убыванию",triggerAsc:"Нажмите для сортировки по возрастанию",cancelSort:"Нажмите, чтобы отменить сортировку"},Tour:{Next:"Далее",Previous:"Назад",Finish:"Завершить"},Modal:{okText:"OK",cancelText:"Отмена",justOkText:"OK"},Popconfirm:{okText:"OK",cancelText:"Отмена"},Transfer:{titles:["",""],searchPlaceholder:"Поиск",itemUnit:"элем.",itemsUnit:"элем.",remove:"Удалить",selectAll:"Выбрать все данные",deselectAll:"Очистить все данные",selectCurrent:"Выбрать текущую страницу",selectInvert:"Инвертировать выбор",removeAll:"Удалить все данные",removeCurrent:"Удалить текущую страницу"},Upload:{uploading:"Загрузка...",removeFile:"Удалить файл",uploadError:"При загрузке произошла ошибка",previewFile:"Предпросмотр файла",downloadFile:"Загрузить файл"},Empty:{description:"Нет данных"},Icon:{icon:"иконка"},Text:{edit:"Редактировать",copy:"Копировать",copied:"Скопировано",expand:"Раскрыть",collapse:"Свернуть"},Form:{optional:"(необязательно)",defaultValidateMessages:{default:"Ошибка проверки поля ${label}",required:"Пожалуйста, введите ${label}",enum:"${label} должен быть одним из [${enum}]",whitespace:"${label} не может быть пустым",date:{format:"${label} не правильный формат даты",parse:"${label} не может быть преобразовано в дату",invalid:"${label} не является корректной датой"},types:{string:D,method:D,array:D,object:D,number:D,date:D,boolean:D,integer:D,float:D,regexp:D,email:D,url:D,hex:D},string:{len:"${label} должна быть ${len} символов",min:"${label} должна быть больше или равна ${min} символов",max:"${label} должна быть меньше или равна ${max} символов",range:"Длина ${label} должна быть между ${min}-${max} символами"},number:{len:"${label} должна быть равна ${len}",min:"${label} должна быть больше или равна ${min}",max:"${label} должна быть меньше или равна ${max}",range:"${label} должна быть между ${min}-${max}"},array:{len:"Количество элементов ${label} должно быть равно ${len}",min:"Количество элементов ${label} должно быть больше или равно ${min}",max:"Количество элементов ${label} должно быть меньше или равно ${max}",range:"Количество элементов ${label} должно быть между ${min} и ${max}"},pattern:{mismatch:"${label} не соответствует шаблону ${pattern}"}}},Image:{preview:"Предпросмотр"},QRCode:{expired:"QR-код устарел",refresh:"Обновить"},ColorPicker:{presetEmpty:"Пустой",transparent:"Прозрачный",singleColor:"Один цвет",gradientColor:"Градиент"}},ct=N.createContext(void 0),$t=()=>{const e=N.useContext(ct);if(!e)throw new Error("useTableContext must be used within a TableProvider");return e},F=({when:e,children:t,elseComponent:r})=>e?t:r||null,Wt=e=>Object.entries(e).filter(([,t])=>t!=null&&t!==""&&(Array.isArray(t)?t.length>0:!0)),Yt=(e,t=[],r=[])=>{const n=r.find(c=>c.id===e);if(n)return n.label;const a=t.find(c=>{var o;return(((o=c.filter)==null?void 0:o.id)??c.definition.id)===e});return a&&typeof a.definition.header=="string"?a.definition.header:e},He=(e,t)=>{if(t&&t.definition.mapping){const r=t.definition.mapping.find(n=>n.value===e);if(r)return String(r.label)}return isNaN(new Date(e).getTime())?String(e):dt(e)},dt=e=>{try{return new Date(e).toLocaleDateString("ru-RU")}catch{return e}},Et=(e,t,r=[],n=[])=>{if(typeof t=="object"&&t!==null&&"label"in t)return String(t.label);if(Array.isArray(t)&&t.length>0&&typeof t[0]=="object"&&t[0]!==null&&"label"in t[0]&&"value"in t[0])return t.map(i=>i.label).join(", ");const a=n.find(i=>i.id===e);if(a&&a.options){if(Array.isArray(t)&&a.type==="checkbox")return t.map(l=>{const d=a.options.find(u=>String(u.value)===String(l));return String(d?d.label:l)}).filter(Boolean).join(", ");if(Array.isArray(t)){const i=a.options.find(l=>typeof l.value=="string"&&l.value===JSON.stringify(t));if(i)return String(i.label)}else{const i=a.options.find(l=>l.value===t);if(i)return String(i.label)}}const c=r.find(i=>{var l;return(((l=i.filter)==null?void 0:l.id)??i.definition.id)===e});if(c&&c.filter&&(c.filter.type==="select"||c.filter.type==="multiselect")&&"options"in c.filter&&Array.isArray(c.filter.options)){const i=c.filter.options;if(Array.isArray(t))if(c.filter.type==="multiselect"){const l=t.map(d=>{var u;return(u=i.find(m=>m.value===d))==null?void 0:u.label}).filter(Boolean);if(l.length)return l.join(", ")}else{const l=i.find(d=>typeof d.value=="string"&&d.value===JSON.stringify(t));if(l)return String(l.label)}else{const l=i.find(d=>d.value===t);if(l)return String(l.label)}}const o=c==null?void 0:c.definition;if(o&&o.mapping){const i=o.mapping.find(l=>l.value===t);if(i)return String(i.label)}return Array.isArray(t)&&t.some(i=>!isNaN(pe(i,i.split(".").length===2?"MM.YYYY":"DD.MM.YYYY").valueOf()))&&t.length===2?t.map(i=>He(i)).join(" - "):Array.isArray(t)?t.map(l=>He(l,c)).join(", "):typeof t=="string"&&t.includes("T")&&!(t.includes("[")||t.includes("]")||t.includes("{")||t.includes("}"))?dt(t):typeof t=="boolean"?t?"Да":"Нет":String(t)},Lt=({filterParsers:e,columns:t=[],quickFilters:r=[]})=>{const[n,a]=M.useQueryStates(e),c=N.useMemo(()=>Wt(n),[n]),o=d=>{a({[d]:null})},i=()=>{const d=Object.keys(n).reduce((u,m)=>(u[m]=null,u),{});a(d)},l=N.useMemo(()=>c.map(([d,u])=>({fieldName:d,value:u,label:Yt(d,t,r),displayValue:Et(d,u,t,r)})),[c,t,r]);return{filters:n,activeFilters:c,processedFilters:l,resetFilter:o,resetAllFilters:i,hasActiveFilters:c.length>0}},ut=({filterParsers:e,columns:t=[],quickFilters:r=[]})=>{const{processedFilters:n,resetFilter:a,resetAllFilters:c,hasActiveFilters:o}=Lt({filterParsers:e,columns:t,quickFilters:r});return o?s.jsx("div",{className:"mb-[10px] flex items-center gap-2",children:s.jsxs("div",{className:"flex flex-wrap gap-[8px]",children:[n.map(({fieldName:i,label:l,displayValue:d})=>s.jsx(s.Fragment,{children:s.jsx(F,{when:l,children:s.jsxs("div",{className:"flex items-center gap-1",children:[s.jsxs("span",{className:"text-xs",children:[l,":"]}),s.jsx(v.Tooltip,{title:d,children:s.jsx(v.Tag,{closable:!0,closeIcon:s.jsx(L.CloseOutlined,{className:"hover:text-neutral-70 h-3 w-3 text-neutral-50"}),onClose:()=>a(i),className:"max-w-[460px]",style:{display:"inline-flex",alignItems:"center",maxWidth:"460px"},children:s.jsx("span",{className:"text-neutral-80 text-xs",style:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",maxWidth:"420px"},children:d})})})]})})},i)),s.jsx(F,{when:n.find(i=>i.label),children:s.jsxs(v.Button,{type:"link",size:"small",onClick:c,children:[s.jsx(L.CloseCircleFilled,{}),"Сбросить все"]})})]})}):null};function C(...e){return ot.clsx(e)}const _t=({value:e,onChange:t,options:r,className:n,style:a,...c})=>{const o=Array.isArray(e)?e:[],i=d=>{const u=String(d),m=o.includes(u)?o.filter(h=>h!==u):[...o,u];t(m)},l={className:C(n,"!w-max whitespace-nowrap"),style:a,...c};return s.jsx(v.Button.Group,{...l,children:r==null?void 0:r.map(d=>{const u=o.includes(String(d.value));return s.jsx(v.Button,{size:"middle",type:u?"primary":"default",onClick:()=>i(d.value),children:d.label},d.value)})})},Vt=({value:e,onChange:t,options:r,className:n,style:a,...c})=>{const o=l=>{t(l)},i={className:C(n,"!w-max whitespace-nowrap"),style:a,...c};return s.jsx(v.Radio.Group,{block:!0,optionType:"button",value:e,options:r,onChange:l=>o(l.target.value),...i})},Bt=({value:e,onChange:t,children:r,className:n,style:a,styles:c,...o})=>{const i=(typeof o.format=="string"?o.format:"DD-MM-YYYY").toLowerCase().replace("mm","MM"),l=y=>y&&ge.parse(y,i,new Date).toISOString(),[d,u]=N.useState(!1),m=e?pe(e):void 0,h={className:C(n),style:{position:"absolute",left:0,top:"80%",width:"0",height:"0",opacity:0,...a},styles:{popup:{root:{padding:0}},...c},...o};return s.jsxs("div",{children:[s.jsx("div",{onClick:()=>u(!0),children:r}),s.jsx(v.DatePicker,{value:m,open:d,onOpenChange:u,onChange:(y,b)=>{t==null||t(l(Array.isArray(b)?b[0]:b))},...h})]})},Ht=({value:e,onChange:t,children:r,className:n,style:a,styles:c,...o})=>{const i=y=>y,l=typeof o.format=="string"?o.format:"DD-MM-YYYY",[d,u]=N.useState(!1),m=[e!=null&&e[0]?pe(e==null?void 0:e[0],l):null,e!=null&&e[1]?pe(e==null?void 0:e[1],l):null],h={className:C(n),style:{position:"absolute",left:0,top:"80%",width:"0",height:"0",opacity:0,...a},styles:{popup:{root:{padding:0}},...c},...o};return s.jsxs("div",{children:[s.jsx("div",{onClick:()=>u(!0),children:r}),s.jsx(v.DatePicker.RangePicker,{value:m,open:d,onOpenChange:u,onChange:(y,b)=>{t==null||t(i(b))},...h})]})},Qt=({children:e,slot:t})=>s.jsx(v.Popover,{classNames:{body:"!p-[8px]"},trigger:"click",placement:"bottom",arrow:!1,content:t,children:e}),Ce=N.memo(({value:e,onChange:t,children:r,type:n="string",className:a,style:c,...o})=>{const i=d=>{t(d)},l={className:C("!w-[248px]",a),style:c,...o};return s.jsx(F,{when:r,elseComponent:n==="string"?s.jsx(v.Input,{value:e??"",onChange:d=>i(d.target.value),...l}):s.jsx(v.InputNumber,{value:e,onChange:d=>i(d??""),...l}),children:s.jsx(Qt,{slot:n==="string"?s.jsx(v.Input,{value:e??"",onChange:d=>i(d.target.value),...l}):s.jsx(v.InputNumber,{value:e,onChange:d=>i(d??""),...l}),children:r})})});Ce.displayName="FilterInput";const Se=N.memo(({value:e,onChange:t,children:r,className:n,style:a,styles:c,...o})=>{const[i,l]=N.useState(null),[d,u]=N.useState(!1);let m,h,y;const b=j=>{t(j)};if(o.mode==="multiple"){const j=Array.isArray(e)?e:[];m=((o==null?void 0:o.options)??[]).map(S=>S==null?void 0:S.value),h=m.length===j.length,y=j.length>0&&j.length<m.length}const k={className:C(n),style:{position:"absolute",left:0,top:"80%",width:"0",height:"0",opacity:0,...a},styles:{popup:{root:{width:"264px"}},...c},...o};return s.jsxs("div",{children:[s.jsx("div",{onClick:()=>u(!0),children:r}),s.jsx(v.Select,{value:e,open:d,onOpenChange:u,onChange:j=>b(j),searchValue:i??"",popupRender:j=>s.jsxs(s.Fragment,{children:[s.jsx(F,{when:o.showSearch,children:s.jsx(v.Input,{value:i??"",onChange:S=>l(S.target.value)})}),s.jsx("div",{className:"h-1"}),s.jsx(F,{when:o.mode==="multiple",children:s.jsx(v.Checkbox,{indeterminate:y,checked:h,onChange:S=>b(S.target.checked?m:null),className:"border-neutral-40 h-[32px] w-full items-center! border-b-[1px] pl-[12px]!",children:"Выбрать все"})}),j]}),...k})]})});Se.displayName="FilterSelect";const Oe=N.memo(({fieldName:e,filterProps:t,filterParsers:r,filterType:n,children:a,className:c})=>{const[o,i]=M.useQueryStates(r),l=o[e],d=h=>{i({[e]:h})},m={value:l,onChange:d,onReset:()=>d(null),...t,className:C(c,t==null?void 0:t.className),style:{...t==null?void 0:t.style},...t==null?void 0:t.props};switch(n){case"boolean":return null;case"multiselect":return s.jsx(Se,{...m,mode:"multiple",menuItemSelectedIcon:s.jsx(L.CheckOutlined,{}),children:a});case"date":return s.jsx(Bt,{...m,children:a});case"date-range":return s.jsx(Ht,{...m,children:a});case"input":return s.jsx(Ce,{...m,children:a});case"input-number":return s.jsx(Ce,{...m,type:"number",children:a});case"select":return s.jsx(Se,{...m,children:a});case"radio":return s.jsx(Vt,{...m});case"checkbox":return s.jsx(_t,{...m});case"custom":if(t!=null&&t.render||t!=null&&t.renderMultiple){const h=t==null?void 0:t.isMultiple;if(h&&(t!=null&&t.renderMultiple)){const y=l,b=[];return s.jsx("div",{className:m.className,style:m.style,children:t.renderMultiple(y||b,d,a)})}else if(!h&&(t!=null&&t.render)){const y=l,b={value:"",label:""};return s.jsx("div",{className:m.className,style:m.style,children:t.render(y||b,d,a)})}}return s.jsx(s.Fragment,{children:a});default:return null}});Oe.displayName="FilterCommon";const Ut=({quickFilters:e,filterParsers:t})=>s.jsxs("div",{className:"flex items-center gap-[12px]",children:[s.jsx(F,{when:e.label,children:s.jsxs("div",{className:"flex items-center gap-[4px]",children:[s.jsx("span",{children:e.label}),s.jsx(F,{when:e.tooltip,children:s.jsx(v.Tooltip,{title:e.tooltip,children:s.jsx(L.QuestionCircleOutlined,{className:"!text-neutral-60 cursor-help"})})}),s.jsx("span",{children:":"})]})}),e.filters.map(r=>s.jsxs("div",{className:"flex w-max items-center gap-[8px]",children:[s.jsx(F,{when:r.label,children:s.jsxs("div",{children:[r.label,":"]})}),s.jsx(Oe,{filterParsers:t,fieldName:r.id,filterType:r.type,filterProps:r,className:r.className})]},r.id))]}),Jt=({children:e,cell:t})=>{switch(t){case"date":if(e)return s.jsx(s.Fragment,{children:ge.format(e,"dd.MM.yyyy")})}return s.jsx("div",{className:C("flex items-center",t==="number"&&"justify-end"),children:e})},Xt=({className:e,id:t,filterId:r,sortId:n,sortable:a,children:c,filterType:o,filterParsers:i,tooltip:l,filterProps:d})=>{const{sort:u,setSort:m}=$t(),h=n??t,y=r??t,b=()=>{(u==null?void 0:u.field)!==h||!(u!=null&&u.order)?m==null||m({field:h,order:"asc"}):u.order==="asc"?m==null||m({field:h,order:"desc"}):m==null||m({field:null,order:null})},[k]=M.useQueryStates(i),j=Array.isArray(k[y])?k[y].length>0:!!k[y];return s.jsxs(v.Tooltip,{title:l==null?void 0:l.content,className:"flex items-center gap-[4px]",children:[s.jsx("div",{className:"text-neutral-70",children:c}),s.jsxs("div",{className:C("flex w-full items-center justify-between gap-[4px]",e),children:[s.jsx(Oe,{filterParsers:i,filterType:o,fieldName:y,filterProps:d,children:s.jsx(v.Button,{type:"text",className:"!px-1",size:"small",children:o&&y&&s.jsx(L.FilterFilled,{color:j?"#1677ff":"inherit",style:{color:j?"#1677ff":"inherit"},className:C("h-4 w-4","opacity-15 ease-in hover:opacity-20",j?"!opacity-100 hover:!opacity-60":"")})})}),s.jsx(F,{when:a,children:s.jsxs("div",{className:C("ml-1 flex cursor-pointer flex-col items-center justify-center select-none",(u==null?void 0:u.field)===h?"text-primary":"text-neutral-300","hover:text-neutral-600"),onClick:b,children:[s.jsx(L.CaretUpOutlined,{className:C("-mb-[4px] leading-none transition-colors",(u==null?void 0:u.field)===h&&(u==null?void 0:u.order)==="asc"?"!text-[#1677ff]":"text-neutral-300"),style:{fontSize:"13px"}}),s.jsx(L.CaretDownOutlined,{className:C("leading-none transition-colors",(u==null?void 0:u.field)===h&&(u==null?void 0:u.order)==="desc"?"!text-[#1677ff]":"text-neutral-300"),style:{fontSize:"13px"}})]})})]})]})},Kt=(e,t)=>{const r=[];for(const n of e){const a={...n.definition},c=n.dataType??"string",o=i=>{var l;return n.definition.mapping?((l=n.definition.mapping.find(d=>d.value===i))==null?void 0:l.label)??i:i};switch(typeof n.definition.cell=="function"?a.cell=n.definition.cell:a.cell=({getValue:i,row:l})=>s.jsx(Jt,{row:l,cell:n.definition.cell,children:o(i())}),typeof a.header){case"string":a.header=()=>{var l,d,u,m;const i=()=>{if(!n.filter)return{};const h={className:n.filter.className,style:n.filter.style,styles:n.filter.styles,props:n.filter.props};return n.filter.type==="multiselect"||n.filter.type==="select"?{...h,options:n.filter.options}:n.filter.type==="custom"?{...h,render:n.filter.render,renderMultiple:"isMultiple"in n.filter&&n.filter.isMultiple?n.filter.render:void 0,isMultiple:"isMultiple"in n.filter?n.filter.isMultiple:!1}:h};return s.jsx(Xt,{filterProps:i(),filterParsers:t.filterParsers,sortable:(l=n.sort)==null?void 0:l.enabled,id:n.definition.id,filterId:(d=n.filter)==null?void 0:d.id,sortId:(u=n.sort)==null?void 0:u.id,dataType:c,filterType:(m=n.filter)==null?void 0:m.type,tooltip:n.definition.headerTooltip,children:n.definition.header})};break}r.push(a)}return r};function Qe(e,t=!1,r=!1){var i;const n=e.getIsPinned(),a=t&&((i=e.columnDef)==null?void 0:i.headerRightBorder)&&r,c=[];t&&c.push("0 -1px #DBE0E7 inset");let o;return n&&(o=t?"#fafafa":"#ffffff"),{boxShadow:c.length>0?c.join(", "):void 0,left:n==="left"?`${e.getStart("left")}px`:void 0,right:n==="right"?`${e.getAfter("right")}px`:void 0,position:n?"sticky":"relative",minWidth:e.columnDef.minSize,width:e.columnDef.size,maxWidth:e.columnDef.maxSize,zIndex:n?t?20:10:0,backgroundColor:o,hasRightBorder:a}}const mt=B.forwardRef(({className:e,...t},r)=>s.jsx("div",{className:"relative w-full",children:s.jsx("table",{ref:r,className:C("w-full caption-bottom bg-white",e),...t})}));mt.displayName="Table";const ft=B.forwardRef(({className:e,...t},r)=>s.jsx("thead",{ref:r,className:C("border-neutral-30 border-t border-b",e),...t}));ft.displayName="TableHeader";const pt=B.forwardRef(({className:e,children:t,...r},n)=>s.jsx("tbody",{ref:n,className:C("[&_tr:last-child]:border-0",e),...r,children:t}));pt.displayName="TableBody";const Zt=B.forwardRef(({className:e,...t},r)=>s.jsx("tfoot",{ref:r,className:C("bg-neutral-80/50 font-medium dark:bg-neutral-800/50 [&>tr]:last:border-b-0",e),...t}));Zt.displayName="TableFooter";const fe=B.forwardRef(({className:e,...t},r)=>s.jsx("tr",{ref:r,className:C("data-[state=selected]:bg-neutral-50",e),...t}));fe.displayName="TableRow";const gt=B.forwardRef(({className:e,...t},r)=>s.jsx("th",{ref:r,className:C("text-neutral-60 h-12 bg-white px-2 text-left align-middle text-xs font-normal text-nowrap whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t}));gt.displayName="TableHead";const Te=B.forwardRef(({className:e,...t},r)=>s.jsx("td",{ref:r,className:C("bg-white px-2 py-1 align-middle text-nowrap whitespace-nowrap [&:has([role=checkbox])]:pr-0",e),...t}));Te.displayName="TableCell";const qt=B.forwardRef(({className:e,...t},r)=>s.jsx("caption",{ref:r,className:C("mt-4 text-sm text-neutral-500 dark:text-neutral-400",e),...t}));qt.displayName="TableCaption";const er=({table:e,isNoData:t,isLoading:r,isFirstSummaryRow:n,emptyState:a,countColumns:c,minHeight:o="200px",maxHeight:i})=>s.jsxs(s.Fragment,{children:[s.jsx(F,{when:t&&!r,children:s.jsx("div",{className:"absolute z-0 flex",style:{top:"50%",left:"50%",transform:"translate(-50%, calc(-50% + 40px))"},children:s.jsx("div",{className:"sticky top-0 left-0 z-20 w-full h-full bg-white",children:s.jsx("div",{className:"flex flex-col items-center justify-center gap-2 text-neutral-60",children:s.jsx(F,{when:a==null?void 0:a.custom,elseComponent:s.jsx(v.Empty,{styles:{image:{width:"110px !important",height:"69px !important"}},image:v.Empty.PRESENTED_IMAGE_SIMPLE,description:(a==null?void 0:a.description)??"Нет данных"}),children:a==null?void 0:a.custom})})})})}),s.jsx("div",{className:"relative flex flex-col",style:{minHeight:o,maxHeight:i,...i&&{overflowY:"auto"}},"data-debug-height":`min:${o}, max:${i||"none"}`,children:s.jsxs(mt,{className:"border-separate table-fixed border-spacing-0",children:[s.jsx(ft,{className:"sticky top-0 z-[15] border-none",children:e.getHeaderGroups().map(l=>s.jsx(fe,{children:l.headers.map(d=>{const u=Qe(d.column,!0,!0),{hasRightBorder:m,...h}=u,y=d.column.getIsPinned(),b=y==="left"&&d.column.getIsLastColumn("left"),k=y==="right"&&d.column.getIsFirstColumn("right");return s.jsx(gt,{style:{...h,height:"40px"},className:C(m&&"table-header-right-border","transition-all duration-200 ease-in-out",b&&"!border-neutral-30 !border-r",k&&"!border-neutral-30 !border-l"),children:d.isPlaceholder?null:he.flexRender(d.column.columnDef.header,d.getContext())},d.id)})},l.id))}),s.jsx(pt,{className:"relative",children:s.jsx(F,{when:!r,elseComponent:s.jsx(s.Fragment,{children:Array.from({length:10}).fill(null).map((l,d)=>s.jsx(fe,{children:s.jsx(Te,{colSpan:c,children:s.jsx("div",{className:"h-6 rounded bg-neutral-20 animate-pulse"})},d)},d))}),children:e.getRowModel().rows.map(l=>s.jsx(fe,{"data-state":l.getIsSelected()&&"selected",className:"group",children:l.getVisibleCells().map(d=>{const u=d.column.getIsPinned(),m=u==="left"&&d.column.getIsLastColumn("left"),h=u==="right"&&d.column.getIsFirstColumn("right");return s.jsx(Te,{style:{...Qe(d.column)},className:C("group-hover:bg-neutral-10","transition-all duration-200 ease-in-out",m&&"!border-neutral-30 !border-r",h&&"!border-neutral-30 !border-l",d.row.index===0&&n&&"!bg-neutral-20 font-bold"),children:he.flexRender(d.column.columnDef.cell,d.getContext())},d.id)})},l.id))})})]})})]}),tr=({columns:e,data:t,isNoData:r,pagination:n,setPagination:a,totalPages:c,isLoading:o,filterParsers:i,isFirstSummaryRow:l,minHeight:d="200px",maxHeight:u,columnPinning:m,...h})=>{const y=d==="auto",b=N.useMemo(()=>Kt(e,{filterParsers:i}),[e,i]),k=he.useReactTable({columns:b,data:t,getCoreRowModel:he.getCoreRowModel(),onPaginationChange:void 0,state:{pagination:n,columnPinning:m??{left:[],right:[]}}});return s.jsxs(s.Fragment,{children:[s.jsx("div",{className:`w-full overflow-x-scroll ${y?"overflow-y-visible":"flex-1 overflow-y-scroll"}`,children:s.jsx(er,{isFirstSummaryRow:l,pagination:n,setPagination:a,totalPages:c,table:k,isLoading:o??!1,isNoData:r,countColumns:e.length,minHeight:d,maxHeight:u,...h})}),s.jsx("div",{className:"flex items-center justify-between py-[8px]",children:s.jsxs("div",{className:"flex items-center gap-[12px]",children:[s.jsx(v.Pagination,{current:n.pageIndex+1,total:c*n.pageSize,pageSize:n.pageSize,onChange:j=>a({pageIndex:j-1,pageSize:n.pageSize}),showSizeChanger:!1}),s.jsx(v.Select,{showSearch:!1,value:n.pageSize,onChange:j=>a({pageIndex:0,pageSize:j}),options:[{value:10,label:"10/стр"},{value:20,label:"20/стр"},{value:30,label:"30/стр"},{value:40,label:"40/стр"},{value:50,label:"50/стр"},{value:100,label:"100/стр"}]})]})})]})},rr={...be,lang:{...be.lang,fieldDateFormat:"DD.MM.YYYY",fieldDateTimeFormat:"DD.MM.YYYY HH:mm:ss",yearFormat:"YYYY",cellYearFormat:"YYYY"}},nr={...Be,DatePicker:{...Be.DatePicker,lang:rr.lang}},sr=({columns:e,data:t,isLoading:r,sort:n,setSort:a,pagination:c,setPagination:o,totalPages:i,filterParsers:l,isFirstSummaryRow:d=!0,quickFilters:u,minHeight:m="200px",maxHeight:h,...y})=>{var S;const b=m==="auto",k=(t==null?void 0:t.length)===0,j=N.useRef(!0);return N.useEffect(()=>{j.current&&e.forEach(T=>{var A;(A=T.sort)!=null&&A.enabled&&T.sort.default&&(a({field:T.sort.id??T.definition.id,order:T.sort.default}),j.current=!1)})},[e,a]),s.jsx(v.ConfigProvider,{locale:nr,children:s.jsx("div",{className:`relative flex flex-col p-4 ${b?"":"h-full"}`,children:s.jsxs(ct.Provider,{value:{sort:n,setSort:a},children:[s.jsx("div",{className:"mb-[10px] flex items-center justify-between",children:s.jsx(F,{when:(S=u==null?void 0:u.filters)==null?void 0:S.length,children:s.jsx(Ut,{quickFilters:u,filterParsers:l})})}),s.jsx(ut,{filterParsers:l,columns:e,quickFilters:u==null?void 0:u.filters}),s.jsx(tr,{isLoading:r,totalPages:i,columns:e,filterParsers:l,data:t,isNoData:k,pagination:c,setPagination:o,isFirstSummaryRow:d,minHeight:m,maxHeight:h,...y})]})})})},{Link:Ue,Text:ee}=v.Typography,ar=({createdBy:e,fields:t,type:r,timePassed:n})=>{const a={form:{text:"Анкета",color:"default"},docs:{text:"Документ",color:"processing"},notice:{text:"Уведомление",color:"warning"},updated:{text:"Актуализация",color:"success"}};return s.jsxs("div",{children:[s.jsxs("div",{className:"flex items-center gap-1 pb-[4px]",children:[typeof r=="string"&&r!=="form"&&s.jsxs(s.Fragment,{children:[s.jsx(v.Tag,{className:"!mr-0",color:a[r].color,children:a[r].text}),s.jsx(v.Badge,{status:"default"})]}),typeof r=="object"&&s.jsxs(s.Fragment,{children:[r.node,s.jsx(v.Badge,{status:"default"})]}),s.jsx(Ue,{href:void 0,target:"_blank",title:"Нет адреса",children:e.fio}),n&&typeof n=="string"&&s.jsxs(s.Fragment,{children:[s.jsx(v.Badge,{status:"default"}),s.jsx(Ue,{href:void 0,target:"_blank",title:"Нет адреса",children:n})]}),n&&typeof n=="object"&&s.jsxs(s.Fragment,{children:[s.jsx(v.Badge,{status:"default"}),n.node]})]}),s.jsxs("div",{className:"flex flex-col gap-[4px]",children:[Array.isArray(t)&&t.map(({id:c,field:o,newValue:i,oldValue:l})=>s.jsx("div",{className:"flex flex-wrap items-center gap-x-1",children:s.jsxs(F,{when:i!==l,elseComponent:s.jsxs(s.Fragment,{children:[s.jsxs(ee,{type:"secondary",children:[o,":"]}),s.jsx(ee,{children:i||"-"})]}),children:[s.jsxs(ee,{type:"secondary",children:[o,":"]}),s.jsx(ee,{children:l||"-"}),s.jsx(L.ArrowRightOutlined,{className:"!text-[14px] !text-black/45"}),s.jsx(ee,{children:i||"-"})]})},c)),!Array.isArray(t)&&typeof t=="object"&&s.jsx(s.Fragment,{children:t.node})]})]})};function ke(e){return(t={})=>{const r=t.width?String(t.width):e.defaultWidth;return e.formats[r]||e.formats[e.defaultWidth]}}function te(e){return(t,r)=>{const n=r!=null&&r.context?String(r.context):"standalone";let a;if(n==="formatting"&&e.formattingValues){const o=e.defaultFormattingWidth||e.defaultWidth,i=r!=null&&r.width?String(r.width):o;a=e.formattingValues[i]||e.formattingValues[o]}else{const o=e.defaultWidth,i=r!=null&&r.width?String(r.width):e.defaultWidth;a=e.values[i]||e.values[o]}const c=e.argumentCallback?e.argumentCallback(t):t;return a[c]}}function re(e){return(t,r={})=>{const n=r.width,a=n&&e.matchPatterns[n]||e.matchPatterns[e.defaultMatchWidth],c=t.match(a);if(!c)return null;const o=c[0],i=n&&e.parsePatterns[n]||e.parsePatterns[e.defaultParseWidth],l=Array.isArray(i)?ir(i,m=>m.test(o)):or(i,m=>m.test(o));let d;d=e.valueCallback?e.valueCallback(l):l,d=r.valueCallback?r.valueCallback(d):d;const u=t.slice(o.length);return{value:d,rest:u}}}function or(e,t){for(const r in e)if(Object.prototype.hasOwnProperty.call(e,r)&&t(e[r]))return r}function ir(e,t){for(let r=0;r<e.length;r++)if(t(e[r]))return r}function lr(e){return(t,r={})=>{const n=t.match(e.matchPattern);if(!n)return null;const a=n[0],c=t.match(e.parsePattern);if(!c)return null;let o=e.valueCallback?e.valueCallback(c[0]):c[0];o=r.valueCallback?r.valueCallback(o):o;const i=t.slice(a.length);return{value:o,rest:i}}}const Je=Symbol.for("constructDateFrom");function ht(e,t){return typeof e=="function"?e(t):e&&typeof e=="object"&&Je in e?e[Je](t):e instanceof Date?new e.constructor(t):new Date(t)}function cr(e,...t){const r=ht.bind(null,e||t.find(n=>typeof n=="object"));return t.map(r)}let dr={};function ur(){return dr}function mr(e,t){return ht(t||e,e)}function Xe(e,t){var i,l,d,u;const r=ur(),n=(t==null?void 0:t.weekStartsOn)??((l=(i=t==null?void 0:t.locale)==null?void 0:i.options)==null?void 0:l.weekStartsOn)??r.weekStartsOn??((u=(d=r.locale)==null?void 0:d.options)==null?void 0:u.weekStartsOn)??0,a=mr(e,t==null?void 0:t.in),c=a.getDay(),o=(c<n?7:0)+c-n;return a.setDate(a.getDate()-o),a.setHours(0,0,0,0),a}function Ke(e,t,r){const[n,a]=cr(r==null?void 0:r.in,e,t);return+Xe(n,r)==+Xe(a,r)}function ne(e,t){if(e.one!==void 0&&t===1)return e.one;const r=t%10,n=t%100;return r===1&&n!==11?e.singularNominative.replace("{{count}}",String(t)):r>=2&&r<=4&&(n<10||n>20)?e.singularGenitive.replace("{{count}}",String(t)):e.pluralGenitive.replace("{{count}}",String(t))}function R(e){return(t,r)=>r!=null&&r.addSuffix?r.comparison&&r.comparison>0?e.future?ne(e.future,t):"через "+ne(e.regular,t):e.past?ne(e.past,t):ne(e.regular,t)+" назад":ne(e.regular,t)}const fr={lessThanXSeconds:R({regular:{one:"меньше секунды",singularNominative:"меньше {{count}} секунды",singularGenitive:"меньше {{count}} секунд",pluralGenitive:"меньше {{count}} секунд"},future:{one:"меньше, чем через секунду",singularNominative:"меньше, чем через {{count}} секунду",singularGenitive:"меньше, чем через {{count}} секунды",pluralGenitive:"меньше, чем через {{count}} секунд"}}),xSeconds:R({regular:{singularNominative:"{{count}} секунда",singularGenitive:"{{count}} секунды",pluralGenitive:"{{count}} секунд"},past:{singularNominative:"{{count}} секунду назад",singularGenitive:"{{count}} секунды назад",pluralGenitive:"{{count}} секунд назад"},future:{singularNominative:"через {{count}} секунду",singularGenitive:"через {{count}} секунды",pluralGenitive:"через {{count}} секунд"}}),halfAMinute:(e,t)=>t!=null&&t.addSuffix?t.comparison&&t.comparison>0?"через полминуты":"полминуты назад":"полминуты",lessThanXMinutes:R({regular:{one:"меньше минуты",singularNominative:"меньше {{count}} минуты",singularGenitive:"меньше {{count}} минут",pluralGenitive:"меньше {{count}} минут"},future:{one:"меньше, чем через минуту",singularNominative:"меньше, чем через {{count}} минуту",singularGenitive:"меньше, чем через {{count}} минуты",pluralGenitive:"меньше, чем через {{count}} минут"}}),xMinutes:R({regular:{singularNominative:"{{count}} минута",singularGenitive:"{{count}} минуты",pluralGenitive:"{{count}} минут"},past:{singularNominative:"{{count}} минуту назад",singularGenitive:"{{count}} минуты назад",pluralGenitive:"{{count}} минут назад"},future:{singularNominative:"через {{count}} минуту",singularGenitive:"через {{count}} минуты",pluralGenitive:"через {{count}} минут"}}),aboutXHours:R({regular:{singularNominative:"около {{count}} часа",singularGenitive:"около {{count}} часов",pluralGenitive:"около {{count}} часов"},future:{singularNominative:"приблизительно через {{count}} час",singularGenitive:"приблизительно через {{count}} часа",pluralGenitive:"приблизительно через {{count}} часов"}}),xHours:R({regular:{singularNominative:"{{count}} час",singularGenitive:"{{count}} часа",pluralGenitive:"{{count}} часов"}}),xDays:R({regular:{singularNominative:"{{count}} день",singularGenitive:"{{count}} дня",pluralGenitive:"{{count}} дней"}}),aboutXWeeks:R({regular:{singularNominative:"около {{count}} недели",singularGenitive:"около {{count}} недель",pluralGenitive:"около {{count}} недель"},future:{singularNominative:"приблизительно через {{count}} неделю",singularGenitive:"приблизительно через {{count}} недели",pluralGenitive:"приблизительно через {{count}} недель"}}),xWeeks:R({regular:{singularNominative:"{{count}} неделя",singularGenitive:"{{count}} недели",pluralGenitive:"{{count}} недель"}}),aboutXMonths:R({regular:{singularNominative:"около {{count}} месяца",singularGenitive:"около {{count}} месяцев",pluralGenitive:"около {{count}} месяцев"},future:{singularNominative:"приблизительно через {{count}} месяц",singularGenitive:"приблизительно через {{count}} месяца",pluralGenitive:"приблизительно через {{count}} месяцев"}}),xMonths:R({regular:{singularNominative:"{{count}} месяц",singularGenitive:"{{count}} месяца",pluralGenitive:"{{count}} месяцев"}}),aboutXYears:R({regular:{singularNominative:"около {{count}} года",singularGenitive:"около {{count}} лет",pluralGenitive:"около {{count}} лет"},future:{singularNominative:"приблизительно через {{count}} год",singularGenitive:"приблизительно через {{count}} года",pluralGenitive:"приблизительно через {{count}} лет"}}),xYears:R({regular:{singularNominative:"{{count}} год",singularGenitive:"{{count}} года",pluralGenitive:"{{count}} лет"}}),overXYears:R({regular:{singularNominative:"больше {{count}} года",singularGenitive:"больше {{count}} лет",pluralGenitive:"больше {{count}} лет"},future:{singularNominative:"больше, чем через {{count}} год",singularGenitive:"больше, чем через {{count}} года",pluralGenitive:"больше, чем через {{count}} лет"}}),almostXYears:R({regular:{singularNominative:"почти {{count}} год",singularGenitive:"почти {{count}} года",pluralGenitive:"почти {{count}} лет"},future:{singularNominative:"почти через {{count}} год",singularGenitive:"почти через {{count}} года",pluralGenitive:"почти через {{count}} лет"}})},pr=(e,t,r)=>fr[e](t,r),gr={full:"EEEE, d MMMM y 'г.'",long:"d MMMM y 'г.'",medium:"d MMM y 'г.'",short:"dd.MM.y"},hr={full:"H:mm:ss zzzz",long:"H:mm:ss z",medium:"H:mm:ss",short:"H:mm"},br={any:"{{date}}, {{time}}"},xr={date:ke({formats:gr,defaultWidth:"full"}),time:ke({formats:hr,defaultWidth:"full"}),dateTime:ke({formats:br,defaultWidth:"any"})},ze=["воскресенье","понедельник","вторник","среду","четверг","пятницу","субботу"];function yr(e){const t=ze[e];switch(e){case 0:return"'в прошлое "+t+" в' p";case 1:case 2:case 4:return"'в прошлый "+t+" в' p";case 3:case 5:case 6:return"'в прошлую "+t+" в' p"}}function Ze(e){const t=ze[e];return e===2?"'во "+t+" в' p":"'в "+t+" в' p"}function wr(e){const t=ze[e];switch(e){case 0:return"'в следующее "+t+" в' p";case 1:case 2:case 4:return"'в следующий "+t+" в' p";case 3:case 5:case 6:return"'в следующую "+t+" в' p"}}const vr={lastWeek:(e,t,r)=>{const n=e.getDay();return Ke(e,t,r)?Ze(n):yr(n)},yesterday:"'вчера в' p",today:"'сегодня в' p",tomorrow:"'завтра в' p",nextWeek:(e,t,r)=>{const n=e.getDay();return Ke(e,t,r)?Ze(n):wr(n)},other:"P"},kr=(e,t,r,n)=>{const a=vr[e];return typeof a=="function"?a(t,r,n):a},jr={narrow:["до н.э.","н.э."],abbreviated:["до н. э.","н. э."],wide:["до нашей эры","нашей эры"]},Nr={narrow:["1","2","3","4"],abbreviated:["1-й кв.","2-й кв.","3-й кв.","4-й кв."],wide:["1-й квартал","2-й квартал","3-й квартал","4-й квартал"]},Cr={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","март","апр.","май","июнь","июль","авг.","сент.","окт.","нояб.","дек."],wide:["январь","февраль","март","апрель","май","июнь","июль","август","сентябрь","октябрь","ноябрь","декабрь"]},Sr={narrow:["Я","Ф","М","А","М","И","И","А","С","О","Н","Д"],abbreviated:["янв.","фев.","мар.","апр.","мая","июн.","июл.","авг.","сент.","окт.","нояб.","дек."],wide:["января","февраля","марта","апреля","мая","июня","июля","августа","сентября","октября","ноября","декабря"]},Tr={narrow:["В","П","В","С","Ч","П","С"],short:["вс","пн","вт","ср","чт","пт","сб"],abbreviated:["вск","пнд","втр","срд","чтв","птн","суб"],wide:["воскресенье","понедельник","вторник","среда","четверг","пятница","суббота"]},Mr={narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утро",afternoon:"день",evening:"веч.",night:"ночь"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утро",afternoon:"день",evening:"вечер",night:"ночь"}},Ar={narrow:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},abbreviated:{am:"ДП",pm:"ПП",midnight:"полн.",noon:"полд.",morning:"утра",afternoon:"дня",evening:"веч.",night:"ночи"},wide:{am:"ДП",pm:"ПП",midnight:"полночь",noon:"полдень",morning:"утра",afternoon:"дня",evening:"вечера",night:"ночи"}},Pr=(e,t)=>{const r=Number(e),n=t==null?void 0:t.unit;let a;return n==="date"?a="-е":n==="week"||n==="minute"||n==="second"?a="-я":a="-й",r+a},Or={ordinalNumber:Pr,era:te({values:jr,defaultWidth:"wide"}),quarter:te({values:Nr,defaultWidth:"wide",argumentCallback:e=>e-1}),month:te({values:Cr,defaultWidth:"wide",formattingValues:Sr,defaultFormattingWidth:"wide"}),day:te({values:Tr,defaultWidth:"wide"}),dayPeriod:te({values:Mr,defaultWidth:"any",formattingValues:Ar,defaultFormattingWidth:"wide"})},zr=/^(\d+)(-?(е|я|й|ое|ье|ая|ья|ый|ой|ий|ый))?/i,Fr=/\d+/i,Gr={narrow:/^((до )?н\.?\s?э\.?)/i,abbreviated:/^((до )?н\.?\s?э\.?)/i,wide:/^(до нашей эры|нашей эры|наша эра)/i},Rr={any:[/^д/i,/^н/i]},Ir={narrow:/^[1234]/i,abbreviated:/^[1234](-?[ыои]?й?)? кв.?/i,wide:/^[1234](-?[ыои]?й?)? квартал/i},Dr={any:[/1/i,/2/i,/3/i,/4/i]},$r={narrow:/^[яфмаисонд]/i,abbreviated:/^(янв|фев|март?|апр|ма[йя]|июн[ья]?|июл[ья]?|авг|сент?|окт|нояб?|дек)\.?/i,wide:/^(январ[ья]|феврал[ья]|марта?|апрел[ья]|ма[йя]|июн[ья]|июл[ья]|августа?|сентябр[ья]|октябр[ья]|октябр[ья]|ноябр[ья]|декабр[ья])/i},Wr={narrow:[/^я/i,/^ф/i,/^м/i,/^а/i,/^м/i,/^и/i,/^и/i,/^а/i,/^с/i,/^о/i,/^н/i,/^я/i],any:[/^я/i,/^ф/i,/^мар/i,/^ап/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^ав/i,/^с/i,/^о/i,/^н/i,/^д/i]},Yr={narrow:/^[впсч]/i,short:/^(вс|во|пн|по|вт|ср|чт|че|пт|пя|сб|су)\.?/i,abbreviated:/^(вск|вос|пнд|пон|втр|вто|срд|сре|чтв|чет|птн|пят|суб).?/i,wide:/^(воскресень[ея]|понедельника?|вторника?|сред[аы]|четверга?|пятниц[аы]|суббот[аы])/i},Er={narrow:[/^в/i,/^п/i,/^в/i,/^с/i,/^ч/i,/^п/i,/^с/i],any:[/^в[ос]/i,/^п[он]/i,/^в/i,/^ср/i,/^ч/i,/^п[ят]/i,/^с[уб]/i]},Lr={narrow:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,abbreviated:/^([дп]п|полн\.?|полд\.?|утр[оа]|день|дня|веч\.?|ноч[ьи])/i,wide:/^([дп]п|полночь|полдень|утр[оа]|день|дня|вечера?|ноч[ьи])/i},_r={any:{am:/^дп/i,pm:/^пп/i,midnight:/^полн/i,noon:/^полд/i,morning:/^у/i,afternoon:/^д[ен]/i,evening:/^в/i,night:/^н/i}},Vr={ordinalNumber:lr({matchPattern:zr,parsePattern:Fr,valueCallback:e=>parseInt(e,10)}),era:re({matchPatterns:Gr,defaultMatchWidth:"wide",parsePatterns:Rr,defaultParseWidth:"any"}),quarter:re({matchPatterns:Ir,defaultMatchWidth:"wide",parsePatterns:Dr,defaultParseWidth:"any",valueCallback:e=>e+1}),month:re({matchPatterns:$r,defaultMatchWidth:"wide",parsePatterns:Wr,defaultParseWidth:"any"}),day:re({matchPatterns:Yr,defaultMatchWidth:"wide",parsePatterns:Er,defaultParseWidth:"any"}),dayPeriod:re({matchPatterns:Lr,defaultMatchWidth:"wide",parsePatterns:_r,defaultParseWidth:"any"})},qe={code:"ru",formatDistance:pr,formatLong:xr,formatRelative:kr,localize:Or,match:Vr,options:{weekStartsOn:1,firstWeekContainsDate:1}},Br=({historyItems:e,showEmptyItem:t=!0,timelineLayout:r="default",className:n})=>{const a=e.map(({createdAt:o,dot:i,color:l="gray",...d})=>({dot:i,color:l,children:s.jsx(ar,{...d}),label:s.jsxs(s.Fragment,{children:[s.jsx("p",{children:ge.format(o,"dd MMM yyyy",{locale:qe})}),s.jsx("p",{children:ge.format(o,"HH:mm",{locale:qe})})]})})),c=r==="default"?"timeline-default-layout":"timeline-narrow-label-layout";if(t){const o={dot:" ",color:"gray",children:s.jsx(s.Fragment,{}),label:s.jsx(s.Fragment,{})};a.push(o)}return s.jsx(v.Timeline,{mode:"left",items:a,style:{},className:ot("copper-ui",c,"w-full",n)})},Fe="-",Hr=e=>{const t=Ur(e),{conflictingClassGroups:r,conflictingClassGroupModifiers:n}=e;return{getClassGroupId:o=>{const i=o.split(Fe);return i[0]===""&&i.length!==1&&i.shift(),bt(i,t)||Qr(o)},getConflictingClassGroupIds:(o,i)=>{const l=r[o]||[];return i&&n[o]?[...l,...n[o]]:l}}},bt=(e,t)=>{var o;if(e.length===0)return t.classGroupId;const r=e[0],n=t.nextPart.get(r),a=n?bt(e.slice(1),n):void 0;if(a)return a;if(t.validators.length===0)return;const c=e.join(Fe);return(o=t.validators.find(({validator:i})=>i(c)))==null?void 0:o.classGroupId},et=/^\[(.+)\]$/,Qr=e=>{if(et.test(e)){const t=et.exec(e)[1],r=t==null?void 0:t.substring(0,t.indexOf(":"));if(r)return"arbitrary.."+r}},Ur=e=>{const{theme:t,classGroups:r}=e,n={nextPart:new Map,validators:[]};for(const a in r)Me(r[a],n,a,t);return n},Me=(e,t,r,n)=>{e.forEach(a=>{if(typeof a=="string"){const c=a===""?t:tt(t,a);c.classGroupId=r;return}if(typeof a=="function"){if(Jr(a)){Me(a(n),t,r,n);return}t.validators.push({validator:a,classGroupId:r});return}Object.entries(a).forEach(([c,o])=>{Me(o,tt(t,c),r,n)})})},tt=(e,t)=>{let r=e;return t.split(Fe).forEach(n=>{r.nextPart.has(n)||r.nextPart.set(n,{nextPart:new Map,validators:[]}),r=r.nextPart.get(n)}),r},Jr=e=>e.isThemeGetter,Xr=e=>{if(e<1)return{get:()=>{},set:()=>{}};let t=0,r=new Map,n=new Map;const a=(c,o)=>{r.set(c,o),t++,t>e&&(t=0,n=r,r=new Map)};return{get(c){let o=r.get(c);if(o!==void 0)return o;if((o=n.get(c))!==void 0)return a(c,o),o},set(c,o){r.has(c)?r.set(c,o):a(c,o)}}},Ae="!",Pe=":",Kr=Pe.length,Zr=e=>{const{prefix:t,experimentalParseClassName:r}=e;let n=a=>{const c=[];let o=0,i=0,l=0,d;for(let b=0;b<a.length;b++){let k=a[b];if(o===0&&i===0){if(k===Pe){c.push(a.slice(l,b)),l=b+Kr;continue}if(k==="/"){d=b;continue}}k==="["?o++:k==="]"?o--:k==="("?i++:k===")"&&i--}const u=c.length===0?a:a.substring(l),m=qr(u),h=m!==u,y=d&&d>l?d-l:void 0;return{modifiers:c,hasImportantModifier:h,baseClassName:m,maybePostfixModifierPosition:y}};if(t){const a=t+Pe,c=n;n=o=>o.startsWith(a)?c(o.substring(a.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:o,maybePostfixModifierPosition:void 0}}if(r){const a=n;n=c=>r({className:c,parseClassName:a})}return n},qr=e=>e.endsWith(Ae)?e.substring(0,e.length-1):e.startsWith(Ae)?e.substring(1):e,en=e=>{const t=Object.fromEntries(e.orderSensitiveModifiers.map(n=>[n,!0]));return n=>{if(n.length<=1)return n;const a=[];let c=[];return n.forEach(o=>{o[0]==="["||t[o]?(a.push(...c.sort(),o),c=[]):c.push(o)}),a.push(...c.sort()),a}},tn=e=>({cache:Xr(e.cacheSize),parseClassName:Zr(e),sortModifiers:en(e),...Hr(e)}),rn=/\s+/,nn=(e,t)=>{const{parseClassName:r,getClassGroupId:n,getConflictingClassGroupIds:a,sortModifiers:c}=t,o=[],i=e.trim().split(rn);let l="";for(let d=i.length-1;d>=0;d-=1){const u=i[d],{isExternal:m,modifiers:h,hasImportantModifier:y,baseClassName:b,maybePostfixModifierPosition:k}=r(u);if(m){l=u+(l.length>0?" "+l:l);continue}let j=!!k,S=n(j?b.substring(0,k):b);if(!S){if(!j){l=u+(l.length>0?" "+l:l);continue}if(S=n(b),!S){l=u+(l.length>0?" "+l:l);continue}j=!1}const T=c(h).join(":"),A=y?T+Ae:T,z=A+S;if(o.includes(z))continue;o.push(z);const $=a(S,j);for(let H=0;H<$.length;++H){const q=$[H];o.push(A+q)}l=u+(l.length>0?" "+l:l)}return l};function sn(){let e=0,t,r,n="";for(;e<arguments.length;)(t=arguments[e++])&&(r=xt(t))&&(n&&(n+=" "),n+=r);return n}const xt=e=>{if(typeof e=="string")return e;let t,r="";for(let n=0;n<e.length;n++)e[n]&&(t=xt(e[n]))&&(r&&(r+=" "),r+=t);return r};function an(e,...t){let r,n,a,c=o;function o(l){const d=t.reduce((u,m)=>m(u),e());return r=tn(d),n=r.cache.get,a=r.cache.set,c=i,i(l)}function i(l){const d=n(l);if(d)return d;const u=nn(l,r);return a(l,u),u}return function(){return c(sn.apply(null,arguments))}}const P=e=>{const t=r=>r[e]||[];return t.isThemeGetter=!0,t},yt=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,wt=/^\((?:(\w[\w-]*):)?(.+)\)$/i,on=/^\d+\/\d+$/,ln=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,cn=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,dn=/^(rgba?|hsla?|hwb|(ok)?(lab|lch)|color-mix)\(.+\)$/,un=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,mn=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,X=e=>on.test(e),w=e=>!!e&&!Number.isNaN(Number(e)),_=e=>!!e&&Number.isInteger(Number(e)),je=e=>e.endsWith("%")&&w(e.slice(0,-1)),E=e=>ln.test(e),fn=()=>!0,pn=e=>cn.test(e)&&!dn.test(e),vt=()=>!1,gn=e=>un.test(e),hn=e=>mn.test(e),bn=e=>!f(e)&&!p(e),xn=e=>K(e,Nt,vt),f=e=>yt.test(e),U=e=>K(e,Ct,pn),Ne=e=>K(e,jn,w),rt=e=>K(e,kt,vt),yn=e=>K(e,jt,hn),ue=e=>K(e,St,gn),p=e=>wt.test(e),se=e=>Z(e,Ct),wn=e=>Z(e,Nn),nt=e=>Z(e,kt),vn=e=>Z(e,Nt),kn=e=>Z(e,jt),me=e=>Z(e,St,!0),K=(e,t,r)=>{const n=yt.exec(e);return n?n[1]?t(n[1]):r(n[2]):!1},Z=(e,t,r=!1)=>{const n=wt.exec(e);return n?n[1]?t(n[1]):r:!1},kt=e=>e==="position"||e==="percentage",jt=e=>e==="image"||e==="url",Nt=e=>e==="length"||e==="size"||e==="bg-size",Ct=e=>e==="length",jn=e=>e==="number",Nn=e=>e==="family-name",St=e=>e==="shadow",Cn=()=>{const e=P("color"),t=P("font"),r=P("text"),n=P("font-weight"),a=P("tracking"),c=P("leading"),o=P("breakpoint"),i=P("container"),l=P("spacing"),d=P("radius"),u=P("shadow"),m=P("inset-shadow"),h=P("text-shadow"),y=P("drop-shadow"),b=P("blur"),k=P("perspective"),j=P("aspect"),S=P("ease"),T=P("animate"),A=()=>["auto","avoid","all","avoid-page","page","left","right","column"],z=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],$=()=>[...z(),p,f],H=()=>["auto","hidden","clip","visible","scroll"],q=()=>["auto","contain","none"],x=()=>[p,f,l],W=()=>[X,"full","auto",...x()],Re=()=>[_,"none","subgrid",p,f],Ie=()=>["auto",{span:["full",_,p,f]},_,p,f],oe=()=>[_,"auto",p,f],De=()=>["auto","min","max","fr",p,f],ye=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],J=()=>["start","end","center","stretch","center-safe","end-safe"],Y=()=>["auto",...x()],Q=()=>[X,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...x()],g=()=>[e,p,f],$e=()=>[...z(),nt,rt,{position:[p,f]}],We=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ye=()=>["auto","cover","contain",vn,xn,{size:[p,f]}],we=()=>[je,se,U],G=()=>["","none","full",d,p,f],I=()=>["",w,se,U],ie=()=>["solid","dashed","dotted","double"],Ee=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],O=()=>[w,je,nt,rt],Le=()=>["","none",b,p,f],le=()=>["n