mui-fast-start 0.3.2 → 0.3.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.
Files changed (62) hide show
  1. package/README.md +403 -403
  2. package/README_KR.md +403 -403
  3. package/dist/components/Object/Select/ObjSelectRecord.d.ts +2 -1
  4. package/dist/components/Object/Select/ObjSelectRecord.d.ts.map +1 -1
  5. package/dist/components/Single/Select/SingleSelectRecord.d.ts +2 -1
  6. package/dist/components/Single/Select/SingleSelectRecord.d.ts.map +1 -1
  7. package/dist/index.js +1 -1
  8. package/dist/styles/FastStartProps.d.ts +2 -1
  9. package/dist/styles/FastStartProps.d.ts.map +1 -1
  10. package/dist/types/props.d.ts +1 -1
  11. package/dist/types/props.d.ts.map +1 -1
  12. package/dist/types/provider.d.ts +2 -1
  13. package/dist/types/provider.d.ts.map +1 -1
  14. package/examples/basic/README.md +73 -73
  15. package/examples/basic/eslint.config.js +23 -23
  16. package/examples/basic/index.html +13 -13
  17. package/examples/basic/package.json +37 -37
  18. package/examples/basic/src/App.css +4 -4
  19. package/examples/basic/src/App.tsx +28 -28
  20. package/examples/basic/src/index.css +29 -29
  21. package/examples/basic/src/main.tsx +50 -50
  22. package/examples/basic/src/pages/ObjPage.tsx +175 -175
  23. package/examples/basic/src/pages/SinglePage.tsx +137 -137
  24. package/examples/basic/tsconfig.app.json +43 -43
  25. package/examples/basic/tsconfig.json +7 -7
  26. package/examples/basic/tsconfig.node.json +40 -40
  27. package/examples/basic/vite.config.ts +28 -28
  28. package/mui-fast-start-0.1.4.tgz +0 -0
  29. package/package.json +67 -67
  30. package/src/components/Object/Checkbox/ObjCheckIcon.tsx +29 -29
  31. package/src/components/Object/Checkbox/ObjCheckbox.tsx +31 -31
  32. package/src/components/Object/Select/ObjSelectOne.tsx +33 -33
  33. package/src/components/Object/Select/ObjSelectRecord.tsx +33 -33
  34. package/src/components/Object/Textfield/ObjNumber.tsx +51 -51
  35. package/src/components/Object/Textfield/ObjText.tsx +29 -29
  36. package/src/components/Single/Checkbox/SingleCheckIcon.tsx +27 -27
  37. package/src/components/Single/Checkbox/SingleCheckbox.tsx +33 -33
  38. package/src/components/Single/Select/BaseSingleSelect.tsx +45 -45
  39. package/src/components/Single/Select/SingleSelectOne.tsx +56 -56
  40. package/src/components/Single/Select/SingleSelectRecord.tsx +51 -51
  41. package/src/components/Single/TextField/SingleNumber.tsx +18 -18
  42. package/src/components/Single/TextField/SingleText.tsx +13 -13
  43. package/src/components/index.ts +15 -15
  44. package/src/hooks/index.ts +3 -3
  45. package/src/hooks/splits/useSplitNumberProps.ts +161 -161
  46. package/src/hooks/splits/useSplitTextProps.ts +36 -36
  47. package/src/hooks/state/useObjToSingle.ts +24 -24
  48. package/src/index.ts +7 -7
  49. package/src/styles/FastStartProps.ts +82 -81
  50. package/src/styles/FastStartProvider.tsx +25 -25
  51. package/src/types/index.ts +3 -3
  52. package/src/types/props.internal.ts +21 -21
  53. package/src/types/props.ts +81 -81
  54. package/src/types/provider.ts +72 -71
  55. package/src/types/types.ts +9 -9
  56. package/src/utils/index.ts +2 -2
  57. package/src/utils/number/calculate.ts +102 -102
  58. package/src/utils/object/error.ts +15 -15
  59. package/src/utils/object/merge.ts +47 -47
  60. package/tsconfig.json +34 -34
  61. package/tsconfig.lib.json +9 -9
  62. package/vite.config.ts +35 -35
