mui-fast-start 0.1.4 → 0.2.0
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/README.md +356 -356
- package/README_KR.md +355 -0
- package/dist/components/Obj/Checkbox/ObjCheckIcon.d.ts +3 -0
- package/dist/components/Obj/Checkbox/ObjCheckIcon.d.ts.map +1 -0
- package/dist/components/Obj/Checkbox/ObjCheckbox.d.ts +3 -0
- package/dist/components/Obj/Checkbox/ObjCheckbox.d.ts.map +1 -0
- package/dist/components/Obj/Textfield/ObjFloat.d.ts +3 -0
- package/dist/components/Obj/Textfield/ObjFloat.d.ts.map +1 -0
- package/dist/components/Obj/Textfield/ObjInteger.d.ts +3 -0
- package/dist/components/Obj/Textfield/ObjInteger.d.ts.map +1 -0
- package/dist/components/Obj/Textfield/ObjText.d.ts +3 -0
- package/dist/components/Obj/Textfield/ObjText.d.ts.map +1 -0
- package/dist/components/Single/Checkbox/SingleCheckIcon.d.ts +3 -0
- package/dist/components/Single/Checkbox/SingleCheckIcon.d.ts.map +1 -0
- package/dist/components/Single/Checkbox/SingleCheckbox.d.ts +3 -0
- package/dist/components/Single/Checkbox/SingleCheckbox.d.ts.map +1 -0
- package/dist/components/Single/TextField/SingleFloat.d.ts +3 -0
- package/dist/components/Single/TextField/SingleFloat.d.ts.map +1 -0
- package/dist/components/Single/TextField/SingleInteger.d.ts +3 -0
- package/dist/components/Single/TextField/SingleInteger.d.ts.map +1 -0
- package/dist/components/Single/TextField/SingleText.d.ts +3 -0
- package/dist/components/Single/TextField/SingleText.d.ts.map +1 -0
- package/dist/components/index.d.ts +11 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.d.ts.map +1 -0
- package/dist/{types/hooks → hooks}/splits/useSplitSingleNumberProps.d.ts +2 -1
- package/dist/hooks/splits/useSplitSingleNumberProps.d.ts.map +1 -0
- package/dist/{types/hooks → hooks}/splits/useSplitSingleTextProps.d.ts +2 -1
- package/dist/hooks/splits/useSplitSingleTextProps.d.ts.map +1 -0
- package/dist/{types/hooks → hooks}/state/useObjToSingle.d.ts +2 -1
- package/dist/hooks/state/useObjToSingle.d.ts.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +278 -0
- package/dist/styles/FastStartProvider.d.ts +21 -0
- package/dist/styles/FastStartProvider.d.ts.map +1 -0
- package/dist/styles/createDefaultProps.d.ts +3 -0
- package/dist/styles/createDefaultProps.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/{types/props.d.ts → props.d.ts} +8 -1
- package/dist/types/props.d.ts.map +1 -0
- package/dist/types/{types/provider.d.ts → provider.d.ts} +2 -1
- package/dist/types/provider.d.ts.map +1 -0
- package/dist/types/{types/types.d.ts → types.d.ts} +1 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/number/calculate.d.ts +7 -0
- package/dist/utils/number/calculate.d.ts.map +1 -0
- package/dist/utils/object/error.d.ts +4 -0
- package/dist/utils/object/error.d.ts.map +1 -0
- package/dist/utils/object/merge.d.ts +4 -0
- package/dist/utils/object/merge.d.ts.map +1 -0
- package/eslint.config.js +23 -0
- package/examples/basic/README.md +73 -0
- package/examples/basic/eslint.config.js +23 -0
- package/examples/basic/index.html +13 -0
- package/examples/basic/package.json +37 -0
- package/examples/basic/src/App.css +5 -0
- package/examples/basic/src/App.tsx +28 -0
- package/examples/basic/src/index.css +30 -0
- package/examples/basic/src/main.tsx +57 -0
- package/examples/basic/src/pages/ObjPage.tsx +93 -0
- package/examples/basic/src/pages/SinglePage.tsx +70 -0
- package/examples/basic/tsconfig.app.json +38 -0
- package/examples/basic/tsconfig.json +7 -0
- package/examples/basic/tsconfig.node.json +35 -0
- package/examples/basic/vite.config.ts +28 -0
- package/mui-fast-start-0.1.5.tgz +0 -0
- package/package.json +67 -85
- package/src/components/Obj/Checkbox/ObjCheckIcon.tsx +19 -0
- package/src/components/Obj/Checkbox/ObjCheckbox.tsx +19 -0
- package/src/components/Obj/Textfield/ObjFloat.tsx +22 -0
- package/src/components/Obj/Textfield/ObjInteger.tsx +22 -0
- package/src/components/Obj/Textfield/ObjText.tsx +22 -0
- package/src/components/Single/Checkbox/SingleCheckIcon.tsx +25 -0
- package/src/components/Single/Checkbox/SingleCheckbox.tsx +31 -0
- package/src/components/Single/TextField/SingleFloat.tsx +12 -0
- package/src/components/Single/TextField/SingleInteger.tsx +12 -0
- package/src/components/Single/TextField/SingleText.tsx +12 -0
- package/src/components/index.ts +13 -0
- package/src/hooks/splits/useSplitSingleNumberProps.ts +159 -0
- package/src/hooks/splits/useSplitSingleTextProps.ts +36 -0
- package/src/hooks/state/useObjToSingle.ts +23 -0
- package/src/index.ts +8 -0
- package/src/styles/FastStartProvider.tsx +26 -0
- package/src/styles/createDefaultProps.ts +45 -0
- package/src/types/props.ts +67 -0
- package/src/types/provider.ts +47 -0
- package/src/types/types.ts +9 -0
- package/src/utils/number/calculate.ts +102 -0
- package/src/utils/object/error.ts +14 -0
- package/src/utils/object/merge.ts +47 -0
- package/src.zip +0 -0
- package/tsconfig.json +34 -0
- package/tsconfig.lib.json +9 -0
- package/vite.config.ts +35 -0
- package/dist/index.cjs.js +0 -1
- package/dist/index.esm.js +0 -266
- package/dist/types/components/Obj/Checkbox/ObjCheckIcon.d.ts +0 -3
- package/dist/types/components/Obj/Checkbox/ObjCheckbox.d.ts +0 -3
- package/dist/types/components/Obj/Textfield/ObjFloat.d.ts +0 -3
- package/dist/types/components/Obj/Textfield/ObjInteger.d.ts +0 -3
- package/dist/types/components/Obj/Textfield/ObjText.d.ts +0 -3
- package/dist/types/components/Single/Checkbox/SingleCheckIcon.d.ts +0 -3
- package/dist/types/components/Single/Checkbox/SingleCheckbox.d.ts +0 -3
- package/dist/types/components/Single/TextField/SingleFloat.d.ts +0 -3
- package/dist/types/components/Single/TextField/SingleInteger.d.ts +0 -3
- package/dist/types/components/Single/TextField/SingleText.d.ts +0 -3
- package/dist/types/components/index.d.ts +0 -12
- package/dist/types/styles/FastStartProvider.d.ts +0 -20
- package/dist/types/styles/createDefaultProps.d.ts +0 -3
- package/dist/types/styles/index.d.ts +0 -2
- package/dist/types/utils/number/calculate.d.ts +0 -5
- package/dist/types/utils/object/merge.d.ts +0 -3
- /package/{dist/types/hooks/index.d.ts → src/hooks/index.ts} +0 -0
- /package/{dist/types/types/index.d.ts → src/types/index.ts} +0 -0
- /package/{dist/types/utils/index.d.ts → src/utils/index.ts} +0 -0
package/vite.config.ts
ADDED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import {defineConfig} from 'vite'
|
|
2
|
+
import react from '@vitejs/plugin-react'
|
|
3
|
+
import {resolve} from 'path'
|
|
4
|
+
|
|
5
|
+
// https://vite.dev/config/
|
|
6
|
+
export default defineConfig({
|
|
7
|
+
plugins: [react()],
|
|
8
|
+
resolve: {
|
|
9
|
+
},
|
|
10
|
+
build: {
|
|
11
|
+
lib: {
|
|
12
|
+
entry: resolve(__dirname, "src/index.ts"),
|
|
13
|
+
name: 'MuiFastStart',
|
|
14
|
+
fileName: 'index',
|
|
15
|
+
formats: ['es']
|
|
16
|
+
},
|
|
17
|
+
rolldownOptions: {
|
|
18
|
+
external: [
|
|
19
|
+
'react',
|
|
20
|
+
'react-dom',
|
|
21
|
+
'react/jsx-runtime',
|
|
22
|
+
'@mui/material',
|
|
23
|
+
'@emotion/react',
|
|
24
|
+
'@emotion/styled'
|
|
25
|
+
],
|
|
26
|
+
output: {
|
|
27
|
+
globals: {
|
|
28
|
+
'react': 'React',
|
|
29
|
+
'react-dom': 'ReactDOM',
|
|
30
|
+
'@mui/material': 'MaterialUI'
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
})
|
package/dist/index.cjs.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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
DELETED
|
@@ -1,266 +0,0 @@
|
|
|
1
|
-
import { createContext, useCallback, useContext, useMemo, useState } from "react";
|
|
2
|
-
import { Checkbox, FormControlLabel, IconButton, TextField, ThemeProvider } from "@mui/material";
|
|
3
|
-
import { jsx } from "react/jsx-runtime";
|
|
4
|
-
var floatCalculate = (t, o, s, c) => {
|
|
5
|
-
let l = 0;
|
|
6
|
-
if (t == null || isEmpty$1(t)) l = c;
|
|
7
|
-
else for (let o of t.split(/(?=[+-])/g)) /^[+-]?\d+\.\d+$/.test(o) ? l += parseFloat(o) : /^[+-]?\d+$/.test(o) && (l += parseInt(o, 10));
|
|
8
|
-
return s != null && (l = Math.min(s, l)), o != null && (l = Math.max(o, l)), l;
|
|
9
|
-
}, integerCalculate = (t, o, s, c) => {
|
|
10
|
-
let l = 0;
|
|
11
|
-
if (t == null || isEmpty$1(t)) l = c;
|
|
12
|
-
else for (let o of t.split(/(?=[+-])/g)) /^[+-]?\d+$/.test(o) && (l += parseInt(o, 10));
|
|
13
|
-
return s != null && (l = Math.min(s, l)), o != null && (l = Math.max(o, l)), l;
|
|
14
|
-
}, processFloat = (t) => {
|
|
15
|
-
let o = t.replace(/[^0-9+.-]/g, "").replace(/([+-]){2,}/g, (t, o) => o), s = "", c = "", l = !1;
|
|
16
|
-
for (let t = 0; t < o.length; t++) {
|
|
17
|
-
let u = o[t];
|
|
18
|
-
u >= "0" && u <= "9" ? c += u : u === "." ? l ||= (c === "" && (c = "0"), c += ".", !0) : (u === "+" || u === "-") && (c !== "" && (s += c), s += u, c = "", l = !1);
|
|
19
|
-
}
|
|
20
|
-
return s + c;
|
|
21
|
-
}, processInteger = (t) => t.replace(/[^0-9+-]/g, "").replace(/\./g, "").replace(/([+-]){2,}/g, (t, o) => o.charAt(0)).replace(/^([+-]{2,})/, (t) => t.charAt(0));
|
|
22
|
-
function isEmpty$1(t) {
|
|
23
|
-
return t.length === 0 || !t.trim();
|
|
24
|
-
}
|
|
25
|
-
function isPlainObject(t) {
|
|
26
|
-
return typeof t == "object" && !!t && t.constructor === Object;
|
|
27
|
-
}
|
|
28
|
-
function isEmpty(t) {
|
|
29
|
-
return Object.keys(t).length === 0;
|
|
30
|
-
}
|
|
31
|
-
function fastDeepMerge(t, o) {
|
|
32
|
-
if (t === o || !isPlainObject(o) || isEmpty(o)) return t;
|
|
33
|
-
if (!isPlainObject(t) || isEmpty(t)) return o;
|
|
34
|
-
let s = { ...t }, c = [[s, o]];
|
|
35
|
-
for (; c.length;) {
|
|
36
|
-
let [t, o] = c.pop();
|
|
37
|
-
for (let s in o) {
|
|
38
|
-
if (!Object.prototype.hasOwnProperty.call(o, s)) continue;
|
|
39
|
-
let l = o[s], u = t[s];
|
|
40
|
-
if (isPlainObject(u) && isPlainObject(l)) {
|
|
41
|
-
let o = { ...u };
|
|
42
|
-
t[s] = o, c.push([o, l]);
|
|
43
|
-
} else t[s] = l;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return s;
|
|
47
|
-
}
|
|
48
|
-
const FastStartContext = createContext(((t) => {
|
|
49
|
-
let o = {
|
|
50
|
-
fullWidth: !0,
|
|
51
|
-
autoComplete: "off",
|
|
52
|
-
variant: "outlined",
|
|
53
|
-
size: "small"
|
|
54
|
-
}, s = Object.assign({
|
|
55
|
-
inputMode: "decimal",
|
|
56
|
-
type: "text",
|
|
57
|
-
step: .01,
|
|
58
|
-
def: 0
|
|
59
|
-
}, o), c = Object.assign({
|
|
60
|
-
inputMode: "numeric",
|
|
61
|
-
type: "text",
|
|
62
|
-
step: 1,
|
|
63
|
-
def: 0
|
|
64
|
-
}, o);
|
|
65
|
-
return fastDeepMerge({
|
|
66
|
-
Single: {
|
|
67
|
-
Float: { ...s },
|
|
68
|
-
Integer: { ...c },
|
|
69
|
-
Text: { ...o },
|
|
70
|
-
Checkbox: { size: "small" },
|
|
71
|
-
CheckIcon: { size: "small" }
|
|
72
|
-
},
|
|
73
|
-
Obj: {
|
|
74
|
-
Float: { ...s },
|
|
75
|
-
Integer: { ...c },
|
|
76
|
-
Text: { ...o },
|
|
77
|
-
Checkbox: { size: "small" },
|
|
78
|
-
CheckIcon: { size: "small" }
|
|
79
|
-
}
|
|
80
|
-
}, t);
|
|
81
|
-
})());
|
|
82
|
-
var FastStartProvider_default = (t) => {
|
|
83
|
-
let { defaultProps: o, ...s } = t;
|
|
84
|
-
return /* @__PURE__ */ jsx(FastStartContext, {
|
|
85
|
-
value: o,
|
|
86
|
-
children: /* @__PURE__ */ jsx(ThemeProvider, { ...s })
|
|
87
|
-
});
|
|
88
|
-
}, useObjToSingle_default = (t, s, c) => [s?.[t], useCallback((o) => {
|
|
89
|
-
c((s) => {
|
|
90
|
-
let c = typeof o == "function" ? o(s?.[t]) : o;
|
|
91
|
-
return {
|
|
92
|
-
...s,
|
|
93
|
-
[t]: c
|
|
94
|
-
};
|
|
95
|
-
});
|
|
96
|
-
}, [t, c])], ObjCheckbox_default = (t) => {
|
|
97
|
-
let o = useContext(FastStartContext).Obj.Checkbox, { get: c, set: l, ...u } = fastDeepMerge(o, t), [d, f] = useObjToSingle_default(u.name, c, l);
|
|
98
|
-
return /* @__PURE__ */ jsx(SingleCheckbox_default, {
|
|
99
|
-
get: d,
|
|
100
|
-
set: f,
|
|
101
|
-
...u
|
|
102
|
-
});
|
|
103
|
-
}, ObjCheckIcon_default = (t) => {
|
|
104
|
-
let o = useContext(FastStartContext).Obj.CheckIcon, { get: c, set: l, ...u } = fastDeepMerge(o, t), [d, f] = useObjToSingle_default(u.name, c, l);
|
|
105
|
-
return /* @__PURE__ */ jsx(SingleCheckIcon_default, {
|
|
106
|
-
get: d,
|
|
107
|
-
set: f,
|
|
108
|
-
...u
|
|
109
|
-
});
|
|
110
|
-
}, ObjFloat_default = (t) => {
|
|
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);
|
|
112
|
-
return /* @__PURE__ */ jsx(SingleFloat_default, {
|
|
113
|
-
get: f,
|
|
114
|
-
set: p,
|
|
115
|
-
errorData: u?.[d.name],
|
|
116
|
-
...d
|
|
117
|
-
});
|
|
118
|
-
}, useSplitSingleNumberProps = (t, s, u, d, f = []) => {
|
|
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), [
|
|
120
|
-
d,
|
|
121
|
-
w,
|
|
122
|
-
T,
|
|
123
|
-
C
|
|
124
|
-
]), k = useCallback((t) => {
|
|
125
|
-
let { value: o, valueAsNumber: s } = t.currentTarget;
|
|
126
|
-
return isNaN(s) ? O(o) : s;
|
|
127
|
-
}, [O]), A = useCallback((t) => {
|
|
128
|
-
let o = t.currentTarget, s = u(o.value);
|
|
129
|
-
return s != o.value && (o.value = s), s;
|
|
130
|
-
}, [u]), j = useCallback(() => {
|
|
131
|
-
p ?? m(h.toString());
|
|
132
|
-
}, [p, h]), M = useCallback((t) => {
|
|
133
|
-
let o = O(A(t));
|
|
134
|
-
!isNaN(o) && h != o && g(o), m(t.currentTarget.value);
|
|
135
|
-
}, [
|
|
136
|
-
A,
|
|
137
|
-
O,
|
|
138
|
-
g,
|
|
139
|
-
h
|
|
140
|
-
]), N = useCallback((t) => {
|
|
141
|
-
let { value: o } = t.currentTarget;
|
|
142
|
-
m(null);
|
|
143
|
-
let s = O(o);
|
|
144
|
-
h != s && g(s);
|
|
145
|
-
}, [
|
|
146
|
-
O,
|
|
147
|
-
h,
|
|
148
|
-
g
|
|
149
|
-
]), P = useCallback((t) => {
|
|
150
|
-
if (f.includes(t.key)) {
|
|
151
|
-
t.preventDefault();
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
let o = t.currentTarget;
|
|
155
|
-
if (t.key === "ArrowUp") {
|
|
156
|
-
t.preventDefault();
|
|
157
|
-
let s = k(t) + E;
|
|
158
|
-
T != null && s > T ? o.value = T.toString() : o.value = digitRound(s, E).toString();
|
|
159
|
-
} else if (t.key === "ArrowDown") {
|
|
160
|
-
t.preventDefault();
|
|
161
|
-
let s = k(t) - E;
|
|
162
|
-
w != null && s < w ? o.value = w.toString() : o.value = digitRound(s, E).toString();
|
|
163
|
-
}
|
|
164
|
-
}, [
|
|
165
|
-
k,
|
|
166
|
-
T,
|
|
167
|
-
w,
|
|
168
|
-
E
|
|
169
|
-
]), F = useMemo(() => p ?? h, [h, p]), I = useMemo(() => p == null && (h == null || isNaN(h)) ? {} : { shrink: !0 }, [p, h]);
|
|
170
|
-
return fastDeepMerge({
|
|
171
|
-
error: !!_,
|
|
172
|
-
helperText: _,
|
|
173
|
-
value: F,
|
|
174
|
-
onChange: M,
|
|
175
|
-
onSelect: j,
|
|
176
|
-
onBlur: N,
|
|
177
|
-
slotProps: {
|
|
178
|
-
htmlInput: {
|
|
179
|
-
step: E,
|
|
180
|
-
min: w,
|
|
181
|
-
max: T,
|
|
182
|
-
minLength: v,
|
|
183
|
-
maxLength: y,
|
|
184
|
-
onKeyDown: P
|
|
185
|
-
},
|
|
186
|
-
inputLabel: I,
|
|
187
|
-
input: {
|
|
188
|
-
startAdornment: b,
|
|
189
|
-
endAdornment: x
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}, D);
|
|
193
|
-
}, digitRound = (t, o) => {
|
|
194
|
-
if (o = Math.abs(o), o === 0) return t;
|
|
195
|
-
let s = -Math.floor(Math.log10(o));
|
|
196
|
-
return s > 0 ? Number(Math.round(t * 10 ** s) / 10 ** s) : t;
|
|
197
|
-
}, useSplitSingleFloatProps = (t, o) => useSplitSingleNumberProps(t, o, processFloat, floatCalculate), useSplitSingleIntegerProps = (t, o) => useSplitSingleNumberProps(t, o, processInteger, integerCalculate, [
|
|
198
|
-
".",
|
|
199
|
-
"e",
|
|
200
|
-
"E"
|
|
201
|
-
]), useSplitSingleTextProps_default = (t, s) => {
|
|
202
|
-
let { get: c, set: l, errorData: u, minLength: d, maxLength: f, startAdornment: p, endAdornment: m, ...h } = fastDeepMerge({ ...t }, s), g = useCallback((t) => {
|
|
203
|
-
l(t.currentTarget.value);
|
|
204
|
-
}, [l]);
|
|
205
|
-
return fastDeepMerge({
|
|
206
|
-
error: !!u,
|
|
207
|
-
helperText: u,
|
|
208
|
-
value: c,
|
|
209
|
-
onChange: g,
|
|
210
|
-
slotProps: {
|
|
211
|
-
htmlInput: {
|
|
212
|
-
minLength: d,
|
|
213
|
-
maxLength: f
|
|
214
|
-
},
|
|
215
|
-
input: {
|
|
216
|
-
startAdornment: p,
|
|
217
|
-
endAdornment: m
|
|
218
|
-
}
|
|
219
|
-
}
|
|
220
|
-
}, h);
|
|
221
|
-
}, SingleInteger_default = (t) => {
|
|
222
|
-
let o = useContext(FastStartContext).Single.Integer;
|
|
223
|
-
return /* @__PURE__ */ jsx(TextField, { ...useSplitSingleIntegerProps(o, t) });
|
|
224
|
-
}, ObjInteger_default = (t) => {
|
|
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);
|
|
226
|
-
return /* @__PURE__ */ jsx(SingleInteger_default, {
|
|
227
|
-
get: f,
|
|
228
|
-
set: p,
|
|
229
|
-
errorData: u?.[d.name],
|
|
230
|
-
...d
|
|
231
|
-
});
|
|
232
|
-
}, SingleText_default = (t) => {
|
|
233
|
-
let o = useContext(FastStartContext).Single.Text;
|
|
234
|
-
return /* @__PURE__ */ jsx(TextField, { ...useSplitSingleTextProps_default(o, t) });
|
|
235
|
-
}, ObjText_default = (t) => {
|
|
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);
|
|
237
|
-
return /* @__PURE__ */ jsx(SingleText_default, {
|
|
238
|
-
get: f,
|
|
239
|
-
set: p,
|
|
240
|
-
errorData: u?.[d.name],
|
|
241
|
-
...d
|
|
242
|
-
});
|
|
243
|
-
}, SingleCheckbox_default = (t) => {
|
|
244
|
-
let c = useContext(FastStartContext).Single.Checkbox, { get: l, set: f, label: p, ...m } = fastDeepMerge(c, t), g = useCallback(() => f((t) => !t), [f]);
|
|
245
|
-
return p == null ? /* @__PURE__ */ jsx(Checkbox, {
|
|
246
|
-
checked: l,
|
|
247
|
-
onChange: g,
|
|
248
|
-
...m
|
|
249
|
-
}) : /* @__PURE__ */ jsx(FormControlLabel, {
|
|
250
|
-
checked: l,
|
|
251
|
-
label: p,
|
|
252
|
-
onChange: g,
|
|
253
|
-
control: /* @__PURE__ */ jsx(Checkbox, { ...m })
|
|
254
|
-
});
|
|
255
|
-
}, SingleCheckIcon_default = (t) => {
|
|
256
|
-
let c = useContext(FastStartContext).Single.CheckIcon, { get: l, set: u, on: d, off: p, ...m } = fastDeepMerge(c, t);
|
|
257
|
-
return /* @__PURE__ */ jsx(IconButton, {
|
|
258
|
-
onClick: useCallback(() => u((t) => !t), [u]),
|
|
259
|
-
...m,
|
|
260
|
-
children: l ? d : p
|
|
261
|
-
});
|
|
262
|
-
}, SingleFloat_default = (t) => {
|
|
263
|
-
let o = useContext(FastStartContext).Single.Float;
|
|
264
|
-
return /* @__PURE__ */ jsx(TextField, { ...useSplitSingleFloatProps(o, t) });
|
|
265
|
-
};
|
|
266
|
-
export { FastStartContext, FastStartProvider_default as FastStartProvider, ObjCheckIcon_default as ObjCheckIcon, ObjCheckbox_default as ObjCheckbox, ObjFloat_default as ObjFloat, ObjInteger_default as ObjInteger, ObjText_default as ObjText, SingleCheckIcon_default as SingleCheckIcon, SingleCheckbox_default as SingleCheckbox, SingleFloat_default as SingleFloat, SingleInteger_default as SingleInteger, SingleText_default as SingleText };
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type { SingleNumberProps, SingleTextProps, SingleCheckboxProps, SingleCheckIconProps, FastStartDefaultProps, FastStartProviderProps } from '../types';
|
|
2
|
-
export { FastStartProvider, FastStartContext } from '../styles';
|
|
3
|
-
export { default as ObjCheckbox } from './Obj/Checkbox/ObjCheckbox';
|
|
4
|
-
export { default as ObjCheckIcon } from './Obj/Checkbox/ObjCheckIcon';
|
|
5
|
-
export { default as ObjFloat } from './Obj/Textfield/ObjFloat';
|
|
6
|
-
export { default as ObjInteger } from './Obj/Textfield/ObjInteger';
|
|
7
|
-
export { default as ObjText } from './Obj/Textfield/ObjText';
|
|
8
|
-
export { default as SingleCheckbox } from './Single/Checkbox/SingleCheckbox';
|
|
9
|
-
export { default as SingleCheckIcon } from './Single/Checkbox/SingleCheckIcon';
|
|
10
|
-
export { default as SingleFloat } from './Single/TextField/SingleFloat';
|
|
11
|
-
export { default as SingleInteger } from './Single/TextField/SingleInteger';
|
|
12
|
-
export { default as SingleText } from './Single/TextField/SingleText';
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { FastStartProviderProps } from "@/types";
|
|
2
|
-
import type { DefaultTheme } from "@mui/system";
|
|
3
|
-
export declare const FastStartContext: import("react").Context<import("@/types").DeepPartial<{
|
|
4
|
-
Single: {
|
|
5
|
-
Float: import("@/types").SingleNumberProps;
|
|
6
|
-
Integer: import("@/types").SingleNumberProps;
|
|
7
|
-
Text: import("@/types").SingleTextProps;
|
|
8
|
-
Checkbox: import("@/types").SingleCheckboxProps;
|
|
9
|
-
CheckIcon: import("@/types").SingleCheckIconProps;
|
|
10
|
-
};
|
|
11
|
-
Obj: {
|
|
12
|
-
Float: import("@/types").ObjNumberProps<object>;
|
|
13
|
-
Integer: import("@/types").ObjNumberProps<object>;
|
|
14
|
-
Text: import("@/types").ObjTextProps<object>;
|
|
15
|
-
Checkbox: import("@/types").ObjCheckboxProps<object>;
|
|
16
|
-
CheckIcon: import("@/types").ObjCheckIconProps<object>;
|
|
17
|
-
};
|
|
18
|
-
}>>;
|
|
19
|
-
declare const FastStartProvider: <T = DefaultTheme>(props: FastStartProviderProps<T>) => import("react/jsx-runtime").JSX.Element;
|
|
20
|
-
export default FastStartProvider;
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
declare const floatCalculate: (value: string | null, min: number, max: number, def: number) => number;
|
|
2
|
-
declare const integerCalculate: (value: string | null, min: number, max: number, def: number) => number;
|
|
3
|
-
declare const processFloat: (text: string) => string;
|
|
4
|
-
declare const processInteger: (text: string) => string;
|
|
5
|
-
export { floatCalculate, integerCalculate, processFloat, processInteger };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|