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.
Files changed (120) hide show
  1. package/README.md +356 -356
  2. package/README_KR.md +355 -0
  3. package/dist/components/Obj/Checkbox/ObjCheckIcon.d.ts +3 -0
  4. package/dist/components/Obj/Checkbox/ObjCheckIcon.d.ts.map +1 -0
  5. package/dist/components/Obj/Checkbox/ObjCheckbox.d.ts +3 -0
  6. package/dist/components/Obj/Checkbox/ObjCheckbox.d.ts.map +1 -0
  7. package/dist/components/Obj/Textfield/ObjFloat.d.ts +3 -0
  8. package/dist/components/Obj/Textfield/ObjFloat.d.ts.map +1 -0
  9. package/dist/components/Obj/Textfield/ObjInteger.d.ts +3 -0
  10. package/dist/components/Obj/Textfield/ObjInteger.d.ts.map +1 -0
  11. package/dist/components/Obj/Textfield/ObjText.d.ts +3 -0
  12. package/dist/components/Obj/Textfield/ObjText.d.ts.map +1 -0
  13. package/dist/components/Single/Checkbox/SingleCheckIcon.d.ts +3 -0
  14. package/dist/components/Single/Checkbox/SingleCheckIcon.d.ts.map +1 -0
  15. package/dist/components/Single/Checkbox/SingleCheckbox.d.ts +3 -0
  16. package/dist/components/Single/Checkbox/SingleCheckbox.d.ts.map +1 -0
  17. package/dist/components/Single/TextField/SingleFloat.d.ts +3 -0
  18. package/dist/components/Single/TextField/SingleFloat.d.ts.map +1 -0
  19. package/dist/components/Single/TextField/SingleInteger.d.ts +3 -0
  20. package/dist/components/Single/TextField/SingleInteger.d.ts.map +1 -0
  21. package/dist/components/Single/TextField/SingleText.d.ts +3 -0
  22. package/dist/components/Single/TextField/SingleText.d.ts.map +1 -0
  23. package/dist/components/index.d.ts +11 -0
  24. package/dist/components/index.d.ts.map +1 -0
  25. package/dist/hooks/index.d.ts +4 -0
  26. package/dist/hooks/index.d.ts.map +1 -0
  27. package/dist/{types/hooks → hooks}/splits/useSplitSingleNumberProps.d.ts +2 -1
  28. package/dist/hooks/splits/useSplitSingleNumberProps.d.ts.map +1 -0
  29. package/dist/{types/hooks → hooks}/splits/useSplitSingleTextProps.d.ts +2 -1
  30. package/dist/hooks/splits/useSplitSingleTextProps.d.ts.map +1 -0
  31. package/dist/{types/hooks → hooks}/state/useObjToSingle.d.ts +2 -1
  32. package/dist/hooks/state/useObjToSingle.d.ts.map +1 -0
  33. package/dist/index.d.ts +5 -0
  34. package/dist/index.d.ts.map +1 -0
  35. package/dist/index.js +278 -0
  36. package/dist/styles/FastStartProvider.d.ts +21 -0
  37. package/dist/styles/FastStartProvider.d.ts.map +1 -0
  38. package/dist/styles/createDefaultProps.d.ts +3 -0
  39. package/dist/styles/createDefaultProps.d.ts.map +1 -0
  40. package/dist/types/index.d.ts +4 -0
  41. package/dist/types/index.d.ts.map +1 -0
  42. package/dist/types/{types/props.d.ts → props.d.ts} +8 -1
  43. package/dist/types/props.d.ts.map +1 -0
  44. package/dist/types/{types/provider.d.ts → provider.d.ts} +2 -1
  45. package/dist/types/provider.d.ts.map +1 -0
  46. package/dist/types/{types/types.d.ts → types.d.ts} +1 -0
  47. package/dist/types/types.d.ts.map +1 -0
  48. package/dist/utils/index.d.ts +3 -0
  49. package/dist/utils/index.d.ts.map +1 -0
  50. package/dist/utils/number/calculate.d.ts +7 -0
  51. package/dist/utils/number/calculate.d.ts.map +1 -0
  52. package/dist/utils/object/error.d.ts +4 -0
  53. package/dist/utils/object/error.d.ts.map +1 -0
  54. package/dist/utils/object/merge.d.ts +4 -0
  55. package/dist/utils/object/merge.d.ts.map +1 -0
  56. package/eslint.config.js +23 -0
  57. package/examples/basic/README.md +73 -0
  58. package/examples/basic/eslint.config.js +23 -0
  59. package/examples/basic/index.html +13 -0
  60. package/examples/basic/package.json +37 -0
  61. package/examples/basic/src/App.css +5 -0
  62. package/examples/basic/src/App.tsx +28 -0
  63. package/examples/basic/src/index.css +30 -0
  64. package/examples/basic/src/main.tsx +57 -0
  65. package/examples/basic/src/pages/ObjPage.tsx +93 -0
  66. package/examples/basic/src/pages/SinglePage.tsx +70 -0
  67. package/examples/basic/tsconfig.app.json +38 -0
  68. package/examples/basic/tsconfig.json +7 -0
  69. package/examples/basic/tsconfig.node.json +35 -0
  70. package/examples/basic/vite.config.ts +28 -0
  71. package/mui-fast-start-0.1.5.tgz +0 -0
  72. package/package.json +67 -85
  73. package/src/components/Obj/Checkbox/ObjCheckIcon.tsx +19 -0
  74. package/src/components/Obj/Checkbox/ObjCheckbox.tsx +19 -0
  75. package/src/components/Obj/Textfield/ObjFloat.tsx +22 -0
  76. package/src/components/Obj/Textfield/ObjInteger.tsx +22 -0
  77. package/src/components/Obj/Textfield/ObjText.tsx +22 -0
  78. package/src/components/Single/Checkbox/SingleCheckIcon.tsx +25 -0
  79. package/src/components/Single/Checkbox/SingleCheckbox.tsx +31 -0
  80. package/src/components/Single/TextField/SingleFloat.tsx +12 -0
  81. package/src/components/Single/TextField/SingleInteger.tsx +12 -0
  82. package/src/components/Single/TextField/SingleText.tsx +12 -0
  83. package/src/components/index.ts +13 -0
  84. package/src/hooks/splits/useSplitSingleNumberProps.ts +159 -0
  85. package/src/hooks/splits/useSplitSingleTextProps.ts +36 -0
  86. package/src/hooks/state/useObjToSingle.ts +23 -0
  87. package/src/index.ts +8 -0
  88. package/src/styles/FastStartProvider.tsx +26 -0
  89. package/src/styles/createDefaultProps.ts +45 -0
  90. package/src/types/props.ts +67 -0
  91. package/src/types/provider.ts +47 -0
  92. package/src/types/types.ts +9 -0
  93. package/src/utils/number/calculate.ts +102 -0
  94. package/src/utils/object/error.ts +14 -0
  95. package/src/utils/object/merge.ts +47 -0
  96. package/src.zip +0 -0
  97. package/tsconfig.json +34 -0
  98. package/tsconfig.lib.json +9 -0
  99. package/vite.config.ts +35 -0
  100. package/dist/index.cjs.js +0 -1
  101. package/dist/index.esm.js +0 -266
  102. package/dist/types/components/Obj/Checkbox/ObjCheckIcon.d.ts +0 -3
  103. package/dist/types/components/Obj/Checkbox/ObjCheckbox.d.ts +0 -3
  104. package/dist/types/components/Obj/Textfield/ObjFloat.d.ts +0 -3
  105. package/dist/types/components/Obj/Textfield/ObjInteger.d.ts +0 -3
  106. package/dist/types/components/Obj/Textfield/ObjText.d.ts +0 -3
  107. package/dist/types/components/Single/Checkbox/SingleCheckIcon.d.ts +0 -3
  108. package/dist/types/components/Single/Checkbox/SingleCheckbox.d.ts +0 -3
  109. package/dist/types/components/Single/TextField/SingleFloat.d.ts +0 -3
  110. package/dist/types/components/Single/TextField/SingleInteger.d.ts +0 -3
  111. package/dist/types/components/Single/TextField/SingleText.d.ts +0 -3
  112. package/dist/types/components/index.d.ts +0 -12
  113. package/dist/types/styles/FastStartProvider.d.ts +0 -20
  114. package/dist/types/styles/createDefaultProps.d.ts +0 -3
  115. package/dist/types/styles/index.d.ts +0 -2
  116. package/dist/types/utils/number/calculate.d.ts +0 -5
  117. package/dist/types/utils/object/merge.d.ts +0 -3
  118. /package/{dist/types/hooks/index.d.ts → src/hooks/index.ts} +0 -0
  119. /package/{dist/types/types/index.d.ts → src/types/index.ts} +0 -0
  120. /package/{dist/types/utils/index.d.ts → src/utils/index.ts} +0 -0