@@ -1,176 +1,176 @@
1
- import {Divider, Grid, InputAdornment, TextField} from "@mui/material";
2
- import {ObjCheckbox, ObjCheckIcon, ObjFloat, ObjInteger, ObjSelectOne, ObjSelectRecord, ObjText} from "mui-fast-start";
3
- import React, { useState } from "react";
4
-
5
- const list = ["test1", "test2", "test3", "test4", "test5"];
6
-
7
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
- // @ts-expect-error
9
- enum TestEnum {
10
- test = '테스트',
11
- hello = '안녕'
12
- }
13
-
14
- const TestRecord = {
15
- test: '테스트',
16
- hello: '안녕'
17
- }
18
-
19
- type TempType = {
20
- check1: boolean,
21
- check2: boolean,
22
- float: number,
23
- integer: number,
24
- text: string,
25
- }
26
-
27
- type SelectType = {
28
- item1: keyof typeof TestRecord;
29
- item2?: keyof typeof TestRecord;
30
- item3: keyof typeof TestEnum;
31
- item4?: keyof typeof TestEnum;
32
- item5: string;
33
- item6?: string;
34
- }
35
-
36
- const ObjPage = () => {
37
- const [error, setError] = useState<object>({
38
- text: '에러 메시지',
39
- });
40
- const [temp, setTemp] = useState<TempType>({
41
- check1: false,
42
- check2: false,
43
- float: 0,
44
- integer: 0,
45
- text: ''
46
- });
47
-
48
- const [select, setSelect] = useState<SelectType>({
49
- item1: 'test',
50
- item3: 'test',
51
- item5: list[0],
52
- });
53
-
54
- const handleTextChange = (e: React.ChangeEvent<HTMLInputElement>) => {
55
- setTemp({...temp, text: e.target.value});
56
- }
57
-
58
- return (
59
- <Grid container>
60
- <TextField
61
- fullWidth={true}
62
- autoComplete="off"
63
- size="small"
64
- variant="outlined"
65
- label='테스트'
66
- value={temp.text}
67
- onChange={handleTextChange}
68
- />
69
-
70
- <Grid size={12}>
71
- {JSON.stringify(temp)}
72
- </Grid>
73
-
74
- <Grid size={2}>
75
- <ObjCheckbox<TempType>
76
- label='테스트1' name='check1'
77
- get={temp} set={setTemp}
78
- />
79
- </Grid>
80
- <Grid size={2}>
81
- <ObjCheckIcon<TempType>
82
- on='on' off='off' name={"check2"}
83
- get={temp} set={setTemp}
84
- />
85
- </Grid>
86
-
87
- <Grid size={2}>
88
- <ObjFloat<TempType>
89
- label='실수형' name='float'
90
- get={temp} set={setTemp}
91
- err={error}
92
- />
93
- </Grid>
94
- <Grid size={2}>
95
- <ObjInteger<TempType>
96
- label='정수형' name='integer'
97
- get={temp} set={setTemp}
98
- err={error}
99
- />
100
- </Grid>
101
- <Grid size={2}>
102
- <ObjText<TempType>
103
- label='텍스트' name='text'
104
- get={temp} set={setTemp}
105
- err={error}
106
- startAdornment={(
107
- <InputAdornment position="start">
108
- S
109
- </InputAdornment>
110
- )}
111
- endAdornment={(
112
- <InputAdornment position="end">
113
- E
114
- </InputAdornment>
115
- )}
116
- />
117
- </Grid>
118
-
119
- <Grid size={12}>
120
- <Divider/>
121
- {JSON.stringify(select)}
122
- </Grid>
123
-
124
- <Grid size={2}>
125
- <ObjSelectRecord
126
- get={select} set={setSelect}
127
- items={TestRecord}
128
- name='item1' label='item1'
129
- />
130
- </Grid>
131
- <Grid size={2}>
132
- <ObjSelectRecord
133
- get={select} set={setSelect}
134
- items={TestRecord}
135
- name='item2' label='item2'
136
- />
137
- </Grid>
138
-
139
- <Grid size={2}>
140
- <ObjSelectRecord
141
- get={select} set={setSelect}
142
- items={TestEnum}
143
- emptyItem='빈 값' emptyValue={null}
144
- name='item3' label='item3'
145
- />
146
- </Grid>
147
- <Grid size={2}>
148
- <ObjSelectRecord
149
- get={select} set={setSelect}
150
- items={TestEnum}
151
- emptyItem='빈 값' emptyValue={null}
152
- name='item4' label='item4'
153
- />
154
- </Grid>
155
-
156
- <Grid size={2}>
157
- <ObjSelectOne
158
- emptyItem='미선택'
159
- label='item5'
160
- get={select} set={setSelect}
161
- items={list} name='item5'
162
- />
163
- </Grid>
164
- <Grid size={2}>
165
- <ObjSelectOne
166
- emptyItem='미선택'
167
- label='item6'
168
- get={select} set={setSelect}
169
- items={list} name='item6'
170
- />
171
- </Grid>
172
- </Grid>
173
- );
174
- };
175
-
1
+ import {Divider, Grid, InputAdornment, TextField} from "@mui/material";
2
+ import {ObjCheckbox, ObjCheckIcon, ObjFloat, ObjInteger, ObjSelectOne, ObjSelectRecord, ObjText} from "mui-fast-start";
3
+ import React, { useState } from "react";
4
+
5
+ const list = ["test1", "test2", "test3", "test4", "test5"];
6
+
7
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
8
+ // @ts-expect-error
9
+ enum TestEnum {
10
+ test = '테스트',
11
+ hello = '안녕'
12
+ }
13
+
14
+ const TestRecord = {
15
+ test: '테스트',
16
+ hello: '안녕'
17
+ }
18
+
19
+ type TempType = {
20
+ check1: boolean,
21
+ check2: boolean,
22
+ float: number,
23
+ integer: number,
24
+ text: string,
25
+ }
26
+
27
+ type SelectType = {
28
+ item1: keyof typeof TestRecord;
29
+ item2?: keyof typeof TestRecord;
30
+ item3: keyof typeof TestEnum;
31
+ item4?: keyof typeof TestEnum;
32
+ item5: string;
33
+ item6?: string;
34
+ }
35
+
36
+ const ObjPage = () => {
37
+ const [error, setError] = useState<object>({
38
+ text: '에러 메시지',
39
+ });
40
+ const [temp, setTemp] = useState<TempType>({
41
+ check1: false,
42
+ check2: false,
43
+ float: 0,
44
+ integer: 0,
45
+ text: ''
46
+ });
47
+
48
+ const [select, setSelect] = useState<SelectType>({
49
+ item1: 'test',
50
+ item3: 'test',
51
+ item5: list[0],
52
+ });
53
+
54
+ const handleTextChange = (e: React.ChangeEvent<HTMLInputElement>) => {
55
+ setTemp({...temp, text: e.target.value});
56
+ }
57
+
58
+ return (
59
+ <Grid container>
60
+ <TextField
61
+ fullWidth={true}
62
+ autoComplete="off"
63
+ size="small"
64
+ variant="outlined"
65
+ label='테스트'
66
+ value={temp.text}
67
+ onChange={handleTextChange}
68
+ />
69
+
70
+ <Grid size={12}>
71
+ {JSON.stringify(temp)}
72
+ </Grid>
73
+
74
+ <Grid size={2}>
75
+ <ObjCheckbox<TempType>
76
+ label='테스트1' name='check1'
77
+ get={temp} set={setTemp}
78
+ />
79
+ </Grid>
80
+ <Grid size={2}>
81
+ <ObjCheckIcon<TempType>
82
+ on='on' off='off' name={"check2"}
83
+ get={temp} set={setTemp}
84
+ />
85
+ </Grid>
86
+
87
+ <Grid size={2}>
88
+ <ObjFloat<TempType>
89
+ label='실수형' name='float'
90
+ get={temp} set={setTemp}
91
+ err={error}
92
+ />
93
+ </Grid>
94
+ <Grid size={2}>
95
+ <ObjInteger<TempType>
96
+ label='정수형' name='integer'
97
+ get={temp} set={setTemp}
98
+ err={error}
99
+ />
100
+ </Grid>
101
+ <Grid size={2}>
102
+ <ObjText<TempType>
103
+ label='텍스트' name='text'
104
+ get={temp} set={setTemp}
105
+ err={error}
106
+ startAdornment={(
107
+ <InputAdornment position="start">
108
+ S
109
+ </InputAdornment>
110
+ )}
111
+ endAdornment={(
112
+ <InputAdornment position="end">
113
+ E
114
+ </InputAdornment>
115
+ )}
116
+ />
117
+ </Grid>
118
+
119
+ <Grid size={12}>
120
+ <Divider/>
121
+ {JSON.stringify(select)}
122
+ </Grid>
123
+
124
+ <Grid size={2}>
125
+ <ObjSelectRecord
126
+ get={select} set={setSelect}
127
+ items={TestRecord}
128
+ name='item1' label='item1'
129
+ />
130
+ </Grid>
131
+ <Grid size={2}>
132
+ <ObjSelectRecord
133
+ get={select} set={setSelect}
134
+ items={TestRecord}
135
+ name='item2' label='item2'
136
+ />
137
+ </Grid>
138
+
139
+ <Grid size={2}>
140
+ <ObjSelectRecord
141
+ get={select} set={setSelect}
142
+ items={TestEnum}
143
+ emptyItem='빈 값' emptyValue={null}
144
+ name='item3' label='item3'
145
+ />
146
+ </Grid>
147
+ <Grid size={2}>
148
+ <ObjSelectRecord
149
+ get={select} set={setSelect}
150
+ items={TestEnum}
151
+ emptyItem='빈 값' emptyValue={null}
152
+ name='item4' label='item4'
153
+ />
154
+ </Grid>
155
+
156
+ <Grid size={2}>
157
+ <ObjSelectOne
158
+ emptyItem='미선택'
159
+ label='item5'
160
+ get={select} set={setSelect}
161
+ items={list} name='item5'
162
+ />
163
+ </Grid>
164
+ <Grid size={2}>
165
+ <ObjSelectOne
166
+ emptyItem='미선택'
167
+ label='item6'
168
+ get={select} set={setSelect}
169
+ items={list} name='item6'
170
+ />
171
+ </Grid>
172
+ </Grid>
173
+ );
174
+ };
175
+
176
176
  export default ObjPage;
