Files
contractors-list/release/assets/contractors-list-web-part_0ba42e3fa82928db811b.js
2026-07-27 14:49:43 +05:00

1 line
34 KiB
JavaScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
define("803b4696-0af0-45a3-b621-4c9fda238fcb_0.0.1",["react","react-dom","@microsoft/sp-core-library","@microsoft/sp-property-pane","@microsoft/sp-webpart-base","@microsoft/sp-http"],(e,t,n,a,i,r)=>(()=>{"use strict";var o={676:e=>{e.exports=n},909:e=>{e.exports=r},877:e=>{e.exports=a},642:e=>{e.exports=i},959:t=>{t.exports=e},398:e=>{e.exports=t}},s={};function c(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return o[e](n,n.exports,c),n.exports}c.d=(e,t)=>{for(var n in t)c.o(t,n)&&!c.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},c.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),c.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),c.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var d={};return(()=>{c.r(d),c.d(d,{default:()=>J});var e=function(t,n){return e=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},e(t,n)};function t(t,n){if("function"!=typeof n&&null!==n)throw new TypeError("Class extends value "+String(n)+" is not a constructor or null");function a(){this.constructor=t}e(t,n),t.prototype=null===n?Object.create(n):(a.prototype=n.prototype,new a)}function n(e,t,n,a){return new(n||(n=Promise))(function(i,r){function o(e){try{c(a.next(e))}catch(e){r(e)}}function s(e){try{c(a.throw(e))}catch(e){r(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n(function(e){e(t)})).then(o,s)}c((a=a.apply(e,t||[])).next())})}function a(e,t){var n,a,i,r,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return r={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(r[Symbol.iterator]=function(){return this}),r;function s(r){return function(s){return function(r){if(n)throw new TypeError("Generator is already executing.");for(;o;)try{if(n=1,a&&(i=2&r[0]?a.return:r[0]?a.throw||((i=a.return)&&i.call(a),0):a.next)&&!(i=i.call(a,r[1])).done)return i;switch(a=0,i&&(r=[2&r[0],i.value]),r[0]){case 0:case 1:i=r;break;case 4:return o.label++,{value:r[1],done:!1};case 5:o.label++,a=r[1],r=[0];continue;case 7:r=o.ops.pop(),o.trys.pop();continue;default:if(!((i=(i=o.trys).length>0&&i[i.length-1])||6!==r[0]&&2!==r[0])){o=0;continue}if(3===r[0]&&(!i||r[1]>i[0]&&r[1]<i[3])){o.label=r[1];break}if(6===r[0]&&o.label<i[1]){o.label=i[1],i=r;break}if(i&&o.label<i[2]){o.label=i[2],o.ops.push(r);break}i[2]&&o.ops.pop(),o.trys.pop();continue}r=t.call(e,o)}catch(e){r=[6,e],a=0}finally{n=i=0}if(5&r[0])throw r[1];return{value:r[0]?r[1]:void 0,done:!0}}([r,s])}}}Object.create,Object.create;var i,r,o,s=c(959),l=c(398),u=c(676),f=c(877),p=c(642),m=function(){return m=Object.assign||function(e){for(var t,n=1,a=arguments.length;n<a;n++)for(var i in t=arguments[n])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},m.apply(this,arguments)},_="undefined"==typeof window?c.g:window,h=_&&_.CSPSettings&&_.CSPSettings.nonce,b=((o=_.__themeState__||{theme:void 0,lastStyleElement:void 0,registeredStyles:[]}).runState||(o=m(m({},o),{perf:{count:0,duration:0},runState:{flushTimer:0,mode:0,buffer:[]}})),o.registeredThemableStyles||(o=m(m({},o),{registeredThemableStyles:[]})),_.__themeState__=o,o),g=/[\'\"]\[theme:\s*(\w+)\s*(?:\,\s*default:\s*([\\"\']?[\.\,\(\)\#\-\s\w]*[\.\,\(\)\#\-\w][\"\']?))?\s*\][\'\"]/g,v=function(){return"undefined"!=typeof performance&&performance.now?performance.now():Date.now()};function y(e){var t=v();e();var n=v();b.perf.duration+=n-t}function S(e,t){b.loadStyles?b.loadStyles(D(e).styleString,e):function(e){if("undefined"!=typeof document){var t=document.getElementsByTagName("head")[0],n=document.createElement("style"),a=D(e),i=a.styleString,r=a.themable;n.setAttribute("data-load-themed-styles","true"),h&&n.setAttribute("nonce",h),n.appendChild(document.createTextNode(i)),b.perf.count++,t.appendChild(n);var o=document.createEvent("HTMLEvents");o.initEvent("styleinsert",!0,!1),o.args={newStyle:n},document.dispatchEvent(o);var s={styleElement:n,themableStyle:e};r?b.registeredThemableStyles.push(s):b.registeredStyles.push(s)}}(e)}function D(e){var t=b.theme,n=!1;return{styleString:(e||[]).map(function(e){var a=e.theme;if(a){n=!0;var i=t?t[a]:void 0,r=e.defaultValue||"inherit";return t&&!i&&console,i||r}return e.rawString}).join(""),themable:n}}i=':root{--navy-950:#0a1b30;--navy-900:#0f2440;--navy-800:#1b3a5c;--navy-700:#244b73;--navy-600:#2d5c8a;--navy-100:#e8eef4;--navy-50:#f4f7fa;--gold-600:#b8881a;--gold-500:#d4a01e;--gold-400:#e5b635;--gold-300:#f0cc5e;--gold-100:#fdf5e0;--gold-50:#fefbf0;--gray-900:#111827;--gray-700:#374151;--gray-500:#6b7280;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--red-500:#dc2626;--red-50:#fef2f2;--green-600:#15803d;--green-50:#f0fdf4;--blue-600:#2563eb;--blue-50:#eff6ff;--amber-700:#854d0e;--sh-1:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);--sh-2:0 4px 16px rgba(15,36,64,.07);--sh-3:0 12px 32px rgba(15,36,64,.1);--sh-gold:0 4px 20px rgba(212,160,30,.18);--sh-modal:0 24px 70px rgba(10,27,48,.25);--r-sm:6px;--r-md:10px;--r-lg:14px}.root_80c21215{background:linear-gradient(180deg,#f6f8fa,#eef2f6);color:#111827;font-family:Inter,-apple-system,Segoe UI,sans-serif;font-size:14px;min-height:200px;padding:0 0 32px}.root_80c21215.dark_80c21215{background:#1b1a19;color:#f3f2f1}.toolbar_80c21215{align-items:center;background:linear-gradient(135deg,#0a1b30,#1b3a5c 85%);border-radius:14px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin:0 0 24px;overflow:hidden;padding:26px 30px;position:relative}.toolbar_80c21215:before{background:linear-gradient(90deg,#d4a01e,transparent 60%);bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.pageTitle_80c21215{color:#fff;font-family:Lora,Georgia,serif;font-size:24px;font-weight:600;letter-spacing:.2px;margin:0;position:relative;z-index:1}.toolbarRight_80c21215{align-items:center;display:flex;flex-wrap:wrap;gap:10px;position:relative;z-index:1}.searchBox_80c21215{align-items:center;backdrop-filter:blur(4px);background:hsla(0,0%,100%,.08);border:1px solid hsla(0,0%,100%,.22);border-radius:6px;display:flex;gap:6px;height:36px;min-width:240px;padding:0 12px;transition:.18s}.searchBox_80c21215:focus-within{background:hsla(0,0%,100%,.14);border-color:#e5b635}.searchIcon_80c21215{align-items:center;color:hsla(0,0%,100%,.4);display:flex;flex-shrink:0}.searchInput_80c21215{background:transparent;border:none;color:#fff;font-family:inherit;font-size:13px;outline:none;width:100%}.searchInput_80c21215:-ms-input-placeholder{color:hsla(0,0%,100%,.4)}.searchInput_80c21215::placeholder{color:hsla(0,0%,100%,.4)}.errorMsg_80c21215{background:#fef2f2;border:1px solid #fecaca;border-radius:10px;color:#dc2626;font-size:12.5px;line-height:1.5;margin:0 20px 16px;padding:12px 16px}.loaderWrap_80c21215{align-items:center;color:#6b7280;display:flex;font-size:13px;gap:10px;justify-content:center;padding:48px 24px}.spinner_80c21215{animation:spin_80c21215 .7s linear infinite;border:2px solid #e5e7eb;border-radius:50%;border-top-color:#d4a01e;flex-shrink:0;height:18px;width:18px}@keyframes spin_80c21215{to{transform:rotate(1turn)}}.emptyState_80c21215{align-items:center;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:64px 24px;text-align:center}.emptyIcon_80c21215{color:#d1d5db;margin-bottom:8px}.emptyTitle_80c21215{color:#6b7280;font-family:Lora,Georgia,serif;font-size:18px;font-weight:600;margin:0}.emptyText_80c21215{color:#9ca3af;font-size:13px;margin:0}.tableWrapper_80c21215{overflow-x:auto;padding:0 20px 20px}.table_80c21215{background:#fff;border:1px solid #e5e7eb;border-collapse:collapse;border-radius:14px;box-shadow:0 1px 2px rgba(15,36,64,.04),0 1px 3px rgba(15,36,64,.06);font-size:13.5px;overflow:hidden;width:100%}.tableHead_80c21215 th{background:#f9fafb;border-bottom:1px solid #e5e7eb;color:#9ca3af;font-size:10.5px;font-weight:600;letter-spacing:1.2px;padding:13px 18px;text-align:left;text-transform:uppercase;white-space:nowrap}.binCol_80c21215{width:160px}.tableRow_80c21215{border-bottom:1px solid #f3f4f6;transition:.12s}.tableRow_80c21215:last-child{border-bottom:0}.tableRow_80c21215:hover{background:#fefbf0}.tableRow_80c21215 td{color:#374151;padding:15px 18px;vertical-align:middle}.contractorName_80c21215{color:#0f2440;font-size:14px;font-weight:500;letter-spacing:.1px}.contractorFullName_80c21215{color:#9ca3af;font-size:12px;margin-top:2px}.binValue_80c21215{color:#374151;font-variant-numeric:tabular-nums}.binEmpty_80c21215{color:#9ca3af}.pagination_80c21215{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:12px 20px 0}.paginationInfo_80c21215{color:#9ca3af;font-size:12px;letter-spacing:.3px}.paginationControls_80c21215{align-items:center;display:flex;gap:4px}.pageBtn_80c21215{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#6b7280;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;height:30px;justify-content:center;min-width:30px;padding:0 6px;transition:.15s}.pageBtn_80c21215:hover:not(:disabled){border-color:#d4a01e;color:#b8881a}.pageBtn_80c21215:disabled{opacity:.35;pointer-events:none}.pageBtnActive_80c21215{background:#0f2440;border-color:#0f2440;color:#f0cc5e;font-weight:600}.pageBtnActive_80c21215:hover{background:#1b3a5c;border-color:#1b3a5c;color:#f0cc5e}.pageEllipsis_80c21215{color:#9ca3af;height:30px;justify-content:center;min-width:30px;-webkit-user-select:none;-ms-user-select:none;user-select:none}.btnPrimary_80c21215,.pageEllipsis_80c21215{align-items:center;display:inline-flex;font-size:13px}.btnPrimary_80c21215{background:#1b3a5c;border:1px solid #1b3a5c;border-radius:6px;color:#fff;cursor:pointer;flex-shrink:0;font-family:inherit;font-weight:500;gap:7px;letter-spacing:.15px;padding:9px 18px;transition:.18s;white-space:nowrap}.btnPrimary_80c21215:hover:not(:disabled){background:#244b73;box-shadow:0 4px 16px rgba(15,36,64,.07)}.btnPrimary_80c21215:disabled{cursor:not-allowed;opacity:.5}.btnSecondary_80c21215{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1b3a5c;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:7px;padding:9px 18px;transition:.18s;white-space:nowrap}.btnSecondary_80c21215:hover:not(:disabled){border-color:#d4a01e;color:#0f2440}.btnSecondary_80c21215:disabled{cursor:not-allowed;opacity:.5}.btnDanger_80c21215{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#dc2626;cursor:pointer;display:inline-flex;font-family:inherit;font-size:13px;font-weight:500;gap:7px;padding:9px 18px;transition:.18s}.btnDanger_80c21215:hover:not(:disabled){background:#fef2f2;border-color:#dc2626}.btnDanger_80c21215:disabled{cursor:not-allowed;opacity:.5}.btnEdit_80c21215{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;height:33px;justify-content:center;padding:0;transition:.18s;width:33px}.btnEdit_80c21215:hover{background:#f4f7fa;border-color:#e5e7eb;color:#1b3a5c}.btnDeleteCard_80c21215{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#9ca3af;cursor:pointer;display:inline-flex;height:33px;justify-content:center;padding:0;transition:.18s;width:33px}.btnDeleteCard_80c21215:hover{background:#fef2f2;border-color:#dc2626;color:#dc2626}.tableActionsCol_80c21215{width:100px}.tableActions_80c21215{align-items:center;display:flex;gap:4px;justify-content:flex-end}.modalOverlay_80c21215{align-items:center;backdrop-filter:blur(6px);background:rgba(10,27,48,.5);box-sizing:border-box;display:flex;inset:0;justify-content:center;padding:16px;position:fixed;z-index:9999}.modal_80c21215{background:#fff;border-radius:14px;border-top:3px solid #d4a01e;box-shadow:0 24px 70px rgba(10,27,48,.25);display:flex;flex-direction:column;max-height:90vh;max-width:640px;overflow:hidden;width:100%}.modalSm_80c21215{max-width:420px}.modalHeader_80c21215{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:20px 24px 16px}.modalTitle_80c21215{color:#0f2440;letter-spacing:.2px}.modalTitleDanger_80c21215,.modalTitle_80c21215{font-family:Lora,Georgia,serif;font-size:22px;font-weight:600;margin:0}.modalTitleDanger_80c21215{gap:8px}.modalTitleDanger_80c21215,.warningIcon_80c21215{align-items:center;color:#dc2626;display:flex}.modalCloseBtn_80c21215{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#9ca3af;cursor:pointer;display:flex;flex-shrink:0;height:30px;justify-content:center;transition:.18s;width:30px}.modalCloseBtn_80c21215:hover:not(:disabled){background:#f3f4f6;border-color:#e5e7eb;color:#374151}.modalCloseBtn_80c21215:disabled{cursor:not-allowed;opacity:.4}.modalBody_80c21215{display:flex;flex:1;flex-direction:column;gap:16px;overflow-y:auto;padding:24px}.modalFooter_80c21215{border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:8px;justify-content:flex-end;padding:16px 24px}.formGrid_80c21215{display:grid;gap:16px 20px;grid-template-columns:1fr 1fr}@media (max-width:480px){.formGrid_80c21215{grid-template-columns:1fr}}.formGroup_80c21215{display:flex;flex-direction:column;gap:6px}.formGroupFull_80c21215{grid-column:1/-1}.formLabel_80c21215{color:#374151;font-size:12px;font-weight:500;letter-spacing:.2px}.required_80c21215{color:#b8881a}.formInput_80c21215{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:13.5px;height:38px;padding:0 13px;transition:.18s;width:100%}.formInput_80c21215:focus{border-color:#d4a01e;box-shadow:0 0 0 3px rgba(212,160,30,.12);outline:0}.formInput_80c21215:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}.formInput_80c21215:-ms-input-placeholder{color:#9ca3af}.formInput_80c21215::placeholder{color:#9ca3af}.formTextarea_80c21215{background:#fff;border:1px solid #d1d5db;border-radius:6px;box-sizing:border-box;color:#111827;font-family:inherit;font-size:13.5px;line-height:1.5;min-height:60px;padding:11px 13px;resize:vertical;transition:.18s;width:100%}.formTextarea_80c21215:focus{border-color:#d4a01e;box-shadow:0 0 0 3px rgba(212,160,30,.12);outline:0}.formTextarea_80c21215:-ms-input-placeholder{color:#9ca3af}.formTextarea_80c21215::placeholder{color:#9ca3af}.deleteText_80c21215{color:#374151;font-size:14px;line-height:1.6;margin:0}.deleteHint_80c21215{color:#9ca3af;font-size:12px;line-height:1.6;margin:8px 0 0}',void 0===(r=!0)&&(r=!1),y(function(){var e=Array.isArray(i)?i:function(e){var t=[];if(e){for(var n=0,a=void 0;a=g.exec(e);){var i=a.index;i>n&&t.push({rawString:e.substring(n,i)}),t.push({theme:a[1],defaultValue:a[2]}),n=g.lastIndex}t.push({rawString:e.substring(n)})}return t}(i),t=b.runState,n=t.mode,a=t.buffer,o=t.flushTimer;r||1===n?(a.push(e),o||(b.runState.flushTimer=setTimeout(function(){b.runState.flushTimer=0,y(function(){var e=b.runState.buffer.slice();b.runState.buffer=[];var t=[].concat.apply([],e);t.length>0&&S(t)})},0))):S(e)});const I="errorMsg_80c21215",x="pageBtn_80c21215",C="pageEllipsis_80c21215",O="btnPrimary_80c21215",w="btnSecondary_80c21215",E="modalOverlay_80c21215",A="modal_80c21215",L="modalHeader_80c21215",k="modalBody_80c21215",M="modalFooter_80c21215",P="formGroup_80c21215",T="formGroupFull_80c21215",U="formLabel_80c21215",F="required_80c21215",H="formInput_80c21215";var R=c(909),N=["Заказчик","Поставщик"],B=function(){return s.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor"},s.createElement("path",{d:"M4.293 4.293a1 1 0 0 1 1.414 0L10 8.586l4.293-4.293a1 1 0 1 1 1.414 1.414L11.414 10l4.293 4.293a1 1 0 0 1-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 0 1-1.414-1.414L8.586 10 4.293 5.707a1 1 0 0 1 0-1.414z"}))};const j=function(e){function i(t){var i,r,o,s,c,d,l,u,f,p,m=e.call(this,t)||this;m._handleKeyDown=function(e){"Escape"!==e.key||m.state.saving||m.props.onClose()},m._handleSave=function(){return n(m,void 0,void 0,function(){var e,t,n,i,r,o,s,c,d,l,u,f;return a(this,function(a){switch(a.label){case 0:if(e=this.state,t=e.fullName,n=e.name,i=e.contractorType,r=e.bin,o=e.kbe,s=e.oked,c=e.country,d=e.address,l=e.actualAddress,u=e.phone,!n.trim()||!t.trim())return this.setState({error:"Название и полное наименование обязательны для заполнения"}),[2];this.setState({saving:!0,error:null}),a.label=1;case 1:return a.trys.push([1,3,,4]),[4,this.props.onSave({fullName:t.trim(),name:n.trim(),contractorType:i.trim()||null,bin:r.trim()||null,kbe:o.trim()||null,oked:s.trim()||null,country:c.trim()||null,address:d.trim()||null,actualAddress:l.trim()||null,phone:u.trim()||null})];case 2:return a.sent(),[3,4];case 3:return f=a.sent(),this.setState({saving:!1,error:f.message}),[3,4];case 4:return[2]}})})};var _=t.contractor;return m.state={fullName:null!==(i=null==_?void 0:_.fullName)&&void 0!==i?i:"",name:null!==(r=null==_?void 0:_.name)&&void 0!==r?r:"",contractorType:null!==(o=null==_?void 0:_.contractorType)&&void 0!==o?o:"",bin:null!==(s=null==_?void 0:_.bin)&&void 0!==s?s:"",kbe:null!==(c=null==_?void 0:_.kbe)&&void 0!==c?c:"",oked:null!==(d=null==_?void 0:_.oked)&&void 0!==d?d:"",country:null!==(l=null==_?void 0:_.country)&&void 0!==l?l:"",address:null!==(u=null==_?void 0:_.address)&&void 0!==u?u:"",actualAddress:null!==(f=null==_?void 0:_.actualAddress)&&void 0!==f?f:"",phone:null!==(p=null==_?void 0:_.phone)&&void 0!==p?p:"",saving:!1,error:null},m}return t(i,e),i.prototype.componentDidMount=function(){document.addEventListener("keydown",this._handleKeyDown)},i.prototype.componentWillUnmount=function(){document.removeEventListener("keydown",this._handleKeyDown)},i.prototype.render=function(){var e=this,t=this.props,n=t.contractor,a=t.onClose,i=this.state,r=i.fullName,o=i.name,c=i.contractorType,d=i.bin,l=i.kbe,u=i.oked,f=i.country,p=i.address,m=i.actualAddress,_=i.phone,h=i.saving,b=i.error,g=!!n;return s.createElement("div",{className:E},s.createElement("div",{className:A,onClick:function(e){return e.stopPropagation()},role:"dialog","aria-modal":"true"},s.createElement("div",{className:L},s.createElement("h3",{className:"modalTitle_80c21215"},g?"Редактировать контрагента":"Новый контрагент"),s.createElement("button",{className:"modalCloseBtn_80c21215",onClick:a,disabled:h,title:"Закрыть"},s.createElement(B,null))),s.createElement("div",{className:k},b&&s.createElement("div",{className:I},b),s.createElement("div",{className:P},s.createElement("label",{className:U},"Название ",s.createElement("span",{className:F},"*")),s.createElement("input",{type:"text",className:H,value:o,onChange:function(t){return e.setState({name:t.target.value,error:null})},placeholder:"Например: Arx Minerals (Аркс Минералс) ТОО",autoFocus:!0})),s.createElement("div",{className:P},s.createElement("label",{className:U},"Полное наименование ",s.createElement("span",{className:F},"*")),s.createElement("textarea",{className:"formTextarea_80c21215",value:r,onChange:function(t){return e.setState({fullName:t.target.value,error:null})},placeholder:'Например: ТОО "Arx Minerals (Аркс Минералс)"',rows:2})),s.createElement("div",{className:"formGrid_80c21215"},s.createElement("div",{className:P},s.createElement("label",{className:U},"БИН"),s.createElement("input",{type:"text",className:H,value:d,onChange:function(t){return e.setState({bin:t.target.value.replace(/\D/g,"").slice(0,12)})},placeholder:"121140000288",inputMode:"numeric",maxLength:12})),s.createElement("div",{className:P},s.createElement("label",{className:U},"Тип контрагента"),s.createElement("select",{className:H,value:c,onChange:function(t){return e.setState({contractorType:t.target.value})}},s.createElement("option",{value:""},"— Не выбрано —"),N.map(function(e){return s.createElement("option",{key:e,value:e},e)}))),s.createElement("div",{className:P},s.createElement("label",{className:U},"КБЕ"),s.createElement("input",{type:"text",className:H,value:l,onChange:function(t){return e.setState({kbe:t.target.value})}})),s.createElement("div",{className:P},s.createElement("label",{className:U},"ОКЭД"),s.createElement("input",{type:"text",className:H,value:u,onChange:function(t){return e.setState({oked:t.target.value})}})),s.createElement("div",{className:P},s.createElement("label",{className:U},"Страна"),s.createElement("input",{type:"text",className:H,value:f,onChange:function(t){return e.setState({country:t.target.value})}})),s.createElement("div",{className:P},s.createElement("label",{className:U},"Телефон"),s.createElement("input",{type:"text",className:H,value:_,onChange:function(t){return e.setState({phone:t.target.value})}})),s.createElement("div",{className:"".concat(P," ").concat(T)},s.createElement("label",{className:U},"Адрес"),s.createElement("input",{type:"text",className:H,value:p,onChange:function(t){return e.setState({address:t.target.value})}})),s.createElement("div",{className:"".concat(P," ").concat(T)},s.createElement("label",{className:U},"Фактический адрес"),s.createElement("input",{type:"text",className:H,value:m,onChange:function(t){return e.setState({actualAddress:t.target.value})}})))),s.createElement("div",{className:M},s.createElement("button",{className:w,onClick:a,disabled:h},"Отмена"),s.createElement("button",{className:O,onClick:this._handleSave,disabled:h},h?"Сохранение...":g?"Сохранить":"Создать"))))},i}(s.Component);var V=function(){return s.createElement("svg",{width:"24",height:"24",viewBox:"0 0 20 20",fill:"currentColor"},s.createElement("path",{fillRule:"evenodd",d:"M8.485 2.495c.673-1.167 2.357-1.167 3.03 0l6.28 10.875c.673 1.167-.17 2.625-1.516 2.625H3.72c-1.347 0-2.189-1.458-1.515-2.625L8.485 2.495zM10 6a.75.75 0 0 1 .75.75v3.5a.75.75 0 0 1-1.5 0v-3.5A.75.75 0 0 1 10 6zm0 9a1 1 0 1 0 0-2 1 1 0 0 0 0 2z",clipRule:"evenodd"}))};const z=function(e){function i(t){var i=e.call(this,t)||this;return i._handleKeyDown=function(e){"Escape"!==e.key||i.state.deleting||i.props.onClose(),"Enter"!==e.key||i.state.deleting||i._handleConfirm()},i._handleConfirm=function(){return n(i,void 0,void 0,function(){var e;return a(this,function(t){switch(t.label){case 0:this.setState({deleting:!0,error:null}),t.label=1;case 1:return t.trys.push([1,3,,4]),[4,this.props.onConfirm()];case 2:return t.sent(),[3,4];case 3:return e=t.sent(),this.setState({deleting:!1,error:e.message}),[3,4];case 4:return[2]}})})},i.state={deleting:!1,error:null},i}return t(i,e),i.prototype.componentDidMount=function(){document.addEventListener("keydown",this._handleKeyDown)},i.prototype.componentWillUnmount=function(){document.removeEventListener("keydown",this._handleKeyDown)},i.prototype.render=function(){var e=this.props,t=e.contractorName,n=e.onClose,a=this.state,i=a.deleting,r=a.error;return s.createElement("div",{className:E,onClick:i?void 0:n},s.createElement("div",{className:"".concat(A," ").concat("modalSm_80c21215"),onClick:function(e){return e.stopPropagation()},role:"dialog","aria-modal":"true"},s.createElement("div",{className:L},s.createElement("div",{className:"modalTitleDanger_80c21215"},s.createElement("span",{className:"warningIcon_80c21215"},s.createElement(V,null)),"Удалить контрагента")),s.createElement("div",{className:k},r&&s.createElement("div",{className:I},r),s.createElement("p",{className:"deleteText_80c21215"},"Вы уверены, что хотите удалить контрагента"," ",s.createElement("strong",null,"«",t,"»"),"?"),s.createElement("p",{className:"deleteHint_80c21215"},"Контрагент будет удалён из справочника.")),s.createElement("div",{className:M},s.createElement("button",{className:w,onClick:n,disabled:i},"Отмена"),s.createElement("button",{className:"btnDanger_80c21215",onClick:this._handleConfirm,disabled:i},i?"Удаление...":"Удалить"))))},i}(s.Component);var G=function(){return s.createElement("svg",{width:"16",height:"16",viewBox:"0 0 20 20",fill:"currentColor"},s.createElement("path",{d:"M12.9 14.32a8 8 0 1 1 1.41-1.41l5.35 5.33-1.42 1.42-5.33-5.34zM8 14A6 6 0 1 0 8 2a6 6 0 0 0 0 12z"}))},K=function(){return s.createElement("svg",{width:"14",height:"14",viewBox:"0 0 20 20",fill:"currentColor"},s.createElement("path",{d:"M10 3a1 1 0 0 1 1 1v5h5a1 1 0 1 1 0 2h-5v5a1 1 0 1 1-2 0v-5H4a1 1 0 1 1 0-2h5V4a1 1 0 0 1 1-1z"}))},W=function(){return s.createElement("svg",{width:"48",height:"48",viewBox:"0 0 48 48",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},s.createElement("rect",{x:"8",y:"18",width:"32",height:"24",rx:"1"}),s.createElement("path",{d:"M4 20L24 6L44 20"}),s.createElement("rect",{x:"19",y:"30",width:"10",height:"12",rx:"1"}),s.createElement("rect",{x:"12",y:"24",width:"6",height:"6",rx:"1"}),s.createElement("rect",{x:"30",y:"24",width:"6",height:"6",rx:"1"}))},q=function(){return s.createElement("svg",{width:"13",height:"13",viewBox:"0 0 20 20",fill:"currentColor"},s.createElement("path",{d:"M17.04 2.96a3.28 3.28 0 0 0-4.64 0L3.29 12.07a1 1 0 0 0-.27.51l-1 5a1 1 0 0 0 1.18 1.18l5-1a1 1 0 0 0 .51-.27l9.11-9.11a3.28 3.28 0 0 0 0-4.64zm-3.23 1.41a1.28 1.28 0 0 1 1.82 1.82l-1.28 1.28-1.82-1.82 1.28-1.28zM4.9 13.17l7.18-7.18 1.82 1.82-7.18 7.18-3.18.64.64-3.18z"}))},Q=function(){return s.createElement("svg",{width:"13",height:"13",viewBox:"0 0 20 20",fill:"currentColor"},s.createElement("path",{d:"M8.5 3a1 1 0 0 0-1 1H5a1 1 0 0 0 0 2h10a1 1 0 1 0 0-2h-2.5a1 1 0 0 0-1-1h-3zM5 7v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V7H5zm3 2a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0v-5.5A.75.75 0 0 1 8 9zm4 0a.75.75 0 0 1 .75.75v5.5a.75.75 0 0 1-1.5 0v-5.5A.75.75 0 0 1 12 9z"}))};const Y=function(e){function i(t){var i=e.call(this,t)||this;return i._searchTimeout=null,i._handleSearchInput=function(e){var t=e.target.value;i.setState({searchInput:t,page:1}),i._searchTimeout&&clearTimeout(i._searchTimeout),i._searchTimeout=setTimeout(function(){i._loadContractors(1,t)},400)},i._handlePageChange=function(e){i.setState({page:e}),i._loadContractors(e,i.state.searchInput)},i._handleModalSave=function(e){return n(i,void 0,void 0,function(){var t,n,i,r,o,s;return a(this,function(a){switch(a.label){case 0:return t=this.props,n=t.httpClient,i=t.apiBaseUrl,(r=this.state.editingContractor)?[4,n.fetch("".concat(i,"/Contractors/").concat(r.id),R.AadHttpClient.configurations.v1,{method:"PUT",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})]:[3,2];case 1:return s=a.sent(),[3,4];case 2:return[4,n.fetch("".concat(i,"/Contractors"),R.AadHttpClient.configurations.v1,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)})];case 3:s=a.sent(),a.label=4;case 4:if(!(o=s).ok)throw new Error("Ошибка ".concat(o.status,": ").concat(o.statusText));return this.setState({showModal:!1,editingContractor:null,page:1}),[4,this._loadContractors(1,this.state.searchInput)];case 5:return a.sent(),[2]}})})},i._handleDeleteConfirm=function(){return n(i,void 0,void 0,function(){var e,t,n,i,r,o,s,c;return a(this,function(a){switch(a.label){case 0:return e=this.props,t=e.httpClient,n=e.apiBaseUrl,i=this.state,r=i.deletingContractor,o=i.page,s=i.searchInput,r?[4,t.fetch("".concat(n,"/Contractors/").concat(r.id),R.AadHttpClient.configurations.v1,{method:"DELETE"})]:[2];case 1:if(!(c=a.sent()).ok)throw new Error("Ошибка ".concat(c.status,": ").concat(c.statusText));return this.setState({deletingContractor:null}),[4,this._loadContractors(o,s)];case 2:return a.sent(),[2]}})})},i.state={contractors:[],totalCount:0,totalPages:1,page:1,loading:!0,error:null,searchInput:"",showModal:!1,editingContractor:null,deletingContractor:null},i}return t(i,e),i.prototype.componentDidMount=function(){this._loadContractors(1,"")},i.prototype._loadContractors=function(e,t){return n(this,void 0,void 0,function(){var n,i,r,o,s,c,d,l;return a(this,function(a){switch(a.label){case 0:n=this.props,i=n.httpClient,r=n.apiBaseUrl,this.setState({loading:!0,error:null}),a.label=1;case 1:return a.trys.push([1,4,,5]),o=t?"&name=".concat(encodeURIComponent(t)):"",s="".concat(r,"/Contractors?page=").concat(e,"&pageSize=").concat(20).concat(o),[4,i.get(s,R.AadHttpClient.configurations.v1)];case 2:if(!(c=a.sent()).ok)throw new Error("Ошибка ".concat(c.status,": ").concat(c.statusText));return[4,c.json()];case 3:return d=a.sent(),this.setState({contractors:d.items,totalCount:d.totalCount,totalPages:d.totalPages,loading:!1}),[3,5];case 4:return l=a.sent(),this.setState({loading:!1,error:l.message}),[3,5];case 5:return[2]}})})},i.prototype._renderPageNumbers=function(e,t){var n=this,a=function(t){return s.createElement("button",{key:t,className:"".concat(x," ").concat(t===e?"pageBtnActive_80c21215":""),onClick:function(){return n._handlePageChange(t)}},t)};if(t<=7)return Array.from({length:t},function(e,t){return a(t+1)});var i=[a(1)];e>3&&i.push(s.createElement("span",{key:"e1",className:C},"…"));for(var r=Math.max(2,e-1),o=Math.min(t-1,e+1),c=r;c<=o;c++)i.push(a(c));return e<t-2&&i.push(s.createElement("span",{key:"e2",className:C},"…")),i.push(a(t)),i},i.prototype.render=function(){var e=this,t=this.props.isDarkTheme,n=this.state,a=n.contractors,i=n.totalCount,r=n.totalPages,o=n.page,c=n.loading,d=n.error,l=n.searchInput,u=n.showModal,f=n.editingContractor,p=n.deletingContractor,m=Math.min(o,r),_=0===i?0:20*(m-1)+1,h=Math.min(20*m,i);return s.createElement("div",{className:"".concat("root_80c21215"," ").concat(t?"dark_80c21215":"")},s.createElement("div",{className:"toolbar_80c21215"},s.createElement("h2",{className:"pageTitle_80c21215"},"Контрагенты"),s.createElement("div",{className:"toolbarRight_80c21215"},s.createElement("div",{className:"searchBox_80c21215"},s.createElement("span",{className:"searchIcon_80c21215"},s.createElement(G,null)),s.createElement("input",{type:"text",className:"searchInput_80c21215",placeholder:"Поиск по названию...",value:l,onChange:this._handleSearchInput})),s.createElement("button",{className:O,onClick:function(){return e.setState({showModal:!0,editingContractor:null})}},s.createElement(K,null),s.createElement("span",null,"Добавить контрагента")))),d&&s.createElement("div",{className:I},d),c&&s.createElement("div",{className:"loaderWrap_80c21215"},s.createElement("div",{className:"spinner_80c21215"}),s.createElement("span",null,"Загрузка...")),!c&&!d&&0===i&&s.createElement("div",{className:"emptyState_80c21215"},s.createElement("div",{className:"emptyIcon_80c21215"},s.createElement(W,null)),s.createElement("p",{className:"emptyTitle_80c21215"},l?"Ничего не найдено":"Контрагентов пока нет"),!l&&s.createElement(s.Fragment,null,s.createElement("p",{className:"emptyText_80c21215"},"Добавьте первого контрагента, нажав кнопку ниже"),s.createElement("button",{className:O,onClick:function(){return e.setState({showModal:!0,editingContractor:null})}},s.createElement(K,null),s.createElement("span",null,"Добавить контрагента")))),!c&&i>0&&s.createElement("div",{className:"tableWrapper_80c21215"},s.createElement("table",{className:"table_80c21215"},s.createElement("thead",{className:"tableHead_80c21215"},s.createElement("tr",null,s.createElement("th",null,"Название"),s.createElement("th",{className:"binCol_80c21215"},"БИН"),s.createElement("th",{className:"tableActionsCol_80c21215"},"Действия"))),s.createElement("tbody",null,a.map(function(t){return s.createElement("tr",{key:t.id,className:"tableRow_80c21215"},s.createElement("td",null,s.createElement("div",{className:"contractorName_80c21215"},t.name),s.createElement("div",{className:"contractorFullName_80c21215"},t.fullName)),s.createElement("td",null,t.bin?s.createElement("span",{className:"binValue_80c21215"},t.bin):s.createElement("span",{className:"binEmpty_80c21215"},"—")),s.createElement("td",null,s.createElement("div",{className:"tableActions_80c21215"},s.createElement("button",{className:"btnEdit_80c21215",title:"Редактировать",onClick:function(){return e.setState({showModal:!0,editingContractor:t})}},s.createElement(q,null)),s.createElement("button",{className:"btnDeleteCard_80c21215",title:"Удалить",onClick:function(){return e.setState({deletingContractor:t})}},s.createElement(Q,null)))))})))),!c&&i>0&&s.createElement("div",{className:"pagination_80c21215"},s.createElement("span",{className:"paginationInfo_80c21215"},_,"–",h," из ",i),r>1&&s.createElement("div",{className:"paginationControls_80c21215"},s.createElement("button",{className:x,disabled:1===m,onClick:function(){return e._handlePageChange(m-1)}},"‹"),this._renderPageNumbers(m,r),s.createElement("button",{className:x,disabled:m===r,onClick:function(){return e._handlePageChange(m+1)}},"›"))),u&&s.createElement(j,{contractor:f,onSave:this._handleModalSave,onClose:function(){return e.setState({showModal:!1,editingContractor:null})}}),p&&s.createElement(z,{contractorName:p.name,onConfirm:this._handleDeleteConfirm,onClose:function(){return e.setState({deletingContractor:null})}}))},i}(s.Component),J=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t._isDarkTheme=!1,t}return t(i,e),i.prototype.onInit=function(){return n(this,void 0,void 0,function(){var t,n;return a(this,function(a){switch(a.label){case 0:return[4,e.prototype.onInit.call(this)];case 1:return a.sent(),t=this.properties.apiClientId||"9232d9e2-9807-4753-808f-07250e5474b0",n=this,[4,this.context.aadHttpClientFactory.getClient(t)];case 2:return n._httpClient=a.sent(),[2]}})})},i.prototype.render=function(){var e=s.createElement(Y,{isDarkTheme:this._isDarkTheme,httpClient:this._httpClient,apiBaseUrl:this.properties.apiBaseUrl||"https://api.tnsu.kz"});l.render(e,this.domElement)},i.prototype.onThemeChanged=function(e){if(e){this._isDarkTheme=!!e.isInverted;var t=e.semanticColors;t&&(this.domElement.style.setProperty("--bodyText",t.bodyText||null),this.domElement.style.setProperty("--link",t.link||null),this.domElement.style.setProperty("--linkHovered",t.linkHovered||null))}},i.prototype.onDispose=function(){l.unmountComponentAtNode(this.domElement)},Object.defineProperty(i.prototype,"dataVersion",{get:function(){return u.Version.parse("1.0")},enumerable:!1,configurable:!0}),i.prototype.getPropertyPaneConfiguration=function(){return{pages:[{header:{description:"Настройки веб-части"},groups:[{groupName:"API",groupFields:[(0,f.PropertyPaneTextField)("apiClientId",{label:"API Client ID (Azure AD)",placeholder:"9232d9e2-9807-4753-808f-07250e5474b0"}),(0,f.PropertyPaneTextField)("apiBaseUrl",{label:"Базовый URL API",placeholder:"https://api.tnsu.kz"})]}]}]}},i}(p.BaseClientSideWebPart)})(),d})());