@artibet/react-mui-components 2.10.1 → 2.11.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 h from"react-number-format";import{AdapterDateFns as E}from"@mui/x-date-pickers/AdapterDateFns";import{LocalizationProvider as g}from"@mui/x-date-pickers/LocalizationProvider";import{DateTimePicker as y,DatePicker as x}from"@mui/x-date-pickers";import q from"date-fns/locale/el";import"@mui/icons-material";function C(){return C=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},C.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,h=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,C({required:d,label:l,value:f,onChange:c,onBlur:m,error:Boolean(null===(t=h[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=h[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,h=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,C({required:d,label:i,value:m,onChange:u,onBlur:c,error:Boolean(null===(t=h[l])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(o=h[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,h=r.width,E={text:{display:"inline-block",textAlign:"center",backgroundColor:u,paddingX:c,paddingY:m,borderRadius:v,width:void 0===h?"auto":h,color:a,fontSize:p}};return e.createElement(n,{sx:E.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,h=void 0===p?255:p,E=n.autofocus,g=void 0!==E&&E,y=n.noOptionsText,x=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:x,renderInput:function(n){var t,o;return e.createElement(r,C({label:a,required:u,disabled:c,autoFocus:g,inputProps:{maxLength:h},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,h=n.labelKey,E=void 0===h?"label":h,g=n.maxLength,y=void 0===g?255:g,x=n.autofocus,q=void 0!==x&&x,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,C({variant:"outlined",label:r[E],size:"small"},n({index:t})))}))},renderInput:function(n){var t,o;return e.createElement(r,C({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,h=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,C({required:d,label:l,value:f,multiline:!0,minRows:i,maxRows:i,onChange:c,onBlur:m,error:Boolean(null===(t=h[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=h[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(h,C({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"],z=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:E,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,C({},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))}}))}})},P=["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,P),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:E,adapterLocale:q},e.createElement(x,{label:l,inputFormat:"dd/MM/yyyy",value:u,onChange:a,disabled:d,renderInput:function(n){var t,l;return e.createElement(r,C({},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,E=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(h,C({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=E[o])||void 0===t?void 0:t.message),helperText:null===(a=E[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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,x=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,C=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(x):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return s(e.text)}))},C),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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,x=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,C=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(x):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return s(e.email)}))},C),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,h=void 0===b?350:b,E=r.selectionTextColor,g=void 0===E?"white":E,y=r.paddingY,x=void 0===y?"10px":y,q=r.paddingX,C=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:C,paddingY:x,label:D}),e.createElement(p,{width:h,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,h=void 0===p?[]:p,E=r.valueKey,g=void 0===E?"id":E,y=r.labelKey,x=void 0===y?"label":y,q=r.required,C=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:C?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:h,valueKey:g,labelKey:x,required:C,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,h=r.options,E=void 0===h?[]:h,g=r.valueKey,y=void 0===g?"id":g,x=r.labelKey,q=void 0===x?"label":x,C=r.required,S=void 0===C||C,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:E,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:c},v),e.createElement(d,{color:"error",onClick: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,h=r.onSubmit,E=r.onCancel;r.width;var g=r.rows,y=void 0===g?5:g,x=r.required,q=void 0!==x&&x,C=r.requiredMessage,S=void 0===C?"Υποχρεωτικό πεδίο":C,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 h(e.notes)}))},k),e.createElement(d,{color:"error",onClick:function(){return E()}},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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,x=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,C=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(x):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.poso)}))},C),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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,x=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,C=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:c},T=b.object({datetime:g?b.date().typeError("Μη έγκυρη μορφή ημερομηνίας/ώρας").required(x):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(z,{form:V,name:"datetime",label:o,required:g,autofocus:!0,sx:{width:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.datetime)}))},C),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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,x=void 0===y?"Υποχρεωτικό πεδίο":y,q=r.okLabel,C=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:c},T=b.object({datetime:g?b.date().typeError("Μη έγκυρη μορφή ημερομηνίας").required(x):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.datetime)}))},C),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,h=r.required,E=void 0===h||h,g=r.info,y=void 0===g?"":g;r.width;var x=r.requiredMessage,q=void 0===x?"Υποχρεωτικό πεδίο":x,C=r.okLabel,S=void 0===C?"ΚΑΤΑΧΩΡΗΣΗ":C,w=r.cancelLabel,k=void 0===w?"ΑΚΥΡΩΣΗ":w,T={field:s||null},V=b.object({field:E?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:E,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,h=void 0!==p&&p,E=r.required,g=void 0===E||E,y=r.requiredMessage,x=void 0===y?"Υποχρεωτικό πεδίο":y;r.minValue,r.maxValue;var q=r.okLabel,C=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(x)},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:h,sx:{width:500,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.num)}))},C),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))};export{J as AutocompleteModalForm,Q as AutocompleteMultiModalForm,_ as ConfirmationDialog,re as CurrencyModalForm,te as DateModalForm,ne as DatetimeModalForm,U as EmailModalForm,ae as IntegerModalForm,ee as NotesModalForm,G as PickColorModalForm,H as TextModalForm,le as YesNoModalForm};
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 h from"react-number-format";import{AdapterDateFns as E}from"@mui/x-date-pickers/AdapterDateFns";import{LocalizationProvider as g}from"@mui/x-date-pickers/LocalizationProvider";import{DateTimePicker as y,DatePicker as q}from"@mui/x-date-pickers";import x from"date-fns/locale/el";import"@mui/icons-material";function C(){return C=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},C.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,h=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,C({required:d,label:l,value:f,onChange:c,onBlur:m,error:Boolean(null===(t=h[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=h[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,h=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,C({required:d,label:i,value:m,onChange:u,onBlur:c,error:Boolean(null===(t=h[l])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(o=h[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,h=r.width,E={text:{display:"inline-block",textAlign:"center",backgroundColor:u,paddingX:c,paddingY:m,borderRadius:v,width:void 0===h?"auto":h,color:a,fontSize:p}};return e.createElement(n,{sx:E.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,h=void 0===p?255:p,E=n.autofocus,g=void 0!==E&&E,y=n.noOptionsText,q=void 0===y?"Δεν υπάρχουν επιλογές":y,x=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:q,renderInput:function(n){var t,o;return e.createElement(r,C({label:a,required:u,disabled:c,autoFocus:g,inputProps:{maxLength:h},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,x))}})}})},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,h=n.labelKey,E=void 0===h?"label":h,g=n.maxLength,y=void 0===g?255:g,q=n.autofocus,x=void 0!==q&&q,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,C({variant:"outlined",label:r[E],size:"small"},n({index:t})))}))},renderInput:function(n){var t,o;return e.createElement(r,C({label:i,required:d,disabled:s,autoFocus:x,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,h=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,C({required:d,label:l,value:f,multiline:!0,minRows:i,maxRows:i,onChange:c,onBlur:m,error:Boolean(null===(t=h[o])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(a=h[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(h,C({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"],z=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:E,adapterLocale:x},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,C({},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))}}))}})},P=["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,P),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:E,adapterLocale:x},e.createElement(q,{label:l,inputFormat:"dd/MM/yyyy",value:u,onChange:a,disabled:d,renderInput:function(n){var t,l;return e.createElement(r,C({},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,E=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(h,C({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=E[o])||void 0===t?void 0:t.message),helperText:null===(a=E[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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,q=void 0===y?"Υποχρεωτικό πεδίο":y,x=r.okLabel,C=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,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(q):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return s(e.text)}))},C),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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,q=void 0===y?"Υποχρεωτικό πεδίο":y,x=r.okLabel,C=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,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(q):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return s(e.email)}))},C),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,h=void 0===b?350:b,E=r.selectionTextColor,g=void 0===E?"white":E,y=r.paddingY,q=void 0===y?"10px":y,x=r.paddingX,C=void 0===x?"10px":x,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:C,paddingY:q,label:D}),e.createElement(p,{width:h,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,h=void 0===p?[]:p,E=r.valueKey,g=void 0===E?"id":E,y=r.labelKey,q=void 0===y?"label":y,x=r.required,C=void 0===x||x,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:C?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:h,valueKey:g,labelKey:q,required:C,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,h=r.options,E=void 0===h?[]:h,g=r.valueKey,y=void 0===g?"id":g,q=r.labelKey,x=void 0===q?"label":q,C=r.required,S=void 0===C||C,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:E,valueKey:y,labelKey:x,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:c},v),e.createElement(d,{color:"error",onClick: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,h=r.onSubmit,E=r.onCancel;r.width;var g=r.rows,y=void 0===g?5:g,q=r.required,x=void 0!==q&&q,C=r.requiredMessage,S=void 0===C?"Υποχρεωτικό πεδίο":C,w=r.okLabel,k=void 0===w?"ΚΑΤΑΧΩΡΗΣΗ":w,T=r.cancelLabel,V=void 0===T?"ΑΚΥΡΩΣΗ":T,L={notes:p||""},D=b.object({notes:x?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:x,rows:y,autofocus:!0,sx:{marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:B.handleSubmit((function(e){return h(e.notes)}))},k),e.createElement(d,{color:"error",onClick:function(){return E()}},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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,q=void 0===y?"Υποχρεωτικό πεδίο":y,x=r.okLabel,C=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={poso:j(c)?c:null},T=b.object({poso:g?b.string().required(q):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.poso)}))},C),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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,q=void 0===y?"Υποχρεωτικό πεδίο":y,x=r.okLabel,C=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:c},T=b.object({datetime:g?b.date().typeError("Μη έγκυρη μορφή ημερομηνίας/ώρας").required(q):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(z,{form:V,name:"datetime",label:o,required:g,autofocus:!0,sx:{width:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.datetime)}))},C),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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,q=void 0===y?"Υποχρεωτικό πεδίο":y,x=r.okLabel,C=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={datetime:c},T=b.object({datetime:g?b.date().typeError("Μη έγκυρη μορφή ημερομηνίας").required(q):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.datetime)}))},C),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,h=r.required,E=void 0===h||h,g=r.info,y=void 0===g?"":g;r.width;var q=r.requiredMessage,x=void 0===q?"Υποχρεωτικό πεδίο":q,C=r.okLabel,S=void 0===C?"ΚΑΤΑΧΩΡΗΣΗ":C,w=r.cancelLabel,k=void 0===w?"ΑΚΥΡΩΣΗ":w,T={field:s||null},V=b.object({field:E?b.boolean().required(x):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:E,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,h=void 0!==p&&p,E=r.required,g=void 0===E||E,y=r.requiredMessage,q=void 0===y?"Υποχρεωτικό πεδίο":y;r.minValue,r.maxValue;var x=r.okLabel,C=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,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(q)},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:h,sx:{width:500,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.num)}))},C),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,h=void 0===p?500:p,E=r.required,g=void 0===E||E,y=r.requiredMessage,q=void 0===y?"Υποχρεωτικό πεδίο":y,x=r.okLabel,C=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,S=r.cancelLabel,w=void 0===S?"ΑΚΥΡΩΣΗ":S,k={field:j(c)?c:null},T=b.object({field:g?b.string().required(q):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:h,marginTop:2}})),e.createElement(u,null,e.createElement(d,{color:"success",onClick:V.handleSubmit((function(e){return s(e.field)}))},C),e.createElement(d,{color:"error",onClick:function(){return m()}},w)))};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,ee as NotesModalForm,G as PickColorModalForm,H as TextModalForm,le as YesNoModalForm};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artibet/react-mui-components",
3
- "version": "2.10.1",
3
+ "version": "2.11.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 p,TableHead as m,TableBody as g,TablePagination as v}from"@mui/material";import b from"react";import{MdClear as y,MdOutlineAdd as h}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,p=void 0===d||d,m=A(b.useState(o),2),g=m[0],v=m[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:p&&b.createElement(t,{position:"end",disablePointerEvents:!g},b.createElement(n,{onClick:function(){return l("")}},g?b.createElement(y,null):b.createElement(y,{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(h,{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},G=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"},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))))},J=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,p=void 0===d?"white":d,m=r.clearIcon,g=void 0===m||m,v=A(b.useState(o),2),h=v[0],C=v[1];b.useEffect((function(){C(o)}),[o]);return b.createElement(x,{mask:i,value:h,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:h?f:p},placeholder:u,fullWidth:!0,size:"small",InputProps:{endAdornment:g&&b.createElement(t,{position:"end",disablePointerEvents:!h},b.createElement(n,{onClick:function(){return a("")}},h?b.createElement(y,null):b.createElement(y,{color:"#cccccc"})))}})}))},W=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,p=void 0===d?"":d,m=e.activeColor,g=void 0===m?"#D4F7F4":m,v=e.inactiveColor,h=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:h,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(y,null):b.createElement(y,{color:"#cccccc"})))},b.createElement(c,{value:-1},p),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,p=t.inactiveColor,m=void 0===p?"white":p,g=j(t,U),v=A(b.useState(null),2),y=v[0],h=v[1];return b.useEffect((function(){h(o.find((function(e){return e[i]===n}))||null)}),[n]),b.createElement(u,{value:y,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!==y?d:m,color:-1==y?"#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(J,{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(W,{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},b.createElement(G,{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({},u)},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:"",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,y=e.columns,h=e.dataUrl,E=e.hasQueryParams,w=void 0!==E&&E,S=e.enableGlobalFilter,x=void 0!==S&&S,F=e.enableColumnFilters,I=void 0!==F&&F,P=e.globalFilterPlaceholder,j=void 0===P?"Καθολική Αναζήτηση":P,T=e.enableCreateRow,K=void 0!==T&&T,R=e.createButtonVariant,B=void 0===R?"contained":R,G=e.createButtonTooltip,J=void 0===G?"Νέα Εγγραφή":G,W=e.onCreateRow,U=void 0===W?null:W,Q=e.rowsClickable,_=void 0!==Q&&Q,H=e.onRowClick,Z=void 0===H?null:H,ee=e.globalActions,te=void 0===ee?[]:ee,ne=e.rowActions,re=void 0===ne?[]:ne,oe=e.keepState,le=void 0===oe||oe,ie=e.stateKey,ae=void 0===ie?null:ie,ce=e.filterActiveColor,ue=void 0===ce?"#D4F7F4":ce,se=e.filterInactiveColor,fe=void 0===se?"white":se,de=e.defaultSorting,pe=void 0===de?[]:de,me=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageIndex")}),[]),ge=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageSize")}),[]),ve=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".sorting")}),[]),be=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".globalFilter")}),[]),ye=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".columnFilters")}),[]),he=b.useMemo((function(){return y.map((function(e){return O(O({},X),e)}))})),Ce=A(b.useState(Y),2),Ee=Ce[0],we=Ce[1],Se=A(b.useState(ve&&JSON.parse(sessionStorage.getItem(ve))||pe),2),xe=Se[0],ke=Se[1],Fe=A(b.useState(be&&sessionStorage.getItem(be)||""),2),Oe=Fe[0],Ie=Fe[1],Pe=A(b.useState(ye&&JSON.parse(sessionStorage.getItem(ye))||[]),2),je=Pe[0],Ae=Pe[1],ze=A(b.useState(me&&parseInt(sessionStorage.getItem(me))||0),2),Te=ze[0],Ke=ze[1],Re=A(b.useState(ge&&parseInt(sessionStorage.getItem(ge))||10),2),De=Re[0],Be=Re[1],Ve=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()}}}(),Me=Ve.startLoader,Ne=Ve.stopLoader,Le=function(e,t,n,r,o){Me();var l=w?"&":"?";k.get("".concat(h).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){we(e.data),Ne()})).catch((function(e){console.log(e.message),Ne()}))};b.useImperativeHandle(t,(function(){return{updateRow:function(e){we((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 Le(Te,De,xe,Oe,je)}}}));var Ge={props:{title:n,titleStyle:o,rowStyle:a,cellStyle:u,tableSize:f,columns:y,dataUrl:h,hasQueryParams:w,enableGlobalFilter:x,enableColumnFilters:I,globalFilterPlaceholder:j,enableCreateRow:K,createButtonVariant:B,createButtonTooltip:J,onCreateRow:U,rowsClickable:_,onRowClick:Z,globalActions:te,rowActions:re,keepState:le,stateKey:ae,filterActiveColor:ue,filterInactiveColor:fe,defaultSorting:pe},state:{data:Ee,columns:he,setData:we,sorting:xe,setSorting:ke,globalFilter:Oe,setGlobalFilter:Ie,columnFilters:je,setColumnFilters:Ae,pageIndex:Te,setPageIndex:Ke,pageSize:De,setPageSize:Be},api:{toggleSorting:function(e,t){ke((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 Ke(0),Le(0,De,o,Oe,je),o}))},getSortingStatus:function(e){var t=xe.find((function(t){return t.id===e.id}));return t?t.desc?"desc":"asc":null},handleGlobalFilterChange:function(e){Ie(e),Ke(0),Le(0,De,xe,e,je)},getColumnFilter:function(e){var t=je.find((function(t){return t.id===e.id}));return t?t.value:""},handleColumnFilterChange:function(e,t){Ae((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}]),Ke(0),Le(0,De,xe,Oe,r),r}))}}};return b.useEffect((function(){Le(Te,De,xe,Oe,je)}),[]),b.useEffect((function(){me&&sessionStorage.setItem(me,Te)}),[Te]),b.useEffect((function(){ge&&sessionStorage.setItem(ge,De)}),[De]),b.useEffect((function(){ve&&sessionStorage.setItem(ve,JSON.stringify(xe))}),[xe]),b.useEffect((function(){be&&sessionStorage.setItem(be,Oe)}),[Oe]),b.useEffect((function(){ye&&sessionStorage.setItem(ye,JSON.stringify(je))}),[je]),b.createElement(b.Fragment,null,b.createElement(D.Provider,{value:Ge},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(p,{size:f},b.createElement(m,null,b.createElement(q,null)),b.createElement(g,null,Ee.data.map((function(e){return b.createElement($,{key:e.id,row:e})})))))),b.createElement(v,{sx:{marginTop:1,overflow:"hidden"},component:"div",showFirstButton:!0,showLastButton:!0,count:parseInt(Ee.total),page:0!=Ee.page?Ee.page-1:0,rowsPerPage:Ee.page_size,onPageChange:function(e,t){return Ke(n=t),void Le(n,De,xe,Oe,je);var n},onRowsPerPageChange:function(e){return t=e.target.value,Be(t),Ke(0),void Le(0,t,xe,Oe,je);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"},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({},u)},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:"",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.hasQueryParams,w=void 0!==E&&E,S=e.enableGlobalFilter,x=void 0!==S&&S,F=e.enableColumnFilters,I=void 0!==F&&F,P=e.globalFilterPlaceholder,j=void 0===P?"Καθολική Αναζήτηση":P,T=e.enableCreateRow,K=void 0!==T&&T,R=e.createButtonVariant,B=void 0===R?"contained":R,W=e.createButtonTooltip,G=void 0===W?"Νέα Εγγραφή":W,J=e.onCreateRow,U=void 0===J?null:J,Q=e.rowsClickable,_=void 0!==Q&&Q,H=e.onRowClick,Z=void 0===H?null:H,ee=e.globalActions,te=void 0===ee?[]:ee,ne=e.rowActions,re=void 0===ne?[]:ne,oe=e.keepState,le=void 0===oe||oe,ie=e.stateKey,ae=void 0===ie?null:ie,ce=e.filterActiveColor,ue=void 0===ce?"#D4F7F4":ce,se=e.filterInactiveColor,fe=void 0===se?"white":se,de=e.defaultSorting,me=void 0===de?[]:de,pe=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageIndex")}),[]),ge=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".pageSize")}),[]),ve=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".sorting")}),[]),be=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".globalFilter")}),[]),he=b.useMemo((function(){return!(!le||!ae)&&"".concat(ae,".columnFilters")}),[]),ye=b.useMemo((function(){return h.map((function(e){return O(O({},X),e)}))})),Ce=A(b.useState(Y),2),Ee=Ce[0],we=Ce[1],Se=A(b.useState(ve&&JSON.parse(sessionStorage.getItem(ve))||me),2),xe=Se[0],ke=Se[1],Fe=A(b.useState(be&&sessionStorage.getItem(be)||""),2),Oe=Fe[0],Ie=Fe[1],Pe=A(b.useState(he&&JSON.parse(sessionStorage.getItem(he))||[]),2),je=Pe[0],Ae=Pe[1],ze=A(b.useState(pe&&parseInt(sessionStorage.getItem(pe))||0),2),Te=ze[0],Ke=ze[1],Re=A(b.useState(ge&&parseInt(sessionStorage.getItem(ge))||10),2),De=Re[0],Be=Re[1],Ve=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()}}}(),Me=Ve.startLoader,Ne=Ve.stopLoader,Le=function(e,t,n,r,o){Me();var l=w?"&":"?";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){we(e.data),Ne()})).catch((function(e){console.log(e.message),Ne()}))};b.useImperativeHandle(t,(function(){return{updateRow:function(e){we((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 Le(Te,De,xe,Oe,je)}}}));var We={props:{title:n,titleStyle:o,rowStyle:a,cellStyle:u,tableSize:f,columns:h,dataUrl:y,hasQueryParams:w,enableGlobalFilter:x,enableColumnFilters:I,globalFilterPlaceholder:j,enableCreateRow:K,createButtonVariant:B,createButtonTooltip:G,onCreateRow:U,rowsClickable:_,onRowClick:Z,globalActions:te,rowActions:re,keepState:le,stateKey:ae,filterActiveColor:ue,filterInactiveColor:fe,defaultSorting:me},state:{data:Ee,columns:ye,setData:we,sorting:xe,setSorting:ke,globalFilter:Oe,setGlobalFilter:Ie,columnFilters:je,setColumnFilters:Ae,pageIndex:Te,setPageIndex:Ke,pageSize:De,setPageSize:Be},api:{toggleSorting:function(e,t){ke((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 Ke(0),Le(0,De,o,Oe,je),o}))},getSortingStatus:function(e){var t=xe.find((function(t){return t.id===e.id}));return t?t.desc?"desc":"asc":null},handleGlobalFilterChange:function(e){Ie(e),Ke(0),Le(0,De,xe,e,je)},getColumnFilter:function(e){var t=je.find((function(t){return t.id===e.id}));return t?t.value:""},handleColumnFilterChange:function(e,t){Ae((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}]),Ke(0),Le(0,De,xe,Oe,r),r}))}}};return b.useEffect((function(){Le(Te,De,xe,Oe,je)}),[]),b.useEffect((function(){pe&&sessionStorage.setItem(pe,Te)}),[Te]),b.useEffect((function(){ge&&sessionStorage.setItem(ge,De)}),[De]),b.useEffect((function(){ve&&sessionStorage.setItem(ve,JSON.stringify(xe))}),[xe]),b.useEffect((function(){be&&sessionStorage.setItem(be,Oe)}),[Oe]),b.useEffect((function(){he&&sessionStorage.setItem(he,JSON.stringify(je))}),[je]),b.createElement(b.Fragment,null,b.createElement(D.Provider,{value:We},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,Ee.data.map((function(e){return b.createElement($,{key:e.id,row:e})})))))),b.createElement(v,{sx:{marginTop:1,overflow:"hidden"},component:"div",showFirstButton:!0,showLastButton:!0,count:parseInt(Ee.total),page:0!=Ee.page?Ee.page-1:0,rowsPerPage:Ee.page_size,onPageChange:function(e,t){return Ke(n=t),void Le(n,De,xe,Oe,je);var n},onRowsPerPageChange:function(e){return t=e.target.value,Be(t),Ke(0),void Le(0,t,xe,Oe,je);var t},labelDisplayedRows:function(e){return"".concat(e.from," έως ").concat(e.to," από ").concat(e.count)},labelRowsPerPage:"Εγγραφές ανά σελίδα"}))}));export{Z as ServerSideTable};