@@ -1,137 +1,137 @@
1
- import {useState} from "react";
2
- import {Divider, Grid, InputAdornment} from "@mui/material";
3
- import {SingleCheckbox, SingleCheckIcon, SingleFloat, SingleInteger, SingleText} from "mui-fast-start";
4
- import {SingleSelectOne, SingleSelectRecord} from "mui-fast-start";
5
-
6
- const list = ["test1", "test2", "test3", "test4", "test5"];
7
-
8
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
9
- // @ts-expect-error
10
- enum TestEnum {
11
- test = '테스트',
12
- hello = '안녕'
13
- }
14
-
15
- const TestRecord = {
16
- test: '테스트',
17
- hello: '안녕'
18
- }
19
-
20
-
21
- const SinglePage = () => {
22
- const [float, setFloat] = useState<number>(0);
23
- const [integer, setInteger] = useState<number>(0);
24
- const [text, setText] = useState<string>('');
25
- const [checked, setChecked] = useState<boolean>(false);
26
- const [selectOne, setSelectOne] = useState<string | undefined>();
27
- const [recordSelect, setRecordSelect] = useState<keyof typeof TestRecord | undefined>();
28
- const [recordSelect1, setRecordSelect1] = useState<keyof typeof TestRecord>('test');
29
- const [enumSelect, setEnumSelect] = useState<keyof typeof TestEnum | undefined>();
30
- const [enumSelect1, setEnumSelect1] = useState<keyof typeof TestEnum>('test');
31
-
32
-
33
- return (
34
- <Grid container>
35
- <Grid size={2}>{checked.toString()}</Grid>
36
- <Grid size={2}>
37
- <SingleCheckbox
38
- label='테스트'
39
- get={checked} set={setChecked}
40
- />
41
- </Grid>
42
-
43
- <Grid size={2}>{checked.toString()}</Grid>
44
- <Grid size={2}>
45
- <SingleCheckIcon
46
- on={"on"} off={"off"}
47
- get={checked} set={setChecked}
48
- />
49
- </Grid>
50
-
51
- <Grid size={2}>{float}</Grid>
52
- <Grid size={2}>
53
- <SingleFloat
54
- label='실수형'
55
- min={-100} max={100}
56
- get={float} set={setFloat}
57
- />
58
- </Grid>
59
-
60
- <Grid size={2}>{integer}</Grid>
61
- <Grid size={2}>
62
- <SingleInteger
63
- label='정수형'
64
- min={-100} max={100}
65
- startAdornment={(
66
- <InputAdornment position="start">
67
- S
68
- </InputAdornment>
69
- )}
70
- endAdornment={(
71
- <InputAdornment position="end">
72
- E
73
- </InputAdornment>
74
- )}
75
- get={integer} set={setInteger}
76
- />
77
- </Grid>
78
-
79
- <Grid size={2}>{text}</Grid>
80
- <Grid size={2}>
81
- <SingleText
82
- label='텍스트'
83
- maxLength={10}
84
- get={text} set={setText}
85
- />
86
- </Grid>
87
-
88
- <Grid size={12}>
89
- <Divider/>
90
- </Grid>
91
-
92
- <Grid size={2}>{selectOne?.toString()}</Grid>
93
- <Grid size={2}>
94
- <SingleSelectOne
95
- variant='outlined' items={list}
96
- get={selectOne} set={setSelectOne}
97
- />
98
- </Grid>
99
-
100
- <Grid size={2}>{recordSelect?.toString()}</Grid>
101
- <Grid size={2}>
102
- <SingleSelectRecord
103
- variant='outlined' items={TestRecord}
104
- get={recordSelect} set={setRecordSelect}
105
- />
106
- </Grid>
107
-
108
- <Grid size={2}>{recordSelect1?.toString()}</Grid>
109
- <Grid size={2}>
110
- <SingleSelectRecord
111
- emptyItem={'빈 값 입니다.'}
112
- variant='outlined' items={TestRecord}
113
- get={recordSelect1} set={setRecordSelect1}
114
- />
115
- </Grid>
116
-
117
- <Grid size={2}>{enumSelect?.toString()}</Grid>
118
- <Grid size={2}>
119
- <SingleSelectRecord
120
- variant='outlined' items={TestEnum}
121
- get={enumSelect} set={setEnumSelect}
122
- />
123
- </Grid>
124
-
125
- <Grid size={2}>{enumSelect1?.toString()}</Grid>
126
- <Grid size={2}>
127
- <SingleSelectRecord
128
- fullWidth
129
- variant='outlined' items={TestEnum}
130
- get={enumSelect1} set={setEnumSelect1}
131
- />
132
- </Grid>
133
- </Grid>
134
- );
135
- };
136
-
137
- export default SinglePage;
1
+ import {useState} from "react";
2
+ import {Divider, Grid, InputAdornment} from "@mui/material";
3
+ import {SingleCheckbox, SingleCheckIcon, SingleFloat, SingleInteger, SingleText} from "mui-fast-start";
4
+ import {SingleSelectOne, SingleSelectRecord} from "mui-fast-start";
5
+
6
+ const list = ["test1", "test2", "test3", "test4", "test5"];
7
+
8
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
9
+ // @ts-expect-error
10
+ enum TestEnum {
11
+ test = '테스트',
12
+ hello = '안녕'
13
+ }
14
+
15
+ const TestRecord = {
16
+ test: '테스트',
17
+ hello: '안녕'
18
+ }
19
+
20
+
21
+ const SinglePage = () => {
22
+ const [float, setFloat] = useState<number>(0);
23
+ const [integer, setInteger] = useState<number>(0);
24
+ const [text, setText] = useState<string>('');
25
+ const [checked, setChecked] = useState<boolean>(false);
26
+ const [selectOne, setSelectOne] = useState<string | undefined>();
27
+ const [recordSelect, setRecordSelect] = useState<keyof typeof TestRecord | undefined>();
28
+ const [recordSelect1, setRecordSelect1] = useState<keyof typeof TestRecord>('test');
29
+ const [enumSelect, setEnumSelect] = useState<keyof typeof TestEnum | undefined>();
30
+ const [enumSelect1, setEnumSelect1] = useState<keyof typeof TestEnum>('test');
31
+
32
+
33
+ return (
34
+ <Grid container>
35
+ <Grid size={2}>{checked.toString()}</Grid>
36
+ <Grid size={2}>
37
+ <SingleCheckbox
38
+ label='테스트'
39
+ get={checked} set={setChecked}
40
+ />
41
+ </Grid>
42
+
43
+ <Grid size={2}>{checked.toString()}</Grid>
44
+ <Grid size={2}>
45
+ <SingleCheckIcon
46
+ on={"on"} off={"off"}
47
+ get={checked} set={setChecked}
48
+ />
49
+ </Grid>
50
+
51
+ <Grid size={2}>{float}</Grid>
52
+ <Grid size={2}>
53
+ <SingleFloat
54
+ label='실수형'
55
+ min={-100} max={100}
56
+ get={float} set={setFloat}
57
+ />
58
+ </Grid>
59
+
60
+ <Grid size={2}>{integer}</Grid>
61
+ <Grid size={2}>
62
+ <SingleInteger
63
+ label='정수형'
64
+ min={-100} max={100}
65
+ startAdornment={(
66
+ <InputAdornment position="start">
67
+ S
68
+ </InputAdornment>
69
+ )}
70
+ endAdornment={(
71
+ <InputAdornment position="end">
72
+ E
73
+ </InputAdornment>
74
+ )}
75
+ get={integer} set={setInteger}
76
+ />
77
+ </Grid>
78
+
79
+ <Grid size={2}>{text}</Grid>
80
+ <Grid size={2}>
81
+ <SingleText
82
+ label='텍스트'
83
+ maxLength={10}
84
+ get={text} set={setText}
85
+ />
86
+ </Grid>
87
+
88
+ <Grid size={12}>
89
+ <Divider/>
90
+ </Grid>
91
+
92
+ <Grid size={2}>{selectOne?.toString()}</Grid>
93
+ <Grid size={2}>
94
+ <SingleSelectOne
95
+ variant='outlined' items={list}
96
+ get={selectOne} set={setSelectOne}
97
+ />
98
+ </Grid>
99
+
100
+ <Grid size={2}>{recordSelect?.toString()}</Grid>
101
+ <Grid size={2}>
102
+ <SingleSelectRecord
103
+ variant='outlined' items={TestRecord}
104
+ get={recordSelect} set={setRecordSelect}
105
+ />
106
+ </Grid>
107
+
108
+ <Grid size={2}>{recordSelect1?.toString()}</Grid>
109
+ <Grid size={2}>
110
+ <SingleSelectRecord
111
+ emptyItem={'빈 값 입니다.'}
112
+ variant='outlined' items={TestRecord}
113
+ get={recordSelect1} set={setRecordSelect1}
114
+ />
115
+ </Grid>
116
+
117
+ <Grid size={2}>{enumSelect?.toString()}</Grid>
118
+ <Grid size={2}>
119
+ <SingleSelectRecord
120
+ variant='outlined' items={TestEnum}
121
+ get={enumSelect} set={setEnumSelect}
122
+ />
123
+ </Grid>
124
+
125
+ <Grid size={2}>{enumSelect1?.toString()}</Grid>
126
+ <Grid size={2}>
127
+ <SingleSelectRecord
128
+ fullWidth
129
+ variant='outlined' items={TestEnum}
130
+ get={enumSelect1} set={setEnumSelect1}
131
+ />
132
+ </Grid>
133
+ </Grid>
134
+ );
135
+ };
136
+
137
+ export default SinglePage;