@@ -0,0 +1,9 @@
1
+ {
2
+ "extends": "./tsconfig.json",
3
+ "compilerOptions": {
4
+ "noEmit": false,
5
+ "declaration": true,
6
+ "emitDeclarationOnly": true,
7
+ "outDir": "dist"
8
+ }
9
+ }
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,3 +0,0 @@
1
- import type { ObjCheckIconProps } from "@/types";
2
- declare const ObjCheckIcon: <T extends object>(customProps: ObjCheckIconProps<T>) => import("react/jsx-runtime").JSX.Element;
3
- export default ObjCheckIcon;
@@ -1,3 +0,0 @@
1
- import type { ObjCheckboxProps } from "@/types";
2
- declare const ObjCheckbox: <T extends object>(customProps: ObjCheckboxProps<T>) => import("react/jsx-runtime").JSX.Element;
3
- export default ObjCheckbox;
@@ -1,3 +0,0 @@
1
- import type { ObjNumberProps } from "@/types";
2
- declare const ObjFloat: <T extends object>(customProps: ObjNumberProps<T>) => import("react/jsx-runtime").JSX.Element;
3
- export default ObjFloat;
@@ -1,3 +0,0 @@
1
- import type { ObjNumberProps } from "@/types";
2
- declare const ObjInteger: <T extends object>(customProps: ObjNumberProps<T>) => import("react/jsx-runtime").JSX.Element;
3
- export default ObjInteger;
@@ -1,3 +0,0 @@
1
- import type { ObjTextProps } from "@/types";
2
- declare const ObjText: <T extends object>(customProps: ObjTextProps<T>) => import("react/jsx-runtime").JSX.Element;
3
- export default ObjText;
@@ -1,3 +0,0 @@
1
- import type { SingleCheckIconProps } from "@/types";
2
- declare const SingleCheckIcon: (customProps: SingleCheckIconProps) => import("react/jsx-runtime").JSX.Element;
3
- export default SingleCheckIcon;
@@ -1,3 +0,0 @@
1
- import type { SingleCheckboxProps } from "@/types";
2
- declare const SingleCheckbox: (customProps: SingleCheckboxProps) => import("react/jsx-runtime").JSX.Element;
3
- export default SingleCheckbox;
@@ -1,3 +0,0 @@
1
- import type { SingleNumberProps } from "@/types";
2
- declare const SingleFloat: (customProps: SingleNumberProps) => import("react/jsx-runtime").JSX.Element;
3
- export default SingleFloat;
@@ -1,3 +0,0 @@
1
- import type { SingleNumberProps } from "@/types";
2
- declare const SingleInteger: (customProps: SingleNumberProps) => import("react/jsx-runtime").JSX.Element;
3
- export default SingleInteger;
@@ -1,3 +0,0 @@
1
- import type { SingleTextProps } from "@/types";
2
- declare const SingleText: (customProps: SingleTextProps) => import("react/jsx-runtime").JSX.Element;
3
- export default 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,3 +0,0 @@
1
- import type { FastStartDefaultProps } from "../types";
2
- declare const createDefaultProps: (props?: FastStartDefaultProps | undefined) => FastStartDefaultProps;
3
- export default createDefaultProps;
@@ -1,2 +0,0 @@
1
- export { default as FastStartProvider, FastStartContext } from './FastStartProvider';
2
- export { default as createDefaultProps } from './createDefaultProps';
@@ -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 };
@@ -1,3 +0,0 @@
1
- import type { DeepPartial } from "../../types";
2
- declare function fastDeepMerge<T extends object>(target: DeepPartial<T>, source: T): T;
3
- export { fastDeepMerge };