@artibet/react-mui-components 2.14.3 → 2.15.0

Sign up to get free protection for your applications and to get access to all the features.
package/modals/index.js CHANGED
@@ -1 +1 @@
1
- import e from"react";import{TextField as r,Typography as n,Autocomplete as t,Chip as o,Dialog as l,DialogTitle as a,DialogContent as i,DialogActions as u,Button as d,Stack as c,DialogContentText as s}from"@mui/material";import{Controller as m,useForm as f}from"react-hook-form";import{yupResolver as v}from"@hookform/resolvers/yup";import*as b from"yup";import{ChromePicker as p}from"react-color";import"date-fns";import"date-fns/locale";import"axios";import E from"react-number-format";import{AdapterDateFns as h}from"@mui/x-date-pickers/AdapterDateFns";import{LocalizationProvider as g}from"@mui/x-date-pickers/LocalizationProvider";import{DateTimePicker as y,DatePicker as C}from"@mui/x-date-pickers";import q from"date-fns/locale/el";import"@mui/icons-material";function x(){return x=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var n=arguments[r];for(var t in n)Object.prototype.hasOwnProperty.call(n,t)&&(e[t]=n[t])}return e},x.apply(this,arguments)}function S(e,r){if(null==e)return{};var n,t,o=function(e,r){if(null==e)return{};var n,t,o={},l=Object.keys(e);for(t=0;t<l.length;t++)n=l[t],r.indexOf(n)>=0||(o[n]=e[n]);return o}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)n=l[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function w(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var t,o,l,a,i=[],u=!0,d=!1;try{if(l=(n=n.call(e)).next,0===r){if(Object(n)!==n)return;u=!1}else for(;!(u=(t=l.call(n)).done)&&(i.push(t.value),i.length!==r);u=!0);}catch(e){d=!0,o=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw o}}return i}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return k(e,r);var n=Object.prototype.toString.call(e).slice(8,-1);"Object"===n&&e.constructor&&(n=e.constructor.name);if("Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return k(e,r)}(e,r)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function k(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,t=new Array(r);n<r;n++)t[n]=e[n];return t}var T=["form","name","label","maxLength","required","disabled","autofocus"],V=function(n){var t=n.form,o=n.name,l=n.label,a=n.maxLength,i=void 0===a?255:a,u=n.required,d=void 0!==u&&u,c=n.disabled,s=void 0!==c&&c,f=n.autofocus,v=void 0!==f&&f,b=S(n,T),p=t.control,E=t.formState.errors;return e.createElement(m,{name:o,control:p,rules:{required:d,disabled:s},render:function(n){var t,a,u=n.field,c=u.onChange,m=u.onBlur,f=u.value;return e.createElement(r,x({required:d,label:l,value:f,onChange:c,onBlur:m,error:Boolean(null===(t=E[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=E[o])||void 0===a?void 0:a.message,variant:"outlined",disabled:s,autoFocus:v,inputProps:{maxLength:i}},b))}})},L=["form","name","label","required","disabled","autofocus"],D=function(n){var t=n.form,o=n.name,l=void 0===o?"email":o,a=n.label,i=void 0===a?"E-mail":a,u=n.required,d=void 0===u||u,c=n.disabled,s=void 0!==c&&c,f=n.autofocus,v=void 0!==f&&f,b=S(n,L),p=t.control,E=t.formState.errors;return e.createElement(m,{name:l,control:p,rules:{required:d,disabled:s},render:function(n){var t,o,a=n.field,u=a.onChange,c=a.onBlur,m=a.value;return e.createElement(r,x({required:d,label:i,value:m,onChange:u,onBlur:c,error:Boolean(null===(t=E[l])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(o=E[l])||void 0===o?void 0:o.message,variant:"outlined",disabled:s,autoFocus:v},b))}})},B=function(r){var t=r.label,o=void 0===t?"":t,l=r.color,a=void 0===l?"white":l,i=r.backgroundColor,u=void 0===i?"#888888":i,d=r.paddingX,c=void 0===d?"10px":d,s=r.paddingY,m=void 0===s?"5px":s,f=r.borderRadius,v=void 0===f?"10px":f,b=r.fontSize,p=void 0===b?"14px":b,E=r.width,h={text:{display:"inline-block",textAlign:"center",backgroundColor:u,paddingX:c,paddingY:m,borderRadius:v,width:void 0===E?"auto":E,color:a,fontSize:p}};return e.createElement(n,{sx:h.text},o)},K=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],O=function(n){var o=n.form,l=n.name,a=n.label,i=n.required,u=void 0!==i&&i,d=n.disabled,c=void 0!==d&&d,s=n.options,f=void 0===s?[]:s,v=n.valueKey,b=void 0===v?"id":v;n.labelKey;var p=n.maxLength,E=void 0===p?255:p,h=n.autofocus,g=void 0!==h&&h,y=n.noOptionsText,C=void 0===y?"Δεν υπάρχουν επιλογές":y,q=S(n,K),k=w(e.useState(null),2),T=k[0],V=k[1],L=o.watch(l);e.useEffect((function(){V(f.find((function(e){return e[b]===L}))||null)}),[L]);var D=o.control,B=o.formState.errors;return e.createElement(m,{name:l,control:D,rules:{required:u,disabled:c},render:function(n){var o=n.field,i=o.onChange,d=o.onBlur;return o.value,e.createElement(t,{value:T,required:u,onChange:function(e,r){return i(r?r[b]:null)},options:f,isOptionEqualToValue:function(e,r){return e[b]===r[b]},noOptionsText:C,renderInput:function(n){var t,o;return e.createElement(r,x({label:a,required:u,disabled:c,autoFocus:g,inputProps:{maxLength:E},error:Boolean(null===(t=B[l])||void 0===t?void 0:t.message),onBlur:d,variant:"outlined",fullWidth:!0,helperText:null===(o=B[l])||void 0===o?void 0:o.message},n,q))}})}})},j=function(e){return null!=e&&""!==e},F=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],M=function(n){var l=n.form,a=n.name,i=n.label,u=n.required,d=void 0!==u&&u,c=n.disabled,s=void 0!==c&&c,f=n.options,v=void 0===f?[]:f,b=n.valueKey,p=void 0===b?"id":b,E=n.labelKey,h=void 0===E?"label":E,g=n.maxLength,y=void 0===g?255:g,C=n.autofocus,q=void 0!==C&&C,k=n.noOptionsText,T=void 0===k?"Δεν υπάρχουν επιλογές":k,V=S(n,F),L=w(e.useState([]),2),D=L[0],B=L[1],K=l.watch(a);e.useEffect((function(){B(v.filter((function(e){return function(e,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"id";return Boolean(r.find((function(r){return r[n]===e[n]})))}(e,K)})))}),[K]);var O=l.control,j=l.formState.errors;return e.createElement(m,{name:a,control:O,rules:{required:d,disabled:s},render:function(n){var l=n.field,u=l.onChange,c=l.onBlur;return l.value,e.createElement(t,{multiple:!0,value:D,required:d,onChange:function(e,r){return u(r)},options:v,isOptionEqualToValue:function(e,r){return e[p]===r[p]},noOptionsText:T,renderTags:function(r,n){return r.map((function(r,t){return e.createElement(o,x({variant:"outlined",label:r[h],size:"small"},n({index:t})))}))},renderInput:function(n){var t,o;return e.createElement(r,x({label:i,required:d,disabled:s,autoFocus:q,inputProps:{maxLength:y},error:Boolean(null===(t=j[a])||void 0===t?void 0:t.message),onBlur:c,variant:"outlined",fullWidth:!0,helperText:null===(o=j[a])||void 0===o?void 0:o.message},n,V))}})}})},N=["form","name","label","rows","required","disabled","autofocus"],A=function(n){var t=n.form,o=n.name,l=n.label,a=n.rows,i=void 0===a?5:a,u=n.required,d=void 0!==u&&u,c=n.disabled,s=void 0!==c&&c,f=n.autofocus,v=void 0!==f&&f,b=S(n,N),p=t.control,E=t.formState.errors;return e.createElement(m,{name:o,control:p,rules:{required:d,disabled:s},render:function(n){var t,a,u=n.field,c=u.onChange,m=u.onBlur,f=u.value;return e.createElement(r,x({required:d,label:l,value:f,multiline:!0,minRows:i,maxRows:i,onChange:c,onBlur:m,error:Boolean(null===(t=E[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=E[o])||void 0===a?void 0:a.message,variant:"outlined",disabled:s,autoFocus:v},b))}})},W=["form","name","label","required","disabled","autofocus"],R=function(n){var t=n.form,o=n.name,l=n.label,a=n.required,i=void 0!==a&&a,u=n.disabled,d=void 0!==u&&u;n.autofocus;var c=S(n,W),s=t.control,f=t.formState.errors,v=function(e,r){""===e.value?t.setValue(o,null):t.setValue(o,e.floatValue)};return e.createElement(m,{name:o,control:s,rules:{required:i,disabled:d},render:function(n){var t,a,u=n.field;u.onChange,u.onBlur;var s=u.value;return e.createElement(E,x({customInput:r,variant:"outlined",label:l,required:i,disabled:d,value:s,thousandSeparator:".",decimalSeparator:",",decimalScale:2,fixedDecimalScale:!0,allowNegative:!1,onValueChange:v,error:Boolean(null===(t=f[o])||void 0===t?void 0:t.message),helperText:null===(a=f[o])||void 0===a?void 0:a.message,fullWidth:!0},c))}})},I=["form","name","label","required","disabled","autofocus"],P=function(n){var t=n.form,o=n.name,l=n.label,a=n.required,i=void 0!==a&&a,u=n.disabled,d=void 0!==u&&u;n.autofocus;var c=S(n,I),s=t.control,f=t.formState.errors;return e.createElement(m,{name:o,control:s,rules:{required:i,disabled:d},render:function(n){var t=n.field,a=t.onChange;t.onBlur;var u=t.value;return e.createElement(g,{dateAdapter:h,adapterLocale:q},e.createElement(y,{label:l,inputFormat:"dd/MM/yyyy HH:mm",value:u,onChange:a,disabled:d,renderInput:function(n){var t,l;return e.createElement(r,x({},n,{required:i,error:Boolean(null===(t=f[o])||void 0===t?void 0:t.message),helperText:null===(l=f[o])||void 0===l?void 0:l.message,variant:"outlined",fullWidth:!0},c))}}))}})},z=["form","name","label","required","disabled","autofocus"],X=function(n){var t=n.form,o=n.name,l=n.label,a=n.required,i=void 0!==a&&a,u=n.disabled,d=void 0!==u&&u;n.autofocus;var c=S(n,z),s=t.control,f=t.formState.errors;return e.createElement(m,{name:o,control:s,rules:{required:i,disabled:d},render:function(n){var t=n.field,a=t.onChange;t.onBlur;var u=t.value;return e.createElement(g,{dateAdapter:h,adapterLocale:q},e.createElement(C,{label:l,inputFormat:"dd/MM/yyyy",value:u,onChange:a,disabled:d,renderInput:function(n){var t,l;return e.createElement(r,x({},n,{required:i,error:Boolean(null===(t=f[o])||void 0===t?void 0:t.message),helperText:null===(l=f[o])||void 0===l?void 0:l.message,variant:"outlined",fullWidth:!0},c))}}))}})},Y=["form","name","label","allowNegative","required","disabled","autofocus"],$=function(n){var t=n.form,o=n.name,l=n.label,a=n.allowNegative,i=void 0!==a&&a,u=n.required,d=void 0!==u&&u,c=n.disabled,s=void 0!==c&&c,f=n.autofocus,v=void 0!==f&&f,b=S(n,Y),p=t.control,h=t.formState.errors,g=function(e,r){""===e.value?t.setValue(o,null):t.setValue(o,e.floatValue)};return e.createElement(m,{name:o,control:p,rules:{required:d,disabled:s},render:function(n){var t,a,u=n.field;u.onChange,u.onBlur;var c=u.value;return e.createElement(E,x({customInput:r,variant:"outlined",label:l,required:d,disabled:s,value:c,thousandSeparator:!1,decimalSeparator:",",decimalScale:0,fixedDecimalScale:!0,allowNegative:i,onValueChange:g,error:Boolean(null===(t=h[o])||void 0===t?void 0:t.message),helperText:null===(a=h[o])||void 0===a?void 0:a.message,fullWidth:!0,autoFocus:v},b))}})},H=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.width,E=void 0===p?500:p,h=r.required,g=void 0===h||h,y=r.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k=r.maxLength,T=void 0===k?255:k,L={text:c||""},D=b.object({text:g?b.string().max(T,"Παρακαλώ πληκτρολογείστε μέχρι ".concat(T," χαρακτήρες")).required(C):b.string().max(T)}),B=f({defaultValues:L,resolver:v(D)});return e.useEffect((function(){n&&(B.clearErrors(),B.setValue("text",c||"",{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),B.handleSubmit((function(e){return s(e.text)}))())},disableRestoreFocus:!0},e.createElement(a,null,t),e.createElement(i,null,e.createElement(V,{form:B,name:"text",label:o,required:g,autofocus:!0,maxLength:T,sx:{width:E,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return s(e.text)}))},x),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))},Z=/^$|^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,U=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.width,E=void 0===p?500:p,h=r.required,g=void 0===h||h,y=r.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k=r.maxLength,T=void 0===k?255:k,V={email:c||""},L=b.object({email:g?b.string().matches(Z,"Μη έγκυρη μορφή Email").required(C):b.string().matches(Z,"Μη έγκυρη μορφή Email")}),B=f({defaultValues:V,resolver:v(L)});return e.useEffect((function(){n&&(B.clearErrors(),B.setValue("email",c||"",{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),B.handleSubmit((function(e){return s(e.email)}))())},disableRestoreFocus:!0},e.createElement(a,null,t),e.createElement(i,null,e.createElement(D,{form:B,label:o,required:g,autofocus:!0,maxLength:T,sx:{width:E,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return s(e.email)}))},x),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))};!function(e,r){void 0===r&&(r={});var n=r.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".chrome-picker {\r\n -webkit-box-shadow: none !important;\r\n -moz-box-shadow: none !important;\r\n box-shadow: none !important;\r\n}");var G=function(r){var n=r.open,t=r.onSubmit,o=r.onCancel,s=r.title,m=void 0===s?"Επιλογή Χρώματος":s,f=r.color,v=void 0===f?"#000000":f,b=r.pickerWidth,E=void 0===b?350:b,h=r.selectionTextColor,g=void 0===h?"white":h,y=r.paddingY,C=void 0===y?"10px":y,q=r.paddingX,x=void 0===q?"10px":q,S=r.okLabel,k=void 0===S?"ΚΑΤΑΧΩΡΗΣΗ":S,T=r.cancelLabel,V=void 0===T?"ΑΚΥΡΩΣΗ":T,L=w(e.useState("#000000"),2),D=L[0],K=L[1];e.useEffect((function(){n&&K(v)}),[n,v]);return e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),form.handleSubmit(t)())}},e.createElement(a,null,m),e.createElement(i,null,e.createElement(c,{gap:2},e.createElement(B,{color:g,backgroundColor:D,paddingX:x,paddingY:C,label:D}),e.createElement(p,{width:E,color:D,onChange:function(e){return K(e.hex)}}))),e.createElement(u,null,e.createElement(d,{color:"success",onClick:function(){return t(D)}},k),e.createElement(d,{color:"error",onClick:function(){return o()}},V)))},J=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.options,E=void 0===p?[]:p,h=r.valueKey,g=void 0===h?"id":h,y=r.labelKey,C=void 0===y?"label":y,q=r.required,x=void 0===q||q,S=r.width,w=void 0===S?500:S,k=r.requiredMessage,T=void 0===k?"Υποχρεωτικό πεδίο":k,V=r.okLabel,L=void 0===V?"ΚΑΤΑΧΩΡΗΣΗ":V,D=r.cancelLabel,B=void 0===D?"ΑΚΥΡΩΣΗ":D,K={field:c||null},j=b.object({field:x?b.string().required(T):b.string().nullable()}),F=f({defaultValues:K,resolver:v(j)});return e.useEffect((function(){n&&(F.clearErrors(),F.setValue("field",c,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){}},e.createElement(a,null,t),e.createElement(i,null,e.createElement(O,{form:F,name:"field",label:o,options:E,valueKey:g,labelKey:C,required:x,autofocus:!0,sx:{width:w,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:F.handleSubmit(s)},L),e.createElement(d,{color:"error",onClick:function(){return m()}},B)))},Q=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=void 0===c?[]:c,m=r.onSubmit,p=r.onCancel,E=r.options,h=void 0===E?[]:E,g=r.valueKey,y=void 0===g?"id":g,C=r.labelKey,q=void 0===C?"label":C,x=r.required,S=void 0===x||x,w=r.width,k=void 0===w?500:w,T=r.requiredMessage,V=void 0===T?"Επιλέξτε τουλάχιστον μία τιμή":T,L=r.okLabel,D=void 0===L?"ΚΑΤΑΧΩΡΗΣΗ":L,B=r.cancelLabel,K=void 0===B?"ΑΚΥΡΩΣΗ":B,O={field:s||[]},j=b.object({field:S?b.array().min(1,V):b.array()}),F=f({defaultValues:O,resolver:v(j)});return e.useEffect((function(){n&&(F.clearErrors(),F.setValue("field",s,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,s]),e.createElement(l,{open:n,onClose:function(){}},e.createElement(a,null,t),e.createElement(i,null,e.createElement(M,{form:F,name:"field",label:o,options:h,valueKey:y,labelKey:q,required:S,autofocus:!0,sx:{width:k,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:F.handleSubmit((function(e){return m(e.field)}))},D),e.createElement(d,{color:"error",onClick:function(){return p()}},K)))},_=function(r){var n=r.open,t=r.title,o=r.message,c=r.onConfirm,m=r.onCancel,f=r.confirmText,v=void 0===f?"ΕΠΙΒΕΒΑΙΩΣΗ":f,b=r.cancelText,p=void 0===b?"ΑΚΥΡΩΣΗ":b;return e.createElement(l,{open:n,onClose:function(){}},e.createElement(a,null,t),e.createElement(i,null,e.createElement(s,null,o)),e.createElement(u,null,e.createElement(d,{color:"success",onClick:function(e){e.stopPropagation(),c()}},v),e.createElement(d,{color:"error",onClick:function(e){e.stopPropagation(),m()}},p)))},ee=function(r){var t=r.open,o=r.title,c=r.label,s=r.message,m=void 0===s?null:s,p=r.value,E=r.onSubmit,h=r.onCancel;r.width;var g=r.rows,y=void 0===g?5:g,C=r.required,q=void 0!==C&&C,x=r.requiredMessage,S=void 0===x?"Υποχρεωτικό πεδίο":x,w=r.okLabel,k=void 0===w?"ΚΑΤΑΧΩΡΗΣΗ":w,T=r.cancelLabel,V=void 0===T?"ΑΚΥΡΩΣΗ":T,L={notes:p||""},D=b.object({notes:q?b.string().required(S):b.string()}),B=f({defaultValues:L,resolver:v(D)});return e.useEffect((function(){t&&(B.clearErrors(),B.setValue("notes",p||"",{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[t,p]),e.createElement(l,{fullWidth:!0,open:t,onClose:function(){},disableRestoreFocus:!0},e.createElement(a,null,o),e.createElement(i,null,m&&e.createElement(n,null,m),e.createElement(A,{form:B,name:"notes",label:c,required:q,rows:y,autofocus:!0,sx:{marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return E(e.notes)}))},k),e.createElement(d,{color:"error",onClick:function(){return h()}},V)))},re=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.width,E=void 0===p?500:p,h=r.required,g=void 0===h||h,y=r.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={poso:j(c)?c:null},T=b.object({poso:g?b.string().required(C):b.string()}),V=f({defaultValues:k,resolver:v(T)});return e.useEffect((function(){n&&(V.clearErrors(),V.setValue("poso",j(c)?c:null,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return s(e.poso)}))())},disableRestoreFocus:!0},e.createElement(a,null,t),e.createElement(i,null,e.createElement(R,{form:V,name:"poso",label:o,required:g,autofocus:!0,sx:{width:E,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.poso)}))},x),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))},ne=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.width,E=void 0===p?500:p,h=r.required,g=void 0===h||h,y=r.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:c},T=b.object({datetime:g?b.date().typeError("Μη έγκυρη μορφή ημερομηνίας/ώρας").required(C):b.date().typeError("Μη έγκυρη μορφή ημερομηνίας/ώρας")}),V=f({defaultValues:k,resolver:v(T)});return e.useEffect((function(){n&&(V.clearErrors(),V.setValue("datetime",c,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return s(e.datetime)}))())},disableRestoreFocus:!0},e.createElement(a,null,t),e.createElement(i,null,e.createElement(P,{form:V,name:"datetime",label:o,required:g,autofocus:!0,sx:{width:E,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.datetime)}))},x),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))},te=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.width,E=void 0===p?500:p,h=r.required,g=void 0===h||h,y=r.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:c},T=b.object({datetime:g?b.date().typeError("Μη έγκυρη μορφή ημερομηνίας").required(C):b.date().typeError("Μη έγκυρη μορφή ημερομηνίας")}),V=f({defaultValues:k,resolver:v(T)});return e.useEffect((function(){n&&(V.clearErrors(),V.setValue("datetime",c,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return s(e.datetime)}))())},disableRestoreFocus:!0},e.createElement(a,null,t),e.createElement(i,null,e.createElement(X,{form:V,name:"datetime",label:o,required:g,autofocus:!0,sx:{width:E,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.datetime)}))},x),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))},oe=[{id:!0,label:"ΝΑΙ"},{id:!1,label:"ΟΧΙ"}],le=function(r){var t=r.open,o=r.title,c=r.label,s=r.value,m=r.onSubmit,p=r.onCancel,E=r.required,h=void 0===E||E,g=r.info,y=void 0===g?"":g;r.width;var C=r.requiredMessage,q=void 0===C?"Υποχρεωτικό πεδίο":C,x=r.okLabel,S=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,w=r.cancelLabel,k=void 0===w?"ΑΚΥΡΩΣΗ":w,T={field:s||null},V=b.object({field:h?b.boolean().required(q):b.boolean().nullable()}),L=f({defaultValues:T,resolver:v(V)});return e.useEffect((function(){t&&(L.clearErrors(),L.setValue("field",s,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[t,s]),e.createElement(l,{fullWidth:!0,maxWidth:"sm",open:t,onClose:function(){}},e.createElement(a,null,o),e.createElement(i,null,y&&e.createElement(n,null,y),e.createElement(O,{form:L,name:"field",label:c,options:oe,valueKey:"id",labelKey:"label",required:h,autofocus:!0,sx:{marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:L.handleSubmit((function(e){return m(e.field)}))},S),e.createElement(d,{color:"error",onClick:function(){return p()}},k)))},ae=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.allowNegative,E=void 0!==p&&p,h=r.required,g=void 0===h||h,y=r.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y;r.minValue,r.maxValue;var q=r.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={num:j(c)?c:null},T=b.object({num:b.number().when([],{is:function(){return g},then:function(){return b.number().required(C)},otherwise:function(){return b.number().nullable(!0)}})}),V=f({defaultValues:k,resolver:v(T)});return e.useEffect((function(){n&&(V.clearErrors(),V.setValue("num",j(c)?c:null,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return s(e.num)}))())},disableRestoreFocus:!0},e.createElement(a,null,t),e.createElement(i,null,e.createElement($,{form:V,name:"num",label:o,required:g,autofocus:!0,allowNegative:E,sx:{width:500,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.num)}))},x),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))},ie=function(r){var n=r.open,t=r.title,o=r.label,c=r.value,s=r.onSubmit,m=r.onCancel,p=r.width,E=void 0===p?500:p,h=r.required,g=void 0===h||h,y=r.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={field:j(c)?c:null},T=b.object({field:g?b.string().required(C):b.string()}),V=f({defaultValues:k,resolver:v(T)});return e.useEffect((function(){n&&(V.clearErrors(),V.setValue("field",j(c)?c:null,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[n,c]),e.createElement(l,{open:n,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return s(e.field)}))())},disableRestoreFocus:!0},e.createElement(a,null,t),e.createElement(i,null,e.createElement(R,{form:V,name:"field",label:o,required:g,autofocus:!0,sx:{width:E,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.field)}))},x),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))},ue=function(r){var n=r.open,t=r.title,o=r.message,c=r.onClose,m=r.closeText,f=void 0===m?"ΟΚ":m;return e.createElement(l,{open:n,onClose:function(){}},e.createElement(a,null,t),e.createElement(i,null,e.createElement(s,null,o)),e.createElement(u,null,e.createElement(d,{color:"primary",onClick:function(e){e.stopPropagation(),c()}},f)))};export{J as AutocompleteModalForm,Q as AutocompleteMultiModalForm,_ as ConfirmationDialog,re as CurrencyModalForm,te as DateModalForm,ne as DatetimeModalForm,ie as DecimalModalForm,U as EmailModalForm,ae as IntegerModalForm,ue as MessageDialog,ee as NotesModalForm,G as PickColorModalForm,H as TextModalForm,le as YesNoModalForm};
1
+ import e from"react";import{TextField as n,Typography as r,Autocomplete as t,Chip as o,InputAdornment as l,IconButton as a,Dialog as i,DialogTitle as u,DialogContent as d,DialogActions as c,Button as s,Stack as m,DialogContentText as f}from"@mui/material";import{Controller as v,useForm as b}from"react-hook-form";import{yupResolver as p}from"@hookform/resolvers/yup";import*as E from"yup";import{ChromePicker as h}from"react-color";import"date-fns";import"date-fns/locale";import"axios";import g from"react-number-format";import{AdapterDateFns as y}from"@mui/x-date-pickers/AdapterDateFns";import{LocalizationProvider as C}from"@mui/x-date-pickers/LocalizationProvider";import{DateTimePicker as q,DatePicker as x}from"@mui/x-date-pickers";import S from"date-fns/locale/el";import{Clear as w}from"@mui/icons-material";function k(){return k=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var r=arguments[n];for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])}return e},k.apply(this,arguments)}function T(e,n){if(null==e)return{};var r,t,o=function(e,n){if(null==e)return{};var r,t,o={},l=Object.keys(e);for(t=0;t<l.length;t++)r=l[t],n.indexOf(r)>=0||(o[r]=e[r]);return o}(e,n);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(t=0;t<l.length;t++)r=l[t],n.indexOf(r)>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(o[r]=e[r])}return o}function V(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var r=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var t,o,l,a,i=[],u=!0,d=!1;try{if(l=(r=r.call(e)).next,0===n){if(Object(r)!==r)return;u=!1}else for(;!(u=(t=l.call(r)).done)&&(i.push(t.value),i.length!==n);u=!0);}catch(e){d=!0,o=e}finally{try{if(!u&&null!=r.return&&(a=r.return(),Object(a)!==a))return}finally{if(d)throw o}}return i}}(e,n)||function(e,n){if(!e)return;if("string"==typeof e)return L(e,n);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return L(e,n)}(e,n)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function L(e,n){(null==n||n>e.length)&&(n=e.length);for(var r=0,t=new Array(n);r<n;r++)t[r]=e[r];return t}var D=["form","name","label","maxLength","required","disabled","autofocus"],B=function(r){var t=r.form,o=r.name,l=r.label,a=r.maxLength,i=void 0===a?255:a,u=r.required,d=void 0!==u&&u,c=r.disabled,s=void 0!==c&&c,m=r.autofocus,f=void 0!==m&&m,b=T(r,D),p=t.control,E=t.formState.errors;return e.createElement(v,{name:o,control:p,rules:{required:d,disabled:s},render:function(r){var t,a,u=r.field,c=u.onChange,m=u.onBlur,v=u.value;return e.createElement(n,k({required:d,label:l,value:v,onChange:c,onBlur:m,error:Boolean(null===(t=E[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=E[o])||void 0===a?void 0:a.message,variant:"outlined",disabled:s,autoFocus:f,inputProps:{maxLength:i}},b))}})},K=["form","name","label","required","disabled","autofocus"],O=function(r){var t=r.form,o=r.name,l=void 0===o?"email":o,a=r.label,i=void 0===a?"E-mail":a,u=r.required,d=void 0===u||u,c=r.disabled,s=void 0!==c&&c,m=r.autofocus,f=void 0!==m&&m,b=T(r,K),p=t.control,E=t.formState.errors;return e.createElement(v,{name:l,control:p,rules:{required:d,disabled:s},render:function(r){var t,o,a=r.field,u=a.onChange,c=a.onBlur,m=a.value;return e.createElement(n,k({required:d,label:i,value:m,onChange:u,onBlur:c,error:Boolean(null===(t=E[l])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(o=E[l])||void 0===o?void 0:o.message,variant:"outlined",disabled:s,autoFocus:f},b))}})},j=function(n){var t=n.label,o=void 0===t?"":t,l=n.color,a=void 0===l?"white":l,i=n.backgroundColor,u=void 0===i?"#888888":i,d=n.paddingX,c=void 0===d?"10px":d,s=n.paddingY,m=void 0===s?"5px":s,f=n.borderRadius,v=void 0===f?"10px":f,b=n.fontSize,p=void 0===b?"14px":b,E=n.width,h={text:{display:"inline-block",textAlign:"center",backgroundColor:u,paddingX:c,paddingY:m,borderRadius:v,width:void 0===E?"auto":E,color:a,fontSize:p}};return e.createElement(r,{sx:h.text},o)},F=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],N=function(r){var o=r.form,l=r.name,a=r.label,i=r.required,u=void 0!==i&&i,d=r.disabled,c=void 0!==d&&d,s=r.options,m=void 0===s?[]:s,f=r.valueKey,b=void 0===f?"id":f;r.labelKey;var p=r.maxLength,E=void 0===p?255:p,h=r.autofocus,g=void 0!==h&&h,y=r.noOptionsText,C=void 0===y?"Δεν υπάρχουν επιλογές":y,q=T(r,F),x=V(e.useState(null),2),S=x[0],w=x[1],L=o.watch(l);e.useEffect((function(){w(m.find((function(e){return e[b]===L}))||null)}),[L]);var D=o.control,B=o.formState.errors;return e.createElement(v,{name:l,control:D,rules:{required:u,disabled:c},render:function(r){var o=r.field,i=o.onChange,d=o.onBlur;return o.value,e.createElement(t,{value:S,required:u,onChange:function(e,n){return i(n?n[b]:null)},options:m,isOptionEqualToValue:function(e,n){return e[b]===n[b]},noOptionsText:C,renderInput:function(r){var t,o;return e.createElement(n,k({label:a,required:u,disabled:c,autoFocus:g,inputProps:{maxLength:E},error:Boolean(null===(t=B[l])||void 0===t?void 0:t.message),onBlur:d,variant:"outlined",fullWidth:!0,helperText:null===(o=B[l])||void 0===o?void 0:o.message},r,q))}})}})},M=function(e){return null!=e&&""!==e},W=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],A=function(r){var l=r.form,a=r.name,i=r.label,u=r.required,d=void 0!==u&&u,c=r.disabled,s=void 0!==c&&c,m=r.options,f=void 0===m?[]:m,b=r.valueKey,p=void 0===b?"id":b,E=r.labelKey,h=void 0===E?"label":E,g=r.maxLength,y=void 0===g?255:g,C=r.autofocus,q=void 0!==C&&C,x=r.noOptionsText,S=void 0===x?"Δεν υπάρχουν επιλογές":x,w=T(r,W),L=V(e.useState([]),2),D=L[0],B=L[1],K=l.watch(a);e.useEffect((function(){B(f.filter((function(e){return function(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"id";return Boolean(n.find((function(n){return n[r]===e[r]})))}(e,K)})))}),[K]);var O=l.control,j=l.formState.errors;return e.createElement(v,{name:a,control:O,rules:{required:d,disabled:s},render:function(r){var l=r.field,u=l.onChange,c=l.onBlur;return l.value,e.createElement(t,{multiple:!0,value:D,required:d,onChange:function(e,n){return u(n)},options:f,isOptionEqualToValue:function(e,n){return e[p]===n[p]},noOptionsText:S,renderTags:function(n,r){return n.map((function(n,t){return e.createElement(o,k({variant:"outlined",label:n[h],size:"small"},r({index:t})))}))},renderInput:function(r){var t,o;return e.createElement(n,k({label:i,required:d,disabled:s,autoFocus:q,inputProps:{maxLength:y},error:Boolean(null===(t=j[a])||void 0===t?void 0:t.message),onBlur:c,variant:"outlined",fullWidth:!0,helperText:null===(o=j[a])||void 0===o?void 0:o.message},r,w))}})}})},R=["form","name","label","rows","required","disabled","autofocus"],P=function(r){var t=r.form,o=r.name,l=r.label,a=r.rows,i=void 0===a?5:a,u=r.required,d=void 0!==u&&u,c=r.disabled,s=void 0!==c&&c,m=r.autofocus,f=void 0!==m&&m,b=T(r,R),p=t.control,E=t.formState.errors;return e.createElement(v,{name:o,control:p,rules:{required:d,disabled:s},render:function(r){var t,a,u=r.field,c=u.onChange,m=u.onBlur,v=u.value;return e.createElement(n,k({required:d,label:l,value:v,multiline:!0,minRows:i,maxRows:i,onChange:c,onBlur:m,error:Boolean(null===(t=E[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=E[o])||void 0===a?void 0:a.message,variant:"outlined",disabled:s,autoFocus:f},b))}})},I=["form","name","label","required","disabled","autofocus"],z=function(r){var t=r.form,o=r.name,l=r.label,a=r.required,i=void 0!==a&&a,u=r.disabled,d=void 0!==u&&u;r.autofocus;var c=T(r,I),s=t.control,m=t.formState.errors,f=function(e,n){""===e.value?t.setValue(o,null):t.setValue(o,e.floatValue)};return e.createElement(v,{name:o,control:s,rules:{required:i,disabled:d},render:function(r){var t,a,u=r.field;u.onChange,u.onBlur;var s=u.value;return e.createElement(g,k({customInput:n,variant:"outlined",label:l,required:i,disabled:d,value:s,thousandSeparator:".",decimalSeparator:",",decimalScale:2,fixedDecimalScale:!0,allowNegative:!1,onValueChange:f,error:Boolean(null===(t=m[o])||void 0===t?void 0:t.message),helperText:null===(a=m[o])||void 0===a?void 0:a.message,fullWidth:!0},c))}})},X=["form","name","label","required","disabled","autofocus"],Y=function(r){var t=r.form,o=r.name,l=r.label,a=r.required,i=void 0!==a&&a,u=r.disabled,d=void 0!==u&&u;r.autofocus;var c=T(r,X),s=t.control,m=t.formState.errors;return e.createElement(v,{name:o,control:s,rules:{required:i,disabled:d},render:function(r){var t=r.field,a=t.onChange;t.onBlur;var u=t.value;return e.createElement(C,{dateAdapter:y,adapterLocale:S},e.createElement(q,{label:l,inputFormat:"dd/MM/yyyy HH:mm",value:u,onChange:a,disabled:d,renderInput:function(r){var t,l;return e.createElement(n,k({},r,{required:i,error:Boolean(null===(t=m[o])||void 0===t?void 0:t.message),helperText:null===(l=m[o])||void 0===l?void 0:l.message,variant:"outlined",fullWidth:!0},c))}}))}})},$=["form","name","label","required","disabled","autofocus"],H=function(r){var t=r.form,o=r.name,l=r.label,a=r.required,i=void 0!==a&&a,u=r.disabled,d=void 0!==u&&u;r.autofocus;var c=T(r,$),s=t.control,m=t.formState.errors;return e.createElement(v,{name:o,control:s,rules:{required:i,disabled:d},render:function(r){var t=r.field,a=t.onChange;t.onBlur;var u=t.value;return e.createElement(C,{dateAdapter:y,adapterLocale:S},e.createElement(x,{label:l,inputFormat:"dd/MM/yyyy",value:u,onChange:a,disabled:d,renderInput:function(r){var t,l;return e.createElement(n,k({},r,{required:i,error:Boolean(null===(t=m[o])||void 0===t?void 0:t.message),helperText:null===(l=m[o])||void 0===l?void 0:l.message,variant:"outlined",fullWidth:!0},c))}}))}})},Z=["form","name","label","allowNegative","required","disabled","autofocus"],U=function(r){var t=r.form,o=r.name,l=r.label,a=r.allowNegative,i=void 0!==a&&a,u=r.required,d=void 0!==u&&u,c=r.disabled,s=void 0!==c&&c,m=r.autofocus,f=void 0!==m&&m,b=T(r,Z),p=t.control,E=t.formState.errors,h=function(e,n){""===e.value?t.setValue(o,null):t.setValue(o,e.floatValue)};return e.createElement(v,{name:o,control:p,rules:{required:d,disabled:s},render:function(r){var t,a,u=r.field;u.onChange,u.onBlur;var c=u.value;return e.createElement(g,k({customInput:n,variant:"outlined",label:l,required:d,disabled:s,value:c,thousandSeparator:!1,decimalSeparator:",",decimalScale:0,fixedDecimalScale:!0,allowNegative:i,onValueChange:h,error:Boolean(null===(t=E[o])||void 0===t?void 0:t.message),helperText:null===(a=E[o])||void 0===a?void 0:a.message,fullWidth:!0,autoFocus:f},b))}})},G=["form","name","label","required","disabled"],J=function(r){var t=r.form,o=r.name,i=r.label,u=r.required,d=void 0!==u&&u,c=r.disabled,s=void 0!==c&&c,m=T(r,G),f=V(e.useState(),2),b=f[0],p=f[1],E=e.useRef(null),h=t.control,g=t.formState.errors,y=function(){E.current.value=null,E.current.click()};return e.createElement(e.Fragment,null,e.createElement(v,{name:o,control:h,rules:{required:d,disabled:s},render:function(r){var u,c,f=r.field;return f.onChange,f.onBlur,f.value,e.createElement(n,k({sx:{input:{cursor:"pointer"}},onClick:y,required:d,label:i,value:b?b.name:"",error:Boolean(null===(u=g[o])||void 0===u?void 0:u.message),fullWidth:!0,helperText:null===(c=g[o])||void 0===c?void 0:c.message,variant:"outlined",disabled:s,InputProps:{endAdornment:b&&e.createElement(l,{position:"end"},e.createElement(a,{onClick:function(e){return function(e){e.stopPropagation(),p(null),t.setValue(o,null)}(e)}},e.createElement(w,null))),readOnly:!0}},m))}}),e.createElement("input",{type:"file",ref:E,style:{display:"none"},onChange:function(e){return function(e){p(e),t.setValue(o,e,{shouldValidate:!0,shouldDirty:!0,shouldTouch:!0})}(e.currentTarget.files[0])}}))},Q=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.width,v=void 0===f?500:f,h=n.required,g=void 0===h||h,y=n.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=n.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=n.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k=n.maxLength,T=void 0===k?255:k,V={text:l||""},L=E.object({text:g?E.string().max(T,"Παρακαλώ πληκτρολογείστε μέχρι ".concat(T," χαρακτήρες")).required(C):E.string().max(T)}),D=b({defaultValues:V,resolver:p(L)});return e.useEffect((function(){r&&(D.clearErrors(),D.setValue("text",l||"",{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),D.handleSubmit((function(e){return a(e.text)}))())},disableRestoreFocus:!0},e.createElement(u,null,t),e.createElement(d,null,e.createElement(B,{form:D,name:"text",label:o,required:g,autofocus:!0,maxLength:T,sx:{width:v,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:D.handleSubmit((function(e){return a(e.text)}))},x),e.createElement(s,{color:"error",onClick:function(){return m()}},w)))},_=/^$|^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,ee=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.width,v=void 0===f?500:f,h=n.required,g=void 0===h||h,y=n.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=n.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=n.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k=n.maxLength,T=void 0===k?255:k,V={email:l||""},L=E.object({email:g?E.string().matches(_,"Μη έγκυρη μορφή Email").required(C):E.string().matches(_,"Μη έγκυρη μορφή Email")}),D=b({defaultValues:V,resolver:p(L)});return e.useEffect((function(){r&&(D.clearErrors(),D.setValue("email",l||"",{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),D.handleSubmit((function(e){return a(e.email)}))())},disableRestoreFocus:!0},e.createElement(u,null,t),e.createElement(d,null,e.createElement(O,{form:D,label:o,required:g,autofocus:!0,maxLength:T,sx:{width:v,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:D.handleSubmit((function(e){return a(e.email)}))},x),e.createElement(s,{color:"error",onClick:function(){return m()}},w)))};!function(e,n){void 0===n&&(n={});var r=n.insertAt;if(e&&"undefined"!=typeof document){var t=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===r&&t.firstChild?t.insertBefore(o,t.firstChild):t.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}(".chrome-picker {\r\n -webkit-box-shadow: none !important;\r\n -moz-box-shadow: none !important;\r\n box-shadow: none !important;\r\n}");var ne=function(n){var r=n.open,t=n.onSubmit,o=n.onCancel,l=n.title,a=void 0===l?"Επιλογή Χρώματος":l,f=n.color,v=void 0===f?"#000000":f,b=n.pickerWidth,p=void 0===b?350:b,E=n.selectionTextColor,g=void 0===E?"white":E,y=n.paddingY,C=void 0===y?"10px":y,q=n.paddingX,x=void 0===q?"10px":q,S=n.okLabel,w=void 0===S?"ΚΑΤΑΧΩΡΗΣΗ":S,k=n.cancelLabel,T=void 0===k?"ΑΚΥΡΩΣΗ":k,L=V(e.useState("#000000"),2),D=L[0],B=L[1];e.useEffect((function(){r&&B(v)}),[r,v]);return e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),form.handleSubmit(t)())}},e.createElement(u,null,a),e.createElement(d,null,e.createElement(m,{gap:2},e.createElement(j,{color:g,backgroundColor:D,paddingX:x,paddingY:C,label:D}),e.createElement(h,{width:p,color:D,onChange:function(e){return B(e.hex)}}))),e.createElement(c,null,e.createElement(s,{color:"success",onClick:function(){return t(D)}},w),e.createElement(s,{color:"error",onClick:function(){return o()}},T)))},re=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.options,v=void 0===f?[]:f,h=n.valueKey,g=void 0===h?"id":h,y=n.labelKey,C=void 0===y?"label":y,q=n.required,x=void 0===q||q,S=n.width,w=void 0===S?500:S,k=n.requiredMessage,T=void 0===k?"Υποχρεωτικό πεδίο":k,V=n.okLabel,L=void 0===V?"ΚΑΤΑΧΩΡΗΣΗ":V,D=n.cancelLabel,B=void 0===D?"ΑΚΥΡΩΣΗ":D,K={field:l||null},O=E.object({field:x?E.string().required(T):E.string().nullable()}),j=b({defaultValues:K,resolver:p(O)});return e.useEffect((function(){r&&(j.clearErrors(),j.setValue("field",l,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){}},e.createElement(u,null,t),e.createElement(d,null,e.createElement(N,{form:j,name:"field",label:o,options:v,valueKey:g,labelKey:C,required:x,autofocus:!0,sx:{width:w,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:j.handleSubmit(a)},L),e.createElement(s,{color:"error",onClick:function(){return m()}},B)))},te=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=void 0===l?[]:l,m=n.onSubmit,f=n.onCancel,v=n.options,h=void 0===v?[]:v,g=n.valueKey,y=void 0===g?"id":g,C=n.labelKey,q=void 0===C?"label":C,x=n.required,S=void 0===x||x,w=n.width,k=void 0===w?500:w,T=n.requiredMessage,V=void 0===T?"Επιλέξτε τουλάχιστον μία τιμή":T,L=n.okLabel,D=void 0===L?"ΚΑΤΑΧΩΡΗΣΗ":L,B=n.cancelLabel,K=void 0===B?"ΑΚΥΡΩΣΗ":B,O={field:a||[]},j=E.object({field:S?E.array().min(1,V):E.array()}),F=b({defaultValues:O,resolver:p(j)});return e.useEffect((function(){r&&(F.clearErrors(),F.setValue("field",a,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,a]),e.createElement(i,{open:r,onClose:function(){}},e.createElement(u,null,t),e.createElement(d,null,e.createElement(A,{form:F,name:"field",label:o,options:h,valueKey:y,labelKey:q,required:S,autofocus:!0,sx:{width:k,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:F.handleSubmit((function(e){return m(e.field)}))},D),e.createElement(s,{color:"error",onClick:function(){return f()}},K)))},oe=function(n){var r=n.open,t=n.title,o=n.message,l=n.onConfirm,a=n.onCancel,m=n.confirmText,v=void 0===m?"ΕΠΙΒΕΒΑΙΩΣΗ":m,b=n.cancelText,p=void 0===b?"ΑΚΥΡΩΣΗ":b;return e.createElement(i,{open:r,onClose:function(){}},e.createElement(u,null,t),e.createElement(d,null,e.createElement(f,null,o)),e.createElement(c,null,e.createElement(s,{color:"success",onClick:function(e){e.stopPropagation(),l()}},v),e.createElement(s,{color:"error",onClick:function(e){e.stopPropagation(),a()}},p)))},le=function(n){var t=n.open,o=n.title,l=n.label,a=n.message,m=void 0===a?null:a,f=n.value,v=n.onSubmit,h=n.onCancel;n.width;var g=n.rows,y=void 0===g?5:g,C=n.required,q=void 0!==C&&C,x=n.requiredMessage,S=void 0===x?"Υποχρεωτικό πεδίο":x,w=n.okLabel,k=void 0===w?"ΚΑΤΑΧΩΡΗΣΗ":w,T=n.cancelLabel,V=void 0===T?"ΑΚΥΡΩΣΗ":T,L={notes:f||""},D=E.object({notes:q?E.string().required(S):E.string()}),B=b({defaultValues:L,resolver:p(D)});return e.useEffect((function(){t&&(B.clearErrors(),B.setValue("notes",f||"",{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[t,f]),e.createElement(i,{fullWidth:!0,open:t,onClose:function(){},disableRestoreFocus:!0},e.createElement(u,null,o),e.createElement(d,null,m&&e.createElement(r,null,m),e.createElement(P,{form:B,name:"notes",label:l,required:q,rows:y,autofocus:!0,sx:{marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:B.handleSubmit((function(e){return v(e.notes)}))},k),e.createElement(s,{color:"error",onClick:function(){return h()}},V)))},ae=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.width,v=void 0===f?500:f,h=n.required,g=void 0===h||h,y=n.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=n.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=n.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={poso:M(l)?l:null},T=E.object({poso:g?E.string().required(C):E.string()}),V=b({defaultValues:k,resolver:p(T)});return e.useEffect((function(){r&&(V.clearErrors(),V.setValue("poso",M(l)?l:null,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return a(e.poso)}))())},disableRestoreFocus:!0},e.createElement(u,null,t),e.createElement(d,null,e.createElement(z,{form:V,name:"poso",label:o,required:g,autofocus:!0,sx:{width:v,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:V.handleSubmit((function(e){return a(e.poso)}))},x),e.createElement(s,{color:"error",onClick:function(){return m()}},w)))},ie=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.width,v=void 0===f?500:f,h=n.required,g=void 0===h||h,y=n.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=n.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=n.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:l},T=E.object({datetime:g?E.date().typeError("Μη έγκυρη μορφή ημερομηνίας/ώρας").required(C):E.date().typeError("Μη έγκυρη μορφή ημερομηνίας/ώρας")}),V=b({defaultValues:k,resolver:p(T)});return e.useEffect((function(){r&&(V.clearErrors(),V.setValue("datetime",l,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return a(e.datetime)}))())},disableRestoreFocus:!0},e.createElement(u,null,t),e.createElement(d,null,e.createElement(Y,{form:V,name:"datetime",label:o,required:g,autofocus:!0,sx:{width:v,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:V.handleSubmit((function(e){return a(e.datetime)}))},x),e.createElement(s,{color:"error",onClick:function(){return m()}},w)))},ue=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.width,v=void 0===f?500:f,h=n.required,g=void 0===h||h,y=n.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=n.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=n.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:l},T=E.object({datetime:g?E.date().typeError("Μη έγκυρη μορφή ημερομηνίας").required(C):E.date().typeError("Μη έγκυρη μορφή ημερομηνίας")}),V=b({defaultValues:k,resolver:p(T)});return e.useEffect((function(){r&&(V.clearErrors(),V.setValue("datetime",l,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return a(e.datetime)}))())},disableRestoreFocus:!0},e.createElement(u,null,t),e.createElement(d,null,e.createElement(H,{form:V,name:"datetime",label:o,required:g,autofocus:!0,sx:{width:v,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:V.handleSubmit((function(e){return a(e.datetime)}))},x),e.createElement(s,{color:"error",onClick:function(){return m()}},w)))},de=[{id:!0,label:"ΝΑΙ"},{id:!1,label:"ΟΧΙ"}],ce=function(n){var t=n.open,o=n.title,l=n.label,a=n.value,m=n.onSubmit,f=n.onCancel,v=n.required,h=void 0===v||v,g=n.info,y=void 0===g?"":g;n.width;var C=n.requiredMessage,q=void 0===C?"Υποχρεωτικό πεδίο":C,x=n.okLabel,S=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,w=n.cancelLabel,k=void 0===w?"ΑΚΥΡΩΣΗ":w,T={field:a||null},V=E.object({field:h?E.boolean().required(q):E.boolean().nullable()}),L=b({defaultValues:T,resolver:p(V)});return e.useEffect((function(){t&&(L.clearErrors(),L.setValue("field",a,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[t,a]),e.createElement(i,{fullWidth:!0,maxWidth:"sm",open:t,onClose:function(){}},e.createElement(u,null,o),e.createElement(d,null,y&&e.createElement(r,null,y),e.createElement(N,{form:L,name:"field",label:l,options:de,valueKey:"id",labelKey:"label",required:h,autofocus:!0,sx:{marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:L.handleSubmit((function(e){return m(e.field)}))},S),e.createElement(s,{color:"error",onClick:function(){return f()}},k)))},se=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.allowNegative,v=void 0!==f&&f,h=n.required,g=void 0===h||h,y=n.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y;n.minValue,n.maxValue;var q=n.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=n.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={num:M(l)?l:null},T=E.object({num:E.number().when([],{is:function(){return g},then:function(){return E.number().required(C)},otherwise:function(){return E.number().nullable(!0)}})}),V=b({defaultValues:k,resolver:p(T)});return e.useEffect((function(){r&&(V.clearErrors(),V.setValue("num",M(l)?l:null,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return a(e.num)}))())},disableRestoreFocus:!0},e.createElement(u,null,t),e.createElement(d,null,e.createElement(U,{form:V,name:"num",label:o,required:g,autofocus:!0,allowNegative:v,sx:{width:500,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:V.handleSubmit((function(e){return a(e.num)}))},x),e.createElement(s,{color:"error",onClick:function(){return m()}},w)))},me=function(n){var r=n.open,t=n.title,o=n.label,l=n.value,a=n.onSubmit,m=n.onCancel,f=n.width,v=void 0===f?500:f,h=n.required,g=void 0===h||h,y=n.requiredMessage,C=void 0===y?"Υποχρεωτικό πεδίο":y,q=n.okLabel,x=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=n.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={field:M(l)?l:null},T=E.object({field:g?E.string().required(C):E.string()}),V=b({defaultValues:k,resolver:p(T)});return e.useEffect((function(){r&&(V.clearErrors(),V.setValue("field",M(l)?l:null,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,l]),e.createElement(i,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),V.handleSubmit((function(e){return a(e.field)}))())},disableRestoreFocus:!0},e.createElement(u,null,t),e.createElement(d,null,e.createElement(z,{form:V,name:"field",label:o,required:g,autofocus:!0,sx:{width:v,marginTop:2}})),e.createElement(c,null,e.createElement(s,{color:"success",onClick:V.handleSubmit((function(e){return a(e.field)}))},x),e.createElement(s,{color:"error",onClick:function(){return m()}},w)))},fe=function(n){var r=n.open,t=n.title,o=n.message,l=n.onClose,a=n.closeText,m=void 0===a?"ΟΚ":a;return e.createElement(i,{open:r,onClose:function(){}},e.createElement(u,null,t),e.createElement(d,null,e.createElement(f,null,o)),e.createElement(c,null,e.createElement(s,{color:"primary",onClick:function(e){e.stopPropagation(),l()}},m)))},ve=function(n){var r=n.open,t=n.onSubmit,o=n.maxFileName,l=void 0===o?255:o,a=n.onCancel,f=E.object({descr:E.string().required("Παρακαλώ συμπληρώστε την περιγραφή του αρχείου").max(l,"Η περιγραφή δεν πρέπει να υπερβαίνει τους ".concat(l," χαρακτήρες")),filename:E.mixed().required("Παρακαλώ επιλέξτε ένα αρχείο")}),v=b({defaultValues:{descr:"",filename:null},resolver:p(f)});return e.useEffect((function(){r&&(v.clearErrors(),v.setValue("descr",""),v.setValue("filename",null))}),[r]),e.createElement(i,{maxWidth:"sm",fullWidth:!0,open:r,onClose:function(){}},e.createElement(u,null,"Νέο Αρχείο"),e.createElement(d,null,e.createElement(m,{sx:{marginTop:2},gap:3},e.createElement(B,{form:v,name:"descr",label:"Περιγραφή Αρχείου",required:!0,autofocus:!0}),e.createElement(J,{form:v,name:"filename",label:"Επιλογή Αρχείου",required:!0}))),e.createElement(c,null,e.createElement(s,{color:"success",onClick:v.handleSubmit(t)},"ΚΑΤΑΧΩΡΗΣΗ"),e.createElement(s,{color:"error",onClick:function(){return a()}},"ΑΚΥΡΩΣΗ")))};export{re as AutocompleteModalForm,te as AutocompleteMultiModalForm,oe as ConfirmationDialog,ae as CurrencyModalForm,ue as DateModalForm,ie as DatetimeModalForm,me as DecimalModalForm,ee as EmailModalForm,se as IntegerModalForm,fe as MessageDialog,le as NotesModalForm,ne as PickColorModalForm,ve as SelectFileModalForm,Q as TextModalForm,ce as YesNoModalForm};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artibet/react-mui-components",
3
- "version": "2.14.3",
3
+ "version": "2.15.0",
4
4
  "description": "Various react components build with mui library",
5
5
  "main": "./core/index.js",
6
6
  "scripts": {
package/tables/index.js CHANGED
@@ -1 +1 @@
1
- import{TextField as e,InputAdornment as t,IconButton as n,Typography as r,Tooltip as o,Button as l,Box as i,Select as a,MenuItem as c,Autocomplete as u,TableRow as s,TableCell as f,TableContainer as d,Table as m,TableHead as p,TableBody as g,TablePagination as v}from"@mui/material";import b from"react";import{MdClear as h,MdOutlineAdd as y}from"react-icons/md";import"date-fns";import"date-fns/locale";import C from"nprogress";import{TiArrowSortedUp as E,TiArrowSortedDown as w,TiArrowUnsorted as S}from"react-icons/ti";import x from"react-input-mask";import k from"axios";function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach((function(t){I(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function I(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(this,arguments)}function j(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],c=!0,u=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(e){return function(e){if(Array.isArray(e))return K(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var R=function(r){var o=r.initialValue,l=r.onChange,i=r.placeholder,a=void 0===i?"":i,c=r.activeColor,u=void 0===c?"#D4F7F4":c,s=r.inactiveColor,f=void 0===s?"white":s,d=r.clearIcon,m=void 0===d||d,p=A(b.useState(o),2),g=p[0],v=p[1];b.useEffect((function(){v(o)}),[o]);return b.createElement(e,{sx:{backgroundColor:g?u:f},placeholder:a,value:g||"",fullWidth:!0,onChange:function(e){v(e.target.value),l(e.target.value)},size:"small",InputProps:{endAdornment:m&&b.createElement(t,{position:"end",disablePointerEvents:!g},b.createElement(n,{onClick:function(){return l("")}},g?b.createElement(h,null):b.createElement(h,{color:"#cccccc"})))}})},D=b.createContext(),B=function(e,t){var n;return function(){for(var r=arguments.length,o=new Array(r),l=0;l<r;l++)o[l]=arguments[l];n&&clearTimeout(n),n=setTimeout((function(){e.apply(void 0,o)}),t)}},V=function(){var e=b.useContext(D),t=e.state,n=e.props,r=e.api;return n.enableGlobalFilter?b.createElement(R,{initialValue:t.globalFilter,onChange:B(r.handleGlobalFilterChange,300),placeholder:n.globalFilterPlaceholder}):null};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("#nprogress {\r\n pointer-events: none;\r\n}\r\n\r\n#nprogress .bar {\r\n background: #29d;\r\n position: fixed;\r\n z-index: 99999;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n}\r\n\r\n/* Fancy blur effect */\r\n#nprogress .peg {\r\n display: block;\r\n position: absolute;\r\n right: 0px;\r\n width: 100px;\r\n height: 100%;\r\n box-shadow: 0 0 10px #29d, 0 0 5px #29d;\r\n opacity: 1.0;\r\n -webkit-transform: rotate(3deg) translate(0px, -4px);\r\n -ms-transform: rotate(3deg) translate(0px, -4px);\r\n transform: rotate(3deg) translate(0px, -4px);\r\n}\r\n\r\n/* Remove these to get rid of the spinner */\r\n#nprogress .spinner {\r\n display: block;\r\n position: fixed;\r\n z-index: 1031;\r\n top: 15px;\r\n right: 15px;\r\n}\r\n\r\n#nprogress .spinner-icon {\r\n width: 18px;\r\n height: 18px;\r\n box-sizing: border-box;\r\n border: solid 2px transparent;\r\n border-top-color: #29d;\r\n border-left-color: #29d;\r\n border-radius: 50%;\r\n -webkit-animation: nprogress-spinner 400ms linear infinite;\r\n animation: nprogress-spinner 400ms linear infinite;\r\n}\r\n\r\n.nprogress-custom-parent {\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.nprogress-custom-parent #nprogress .spinner,\r\n.nprogress-custom-parent #nprogress .bar {\r\n position: absolute;\r\n}\r\n\r\n@-webkit-keyframes nprogress-spinner {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n\r\n@keyframes nprogress-spinner {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}");var M=function(){var e=b.useContext(D).props;return b.createElement(r,{variant:"h5",sx:e.titleStyle},e.title)},N=function(){var e=b.useContext(D).props;return e.enableCreateRow?b.createElement(o,{title:e.createButtonTooltip,arrow:!0,placement:"top"},b.createElement(l,{variant:e.createButtonVariant,onClick:function(){return e.onCreateRow()}},b.createElement(y,{size:24}))):null},L=function(){var e=b.useContext(D).props;return e.globalActions?b.createElement(b.Fragment,null,e.globalActions.map((function(e,t){return b.createElement(i,{key:t},e)}))):null},W=function(e){var t,n=e.column;b.useContext(D).props;var r=b.useContext(D).api;return b.createElement(b.Fragment,null,b.createElement(i,{sx:{dispaly:"flex",flexDirection:"column",justifyContent:"start",alignItems:"start"}},b.createElement(i,{sx:{display:"flex",flexDirection:"row",gap:.5,aligntItems:"center",cursor:n.enableSorting?"pointer":"default",justifyContent:"right"===n.align?"end":"center"===n.align?"center":"start"},onClick:n.enableSorting?function(e){return r.toggleSorting(e,n)}:null},b.createElement(i,null,n.label),b.createElement(i,null,n.enableSorting?null!==(t={asc:b.createElement(E,{size:20}),desc:b.createElement(w,{size:20})}[r.getSortingStatus(n)])&&void 0!==t?t:b.createElement(S,{size:20,color:"#cccccc"}):null))))},G=function(r){var o=r.initialValue,l=r.mask,i=void 0===l?"999999":l,a=r.onChange,c=r.placeholder,u=void 0===c?"":c,s=r.activeColor,f=void 0===s?"#D4F7F4":s,d=r.inactiveColor,m=void 0===d?"white":d,p=r.clearIcon,g=void 0===p||p,v=A(b.useState(o),2),y=v[0],C=v[1];b.useEffect((function(){C(o)}),[o]);return b.createElement(x,{mask:i,value:y,onChange:function(e){C((function(t){return t===e.target.value?t:(a(e.target.value),e.target.value)}))},maskChar:""},(function(){return b.createElement(e,{sx:{backgroundColor:y?f:m},placeholder:u,fullWidth:!0,size:"small",InputProps:{endAdornment:g&&b.createElement(t,{position:"end",disablePointerEvents:!y},b.createElement(n,{onClick:function(){return a("")}},y?b.createElement(h,null):b.createElement(h,{color:"#cccccc"})))}})}))},J=function(e){var r=e.value,o=e.options,l=e.onChange,i=e.valueKey,u=void 0===i?"id":i,s=e.labelKey,f=void 0===s?"label":s,d=e.placeholder,m=void 0===d?"":d,p=e.activeColor,g=void 0===p?"#D4F7F4":p,v=e.inactiveColor,y=void 0===v?"white":v,C=e.clearIcon,E=void 0===C||C,w=A(b.useState(-1),2),S=w[0],x=w[1];b.useEffect((function(){x(null===r||""===r?-1:r)}),[r]);return b.createElement(a,{sx:{backgroundColor:-1!==S?g:y,color:-1==S?"#cccccc":""},value:S,fullWidth:!0,onChange:function(e){var t=e.target.value;l(-1!==t?t:"")},size:"small",endAdornment:E&&b.createElement(t,{position:"end",disablePointerEvents:null===r},b.createElement(n,{onClick:function(){return l("")}},-1!==S?b.createElement(h,null):b.createElement(h,{color:"#cccccc"})))},b.createElement(c,{value:-1},m),o.map((function(e){return b.createElement(c,{key:e[u],value:e[u]},e[f])})))},U=["value","options","valueKey","labelKey","onChange","placeholder","activeColor","inactiveColor"],Q=function(t){var n=t.value,r=t.options,o=void 0===r?[]:r,l=t.valueKey,i=void 0===l?"id":l;t.labelKey;var a=t.onChange,c=t.placeholder,s=void 0===c?"":c,f=t.activeColor,d=void 0===f?"#D4F7F4":f,m=t.inactiveColor,p=void 0===m?"white":m,g=j(t,U),v=A(b.useState(null),2),h=v[0],y=v[1];return b.useEffect((function(){y(o.find((function(e){return e[i]===n}))||null)}),[n]),b.createElement(u,{value:h,onChange:function(e,t){return a(t?t[i]:null)},options:o,isOptionEqualToValue:function(e,t){return e[i]===t[i]},noOptionsText:"Δεν υπάρχουν επιλογές",size:"small",renderInput:function(t){return b.createElement(e,P({variant:"outlined",fullWidth:!0,placeholder:s,sx:{backgroundColor:null!==h?d:p,color:-1==h?"#cccccc":""},size:"small"},t,g))}})},_=function(e){var t=e.column,n=b.useContext(D),r=n.api,o=n.props,l=r.getColumnFilter(t);return"text"===t.filterType?b.createElement(R,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"integer"===t.filterType?b.createElement(G,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,mask:t.filterMask,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"autocomplete"===t.filterType?b.createElement(Q,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,valueKey:t.filterValueKey,labelKey:t.filterLabelKey,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):"select"===t.filterType?b.createElement(J,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):null},q=function(){var e=b.useContext(D),t=e.props,n=e.state;return b.createElement(b.Fragment,null,b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id,width:e.width,sx:{minWidth:e.minWidth}},b.createElement(W,{column:e}))})),t.rowActions.length>0&&b.createElement(f,null)),t.enableColumnFilters&&b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id},e.enableFilter?b.createElement(_,{column:e}):null)})),t.rowActions.length>0&&b.createElement(f,null)))},H=function(e){var t=e.row,n=b.useContext(D).props;return n.rowActions?b.createElement(f,null,b.createElement(i,{sx:{display:"flex",justifyContent:"flex-end",alignItems:"center"}},n.rowActions.map((function(e,n){return b.createElement(i,{key:n},e(t))})))):null},$=function(e){var t=e.row,n=b.useContext(D),r=n.props,o=n.state,l=A(b.useState({}),2),i=l[0],a=l[1],c=A(b.useState({}),2),u=c[0],d=c[1];return b.useEffect((function(){r.rowStyle&&a(r.rowStyle(t)),r.cellStyle&&d(r.cellStyle(t))}),[t]),b.createElement(s,{hover:r.rowsClickable,sx:O({cursor:r.rowsClickable?"pointer":"default"},i),onClick:function(){return r.onRowClick&&r.onRowClick(t)}},o.columns.map((function(e){return b.createElement(f,{key:e.id,sx:O(O({},u),{},{textAlign:e.align})},e.render?e.render(t):t[e.id])})),r.rowActions.length>0&&b.createElement(H,{row:t}))},X={id:"",label:"",enableSorting:!0,enableFilter:!0,filterType:"text",filterValueKey:"id",filterLabelKey:"label",filterMark:"999999",filterPlaceholder:"Αναζήτηση",filterOptions:[],style:null,width:"",minWidth:"",align:"left",render:null},Y={data:[],page:0,page_size:10,total:0},Z=b.forwardRef((function(e,t){var n=e.title,r=e.titleStyle,o=void 0===r?{}:r,l=e.rowStyle,a=void 0===l?null:l,c=e.cellStyle,u=void 0===c?null:c,s=e.tableSize,f=void 0===s?"medium":s,h=e.columns,y=e.dataUrl,E=e.rowKey,w=void 0===E?"id":E,S=e.hasQueryParams,x=void 0!==S&&S,F=e.enableGlobalFilter,I=void 0!==F&&F,P=e.enableColumnFilters,j=void 0!==P&&P,T=e.globalFilterPlaceholder,K=void 0===T?"Καθολική Αναζήτηση":T,R=e.enableCreateRow,B=void 0!==R&&R,W=e.createButtonVariant,G=void 0===W?"contained":W,J=e.createButtonTooltip,U=void 0===J?"Νέα Εγγραφή":J,Q=e.onCreateRow,_=void 0===Q?null:Q,H=e.rowsClickable,Z=void 0!==H&&H,ee=e.onRowClick,te=void 0===ee?null:ee,ne=e.globalActions,re=void 0===ne?[]:ne,oe=e.rowActions,le=void 0===oe?[]:oe,ie=e.keepState,ae=void 0===ie||ie,ce=e.stateKey,ue=void 0===ce?null:ce,se=e.filterActiveColor,fe=void 0===se?"#D4F7F4":se,de=e.filterInactiveColor,me=void 0===de?"white":de,pe=e.defaultSorting,ge=void 0===pe?[]:pe,ve=e.initialPageSize,be=void 0===ve?10:ve,he=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".pageIndex")}),[]),ye=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".pageSize")}),[]),Ce=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".sorting")}),[]),Ee=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".globalFilter")}),[]),we=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".columnFilters")}),[]),Se=b.useMemo((function(){return h.map((function(e){return O(O({},X),e)}))})),xe=A(b.useState(Y),2),ke=xe[0],Fe=xe[1],Oe=A(b.useState(Ce&&JSON.parse(sessionStorage.getItem(Ce))||ge),2),Ie=Oe[0],Pe=Oe[1],je=A(b.useState(Ee&&sessionStorage.getItem(Ee)||""),2),Ae=je[0],ze=je[1],Te=A(b.useState(we&&JSON.parse(sessionStorage.getItem(we))||[]),2),Ke=Te[0],Re=Te[1],De=A(b.useState(he&&parseInt(sessionStorage.getItem(he))||0),2),Be=De[0],Ve=De[1],Me=A(b.useState(ye&&parseInt(sessionStorage.getItem(ye))||be),2),Ne=Me[0],Le=Me[1],We=function(){var e=A(b.useState(!1),2),t=e[0],n=e[1];return{loader:t,startLoader:function(){n(!0),C.start()},stopLoader:function(){n(!1),C.done()}}}(),Ge=We.startLoader,Je=We.stopLoader,Ue=function(e,t,n,r,o){Ge();var l=x?"&":"?";k.get("".concat(y).concat(l,"page=").concat(e+1,"&pageSize=").concat(t,"&sorting=").concat(JSON.stringify(n),"&globalFilter=").concat(r,"&columnFilters=").concat(JSON.stringify(o))).then((function(e){Fe(e.data),Je()})).catch((function(e){console.log(e.message),Je()}))};b.useImperativeHandle(t,(function(){return{updateRow:function(e){Fe((function(t){var n=t.data.map((function(t){return t.id===e.id?e:t}));return O(O({},t),{},{data:n})}))},refresh:function(){return Ue(Be,Ne,Ie,Ae,Ke)}}}));var Qe={props:{title:n,titleStyle:o,rowStyle:a,cellStyle:u,tableSize:f,columns:h,dataUrl:y,hasQueryParams:x,enableGlobalFilter:I,enableColumnFilters:j,globalFilterPlaceholder:K,enableCreateRow:B,createButtonVariant:G,createButtonTooltip:U,onCreateRow:_,rowsClickable:Z,onRowClick:te,globalActions:re,rowActions:le,keepState:ae,stateKey:ue,filterActiveColor:fe,filterInactiveColor:me,defaultSorting:ge},state:{data:ke,columns:Se,setData:Fe,sorting:Ie,setSorting:Pe,globalFilter:Ae,setGlobalFilter:ze,columnFilters:Ke,setColumnFilters:Re,pageIndex:Be,setPageIndex:Ve,pageSize:Ne,setPageSize:Le},api:{toggleSorting:function(e,t){Pe((function(n){var r=n.find((function(e){return e.id===t.id})),o=[];r?o=!r.desc?e.altKey?[].concat(z(n.filter((function(e){return e.id!==t.id}))),[{id:t.id,desc:!0}]):[{id:t.id,desc:!0}]:e.altKey?z(n.filter((function(e){return e.id!==t.id}))):[]:o=e.altKey?[].concat(z(n),[{id:t.id,desc:!1}]):[{id:t.id,desc:!1}];return Ve(0),Ue(0,Ne,o,Ae,Ke),o}))},getSortingStatus:function(e){var t=Ie.find((function(t){return t.id===e.id}));return t?t.desc?"desc":"asc":null},handleGlobalFilterChange:function(e){ze(e),Ve(0),Ue(0,Ne,Ie,e,Ke)},getColumnFilter:function(e){var t=Ke.find((function(t){return t.id===e.id}));return t?t.value:""},handleColumnFilterChange:function(e,t){Re((function(n){var r=[];return r=n.find((function(t){return t.id===e.id}))?t?[].concat(z(n.filter((function(t){return t.id!==e.id}))),[{id:e.id,value:t}]):z(n.filter((function(t){return t.id!==e.id}))):[].concat(z(n),[{id:e.id,value:t}]),Ve(0),Ue(0,Ne,Ie,Ae,r),r}))}}};return b.useEffect((function(){Ue(Be,Ne,Ie,Ae,Ke)}),[]),b.useEffect((function(){he&&sessionStorage.setItem(he,Be)}),[Be]),b.useEffect((function(){ye&&sessionStorage.setItem(ye,Ne)}),[Ne]),b.useEffect((function(){Ce&&sessionStorage.setItem(Ce,JSON.stringify(Ie))}),[Ie]),b.useEffect((function(){Ee&&sessionStorage.setItem(Ee,Ae)}),[Ae]),b.useEffect((function(){we&&sessionStorage.setItem(we,JSON.stringify(Ke))}),[Ke]),b.createElement(b.Fragment,null,b.createElement(D.Provider,{value:Qe},b.createElement(i,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:1}},b.createElement(M,null),b.createElement(i,{sx:{display:"flex",gap:2,justifyContent:"end",alignItems:"center"}},b.createElement(V,null),b.createElement(N,null),b.createElement(L,null))),b.createElement(d,null,b.createElement(m,{size:f},b.createElement(p,null,b.createElement(q,null)),b.createElement(g,null,ke.data.map((function(e){return b.createElement($,{key:e[w],row:e})})))))),b.createElement(v,{sx:{marginTop:1,overflow:"hidden"},component:"div",showFirstButton:!0,showLastButton:!0,count:parseInt(ke.total),page:0!=ke.page?ke.page-1:0,rowsPerPage:ke.page_size,onPageChange:function(e,t){return Ve(n=t),void Ue(n,Ne,Ie,Ae,Ke);var n},onRowsPerPageChange:function(e){return t=e.target.value,Le(t),Ve(0),void Ue(0,t,Ie,Ae,Ke);var t},labelDisplayedRows:function(e){return"".concat(e.from," έως ").concat(e.to," από ").concat(e.count)},labelRowsPerPage:"Εγγραφές ανά σελίδα"}))}));export{Z as ServerSideTable};
1
+ import{TextField as e,InputAdornment as t,IconButton as n,Typography as r,Tooltip as o,Button as l,Box as i,Select as a,MenuItem as c,Autocomplete as u,TableRow as s,TableCell as f,TableContainer as d,Table as m,TableHead as p,TableBody as g,TablePagination as v}from"@mui/material";import b from"react";import{MdClear as h,MdOutlineAdd as y}from"react-icons/md";import"date-fns";import"date-fns/locale";import C from"nprogress";import{TiArrowSortedUp as E,TiArrowSortedDown as w,TiArrowUnsorted as S}from"react-icons/ti";import x from"react-input-mask";import k from"axios";function F(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function O(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?F(Object(n),!0).forEach((function(t){I(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):F(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function I(e,t,n){return(t=function(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function P(){return P=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},P.apply(this,arguments)}function j(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},l=Object.keys(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(r=0;r<l.length;r++)n=l[r],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}function A(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,l,i,a=[],c=!0,u=!1;try{if(l=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=l.call(n)).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){u=!0,o=e}finally{try{if(!c&&null!=n.return&&(i=n.return(),Object(i)!==i))return}finally{if(u)throw o}}return a}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function z(e){return function(e){if(Array.isArray(e))return K(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return K(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?K(e,t):void 0}}function K(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}var R=function(r){var o=r.initialValue,l=r.onChange,i=r.placeholder,a=void 0===i?"":i,c=r.activeColor,u=void 0===c?"#D4F7F4":c,s=r.inactiveColor,f=void 0===s?"white":s,d=r.clearIcon,m=void 0===d||d,p=A(b.useState(o),2),g=p[0],v=p[1];b.useEffect((function(){v(o)}),[o]);return b.createElement(e,{sx:{backgroundColor:g?u:f},placeholder:a,value:g||"",fullWidth:!0,onChange:function(e){v(e.target.value),l(e.target.value)},size:"small",InputProps:{endAdornment:m&&b.createElement(t,{position:"end",disablePointerEvents:!g},b.createElement(n,{onClick:function(){return l("")}},g?b.createElement(h,null):b.createElement(h,{color:"#cccccc"})))}})},D=b.createContext(),B=function(e,t){var n;return function(){for(var r=arguments.length,o=new Array(r),l=0;l<r;l++)o[l]=arguments[l];n&&clearTimeout(n),n=setTimeout((function(){e.apply(void 0,o)}),t)}},V=function(){var e=b.useContext(D),t=e.state,n=e.props,r=e.api;return n.enableGlobalFilter?b.createElement(R,{initialValue:t.globalFilter,onChange:B(r.handleGlobalFilterChange,300),placeholder:n.globalFilterPlaceholder}):null};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var r=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&r.firstChild?r.insertBefore(o,r.firstChild):r.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("#nprogress {\r\n pointer-events: none;\r\n}\r\n\r\n#nprogress .bar {\r\n background: #29d;\r\n position: fixed;\r\n z-index: 99999;\r\n top: 0;\r\n left: 0;\r\n width: 100%;\r\n height: 4px;\r\n}\r\n\r\n/* Fancy blur effect */\r\n#nprogress .peg {\r\n display: block;\r\n position: absolute;\r\n right: 0px;\r\n width: 100px;\r\n height: 100%;\r\n box-shadow: 0 0 10px #29d, 0 0 5px #29d;\r\n opacity: 1.0;\r\n -webkit-transform: rotate(3deg) translate(0px, -4px);\r\n -ms-transform: rotate(3deg) translate(0px, -4px);\r\n transform: rotate(3deg) translate(0px, -4px);\r\n}\r\n\r\n/* Remove these to get rid of the spinner */\r\n#nprogress .spinner {\r\n display: block;\r\n position: fixed;\r\n z-index: 1031;\r\n top: 15px;\r\n right: 15px;\r\n}\r\n\r\n#nprogress .spinner-icon {\r\n width: 18px;\r\n height: 18px;\r\n box-sizing: border-box;\r\n border: solid 2px transparent;\r\n border-top-color: #29d;\r\n border-left-color: #29d;\r\n border-radius: 50%;\r\n -webkit-animation: nprogress-spinner 400ms linear infinite;\r\n animation: nprogress-spinner 400ms linear infinite;\r\n}\r\n\r\n.nprogress-custom-parent {\r\n overflow: hidden;\r\n position: relative;\r\n}\r\n\r\n.nprogress-custom-parent #nprogress .spinner,\r\n.nprogress-custom-parent #nprogress .bar {\r\n position: absolute;\r\n}\r\n\r\n@-webkit-keyframes nprogress-spinner {\r\n 0% {\r\n -webkit-transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n -webkit-transform: rotate(360deg);\r\n }\r\n}\r\n\r\n@keyframes nprogress-spinner {\r\n 0% {\r\n transform: rotate(0deg);\r\n }\r\n\r\n 100% {\r\n transform: rotate(360deg);\r\n }\r\n}");var M=function(){var e=b.useContext(D).props;return b.createElement(r,{variant:"h5",sx:e.titleStyle},e.title)},N=function(){var e=b.useContext(D).props;return e.enableCreateRow?b.createElement(o,{title:e.createButtonTooltip,arrow:!0,placement:"top"},b.createElement(l,{variant:e.createButtonVariant,onClick:function(){return e.onCreateRow()}},b.createElement(y,{size:24}))):null},L=function(){var e=b.useContext(D).props;return e.globalActions?b.createElement(b.Fragment,null,e.globalActions.map((function(e,t){return b.createElement(i,{key:t},e)}))):null},W=function(e){var t,n=e.column;b.useContext(D).props;var r=b.useContext(D).api;return b.createElement(b.Fragment,null,b.createElement(i,{sx:{dispaly:"flex",flexDirection:"column",justifyContent:"start",alignItems:"start"}},b.createElement(i,{sx:{display:"flex",flexDirection:"row",gap:.5,aligntItems:"center",cursor:n.enableSorting?"pointer":"default",justifyContent:"right"===n.align?"end":"center"===n.align?"center":"start"},onClick:n.enableSorting?function(e){return r.toggleSorting(e,n)}:null},b.createElement(i,null,n.label),b.createElement(i,null,n.enableSorting?null!==(t={asc:b.createElement(E,{size:20}),desc:b.createElement(w,{size:20})}[r.getSortingStatus(n)])&&void 0!==t?t:b.createElement(S,{size:20,color:"#cccccc"}):null))))},G=function(r){var o=r.initialValue,l=r.mask,i=void 0===l?"999999":l,a=r.onChange,c=r.placeholder,u=void 0===c?"":c,s=r.activeColor,f=void 0===s?"#D4F7F4":s,d=r.inactiveColor,m=void 0===d?"white":d,p=r.clearIcon,g=void 0===p||p,v=A(b.useState(o),2),y=v[0],C=v[1];b.useEffect((function(){C(o)}),[o]);return b.createElement(x,{mask:i,value:y,onChange:function(e){C((function(t){return t===e.target.value?t:(a(e.target.value),e.target.value)}))},maskChar:""},(function(){return b.createElement(e,{sx:{backgroundColor:y?f:m},placeholder:u,fullWidth:!0,size:"small",InputProps:{endAdornment:g&&b.createElement(t,{position:"end",disablePointerEvents:!y},b.createElement(n,{onClick:function(){return a("")}},y?b.createElement(h,null):b.createElement(h,{color:"#cccccc"})))}})}))},J=function(e){var r=e.value,o=e.options,l=e.onChange,i=e.valueKey,u=void 0===i?"id":i,s=e.labelKey,f=void 0===s?"label":s,d=e.placeholder,m=void 0===d?"":d,p=e.activeColor,g=void 0===p?"#D4F7F4":p,v=e.inactiveColor,y=void 0===v?"white":v,C=e.clearIcon,E=void 0===C||C,w=A(b.useState(-1),2),S=w[0],x=w[1];b.useEffect((function(){x(null===r||""===r?-1:r)}),[r]);return b.createElement(a,{sx:{backgroundColor:-1!==S?g:y,color:-1==S?"#cccccc":""},value:S,fullWidth:!0,onChange:function(e){var t=e.target.value;l(-1!==t?t:"")},size:"small",endAdornment:E&&b.createElement(t,{position:"end",disablePointerEvents:null===r},b.createElement(n,{onClick:function(){return l("")}},-1!==S?b.createElement(h,null):b.createElement(h,{color:"#cccccc"})))},b.createElement(c,{value:-1},m),o.map((function(e){return b.createElement(c,{key:e[u],value:e[u]},e[f])})))},_=["value","options","valueKey","labelKey","onChange","placeholder","activeColor","inactiveColor"],U=function(t){var n=t.value,r=t.options,o=void 0===r?[]:r,l=t.valueKey,i=void 0===l?"id":l;t.labelKey;var a=t.onChange,c=t.placeholder,s=void 0===c?"":c,f=t.activeColor,d=void 0===f?"#D4F7F4":f,m=t.inactiveColor,p=void 0===m?"white":m,g=j(t,_),v=A(b.useState(null),2),h=v[0],y=v[1];return b.useEffect((function(){y(o.find((function(e){return e[i]===n}))||null)}),[n]),b.createElement(u,{value:h,onChange:function(e,t){return a(t?t[i]:null)},options:o,isOptionEqualToValue:function(e,t){return e[i]===t[i]},noOptionsText:"Δεν υπάρχουν επιλογές",size:"small",renderInput:function(t){return b.createElement(e,P({variant:"outlined",fullWidth:!0,placeholder:s,sx:{backgroundColor:null!==h?d:p,color:-1==h?"#cccccc":""},size:"small"},t,g))}})},Q=function(e){var t=e.column,n=b.useContext(D),r=n.api,o=n.props,l=r.getColumnFilter(t);return"text"===t.filterType?b.createElement(R,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"integer"===t.filterType?b.createElement(G,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,initialValue:l,mask:t.filterMask,onChange:B((function(e){return r.handleColumnFilterChange(t,e)}),300),placeholder:t.filterPlaceholder}):"autocomplete"===t.filterType?b.createElement(U,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,valueKey:t.filterValueKey,labelKey:t.filterLabelKey,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):"select"===t.filterType?b.createElement(J,{activeColor:o.filterActiveColor,inactiveColor:o.filterInactiveColor,value:l,onChange:function(e){return r.handleColumnFilterChange(t,e)},placeholder:t.filterPlaceholder,options:t.filterOptions}):null},q=function(){var e=b.useContext(D),t=e.props,n=e.state;return b.createElement(b.Fragment,null,b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id,width:e.width,sx:{minWidth:e.minWidth}},b.createElement(W,{column:e}))})),t.rowActions.length>0&&b.createElement(f,null)),t.enableColumnFilters&&b.createElement(s,null,n.columns.map((function(e){return b.createElement(f,{key:e.id},e.enableFilter?b.createElement(Q,{column:e}):null)})),t.rowActions.length>0&&b.createElement(f,null)))},H=function(e){var t=e.row,n=b.useContext(D).props;return n.rowActions?b.createElement(f,null,b.createElement(i,{sx:{display:"flex",justifyContent:"flex-end",alignItems:"center"}},n.rowActions.map((function(e,n){return b.createElement(i,{key:n},e(t))})))):null},$=function(e){var t=e.row,n=b.useContext(D),r=n.props,o=n.state,l=A(b.useState({}),2),i=l[0],a=l[1],c=A(b.useState({}),2),u=c[0],d=c[1];return b.useEffect((function(){r.rowStyle&&a(r.rowStyle(t)),r.cellStyle&&d(r.cellStyle(t))}),[t]),b.createElement(s,{hover:r.rowsClickable,sx:O({cursor:r.rowsClickable?"pointer":"default"},i),onClick:function(){return r.onRowClick&&r.onRowClick(t)}},o.columns.map((function(e){return b.createElement(f,{key:e.id,sx:O(O({},u),{},{textAlign:e.align})},e.render?e.render(t):t[e.id])})),r.rowActions.length>0&&b.createElement(H,{row:t}))},X={id:"",label:"",enableSorting:!0,enableFilter:!0,filterType:"text",filterValueKey:"id",filterLabelKey:"label",filterMark:"999999",filterPlaceholder:"Αναζήτηση",filterOptions:[],style:null,width:"",minWidth:"",align:"left",render:null},Y={data:[],page:0,page_size:10,total:0},Z=b.forwardRef((function(e,t){var n=e.title,r=e.titleStyle,o=void 0===r?{}:r,l=e.rowStyle,a=void 0===l?null:l,c=e.cellStyle,u=void 0===c?null:c,s=e.tableSize,f=void 0===s?"medium":s,h=e.columns,y=e.dataUrl,E=e.rowKey,w=void 0===E?"id":E,S=e.hasQueryParams,x=void 0!==S&&S,F=e.enableGlobalFilter,I=void 0!==F&&F,P=e.enableColumnFilters,j=void 0!==P&&P,T=e.globalFilterPlaceholder,K=void 0===T?"Καθολική Αναζήτηση":T,R=e.enableCreateRow,B=void 0!==R&&R,W=e.createButtonVariant,G=void 0===W?"contained":W,J=e.createButtonTooltip,_=void 0===J?"Νέα Εγγραφή":J,U=e.onCreateRow,Q=void 0===U?null:U,H=e.rowsClickable,Z=void 0!==H&&H,ee=e.onRowClick,te=void 0===ee?null:ee,ne=e.globalActions,re=void 0===ne?[]:ne,oe=e.rowActions,le=void 0===oe?[]:oe,ie=e.keepState,ae=void 0===ie||ie,ce=e.stateKey,ue=void 0===ce?null:ce,se=e.filterActiveColor,fe=void 0===se?"#D4F7F4":se,de=e.filterInactiveColor,me=void 0===de?"white":de,pe=e.defaultSorting,ge=void 0===pe?[]:pe,ve=e.initialPageSize,be=void 0===ve?10:ve,he=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".pageIndex")}),[]),ye=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".pageSize")}),[]),Ce=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".sorting")}),[]),Ee=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".globalFilter")}),[]),we=b.useMemo((function(){return!(!ae||!ue)&&"".concat(ue,".columnFilters")}),[]),Se=b.useMemo((function(){return h.map((function(e){return O(O({},X),e)}))})),xe=A(b.useState(Y),2),ke=xe[0],Fe=xe[1],Oe=A(b.useState(Ce&&JSON.parse(sessionStorage.getItem(Ce))||ge),2),Ie=Oe[0],Pe=Oe[1],je=A(b.useState(Ee&&sessionStorage.getItem(Ee)||""),2),Ae=je[0],ze=je[1],Te=A(b.useState(we&&JSON.parse(sessionStorage.getItem(we))||[]),2),Ke=Te[0],Re=Te[1],De=A(b.useState(he&&parseInt(sessionStorage.getItem(he))||0),2),Be=De[0],Ve=De[1],Me=A(b.useState(ye&&parseInt(sessionStorage.getItem(ye))||be),2),Ne=Me[0],Le=Me[1],We=function(){var e=A(b.useState(!1),2),t=e[0],n=e[1];return{loader:t,startLoader:function(){n(!0),C.start()},stopLoader:function(){n(!1),C.done()}}}(),Ge=We.startLoader,Je=We.stopLoader,_e=function(e,t,n,r,o){Ge();var l=x?"&":"?";k.get("".concat(y).concat(l,"page=").concat(e+1,"&pageSize=").concat(t,"&sorting=").concat(JSON.stringify(n),"&globalFilter=").concat(r,"&columnFilters=").concat(JSON.stringify(o))).then((function(e){Fe(e.data),Je()})).catch((function(e){console.log(e.message),Je()}))};b.useImperativeHandle(t,(function(){return{updateRow:function(e){Fe((function(t){var n=t.data.map((function(t){return t.id===e.id?e:t}));return O(O({},t),{},{data:n})}))},refresh:function(){return _e(Be,Ne,Ie,Ae,Ke)}}}));var Ue={props:{title:n,titleStyle:o,rowStyle:a,cellStyle:u,tableSize:f,columns:h,dataUrl:y,hasQueryParams:x,enableGlobalFilter:I,enableColumnFilters:j,globalFilterPlaceholder:K,enableCreateRow:B,createButtonVariant:G,createButtonTooltip:_,onCreateRow:Q,rowsClickable:Z,onRowClick:te,globalActions:re,rowActions:le,keepState:ae,stateKey:ue,filterActiveColor:fe,filterInactiveColor:me,defaultSorting:ge},state:{data:ke,columns:Se,setData:Fe,sorting:Ie,setSorting:Pe,globalFilter:Ae,setGlobalFilter:ze,columnFilters:Ke,setColumnFilters:Re,pageIndex:Be,setPageIndex:Ve,pageSize:Ne,setPageSize:Le},api:{toggleSorting:function(e,t){Pe((function(n){var r=n.find((function(e){return e.id===t.id})),o=[];r?o=!r.desc?e.altKey?[].concat(z(n.filter((function(e){return e.id!==t.id}))),[{id:t.id,desc:!0}]):[{id:t.id,desc:!0}]:e.altKey?z(n.filter((function(e){return e.id!==t.id}))):[]:o=e.altKey?[].concat(z(n),[{id:t.id,desc:!1}]):[{id:t.id,desc:!1}];return Ve(0),_e(0,Ne,o,Ae,Ke),o}))},getSortingStatus:function(e){var t=Ie.find((function(t){return t.id===e.id}));return t?t.desc?"desc":"asc":null},handleGlobalFilterChange:function(e){ze(e),Ve(0),_e(0,Ne,Ie,e,Ke)},getColumnFilter:function(e){var t=Ke.find((function(t){return t.id===e.id}));return t?t.value:""},handleColumnFilterChange:function(e,t){Re((function(n){var r=[];return r=n.find((function(t){return t.id===e.id}))?t?[].concat(z(n.filter((function(t){return t.id!==e.id}))),[{id:e.id,value:t}]):z(n.filter((function(t){return t.id!==e.id}))):[].concat(z(n),[{id:e.id,value:t}]),Ve(0),_e(0,Ne,Ie,Ae,r),r}))}}};return b.useEffect((function(){_e(Be,Ne,Ie,Ae,Ke)}),[]),b.useEffect((function(){he&&sessionStorage.setItem(he,Be)}),[Be]),b.useEffect((function(){ye&&sessionStorage.setItem(ye,Ne)}),[Ne]),b.useEffect((function(){Ce&&sessionStorage.setItem(Ce,JSON.stringify(Ie))}),[Ie]),b.useEffect((function(){Ee&&sessionStorage.setItem(Ee,Ae)}),[Ae]),b.useEffect((function(){we&&sessionStorage.setItem(we,JSON.stringify(Ke))}),[Ke]),b.createElement(b.Fragment,null,b.createElement(D.Provider,{value:Ue},b.createElement(i,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:1}},b.createElement(M,null),b.createElement(i,{sx:{display:"flex",gap:2,justifyContent:"end",alignItems:"center"}},b.createElement(V,null),b.createElement(N,null),b.createElement(L,null))),b.createElement(d,null,b.createElement(m,{size:f},b.createElement(p,null,b.createElement(q,null)),b.createElement(g,null,ke.data.map((function(e,t){return b.createElement($,{key:"__index__"===w?t:e[w],row:e})})))))),b.createElement(v,{sx:{marginTop:1,overflow:"hidden"},component:"div",showFirstButton:!0,showLastButton:!0,count:parseInt(ke.total),page:0!=ke.page?ke.page-1:0,rowsPerPage:ke.page_size,onPageChange:function(e,t){return Ve(n=t),void _e(n,Ne,Ie,Ae,Ke);var n},onRowsPerPageChange:function(e){return t=e.target.value,Le(t),Ve(0),void _e(0,t,Ie,Ae,Ke);var t},labelDisplayedRows:function(e){return"".concat(e.from," έως ").concat(e.to," από ").concat(e.count)},labelRowsPerPage:"Εγγραφές ανά σελίδα"}))}));export{Z as ServerSideTable};