mui-fast-start 0.1.1 → 0.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1 +1 @@
1
- var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`@mui/material`),u=require(`react/jsx-runtime`);var d=(e,t,n,r)=>{let i=0;if(e==null||h(e))i=r;else for(let t of e.split(/(?=[+-])/g))/^[+-]?\d+\.\d+$/.test(t)?i+=parseFloat(t):/^[+-]?\d+$/.test(t)&&(i+=parseInt(t,10));return n!=null&&(i=Math.min(n,i)),t!=null&&(i=Math.max(t,i)),i},f=(e,t,n,r)=>{let i=0;if(e==null||h(e))i=r;else for(let t of e.split(/(?=[+-])/g))/^[+-]?\d+$/.test(t)&&(i+=parseInt(t,10));return n!=null&&(i=Math.min(n,i)),t!=null&&(i=Math.max(t,i)),i},p=e=>{let t=e.replace(/[^0-9+.-]/g,``).replace(/([+-]){2,}/g,(e,t)=>t),n=``,r=``,i=!1;for(let e=0;e<t.length;e++){let a=t[e];a>=`0`&&a<=`9`?r+=a:a===`.`?i||=(r===``&&(r=`0`),r+=`.`,!0):(a===`+`||a===`-`)&&(r!==``&&(n+=r),n+=a,r=``,i=!1)}return n+r},m=e=>e.replace(/[^0-9+-]/g,``).replace(/\./g,``).replace(/([+-]){2,}/g,(e,t)=>t.charAt(0)).replace(/^([+-]{2,})/,e=>e.charAt(0));function h(e){return e.length===0||!e.trim()}function g(e){return typeof e==`object`&&!!e&&e.constructor===Object}function _(e){return Object.keys(e).length===0}function v(e,t){if(e===t||!g(t)||_(t))return e;if(!g(e)||_(e))return t;let n={...e},r=[[n,t]];for(;r.length;){let[e,t]=r.pop();for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let i=t[n],a=e[n];if(g(a)&&g(i)){let t={...a};e[n]=t,r.push([t,i])}else e[n]=i}}return n}var y=e=>{let t={fullWidth:!0,autoComplete:`off`,variant:`outlined`,size:`small`},n=Object.assign({inputMode:`decimal`,type:`text`,step:.01,def:0},t),r=Object.assign({inputMode:`numeric`,type:`text`,step:1,def:0},t);return v({Single:{Float:{...n},Integer:{...r},Text:{...t},Checkbox:{size:`small`},CheckIcon:{size:`small`}},Obj:{Float:{...n},Integer:{...r},Text:{...t},Checkbox:{size:`small`},CheckIcon:{size:`small`}}},e)},b=y;const x=(0,c.createContext)(b());var S=e=>{let{defaultProps:t,...n}=e;return(0,u.jsx)(x,{value:t,children:(0,u.jsx)(l.ThemeProvider,{...n})})},C=S,w=(e,t,n)=>[t?.[e],(0,c.useCallback)(t=>{n(n=>({...n,[e]:typeof t==`function`?t(n?.[e]):t}))},[e,n])],T=w,E=e=>{let t=(0,c.useContext)(x).Obj.Checkbox,{get:n,set:r,...i}=v(t,e),[a,o]=T(i.name,n,r);return(0,u.jsx)(q,{get:a,set:o,...i})},D=E,O=e=>{let t=(0,c.useContext)(x).Obj.CheckIcon,{get:n,set:r,...i}=v(t,e),[a,o]=T(i.name,n,r);return(0,u.jsx)(Y,{get:a,set:o,...i})},k=O,A=e=>{let t=(0,c.useContext)(x).Obj.Float,{get:n,set:r,...i}=v(t,e),[a,o]=T(i.name,n,r);return(0,u.jsx)(Z,{get:a,set:o,...i})},j=A,M=(e,t,n,r,i=[])=>{let[a,o]=(0,c.useState)(null),{get:s,set:l,errorData:u,minLength:d,maxLength:f,startAdornment:p,endAdornment:m,disappear:h,def:g,min:_,max:y,step:b,...x}=(0,c.useMemo)(()=>v({...e},t),[e,t]),S=(0,c.useCallback)(e=>r(e,_,y,g),[r,_,y,g]),C=(0,c.useCallback)(e=>{let{value:t,valueAsNumber:n}=e.currentTarget;return isNaN(n)?S(t):n},[S]),w=(0,c.useCallback)(e=>{let t=e.currentTarget,r=n(t.value);return r!=t.value&&(t.value=r),r},[n]),T=(0,c.useCallback)(()=>{a??o(s.toString())},[a,s]),E=(0,c.useCallback)(e=>{let t=S(w(e));!isNaN(t)&&s!=t&&l(t),o(e.currentTarget.value)},[w,S,l,s]),D=(0,c.useCallback)(e=>{let{value:t}=e.currentTarget;o(null);let n=S(t);s!=n&&l(n)},[S,s,l]),O=(0,c.useCallback)(e=>{if(i.includes(e.key)){e.preventDefault();return}let t=e.currentTarget;if(e.key===`ArrowUp`){e.preventDefault();let n=C(e)+b;y!=null&&n>y?t.value=y.toString():t.value=N(n,b).toString()}else if(e.key===`ArrowDown`){e.preventDefault();let n=C(e)-b;_!=null&&n<_?t.value=_.toString():t.value=N(n,b).toString()}},[C,y,_,b]),k=(0,c.useMemo)(()=>a??s,[s,a]),A=(0,c.useMemo)(()=>a==null&&(s==null||isNaN(s))?{}:{shrink:!0},[a,s]);return v({error:!!u,helperText:u,value:k,onChange:E,onSelect:T,onBlur:D,slotProps:{htmlInput:{step:b,min:_,max:y,minLength:d,maxLength:f,onKeyDown:O},inputLabel:A,input:{startAdornment:p,endAdornment:m}}},x)},N=(e,t)=>{if(t=Math.abs(t),t===0)return e;let n=-Math.floor(Math.log10(t));return n>0?Number(Math.round(e*10**n)/10**n):e},P=(e,t)=>M(e,t,p,d),F=(e,t)=>M(e,t,m,f,[`.`,`e`,`E`]),I=(e,t)=>{let{get:n,set:r,errorData:i,minLength:a,maxLength:o,startAdornment:s,endAdornment:l,...u}=v({...e},t),d=(0,c.useCallback)(e=>{r(e.currentTarget.value)},[r]);return v({error:!!i,helperText:i,value:n,onChange:d,slotProps:{htmlInput:{minLength:a,maxLength:o},input:{startAdornment:s,endAdornment:l}}},u)},L=I,R=e=>{let t=(0,c.useContext)(x).Single.Integer;return(0,u.jsx)(l.TextField,{...F(t,e)})},z=R,B=e=>{let t=(0,c.useContext)(x).Obj.Integer,{get:n,set:r,...i}=v(t,e),[a,o]=T(i.name,n,r);return(0,u.jsx)(z,{get:a,set:o,...i})},V=B,H=e=>{let t=(0,c.useContext)(x).Single.Text;return(0,u.jsx)(l.TextField,{...L(t,e)})},U=H,W=e=>{let t=(0,c.useContext)(x).Obj.Text,{get:n,set:r,...i}=v(t,e),[a,o]=T(i.name,n,r);return(0,u.jsx)(U,{get:a,set:o,...i})},G=W,K=e=>{let t=(0,c.useContext)(x).Single.Checkbox,{get:n,set:r,label:i,...a}=v(t,e),o=(0,c.useCallback)(()=>r(e=>!e),[r]);return i==null?(0,u.jsx)(l.Checkbox,{checked:n,onChange:o,...a}):(0,u.jsx)(l.FormControlLabel,{checked:n,label:i,onChange:o,control:(0,u.jsx)(l.Checkbox,{...a})})},q=K,J=e=>{let t=(0,c.useContext)(x).Single.CheckIcon,{get:n,set:r,on:i,off:a,...o}=v(t,e);return(0,u.jsx)(l.IconButton,{onClick:(0,c.useCallback)(()=>r(e=>!e),[r]),...o,children:n?i:a})},Y=J,X=e=>{let t=(0,c.useContext)(x).Single.Float;return(0,u.jsx)(l.TextField,{...P(t,e)})},Z=X;exports.FastStartContext=x,exports.FastStartProvider=C,exports.ObjCheckIcon=k,exports.ObjCheckbox=D,exports.ObjFloat=j,exports.ObjInteger=V,exports.ObjText=G,exports.SingleCheckIcon=Y,exports.SingleCheckbox=q,exports.SingleFloat=Z,exports.SingleInteger=z,exports.SingleText=U;
1
+ var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`@mui/material`),u=require(`react/jsx-runtime`);var d=(e,t,n,r)=>{let i=0;if(e==null||h(e))i=r;else for(let t of e.split(/(?=[+-])/g))/^[+-]?\d+\.\d+$/.test(t)?i+=parseFloat(t):/^[+-]?\d+$/.test(t)&&(i+=parseInt(t,10));return n!=null&&(i=Math.min(n,i)),t!=null&&(i=Math.max(t,i)),i},f=(e,t,n,r)=>{let i=0;if(e==null||h(e))i=r;else for(let t of e.split(/(?=[+-])/g))/^[+-]?\d+$/.test(t)&&(i+=parseInt(t,10));return n!=null&&(i=Math.min(n,i)),t!=null&&(i=Math.max(t,i)),i},p=e=>{let t=e.replace(/[^0-9+.-]/g,``).replace(/([+-]){2,}/g,(e,t)=>t),n=``,r=``,i=!1;for(let e=0;e<t.length;e++){let a=t[e];a>=`0`&&a<=`9`?r+=a:a===`.`?i||=(r===``&&(r=`0`),r+=`.`,!0):(a===`+`||a===`-`)&&(r!==``&&(n+=r),n+=a,r=``,i=!1)}return n+r},m=e=>e.replace(/[^0-9+-]/g,``).replace(/\./g,``).replace(/([+-]){2,}/g,(e,t)=>t.charAt(0)).replace(/^([+-]{2,})/,e=>e.charAt(0));function h(e){return e.length===0||!e.trim()}function g(e){return typeof e==`object`&&!!e&&e.constructor===Object}function _(e){return Object.keys(e).length===0}function v(e,t){if(e===t||!g(t)||_(t))return e;if(!g(e)||_(e))return t;let n={...e},r=[[n,t]];for(;r.length;){let[e,t]=r.pop();for(let n in t){if(!Object.prototype.hasOwnProperty.call(t,n))continue;let i=t[n],a=e[n];if(g(a)&&g(i)){let t={...a};e[n]=t,r.push([t,i])}else e[n]=i}}return n}var y=e=>{let t={fullWidth:!0,autoComplete:`off`,variant:`outlined`,size:`small`},n=Object.assign({inputMode:`decimal`,type:`text`,step:.01,def:0},t),r=Object.assign({inputMode:`numeric`,type:`text`,step:1,def:0},t);return v({Single:{Float:{...n},Integer:{...r},Text:{...t},Checkbox:{size:`small`},CheckIcon:{size:`small`}},Obj:{Float:{...n},Integer:{...r},Text:{...t},Checkbox:{size:`small`},CheckIcon:{size:`small`}}},e)},b=y;const x=(0,c.createContext)(b());var S=e=>{let{defaultProps:t,...n}=e;return(0,u.jsx)(x,{value:t,children:(0,u.jsx)(l.ThemeProvider,{...n})})},C=S,w=(e,t,n)=>[t?.[e],(0,c.useCallback)(t=>{n(n=>{let r=typeof t==`function`?t(n?.[e]):t;return{...n,[e]:r}})},[e,n])],T=w,E=e=>{let t=(0,c.useContext)(x).Obj.Checkbox,{get:n,set:r,...i}=v(t,e),[a,o]=T(i.name,n,r);return(0,u.jsx)(q,{get:a,set:o,...i})},D=E,O=e=>{let t=(0,c.useContext)(x).Obj.CheckIcon,{get:n,set:r,...i}=v(t,e),[a,o]=T(i.name,n,r);return(0,u.jsx)(Y,{get:a,set:o,...i})},k=O,A=e=>{let t=(0,c.useContext)(x).Obj.Float,{get:n,set:r,errorData:i,...a}=v(t,e),[o,s]=T(a.name,n,r);return(0,u.jsx)(Z,{get:o,set:s,errorData:i?.[a.name],...a})},j=A,M=(e,t,n,r,i=[])=>{let[a,o]=(0,c.useState)(null),{get:s,set:l,errorData:u,minLength:d,maxLength:f,startAdornment:p,endAdornment:m,disappear:h,def:g,min:_,max:y,step:b,...x}=(0,c.useMemo)(()=>v({...e},t),[e,t]),S=(0,c.useCallback)(e=>r(e,_,y,g),[r,_,y,g]),C=(0,c.useCallback)(e=>{let{value:t,valueAsNumber:n}=e.currentTarget;return isNaN(n)?S(t):n},[S]),w=(0,c.useCallback)(e=>{let t=e.currentTarget,r=n(t.value);return r!=t.value&&(t.value=r),r},[n]),T=(0,c.useCallback)(()=>{a??o(s.toString())},[a,s]),E=(0,c.useCallback)(e=>{let t=S(w(e));!isNaN(t)&&s!=t&&l(t),o(e.currentTarget.value)},[w,S,l,s]),D=(0,c.useCallback)(e=>{let{value:t}=e.currentTarget;o(null);let n=S(t);s!=n&&l(n)},[S,s,l]),O=(0,c.useCallback)(e=>{if(i.includes(e.key)){e.preventDefault();return}let t=e.currentTarget;if(e.key===`ArrowUp`){e.preventDefault();let n=C(e)+b;y!=null&&n>y?t.value=y.toString():t.value=N(n,b).toString()}else if(e.key===`ArrowDown`){e.preventDefault();let n=C(e)-b;_!=null&&n<_?t.value=_.toString():t.value=N(n,b).toString()}},[C,y,_,b]),k=(0,c.useMemo)(()=>a??s,[s,a]),A=(0,c.useMemo)(()=>a==null&&(s==null||isNaN(s))?{}:{shrink:!0},[a,s]);return v({error:!!u,helperText:u,value:k,onChange:E,onSelect:T,onBlur:D,slotProps:{htmlInput:{step:b,min:_,max:y,minLength:d,maxLength:f,onKeyDown:O},inputLabel:A,input:{startAdornment:p,endAdornment:m}}},x)},N=(e,t)=>{if(t=Math.abs(t),t===0)return e;let n=-Math.floor(Math.log10(t));return n>0?Number(Math.round(e*10**n)/10**n):e},P=(e,t)=>M(e,t,p,d),F=(e,t)=>M(e,t,m,f,[`.`,`e`,`E`]),I=(e,t)=>{let{get:n,set:r,errorData:i,minLength:a,maxLength:o,startAdornment:s,endAdornment:l,...u}=v({...e},t),d=(0,c.useCallback)(e=>{r(e.currentTarget.value)},[r]);return v({error:!!i,helperText:i,value:n,onChange:d,slotProps:{htmlInput:{minLength:a,maxLength:o},input:{startAdornment:s,endAdornment:l}}},u)},L=I,R=e=>{let t=(0,c.useContext)(x).Single.Integer;return(0,u.jsx)(l.TextField,{...F(t,e)})},z=R,B=e=>{let t=(0,c.useContext)(x).Obj.Integer,{get:n,set:r,errorData:i,...a}=v(t,e),[o,s]=T(a.name,n,r);return(0,u.jsx)(z,{get:o,set:s,errorData:i?.[a.name],...a})},V=B,H=e=>{let t=(0,c.useContext)(x).Single.Text;return(0,u.jsx)(l.TextField,{...L(t,e)})},U=H,W=e=>{let t=(0,c.useContext)(x).Obj.Text,{get:n,set:r,errorData:i,...a}=v(t,e),[o,s]=T(a.name,n,r);return(0,u.jsx)(U,{get:o,set:s,errorData:i?.[a.name],...a})},G=W,K=e=>{let t=(0,c.useContext)(x).Single.Checkbox,{get:n,set:r,label:i,...a}=v(t,e),o=(0,c.useCallback)(()=>r(e=>!e),[r]);return i==null?(0,u.jsx)(l.Checkbox,{checked:n,onChange:o,...a}):(0,u.jsx)(l.FormControlLabel,{checked:n,label:i,onChange:o,control:(0,u.jsx)(l.Checkbox,{...a})})},q=K,J=e=>{let t=(0,c.useContext)(x).Single.CheckIcon,{get:n,set:r,on:i,off:a,...o}=v(t,e);return(0,u.jsx)(l.IconButton,{onClick:(0,c.useCallback)(()=>r(e=>!e),[r]),...o,children:n?i:a})},Y=J,X=e=>{let t=(0,c.useContext)(x).Single.Float;return(0,u.jsx)(l.TextField,{...P(t,e)})},Z=X;exports.FastStartContext=x,exports.FastStartProvider=C,exports.ObjCheckIcon=k,exports.ObjCheckbox=D,exports.ObjFloat=j,exports.ObjInteger=V,exports.ObjText=G,exports.SingleCheckIcon=Y,exports.SingleCheckbox=q,exports.SingleFloat=Z,exports.SingleInteger=z,exports.SingleText=U;
package/dist/index.esm.js CHANGED
@@ -86,10 +86,13 @@ var FastStartProvider_default = (t) => {
86
86
  children: /* @__PURE__ */ jsx(ThemeProvider, { ...s })
87
87
  });
