@artibet/react-mui-components 1.4.1 → 1.5.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,5 @@
1
+ .chrome-picker {
2
+ -webkit-box-shadow: none !important;
3
+ -moz-box-shadow: none !important;
4
+ box-shadow: none !important;
5
+ }
package/dist/cjs/index.js CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@mui/material"),r=require("react"),t=require("@mui/icons-material"),o=require("react-hook-form"),n=require("react-color");function l(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var a=l(r),i=function(r){var t=r.label,o=void 0===t?"":t,n=r.color,l=void 0===n?"white":n,i=r.backgroundColor,u=void 0===i?"#888888":i,d=r.paddingX,c=void 0===d?"10px":d,s=r.paddingY,f=void 0===s?"5px":s,v=r.borderRadius,m=void 0===v?"10px":v,p=r.fontSize,b=void 0===p?"14px":p,h=r.width,g={text:{display:"inline-block",textAlign:"center",backgroundColor:u,paddingX:c,paddingY:f,borderRadius:m,width:void 0===h?"auto":h,color:l,fontSize:b}};return a.default.createElement(e.Typography,{sx:g.text},o)};function u(){return u=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},u.apply(this,arguments)}function d(e,r){if(null==e)return{};var t,o,n=function(e,r){if(null==e)return{};var t,o,n={},l=Object.keys(e);for(o=0;o<l.length;o++)t=l[o],r.indexOf(t)>=0||(n[t]=e[t]);return n}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)t=l[o],r.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(n[t]=e[t])}return n}function c(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,n,l,a,i=[],u=!0,d=!1;try{if(l=(t=t.call(e)).next,0===r){if(Object(t)!==t)return;u=!1}else for(;!(u=(o=l.call(t)).done)&&(i.push(o.value),i.length!==r);u=!0);}catch(e){d=!0,n=e}finally{try{if(!u&&null!=t.return&&(a=t.return(),Object(a)!==a))return}finally{if(d)throw n}}return i}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return s(e,r);var t=Object.prototype.toString.call(e).slice(8,-1);"Object"===t&&e.constructor&&(t=e.constructor.name);if("Map"===t||"Set"===t)return Array.from(e);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return s(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 s(e,r){(null==r||r>e.length)&&(r=e.length);for(var t=0,o=new Array(r);t<r;t++)o[t]=e[t];return o}var f=["form","name","label","maxLength","required","disabled","autofocus"],v=["form","name","label","required","disabled","autofocus"],m=["form","name","label","required","disabled","autofocus"],p=["form","name","label","disabled"],b=["form","name","label","selectionWidth","pickerWidth","selectionTextColor","paddingY","paddingX","required","disabled"],h=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"];exports.MyAutocompleteField=function(r){var t=r.form,n=r.name,l=r.label,i=r.required,s=void 0!==i&&i,f=r.disabled,v=void 0!==f&&f,m=r.options,p=void 0===m?[]:m,b=r.valueKey,g=void 0===b?"id":b;r.labelKey;var x=r.maxLength,y=void 0===x?255:x,E=r.autofocus,C=void 0!==E&&E,w=r.noOptionsText,O=void 0===w?"Δεν υπάρχουν επιλογές":w,q=d(r,h),S=c(a.default.useState(null),2),B=S[0],k=S[1],T=t.watch(n);a.default.useEffect((function(){k(p.find((function(e){return e[g]===T}))||null)}),[T]);var F=t.control,j=t.formState.errors;return a.default.createElement(o.Controller,{name:n,control:F,rules:{required:s,disabled:v},render:function(r){var t=r.field,o=t.onChange,i=t.onBlur;return t.value,a.default.createElement(e.Autocomplete,{value:B,required:s,onChange:function(e,r){return o(r?r[g]:null)},options:p,isOptionEqualToValue:function(e,r){return e[g]===r[g]},noOptionsText:O,renderInput:function(r){var t,o;return a.default.createElement(e.TextField,u({label:l,required:s,disabled:v,autoFocus:C,inputProps:{maxLength:y},error:Boolean(null===(t=j[n])||void 0===t?void 0:t.message),onBlur:i,variant:"outlined",fullWidth:!0,helperText:null===(o=j[n])||void 0===o?void 0:o.message},r,q))}})}})},exports.MyChip=i,exports.MyColorPickerField=function(r){var t=r.form,l=r.name,s=void 0===l?"color":l,f=r.label,v=void 0===f?"Επιλογή Χρώματος":f,m=r.selectionWidth,p=void 0===m?70:m,h=r.pickerWidth,g=void 0===h?350:h,x=r.selectionTextColor,y=void 0===x?"white":x,E=r.paddingY,C=void 0===E?"10px":E,w=r.paddingX,O=void 0===w?"10px":w,q=r.required,S=void 0!==q&&q,B=r.disabled,k=void 0!==B&&B,T=d(r,b),F=c(a.default.useState(null),2),j=F[0],P=F[1],A=Boolean(j),M=A?"color-picker":void 0,z=t.control;return a.default.createElement(o.Controller,{name:s,control:z,rules:{disabled:k},render:function(r){var t=r.field,o=t.onChange;t.onBlur;var l=t.value;return a.default.createElement(e.Stack,u({gap:1},T),a.default.createElement(e.Typography,null,"".concat(v," ").concat(S?"*":"")),a.default.createElement(e.Box,{sx:{display:"flex"}},a.default.createElement(e.Box,{"aria-describedby":M,sx:{cursor:"pointer"},onClick:function(e){return P(e.currentTarget)}},a.default.createElement(i,{color:y,backgroundColor:l,paddingY:C,paddingX:O,width:p,label:l}))),a.default.createElement(e.Popover,{sx:{marginTop:"10px"},id:M,open:A,anchorEl:j,onClose:function(){return P(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"}},a.default.createElement(e.Box,null,a.default.createElement(n.ChromePicker,{width:g,color:l,onChange:function(e){return o(e.hex)}}))))}})},exports.MyEmailField=function(r){var t=r.form,n=r.name,l=void 0===n?"email":n,i=r.label,c=void 0===i?"E-mail":i,s=r.required,f=void 0===s||s,v=r.disabled,p=void 0!==v&&v,b=r.autofocus,h=void 0!==b&&b,g=d(r,m),x=t.control,y=t.formState.errors;return a.default.createElement(o.Controller,{name:l,control:x,rules:{required:f,disabled:p},render:function(r){var t,o,n=r.field,i=n.onChange,d=n.onBlur,s=n.value;return a.default.createElement(e.TextField,u({required:f,label:c,value:s,onChange:i,onBlur:d,error:Boolean(null===(t=y[l])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(o=y[l])||void 0===o?void 0:o.message,variant:"outlined",disabled:p,autoFocus:h},g))}})},exports.MyPasswordField=function(r){var t=r.form,n=r.name,l=void 0===n?"password":n,i=r.label,c=void 0===i?"Κωδικός Πρόσβασης":i,s=r.required,f=void 0===s||s,m=r.disabled,p=void 0!==m&&m,b=r.autofocus,h=void 0!==b&&b,g=d(r,v),x=t.control,y=t.formState.errors;return a.default.createElement(o.Controller,{name:l,control:x,rules:{required:f,disabled:p},render:function(r){var t,o,n=r.field,i=n.onChange,d=n.onBlur,s=n.value;return a.default.createElement(e.TextField,u({required:f,label:c,value:s,onChange:i,onBlur:d,error:Boolean(null===(t=y[l])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(o=y[l])||void 0===o?void 0:o.message,variant:"outlined",disabled:p,autoFocus:h,type:"password"},g))}})},exports.MySwitchField=function(r){var t=r.form,n=r.name,l=r.label,i=r.disabled,u=void 0!==i&&i,c=d(r,p),s=t.control;return a.default.createElement(o.Controller,{name:n,control:s,rules:{disabled:u},render:function(r){var o=r.field;o.onChange,o.onBlur;var i=o.value;return a.default.createElement(e.FormGroup,c,a.default.createElement(e.FormControlLabel,{control:a.default.createElement(e.Switch,{checked:Boolean(i),onChange:function(e){return t.setValue(n,e.target.checked)},inputProps:{"aria-label":l}}),label:l}))}})},exports.MyTextField=function(r){var t=r.form,n=r.name,l=r.label,i=r.maxLength,c=void 0===i?255:i,s=r.required,v=void 0!==s&&s,m=r.disabled,p=void 0!==m&&m,b=r.autofocus,h=void 0!==b&&b,g=d(r,f),x=t.control,y=t.formState.errors;return a.default.createElement(o.Controller,{name:n,control:x,rules:{required:v,disabled:p},render:function(r){var t,o,i=r.field,d=i.onChange,s=i.onBlur,f=i.value;return a.default.createElement(e.TextField,u({required:v,label:l,value:f,onChange:d,onBlur:s,error:Boolean(null===(t=y[n])||void 0===t?void 0:t.message),fullWidth:!0,helperText:null===(o=y[n])||void 0===o?void 0:o.message,variant:"outlined",disabled:p,autoFocus:h,inputProps:{maxLength:c}},g))}})},exports.ShowErrors=function(r){var t=r.errors,o=r.marginBottom,n=void 0===o?3:o;return 0===Object.keys(t).length?null:a.default.createElement(a.default.Fragment,null,Object.keys(t).map((function(r,o){return a.default.createElement(e.Alert,{sx:{marginBottom:n},key:o,severity:"error"},t[r])})))},exports.StatusIcon=function(e){var r=e.on,o=e.showOn,n=void 0===o||o,l=e.showOff,i=void 0===l||l,u=e.size,d=void 0===u?24:u;return Boolean(r)?n?a.default.createElement(t.Done,{color:"success",sx:{fontSize:d}}):null:i?a.default.createElement(t.Close,{color:"error",sx:{fontSize:d}}):null},exports.YesNoChip=function(e){var r=e.status,t=e.showYes,o=void 0===t||t;e.showNo;var n=e.width,l=void 0===n?80:n;return Boolean(r)?o&&a.default.createElement(i,{label:"ΝΑΙ",backgroundColor:"green",fontSize:"12px",paddingX:"5px",width:l}):o&&a.default.createElement(i,{label:"ΟΧΙ",backgroundColor:"red",fontSize:"12px",paddingX:"5px",width:l})};
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@mui/material"),t=require("react"),o=require("@mui/icons-material"),r=require("react-hook-form"),l=require("react-color"),n=require("@hookform/resolvers/yup"),a=require("yup");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function u(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(o){if("default"!==o){var r=Object.getOwnPropertyDescriptor(e,o);Object.defineProperty(t,o,r.get?r:{enumerable:!0,get:function(){return e[o]}})}})),t.default=e,Object.freeze(t)}var d=i(t),c=u(a),s=function(t){var o=t.label,r=void 0===o?"":o,l=t.color,n=void 0===l?"white":l,a=t.backgroundColor,i=void 0===a?"#888888":a,u=t.paddingX,c=void 0===u?"10px":u,s=t.paddingY,f=void 0===s?"5px":s,m=t.borderRadius,v=void 0===m?"10px":m,p=t.fontSize,b=void 0===p?"14px":p,h=t.width,g={text:{display:"inline-block",textAlign:"center",backgroundColor:i,paddingX:c,paddingY:f,borderRadius:v,width:void 0===h?"auto":h,color:n,fontSize:b}};return d.default.createElement(e.Typography,{sx:g.text},r)};function f(){return f=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var o=arguments[t];for(var r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e},f.apply(this,arguments)}function m(e,t){if(null==e)return{};var o,r,l=function(e,t){if(null==e)return{};var o,r,l={},n=Object.keys(e);for(r=0;r<n.length;r++)o=n[r],t.indexOf(o)>=0||(l[o]=e[o]);return l}(e,t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(r=0;r<n.length;r++)o=n[r],t.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(l[o]=e[o])}return l}function v(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var r,l,n,a,i=[],u=!0,d=!1;try{if(n=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;u=!1}else for(;!(u=(r=n.call(o)).done)&&(i.push(r.value),i.length!==t);u=!0);}catch(e){d=!0,l=e}finally{try{if(!u&&null!=o.return&&(a=o.return(),Object(a)!==a))return}finally{if(d)throw l}}return i}}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return p(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return p(e,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 p(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,r=new Array(t);o<t;o++)r[o]=e[o];return r}var b=["form","name","label","maxLength","required","disabled","autofocus"],h=function(t){var o=t.form,l=t.name,n=t.label,a=t.maxLength,i=void 0===a?255:a,u=t.required,c=void 0!==u&&u,s=t.disabled,v=void 0!==s&&s,p=t.autofocus,h=void 0!==p&&p,g=m(t,b),E=o.control,x=o.formState.errors;return d.default.createElement(r.Controller,{name:l,control:E,rules:{required:c,disabled:v},render:function(t){var o,r,a=t.field,u=a.onChange,s=a.onBlur,m=a.value;return d.default.createElement(e.TextField,f({required:c,label:n,value:m,onChange:u,onBlur:s,error:Boolean(null===(o=x[l])||void 0===o?void 0:o.message),fullWidth:!0,helperText:null===(r=x[l])||void 0===r?void 0:r.message,variant:"outlined",disabled:v,autoFocus:h,inputProps:{maxLength:i}},g))}})},g=["form","name","label","required","disabled","autofocus"],E=["form","name","label","required","disabled","autofocus"],x=function(t){var o=t.form,l=t.name,n=void 0===l?"email":l,a=t.label,i=void 0===a?"E-mail":a,u=t.required,c=void 0===u||u,s=t.disabled,v=void 0!==s&&s,p=t.autofocus,b=void 0!==p&&p,h=m(t,E),g=o.control,x=o.formState.errors;return d.default.createElement(r.Controller,{name:n,control:g,rules:{required:c,disabled:v},render:function(t){var o,r,l=t.field,a=l.onChange,u=l.onBlur,s=l.value;return d.default.createElement(e.TextField,f({required:c,label:i,value:s,onChange:a,onBlur:u,error:Boolean(null===(o=x[n])||void 0===o?void 0:o.message),fullWidth:!0,helperText:null===(r=x[n])||void 0===r?void 0:r.message,variant:"outlined",disabled:v,autoFocus:b},h))}})},y=["form","name","label","disabled"],C=["form","name","label","selectionWidth","pickerWidth","selectionTextColor","paddingY","paddingX","required","disabled"],w=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],k=function(t){var o=t.form,l=t.name,n=t.label,a=t.required,i=void 0!==a&&a,u=t.disabled,c=void 0!==u&&u,s=t.options,p=void 0===s?[]:s,b=t.valueKey,h=void 0===b?"id":b;t.labelKey;var g=t.maxLength,E=void 0===g?255:g,x=t.autofocus,y=void 0!==x&&x,C=t.noOptionsText,k=void 0===C?"Δεν υπάρχουν επιλογές":C,q=m(t,w),S=v(d.default.useState(null),2),O=S[0],T=S[1],B=o.watch(l);d.default.useEffect((function(){T(p.find((function(e){return e[h]===B}))||null)}),[B]);var F=o.control,D=o.formState.errors;return d.default.createElement(r.Controller,{name:l,control:F,rules:{required:i,disabled:c},render:function(t){var o=t.field,r=o.onChange,a=o.onBlur;return o.value,d.default.createElement(e.Autocomplete,{value:O,required:i,onChange:function(e,t){return r(t?t[h]:null)},options:p,isOptionEqualToValue:function(e,t){return e[h]===t[h]},noOptionsText:k,renderInput:function(t){var o,r;return d.default.createElement(e.TextField,f({label:n,required:i,disabled:c,autoFocus:y,inputProps:{maxLength:E},error:Boolean(null===(o=D[l])||void 0===o?void 0:o.message),onBlur:a,variant:"outlined",fullWidth:!0,helperText:null===(r=D[l])||void 0===r?void 0:r.message},t,q))}})}})},q=/^$|^(([^<>()\[\]\\.,;:\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,}))$/;exports.AutocompleteModalForm=function(t){var o=t.show,l=t.title,a=t.label,i=t.value,u=t.onSubmit,s=t.onCancel,f=t.options,m=void 0===f?[]:f,v=t.valueKey,p=void 0===v?"id":v,b=t.labelKey,h=void 0===b?"label":b,g=t.required,E=void 0!==g&&g,x=t.width,y=void 0===x?500:x,C=t.requiredMessage,w=void 0===C?"Υποχρεωτικό πεδίο":C,q=t.okLabel,S=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,O=t.cancelLabel,T=void 0===O?"ΑΚΥΡΩΣΗ":O,B={field:i||null},F=c.object({field:E?c.string().required(w):c.string().nullable()}),D=r.useForm({defaultValues:B,resolver:n.yupResolver(F)});return d.default.useEffect((function(){o&&(D.clearErrors(),D.setValue("field",i,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[o,i]),d.default.createElement(e.Dialog,{open:o,onClose:function(){}},d.default.createElement(e.DialogTitle,null,l),d.default.createElement(e.DialogContent,null,d.default.createElement(k,{form:D,name:"field",label:a,options:m,valueKey:p,labelKey:h,required:E,autofocus:!0,sx:{width:y,marginTop:2}})),d.default.createElement(e.DialogActions,null,d.default.createElement(e.Button,{color:"success",onClick:D.handleSubmit(u)},S),d.default.createElement(e.Button,{color:"error",onClick:function(){return s()}},T)))},exports.EmailModalForm=function(t){var o=t.show,l=t.title,a=t.label,i=t.value,u=t.onSubmit,s=t.onCancel,f=t.width,m=void 0===f?500:f,v=t.required,p=void 0===v||v,b=t.requiredMessage,h=void 0===b?"Υποχρεωτικό πεδίο":b,g=t.okLabel,E=void 0===g?"ΚΑΤΑΧΩΡΗΣΗ":g,y=t.cancelLabel,C=void 0===y?"ΑΚΥΡΩΣΗ":y,w=t.maxLength,k=void 0===w?255:w,S={email:i||""},O=c.object({email:p?c.string().matches(q,"Μη έγκυρη μορφή Email").required(h):c.string().matches(q,"Μη έγκυρη μορφή Email")}),T=r.useForm({defaultValues:S,resolver:n.yupResolver(O)});return d.default.useEffect((function(){o&&(T.clearErrors(),T.setValue("email",i,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[o,i]),d.default.createElement(e.Dialog,{open:o,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),T.handleSubmit(u)())},disableRestoreFocus:!0},d.default.createElement(e.DialogTitle,null,l),d.default.createElement(e.DialogContent,null,d.default.createElement(x,{form:T,label:a,required:p,autofocus:!0,maxLength:k,sx:{width:m,marginTop:2}})),d.default.createElement(e.DialogActions,null,d.default.createElement(e.Button,{color:"success",onClick:T.handleSubmit(u)},E),d.default.createElement(e.Button,{color:"error",onClick:function(){return s()}},C)))},exports.MyAutocompleteField=k,exports.MyChip=s,exports.MyColorPickerField=function(t){var o=t.form,n=t.name,a=void 0===n?"color":n,i=t.label,u=void 0===i?"Επιλογή Χρώματος":i,c=t.selectionWidth,p=void 0===c?70:c,b=t.pickerWidth,h=void 0===b?350:b,g=t.selectionTextColor,E=void 0===g?"white":g,x=t.paddingY,y=void 0===x?"10px":x,w=t.paddingX,k=void 0===w?"10px":w,q=t.required,S=void 0!==q&&q,O=t.disabled,T=void 0!==O&&O,B=m(t,C),F=v(d.default.useState(null),2),D=F[0],j=F[1],L=Boolean(D),A=L?"color-picker":void 0,M=o.control;return d.default.createElement(r.Controller,{name:a,control:M,rules:{disabled:T},render:function(t){var o=t.field,r=o.onChange;o.onBlur;var n=o.value;return d.default.createElement(e.Stack,f({gap:1},B),d.default.createElement(e.Typography,null,"".concat(u," ").concat(S?"*":"")),d.default.createElement(e.Box,{sx:{display:"flex"}},d.default.createElement(e.Box,{"aria-describedby":A,sx:{cursor:"pointer"},onClick:function(e){return j(e.currentTarget)}},d.default.createElement(s,{color:E,backgroundColor:n,paddingY:y,paddingX:k,width:p,label:n}))),d.default.createElement(e.Popover,{sx:{marginTop:"10px"},id:A,open:L,anchorEl:D,onClose:function(){return j(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"}},d.default.createElement(e.Box,null,d.default.createElement(l.ChromePicker,{width:h,color:n,onChange:function(e){return r(e.hex)}}))))}})},exports.MyEmailField=x,exports.MyPasswordField=function(t){var o=t.form,l=t.name,n=void 0===l?"password":l,a=t.label,i=void 0===a?"Κωδικός Πρόσβασης":a,u=t.required,c=void 0===u||u,s=t.disabled,v=void 0!==s&&s,p=t.autofocus,b=void 0!==p&&p,h=m(t,g),E=o.control,x=o.formState.errors;return d.default.createElement(r.Controller,{name:n,control:E,rules:{required:c,disabled:v},render:function(t){var o,r,l=t.field,a=l.onChange,u=l.onBlur,s=l.value;return d.default.createElement(e.TextField,f({required:c,label:i,value:s,onChange:a,onBlur:u,error:Boolean(null===(o=x[n])||void 0===o?void 0:o.message),fullWidth:!0,helperText:null===(r=x[n])||void 0===r?void 0:r.message,variant:"outlined",disabled:v,autoFocus:b,type:"password"},h))}})},exports.MySwitchField=function(t){var o=t.form,l=t.name,n=t.label,a=t.disabled,i=void 0!==a&&a,u=m(t,y),c=o.control;return d.default.createElement(r.Controller,{name:l,control:c,rules:{disabled:i},render:function(t){var r=t.field;r.onChange,r.onBlur;var a=r.value;return d.default.createElement(e.FormGroup,u,d.default.createElement(e.FormControlLabel,{control:d.default.createElement(e.Switch,{checked:Boolean(a),onChange:function(e){return o.setValue(l,e.target.checked)},inputProps:{"aria-label":n}}),label:n}))}})},exports.MyTextField=h,exports.PickColorModalForm=function(t){var o=t.show,r=t.onSubmit,n=t.onCancel,a=t.title,i=void 0===a?"Επιλογή Χρώματος":a,u=t.color,c=void 0===u?"#000000":u,f=t.pickerWidth,m=void 0===f?350:f,p=t.selectionTextColor,b=void 0===p?"white":p,h=t.paddingY,g=void 0===h?"10px":h,E=t.paddingX,x=void 0===E?"10px":E,y=t.okLabel,C=void 0===y?"ΚΑΤΑΧΩΡΗΣΗ":y,w=t.cancelLabel,k=void 0===w?"ΑΚΥΡΩΣΗ":w,q=v(d.default.useState("#000000"),2),S=q[0],O=q[1];d.default.useEffect((function(){o&&O(c)}),[o,c]);return d.default.createElement(e.Dialog,{open:o,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),form.handleSubmit(r)())}},d.default.createElement(e.DialogTitle,null,i),d.default.createElement(e.DialogContent,null,d.default.createElement(e.Stack,{gap:2},d.default.createElement(s,{color:b,backgroundColor:S,paddingX:x,paddingY:g,label:S}),d.default.createElement(l.ChromePicker,{width:m,color:S,onChange:function(e){return O(e.hex)}}))),d.default.createElement(e.DialogActions,null,d.default.createElement(e.Button,{color:"success",onClick:function(){return r(S)}},C),d.default.createElement(e.Button,{color:"error",onClick:function(){return n()}},k)))},exports.ShowErrors=function(t){var o=t.errors,r=t.marginBottom,l=void 0===r?3:r;return 0===Object.keys(o).length?null:d.default.createElement(d.default.Fragment,null,Object.keys(o).map((function(t,r){return d.default.createElement(e.Alert,{sx:{marginBottom:l},key:r,severity:"error"},o[t])})))},exports.StatusIcon=function(e){var t=e.on,r=e.showOn,l=void 0===r||r,n=e.showOff,a=void 0===n||n,i=e.size,u=void 0===i?24:i;return Boolean(t)?l?d.default.createElement(o.Done,{color:"success",sx:{fontSize:u}}):null:a?d.default.createElement(o.Close,{color:"error",sx:{fontSize:u}}):null},exports.TextModalForm=function(t){var o=t.show,l=t.title,a=t.label,i=t.value,u=t.onSubmit,s=t.onCancel,f=t.width,m=void 0===f?500:f,v=t.required,p=void 0===v||v,b=t.requiredMessage,g=void 0===b?"Υποχρεωτικό πεδίο":b,E=t.okLabel,x=void 0===E?"ΚΑΤΑΧΩΡΗΣΗ":E,y=t.cancelLabel,C=void 0===y?"ΑΚΥΡΩΣΗ":y,w=t.maxLength,k=void 0===w?255:w,q={textField:i||""},S=c.object({textField:p?c.string().max(k,"Παρακαλώ πληκτρολογείστε μέχρι ".concat(k," χαρακτήρες")).required(g):c.string().max(k)}),O=r.useForm({defaultValues:q,resolver:n.yupResolver(S)});return d.default.useEffect((function(){o&&(O.clearErrors(),O.setValue("textField",i,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[o,i]),d.default.createElement(e.Dialog,{open:o,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),O.handleSubmit(u)())},disableRestoreFocus:!0},d.default.createElement(e.DialogTitle,null,l),d.default.createElement(e.DialogContent,null,d.default.createElement(h,{form:O,name:"textField",label:a,required:p,autofocus:!0,maxLength:k,sx:{width:m,marginTop:2}})),d.default.createElement(e.DialogActions,null,d.default.createElement(e.Button,{color:"success",onClick:O.handleSubmit(u)},x),d.default.createElement(e.Button,{color:"error",onClick:function(){return s()}},C)))},exports.YesNoChip=function(e){var t=e.status,o=e.showYes,r=void 0===o||o;e.showNo;var l=e.width,n=void 0===l?80:l;return Boolean(t)?r&&d.default.createElement(s,{label:"ΝΑΙ",backgroundColor:"green",fontSize:"12px",paddingX:"5px",width:n}):r&&d.default.createElement(s,{label:"ΟΧΙ",backgroundColor:"red",fontSize:"12px",paddingX:"5px",width:n})};
@@ -0,0 +1,5 @@
1
+ .chrome-picker {
2
+ -webkit-box-shadow: none !important;
3
+ -moz-box-shadow: none !important;
4
+ box-shadow: none !important;
5
+ }
package/dist/esm/index.js CHANGED
@@ -1 +1 @@
1
- import{Typography as e,Alert as r,TextField as n,FormGroup as o,FormControlLabel as t,Switch as l,Stack as a,Box as i,Popover as u,Autocomplete as d}from"@mui/material";import c from"react";import{Done as s,Close as v}from"@mui/icons-material";import{Controller as f}from"react-hook-form";import{ChromePicker as m}from"react-color";var b=function(r){var n=r.label,o=void 0===n?"":n,t=r.color,l=void 0===t?"white":t,a=r.backgroundColor,i=void 0===a?"#888888":a,u=r.paddingX,d=void 0===u?"10px":u,s=r.paddingY,v=void 0===s?"5px":s,f=r.borderRadius,m=void 0===f?"10px":f,b=r.fontSize,p=void 0===b?"14px":b,g=r.width,h={text:{display:"inline-block",textAlign:"center",backgroundColor:i,paddingX:d,paddingY:v,borderRadius:m,width:void 0===g?"auto":g,color:l,fontSize:p}};return c.createElement(e,{sx:h.text},o)},p=function(e){var r=e.status,n=e.showYes,o=void 0===n||n;e.showNo;var t=e.width,l=void 0===t?80:t;return Boolean(r)?o&&c.createElement(b,{label:"ΝΑΙ",backgroundColor:"green",fontSize:"12px",paddingX:"5px",width:l}):o&&c.createElement(b,{label:"ΟΧΙ",backgroundColor:"red",fontSize:"12px",paddingX:"5px",width:l})},g=function(e){var r=e.on,n=e.showOn,o=void 0===n||n,t=e.showOff,l=void 0===t||t,a=e.size,i=void 0===a?24:a;return Boolean(r)?o?c.createElement(s,{color:"success",sx:{fontSize:i}}):null:l?c.createElement(v,{color:"error",sx:{fontSize:i}}):null},h=function(e){var n=e.errors,o=e.marginBottom,t=void 0===o?3:o;return 0===Object.keys(n).length?null:c.createElement(c.Fragment,null,Object.keys(n).map((function(e,o){return c.createElement(r,{sx:{marginBottom:t},key:o,severity:"error"},n[e])})))};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 o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},x.apply(this,arguments)}function y(e,r){if(null==e)return{};var n,o,t=function(e,r){if(null==e)return{};var n,o,t={},l=Object.keys(e);for(o=0;o<l.length;o++)n=l[o],r.indexOf(n)>=0||(t[n]=e[n]);return t}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(o=0;o<l.length;o++)n=l[o],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(t[n]=e[n])}return t}function E(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 o,t,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=(o=l.call(n)).done)&&(i.push(o.value),i.length!==r);u=!0);}catch(e){d=!0,t=e}finally{try{if(!u&&null!=n.return&&(a=n.return(),Object(a)!==a))return}finally{if(d)throw t}}return i}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return O(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 O(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 O(e,r){(null==r||r>e.length)&&(r=e.length);for(var n=0,o=new Array(r);n<r;n++)o[n]=e[n];return o}var w=["form","name","label","maxLength","required","disabled","autofocus"],C=function(e){var r=e.form,o=e.name,t=e.label,l=e.maxLength,a=void 0===l?255:l,i=e.required,u=void 0!==i&&i,d=e.disabled,s=void 0!==d&&d,v=e.autofocus,m=void 0!==v&&v,b=y(e,w),p=r.control,g=r.formState.errors;return c.createElement(f,{name:o,control:p,rules:{required:u,disabled:s},render:function(e){var r,l,i=e.field,d=i.onChange,v=i.onBlur,f=i.value;return c.createElement(n,x({required:u,label:t,value:f,onChange:d,onBlur:v,error:Boolean(null===(r=g[o])||void 0===r?void 0:r.message),fullWidth:!0,helperText:null===(l=g[o])||void 0===l?void 0:l.message,variant:"outlined",disabled:s,autoFocus:m,inputProps:{maxLength:a}},b))}})},q=["form","name","label","required","disabled","autofocus"],B=function(e){var r=e.form,o=e.name,t=void 0===o?"password":o,l=e.label,a=void 0===l?"Κωδικός Πρόσβασης":l,i=e.required,u=void 0===i||i,d=e.disabled,s=void 0!==d&&d,v=e.autofocus,m=void 0!==v&&v,b=y(e,q),p=r.control,g=r.formState.errors;return c.createElement(f,{name:t,control:p,rules:{required:u,disabled:s},render:function(e){var r,o,l=e.field,i=l.onChange,d=l.onBlur,v=l.value;return c.createElement(n,x({required:u,label:a,value:v,onChange:i,onBlur:d,error:Boolean(null===(r=g[t])||void 0===r?void 0:r.message),fullWidth:!0,helperText:null===(o=g[t])||void 0===o?void 0:o.message,variant:"outlined",disabled:s,autoFocus:m,type:"password"},b))}})},S=["form","name","label","required","disabled","autofocus"],k=function(e){var r=e.form,o=e.name,t=void 0===o?"email":o,l=e.label,a=void 0===l?"E-mail":l,i=e.required,u=void 0===i||i,d=e.disabled,s=void 0!==d&&d,v=e.autofocus,m=void 0!==v&&v,b=y(e,S),p=r.control,g=r.formState.errors;return c.createElement(f,{name:t,control:p,rules:{required:u,disabled:s},render:function(e){var r,o,l=e.field,i=l.onChange,d=l.onBlur,v=l.value;return c.createElement(n,x({required:u,label:a,value:v,onChange:i,onBlur:d,error:Boolean(null===(r=g[t])||void 0===r?void 0:r.message),fullWidth:!0,helperText:null===(o=g[t])||void 0===o?void 0:o.message,variant:"outlined",disabled:s,autoFocus:m},b))}})},j=["form","name","label","disabled"],T=function(e){var r=e.form,n=e.name,a=e.label,i=e.disabled,u=void 0!==i&&i,d=y(e,j),s=r.control;return c.createElement(f,{name:n,control:s,rules:{disabled:u},render:function(e){var i=e.field;i.onChange,i.onBlur;var u=i.value;return c.createElement(o,d,c.createElement(t,{control:c.createElement(l,{checked:Boolean(u),onChange:function(e){return r.setValue(n,e.target.checked)},inputProps:{"aria-label":a}}),label:a}))}})},z=["form","name","label","selectionWidth","pickerWidth","selectionTextColor","paddingY","paddingX","required","disabled"],W=function(r){var n=r.form,o=r.name,t=void 0===o?"color":o,l=r.label,d=void 0===l?"Επιλογή Χρώματος":l,s=r.selectionWidth,v=void 0===s?70:s,p=r.pickerWidth,g=void 0===p?350:p,h=r.selectionTextColor,O=void 0===h?"white":h,w=r.paddingY,C=void 0===w?"10px":w,q=r.paddingX,B=void 0===q?"10px":q,S=r.required,k=void 0!==S&&S,j=r.disabled,T=void 0!==j&&j,W=y(r,z),A=E(c.useState(null),2),X=A[0],L=A[1],P=Boolean(X),Y=P?"color-picker":void 0,F=n.control;return c.createElement(f,{name:t,control:F,rules:{disabled:T},render:function(r){var n=r.field,o=n.onChange;n.onBlur;var t=n.value;return c.createElement(a,x({gap:1},W),c.createElement(e,null,"".concat(d," ").concat(k?"*":"")),c.createElement(i,{sx:{display:"flex"}},c.createElement(i,{"aria-describedby":Y,sx:{cursor:"pointer"},onClick:function(e){return L(e.currentTarget)}},c.createElement(b,{color:O,backgroundColor:t,paddingY:C,paddingX:B,width:v,label:t}))),c.createElement(u,{sx:{marginTop:"10px"},id:Y,open:P,anchorEl:X,onClose:function(){return L(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"}},c.createElement(i,null,c.createElement(m,{width:g,color:t,onChange:function(e){return o(e.hex)}}))))}})},A=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],X=function(e){var r=e.form,o=e.name,t=e.label,l=e.required,a=void 0!==l&&l,i=e.disabled,u=void 0!==i&&i,s=e.options,v=void 0===s?[]:s,m=e.valueKey,b=void 0===m?"id":m;e.labelKey;var p=e.maxLength,g=void 0===p?255:p,h=e.autofocus,O=void 0!==h&&h,w=e.noOptionsText,C=void 0===w?"Δεν υπάρχουν επιλογές":w,q=y(e,A),B=E(c.useState(null),2),S=B[0],k=B[1],j=r.watch(o);c.useEffect((function(){k(v.find((function(e){return e[b]===j}))||null)}),[j]);var T=r.control,z=r.formState.errors;return c.createElement(f,{name:o,control:T,rules:{required:a,disabled:u},render:function(e){var r=e.field,l=r.onChange,i=r.onBlur;return r.value,c.createElement(d,{value:S,required:a,onChange:function(e,r){return l(r?r[b]:null)},options:v,isOptionEqualToValue:function(e,r){return e[b]===r[b]},noOptionsText:C,renderInput:function(e){var r,l;return c.createElement(n,x({label:t,required:a,disabled:u,autoFocus:O,inputProps:{maxLength:g},error:Boolean(null===(r=z[o])||void 0===r?void 0:r.message),onBlur:i,variant:"outlined",fullWidth:!0,helperText:null===(l=z[o])||void 0===l?void 0:l.message},e,q))}})}})};export{X as MyAutocompleteField,b as MyChip,W as MyColorPickerField,k as MyEmailField,B as MyPasswordField,T as MySwitchField,C as MyTextField,h as ShowErrors,g as StatusIcon,p as YesNoChip};
1
+ import{Typography as e,Alert as r,TextField as o,FormGroup as n,FormControlLabel as t,Switch as l,Stack as a,Box as i,Popover as u,Autocomplete as d,Dialog as c,DialogTitle as s,DialogContent as m,DialogActions as f,Button as v}from"@mui/material";import b from"react";import{Done as p,Close as h}from"@mui/icons-material";import{Controller as g,useForm as E}from"react-hook-form";import{ChromePicker as x}from"react-color";import{yupResolver as y}from"@hookform/resolvers/yup";import*as C from"yup";var w=function(r){var o=r.label,n=void 0===o?"":o,t=r.color,l=void 0===t?"white":t,a=r.backgroundColor,i=void 0===a?"#888888":a,u=r.paddingX,d=void 0===u?"10px":u,c=r.paddingY,s=void 0===c?"5px":c,m=r.borderRadius,f=void 0===m?"10px":m,v=r.fontSize,p=void 0===v?"14px":v,h=r.width,g={text:{display:"inline-block",textAlign:"center",backgroundColor:i,paddingX:d,paddingY:s,borderRadius:f,width:void 0===h?"auto":h,color:l,fontSize:p}};return b.createElement(e,{sx:g.text},n)},k=function(e){var r=e.status,o=e.showYes,n=void 0===o||o;e.showNo;var t=e.width,l=void 0===t?80:t;return Boolean(r)?n&&b.createElement(w,{label:"ΝΑΙ",backgroundColor:"green",fontSize:"12px",paddingX:"5px",width:l}):n&&b.createElement(w,{label:"ΟΧΙ",backgroundColor:"red",fontSize:"12px",paddingX:"5px",width:l})},q=function(e){var r=e.on,o=e.showOn,n=void 0===o||o,t=e.showOff,l=void 0===t||t,a=e.size,i=void 0===a?24:a;return Boolean(r)?n?b.createElement(p,{color:"success",sx:{fontSize:i}}):null:l?b.createElement(h,{color:"error",sx:{fontSize:i}}):null},S=function(e){var o=e.errors,n=e.marginBottom,t=void 0===n?3:n;return 0===Object.keys(o).length?null:b.createElement(b.Fragment,null,Object.keys(o).map((function(e,n){return b.createElement(r,{sx:{marginBottom:t},key:n,severity:"error"},o[e])})))};function O(){return O=Object.assign?Object.assign.bind():function(e){for(var r=1;r<arguments.length;r++){var o=arguments[r];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(e[n]=o[n])}return e},O.apply(this,arguments)}function B(e,r){if(null==e)return{};var o,n,t=function(e,r){if(null==e)return{};var o,n,t={},l=Object.keys(e);for(n=0;n<l.length;n++)o=l[n],r.indexOf(o)>=0||(t[o]=e[o]);return t}(e,r);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);for(n=0;n<l.length;n++)o=l[n],r.indexOf(o)>=0||Object.prototype.propertyIsEnumerable.call(e,o)&&(t[o]=e[o])}return t}function T(e,r){return function(e){if(Array.isArray(e))return e}(e)||function(e,r){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n,t,l,a,i=[],u=!0,d=!1;try{if(l=(o=o.call(e)).next,0===r){if(Object(o)!==o)return;u=!1}else for(;!(u=(n=l.call(o)).done)&&(i.push(n.value),i.length!==r);u=!0);}catch(e){d=!0,t=e}finally{try{if(!u&&null!=o.return&&(a=o.return(),Object(a)!==a))return}finally{if(d)throw t}}return i}}(e,r)||function(e,r){if(!e)return;if("string"==typeof e)return L(e,r);var o=Object.prototype.toString.call(e).slice(8,-1);"Object"===o&&e.constructor&&(o=e.constructor.name);if("Map"===o||"Set"===o)return Array.from(e);if("Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o))return L(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 L(e,r){(null==r||r>e.length)&&(r=e.length);for(var o=0,n=new Array(r);o<r;o++)n[o]=e[o];return n}var j=["form","name","label","maxLength","required","disabled","autofocus"],F=function(e){var r=e.form,n=e.name,t=e.label,l=e.maxLength,a=void 0===l?255:l,i=e.required,u=void 0!==i&&i,d=e.disabled,c=void 0!==d&&d,s=e.autofocus,m=void 0!==s&&s,f=B(e,j),v=r.control,p=r.formState.errors;return b.createElement(g,{name:n,control:v,rules:{required:u,disabled:c},render:function(e){var r,l,i=e.field,d=i.onChange,s=i.onBlur,v=i.value;return b.createElement(o,O({required:u,label:t,value:v,onChange:d,onBlur:s,error:Boolean(null===(r=p[n])||void 0===r?void 0:r.message),fullWidth:!0,helperText:null===(l=p[n])||void 0===l?void 0:l.message,variant:"outlined",disabled:c,autoFocus:m,inputProps:{maxLength:a}},f))}})},K=["form","name","label","required","disabled","autofocus"],V=function(e){var r=e.form,n=e.name,t=void 0===n?"password":n,l=e.label,a=void 0===l?"Κωδικός Πρόσβασης":l,i=e.required,u=void 0===i||i,d=e.disabled,c=void 0!==d&&d,s=e.autofocus,m=void 0!==s&&s,f=B(e,K),v=r.control,p=r.formState.errors;return b.createElement(g,{name:t,control:v,rules:{required:u,disabled:c},render:function(e){var r,n,l=e.field,i=l.onChange,d=l.onBlur,s=l.value;return b.createElement(o,O({required:u,label:a,value:s,onChange:i,onBlur:d,error:Boolean(null===(r=p[t])||void 0===r?void 0:r.message),fullWidth:!0,helperText:null===(n=p[t])||void 0===n?void 0:n.message,variant:"outlined",disabled:c,autoFocus:m,type:"password"},f))}})},z=["form","name","label","required","disabled","autofocus"],A=function(e){var r=e.form,n=e.name,t=void 0===n?"email":n,l=e.label,a=void 0===l?"E-mail":l,i=e.required,u=void 0===i||i,d=e.disabled,c=void 0!==d&&d,s=e.autofocus,m=void 0!==s&&s,f=B(e,z),v=r.control,p=r.formState.errors;return b.createElement(g,{name:t,control:v,rules:{required:u,disabled:c},render:function(e){var r,n,l=e.field,i=l.onChange,d=l.onBlur,s=l.value;return b.createElement(o,O({required:u,label:a,value:s,onChange:i,onBlur:d,error:Boolean(null===(r=p[t])||void 0===r?void 0:r.message),fullWidth:!0,helperText:null===(n=p[t])||void 0===n?void 0:n.message,variant:"outlined",disabled:c,autoFocus:m},f))}})},D=["form","name","label","disabled"],W=function(e){var r=e.form,o=e.name,a=e.label,i=e.disabled,u=void 0!==i&&i,d=B(e,D),c=r.control;return b.createElement(g,{name:o,control:c,rules:{disabled:u},render:function(e){var i=e.field;i.onChange,i.onBlur;var u=i.value;return b.createElement(n,d,b.createElement(t,{control:b.createElement(l,{checked:Boolean(u),onChange:function(e){return r.setValue(o,e.target.checked)},inputProps:{"aria-label":a}}),label:a}))}})},X=["form","name","label","selectionWidth","pickerWidth","selectionTextColor","paddingY","paddingX","required","disabled"],Y=function(r){var o=r.form,n=r.name,t=void 0===n?"color":n,l=r.label,d=void 0===l?"Επιλογή Χρώματος":l,c=r.selectionWidth,s=void 0===c?70:c,m=r.pickerWidth,f=void 0===m?350:m,v=r.selectionTextColor,p=void 0===v?"white":v,h=r.paddingY,E=void 0===h?"10px":h,y=r.paddingX,C=void 0===y?"10px":y,k=r.required,q=void 0!==k&&k,S=r.disabled,L=void 0!==S&&S,j=B(r,X),F=T(b.useState(null),2),K=F[0],V=F[1],z=Boolean(K),A=z?"color-picker":void 0,D=o.control;return b.createElement(g,{name:t,control:D,rules:{disabled:L},render:function(r){var o=r.field,n=o.onChange;o.onBlur;var t=o.value;return b.createElement(a,O({gap:1},j),b.createElement(e,null,"".concat(d," ").concat(q?"*":"")),b.createElement(i,{sx:{display:"flex"}},b.createElement(i,{"aria-describedby":A,sx:{cursor:"pointer"},onClick:function(e){return V(e.currentTarget)}},b.createElement(w,{color:p,backgroundColor:t,paddingY:E,paddingX:C,width:s,label:t}))),b.createElement(u,{sx:{marginTop:"10px"},id:A,open:z,anchorEl:K,onClose:function(){return V(null)},anchorOrigin:{vertical:"bottom",horizontal:"left"}},b.createElement(i,null,b.createElement(x,{width:f,color:t,onChange:function(e){return n(e.hex)}}))))}})},P=["form","name","label","required","disabled","options","valueKey","labelKey","maxLength","autofocus","noOptionsText"],I=function(e){var r=e.form,n=e.name,t=e.label,l=e.required,a=void 0!==l&&l,i=e.disabled,u=void 0!==i&&i,c=e.options,s=void 0===c?[]:c,m=e.valueKey,f=void 0===m?"id":m;e.labelKey;var v=e.maxLength,p=void 0===v?255:v,h=e.autofocus,E=void 0!==h&&h,x=e.noOptionsText,y=void 0===x?"Δεν υπάρχουν επιλογές":x,C=B(e,P),w=T(b.useState(null),2),k=w[0],q=w[1],S=r.watch(n);b.useEffect((function(){q(s.find((function(e){return e[f]===S}))||null)}),[S]);var L=r.control,j=r.formState.errors;return b.createElement(g,{name:n,control:L,rules:{required:a,disabled:u},render:function(e){var r=e.field,l=r.onChange,i=r.onBlur;return r.value,b.createElement(d,{value:k,required:a,onChange:function(e,r){return l(r?r[f]:null)},options:s,isOptionEqualToValue:function(e,r){return e[f]===r[f]},noOptionsText:y,renderInput:function(e){var r,l;return b.createElement(o,O({label:t,required:a,disabled:u,autoFocus:E,inputProps:{maxLength:p},error:Boolean(null===(r=j[n])||void 0===r?void 0:r.message),onBlur:i,variant:"outlined",fullWidth:!0,helperText:null===(l=j[n])||void 0===l?void 0:l.message},e,C))}})}})},M=function(e){var r=e.show,o=e.title,n=e.label,t=e.value,l=e.onSubmit,a=e.onCancel,i=e.width,u=void 0===i?500:i,d=e.required,p=void 0===d||d,h=e.requiredMessage,g=void 0===h?"Υποχρεωτικό πεδίο":h,x=e.okLabel,w=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,k=e.cancelLabel,q=void 0===k?"ΑΚΥΡΩΣΗ":k,S=e.maxLength,O=void 0===S?255:S,B={textField:t||""},T=C.object({textField:p?C.string().max(O,"Παρακαλώ πληκτρολογείστε μέχρι ".concat(O," χαρακτήρες")).required(g):C.string().max(O)}),L=E({defaultValues:B,resolver:y(T)});return b.useEffect((function(){r&&(L.clearErrors(),L.setValue("textField",t,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,t]),b.createElement(c,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),L.handleSubmit(l)())},disableRestoreFocus:!0},b.createElement(s,null,o),b.createElement(m,null,b.createElement(F,{form:L,name:"textField",label:n,required:p,autofocus:!0,maxLength:O,sx:{width:u,marginTop:2}})),b.createElement(f,null,b.createElement(v,{color:"success",onClick:L.handleSubmit(l)},w),b.createElement(v,{color:"error",onClick:function(){return a()}},q)))},N=/^$|^(([^<>()\[\]\\.,;:\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,}))$/,R=function(e){var r=e.show,o=e.title,n=e.label,t=e.value,l=e.onSubmit,a=e.onCancel,i=e.width,u=void 0===i?500:i,d=e.required,p=void 0===d||d,h=e.requiredMessage,g=void 0===h?"Υποχρεωτικό πεδίο":h,x=e.okLabel,w=void 0===x?"ΚΑΤΑΧΩΡΗΣΗ":x,k=e.cancelLabel,q=void 0===k?"ΑΚΥΡΩΣΗ":k,S=e.maxLength,O=void 0===S?255:S,B={email:t||""},T=C.object({email:p?C.string().matches(N,"Μη έγκυρη μορφή Email").required(g):C.string().matches(N,"Μη έγκυρη μορφή Email")}),L=E({defaultValues:B,resolver:y(T)});return b.useEffect((function(){r&&(L.clearErrors(),L.setValue("email",t,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,t]),b.createElement(c,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),L.handleSubmit(l)())},disableRestoreFocus:!0},b.createElement(s,null,o),b.createElement(m,null,b.createElement(A,{form:L,label:n,required:p,autofocus:!0,maxLength:O,sx:{width:u,marginTop:2}})),b.createElement(f,null,b.createElement(v,{color:"success",onClick:L.handleSubmit(l)},w),b.createElement(v,{color:"error",onClick:function(){return a()}},q)))},$=function(e){var r=e.show,o=e.onSubmit,n=e.onCancel,t=e.title,l=void 0===t?"Επιλογή Χρώματος":t,i=e.color,u=void 0===i?"#000000":i,d=e.pickerWidth,p=void 0===d?350:d,h=e.selectionTextColor,g=void 0===h?"white":h,E=e.paddingY,y=void 0===E?"10px":E,C=e.paddingX,k=void 0===C?"10px":C,q=e.okLabel,S=void 0===q?"ΚΑΤΑΧΩΡΗΣΗ":q,O=e.cancelLabel,B=void 0===O?"ΑΚΥΡΩΣΗ":O,L=T(b.useState("#000000"),2),j=L[0],F=L[1];b.useEffect((function(){r&&F(u)}),[r,u]);return b.createElement(c,{open:r,onClose:function(){},onKeyDown:function(e){"Enter"!==e.code&&"NumpadEnter"!==e.code||(e.preventDefault(),form.handleSubmit(o)())}},b.createElement(s,null,l),b.createElement(m,null,b.createElement(a,{gap:2},b.createElement(w,{color:g,backgroundColor:j,paddingX:k,paddingY:y,label:j}),b.createElement(x,{width:p,color:j,onChange:function(e){return F(e.hex)}}))),b.createElement(f,null,b.createElement(v,{color:"success",onClick:function(){return o(j)}},S),b.createElement(v,{color:"error",onClick:function(){return n()}},B)))},Z=function(e){var r=e.show,o=e.title,n=e.label,t=e.value,l=e.onSubmit,a=e.onCancel,i=e.options,u=void 0===i?[]:i,d=e.valueKey,p=void 0===d?"id":d,h=e.labelKey,g=void 0===h?"label":h,x=e.required,w=void 0!==x&&x,k=e.width,q=void 0===k?500:k,S=e.requiredMessage,O=void 0===S?"Υποχρεωτικό πεδίο":S,B=e.okLabel,T=void 0===B?"ΚΑΤΑΧΩΡΗΣΗ":B,L=e.cancelLabel,j=void 0===L?"ΑΚΥΡΩΣΗ":L,F={field:t||null},K=C.object({field:w?C.string().required(O):C.string().nullable()}),V=E({defaultValues:F,resolver:y(K)});return b.useEffect((function(){r&&(V.clearErrors(),V.setValue("field",t,{shouldValidate:!1,shouldDirty:!1,shouldTouch:!1}))}),[r,t]),b.createElement(c,{open:r,onClose:function(){}},b.createElement(s,null,o),b.createElement(m,null,b.createElement(I,{form:V,name:"field",label:n,options:u,valueKey:p,labelKey:g,required:w,autofocus:!0,sx:{width:q,marginTop:2}})),b.createElement(f,null,b.createElement(v,{color:"success",onClick:V.handleSubmit(l)},T),b.createElement(v,{color:"error",onClick:function(){return a()}},j)))};export{Z as AutocompleteModalForm,R as EmailModalForm,I as MyAutocompleteField,w as MyChip,Y as MyColorPickerField,A as MyEmailField,V as MyPasswordField,W as MySwitchField,F as MyTextField,$ as PickColorModalForm,S as ShowErrors,q as StatusIcon,M as TextModalForm,k as YesNoChip};
package/index.js CHANGED
@@ -7,4 +7,8 @@ export { MyPasswordField } from './dist/esm'
7
7
  export { MyEmailField } from './dist/esm'
8
8
  export { MySwitchField } from './dist/esm'
9
9
  export { MyColorPickerField } from './dist/esm'
10
- export { MyAutocompleteField } from './dist/esm'
10
+ export { MyAutocompleteField } from './dist/esm'
11
+ export { TextModalForm } from './dist/esm'
12
+ export { EmailModalForm } from './dist/esm'
13
+ export { PickColorModalForm } from './dist/esm'
14
+ export { AutocompleteModalForm } from './dist/esm'
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@artibet/react-mui-components",
3
- "version": "1.4.1",
3
+ "version": "1.5.1",
4
4
  "description": "Various react components build with mui library",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -25,12 +25,14 @@
25
25
  "@emotion/react": "^11.11.1",
26
26
  "@emotion/styled": "^11.11.0",
27
27
  "@fontsource/roboto": "^5.0.8",
28
+ "@hookform/resolvers": "^3.2.0",
28
29
  "@mui/icons-material": "^5.14.7",
29
30
  "@mui/material": "^5.14.7",
30
31
  "react": "^18.2.0",
32
+ "react-color": "^2.19.3",
31
33
  "react-dom": "^18.2.0",
32
34
  "react-hook-form": "^7.45.4",
33
- "react-color": "^2.19.3"
35
+ "yup": "^1.2.0"
34
36
  },
35
37
  "files": [
36
38
  "dist",
@@ -42,6 +44,7 @@
42
44
  "@babel/preset-env": "^7.22.14",
43
45
  "@babel/preset-react": "^7.22.5",
44
46
  "@babel/preset-typescript": "^7.22.11",
47
+ "@hookform/resolvers": "^3.2.0",
45
48
  "@rollup/plugin-babel": "^6.0.3",
46
49
  "@rollup/plugin-commonjs": "^25.0.4",
47
50
  "@rollup/plugin-node-resolve": "^15.2.1",
@@ -50,6 +53,8 @@
50
53
  "react-hook-form": "^7.45.4",
51
54
  "rollup-plugin-peer-deps-external": "^2.2.4",
52
55
  "rollup-plugin-terser": "^7.0.2",
53
- "typescript": "^5.2.2"
56
+ "typescript": "^5.2.2",
57
+ "yup": "^1.2.0",
58
+ "rollup-plugin-import-css": "^3.3.1"
54
59
  }
55
60
  }