88
88
  }, useObjToSingle_default = (t, s, c) => [s?.[t], useCallback((o) => {
89
- c((s) => ({
90
- ...s,
91
- [t]: typeof o == "function" ? o(s?.[t]) : o
92
- }));
89
+ c((s) => {
90
+ let c = typeof o == "function" ? o(s?.[t]) : o;
91
+ return {
92
+ ...s,
93
+ [t]: c
94
+ };
95
+ });
93
96
  }, [t, c])], ObjCheckbox_default = (t) => {
94
97
  let o = useContext(FastStartContext).Obj.Checkbox, { get: c, set: l, ...u } = fastDeepMerge(o, t), [d, f] = useObjToSingle_default(u.name, c, l);
95
98
  return /* @__PURE__ */ jsx(SingleCheckbox_default, {
@@ -105,11 +108,12 @@ var FastStartProvider_default = (t) => {
105
108
  ...u
106
109
  });
107
110
  }, ObjFloat_default = (t) => {
108
- let o = useContext(FastStartContext).Obj.Float, { get: c, set: l, ...u } = fastDeepMerge(o, t), [d, f] = useObjToSingle_default(u.name, c, l);
111
+ let o = useContext(FastStartContext).Obj.Float, { get: c, set: l, errorData: u, ...d } = fastDeepMerge(o, t), [f, p] = useObjToSingle_default(d.name, c, l);
109
112
  return /* @__PURE__ */ jsx(SingleFloat_default, {
110
- get: d,
111
- set: f,
112
- ...u
113
+ get: f,
114
+ set: p,
115
+ errorData: u?.[d.name],
116
+ ...d
113
117
  });
114
118
  }, useSplitSingleNumberProps = (t, s, u, d, f = []) => {
115
119
  let [p, m] = useState(null), { get: h, set: g, errorData: _, minLength: v, maxLength: y, startAdornment: b, endAdornment: x, disappear: S, def: C, min: w, max: T, step: E, ...D } = useMemo(() => fastDeepMerge({ ...t }, s), [t, s]), O = useCallback((t) => d(t, w, T, C), [
@@ -218,21 +222,23 @@ var FastStartProvider_default = (t) => {
218
222
  let o = useContext(FastStartContext).Single.Integer;
219
223
  return /* @__PURE__ */ jsx(TextField, { ...useSplitSingleIntegerProps(o, t) });
220
224
  }, ObjInteger_default = (t) => {
221
- let o = useContext(FastStartContext).Obj.Integer, { get: c, set: l, ...u } = fastDeepMerge(o, t), [d, f] = useObjToSingle_default(u.name, c, l);
225
+ let o = useContext(FastStartContext).Obj.Integer, { get: c, set: l, errorData: u, ...d } = fastDeepMerge(o, t), [f, p] = useObjToSingle_default(d.name, c, l);
222
226
  return /* @__PURE__ */ jsx(SingleInteger_default, {
223
- get: d,
224
- set: f,
225
- ...u
227
+ get: f,
228
+ set: p,
229
+ errorData: u?.[d.name],
230
+ ...d
226
231
  });
227
232
  }, SingleText_default = (t) => {
228
233
  let o = useContext(FastStartContext).Single.Text;
229
234
  return /* @__PURE__ */ jsx(TextField, { ...useSplitSingleTextProps_default(o, t) });
230
235
  }, ObjText_default = (t) => {
231
- let o = useContext(FastStartContext).Obj.Text, { get: c, set: l, ...u } = fastDeepMerge(o, t), [d, f] = useObjToSingle_default(u.name, c, l);
236
+ let o = useContext(FastStartContext).Obj.Text, { get: c, set: l, errorData: u, ...d } = fastDeepMerge(o, t), [f, p] = useObjToSingle_default(d.name, c, l);
232
237
  return /* @__PURE__ */ jsx(SingleText_default, {
233
- get: d,
234
- set: f,
235
- ...u
238
+ get: f,
239
+ set: p,
240
+ errorData: u?.[d.name],
241
+ ...d
236
242
  });
237
243
  }, SingleCheckbox_default = (t) => {
238
244
  let c = useContext(FastStartContext).Single.Checkbox, { get: l, set: f, label: p, ...m } = fastDeepMerge(c, t), g = useCallback(() => f((t) => !t), [f]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mui-fast-start",
3
- "version": "0.1.1",
3
+ "version": "0.1.3",
4
4
  "description": "Fast and easy-to-use MUI components for React",
5
5
  "keywords": ["mui", "material-ui", "react", "components", "form"],
6
6
  "author": "PersesTitan",