@ehfuse/mui-form-controls 3.0.40 → 3.0.42

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/types.d.ts CHANGED
@@ -17,10 +17,10 @@ import type { ToggleButtonProps as MuiToggleButtonProps } from "@mui/material/To
17
17
  import type { ToggleButtonGroupProps as MuiToggleButtonGroupProps } from "@mui/material/ToggleButtonGroup";
18
18
  import type { ButtonGroupProps as MuiButtonGroupProps } from "@mui/material/ButtonGroup";
19
19
  import type { StepperProps as MuiStepperProps } from "@mui/material/Stepper";
20
- import type { AutocompleteProps as MuiAutocompleteProps } from "@mui/material/Autocomplete";
21
20
  import type { SelectProps as MuiSelectProps, SelectChangeEvent } from "@mui/material/Select";
22
21
  import type { FormControlProps } from "@mui/material/FormControl";
23
22
  import type { InputBaseComponentProps } from "@mui/material/InputBase";
23
+ import type { TextFieldProps as MuiBaseTextFieldProps } from "@mui/material/TextField";
24
24
  export type TextFieldProps = MuiTextFieldProps;
25
25
  export type ButtonGroupProps = MuiButtonGroupProps;
26
26
  export type PopoverOrigin = {
@@ -143,17 +143,42 @@ export type AutocompleteOption = {
143
143
  value: string | number;
144
144
  label: string;
145
145
  };
146
- export type AutocompleteProps = Omit<MuiAutocompleteProps<AutocompleteOption, false, false, false>, "renderInput" | "options" | "value" | "onChange"> & BaseTextFieldProps & {
146
+ export type AutocompleteInputChangeReason = "input" | "reset" | "clear" | "blur";
147
+ export type AutocompleteCloseReason = "selectOption" | "blur" | "clickAway";
148
+ export type AutocompleteRenderOption = (option: AutocompleteOption, query: string) => React.ReactNode;
149
+ export type AutocompleteProps = BaseTextFieldProps & {
147
150
  name?: string;
148
151
  label?: string;
149
152
  options: AutocompleteOption[];
150
153
  value?: string | number | null;
154
+ inputValue?: string;
151
155
  onChange?: (value: string | number | null) => void;
156
+ onInputChange?: (event: React.SyntheticEvent, value: string, reason: AutocompleteInputChangeReason) => void;
157
+ onOpen?: (event: React.SyntheticEvent) => void;
158
+ onClose?: (event: React.SyntheticEvent, reason: AutocompleteCloseReason) => void;
159
+ renderOption?: AutocompleteRenderOption;
152
160
  fullWidth?: boolean;
153
161
  size?: "small" | "medium";
154
162
  minInputLength?: number;
155
163
  readonly?: boolean;
156
- textFieldProps?: Omit<TextFieldProps, "label" | "value" | "onChange">;
164
+ disabled?: boolean;
165
+ loading?: boolean;
166
+ placeholder?: string;
167
+ noOptionsText?: React.ReactNode;
168
+ emptyMessage?: React.ReactNode;
169
+ hideEmptyMessage?: boolean;
170
+ autoFocus?: boolean;
171
+ blurOnSelect?: boolean;
172
+ clearOnBlur?: boolean;
173
+ disablePortal?: boolean;
174
+ freeSolo?: boolean;
175
+ forcePopupIcon?: boolean;
176
+ popupIcon?: React.ReactNode;
177
+ highlightMatch?: boolean;
178
+ highlightSx?: SxProps<Theme>;
179
+ open?: boolean;
180
+ sx?: SxProps<Theme>;
181
+ textFieldProps?: Omit<MuiBaseTextFieldProps, "label" | "value" | "onChange" | "name" | "size">;
157
182
  };
158
183
  export type LabelSelectOption = {
159
184
  value: string | number | boolean;
package/package.json CHANGED
@@ -1,90 +1,90 @@
1
- {
2
- "name": "@ehfuse/mui-form-controls",
3
- "version": "3.0.40",
4
- "description": "Material-UI form controls and text fields for complex forms",
5
- "private": false,
6
- "publishConfig": {
7
- "access": "public"
8
- },
9
- "main": "dist/index.js",
10
- "module": "dist/index.mjs",
11
- "types": "dist/index.d.ts",
12
- "exports": {
13
- ".": {
14
- "types": "./dist/index.d.ts",
15
- "import": "./dist/index.mjs",
16
- "require": "./dist/index.js"
17
- },
18
- "./address": {
19
- "types": "./dist/address.d.ts",
20
- "import": "./dist/address.mjs",
21
- "require": "./dist/address.js"
22
- }
23
- },
24
- "files": [
25
- "dist"
26
- ],
27
- "scripts": {
28
- "build": "node build.mjs",
29
- "build:types": "tsc --emitDeclarationOnly",
30
- "prepublishOnly": "npm run build"
31
- },
32
- "repository": {
33
- "type": "git",
34
- "url": "git+https://github.com/ehfuse/mui-form-controls.git"
35
- },
36
- "keywords": [
37
- "react",
38
- "mui",
39
- "material-ui",
40
- "form",
41
- "controls",
42
- "textfield",
43
- "textarea",
44
- "select",
45
- "autocomplete",
46
- "checkbox",
47
- "switch",
48
- "radio",
49
- "slider",
50
- "search",
51
- "password",
52
- "clear-button",
53
- "input"
54
- ],
55
- "author": "김영진 (Kim Young Jin) <ehfuse@gmail.com>",
56
- "license": "MIT",
57
- "bugs": {
58
- "url": "https://github.com/ehfuse/mui-form-controls/issues"
59
- },
60
- "homepage": "https://github.com/ehfuse/mui-form-controls#readme",
61
- "devDependencies": {
62
- "@ehfuse/alerts": "^1.1.2",
63
- "@ehfuse/overlay-scrollbar": "^1.6.9",
64
- "@types/react": "^19.2.7",
65
- "@types/react-daum-postcode": "^1.3.4",
66
- "@types/react-dom": "^19.2.3",
67
- "esbuild": "^0.27.0",
68
- "react-daum-postcode": "^4.0.0",
69
- "typescript": "^5.9.3"
70
- },
71
- "peerDependencies": {
72
- "@base-ui/react": "^1.1.0",
73
- "@ehfuse/alerts": ">=1.1.0",
74
- "@ehfuse/forma": ">=3.1.0",
75
- "@ehfuse/mui-datetime-picker": "^1.0.13",
76
- "@ehfuse/overlay-scrollbar": ">=1.6.9",
77
- "@emotion/react": "^11.0.0",
78
- "@emotion/styled": "^11.0.0",
79
- "@mui/icons-material": "^5.0.0 || ^6.0.0 || ^7.0.0",
80
- "@mui/material": "^5.0.0 || ^6.0.0 || ^7.0.0",
81
- "react": "^18.0.0 || ^19.0.0",
82
- "react-daum-postcode": "^3.0.0 || ^4.0.0",
83
- "react-dom": "^18.0.0 || ^19.0.0"
84
- },
85
- "peerDependenciesMeta": {
86
- "react-daum-postcode": {
87
- "optional": true
88
- }
89
- }
90
- }
1
+ {
2
+ "name": "@ehfuse/mui-form-controls",
3
+ "version": "3.0.42",
4
+ "description": "Material-UI form controls and text fields for complex forms",
5
+ "private": false,
6
+ "publishConfig": {
7
+ "access": "public"
8
+ },
9
+ "main": "dist/index.js",
10
+ "module": "dist/index.mjs",
11
+ "types": "dist/index.d.ts",
12
+ "exports": {
13
+ ".": {
14
+ "types": "./dist/index.d.ts",
15
+ "import": "./dist/index.mjs",
16
+ "require": "./dist/index.js"
17
+ },
18
+ "./address": {
19
+ "types": "./dist/address.d.ts",
20
+ "import": "./dist/address.mjs",
21
+ "require": "./dist/address.js"
22
+ }
23
+ },
24
+ "files": [
25
+ "dist"
26
+ ],
27
+ "scripts": {
28
+ "build": "node build.mjs",
29
+ "build:types": "tsc --emitDeclarationOnly",
30
+ "prepublishOnly": "npm run build"
31
+ },
32
+ "repository": {
33
+ "type": "git",
34
+ "url": "git+https://github.com/ehfuse/mui-form-controls.git"
35
+ },
36
+ "keywords": [
37
+ "react",
38
+ "mui",
39
+ "material-ui",
40
+ "form",
41
+ "controls",
42
+ "textfield",
43
+ "textarea",
44
+ "select",
45
+ "autocomplete",
46
+ "checkbox",
47
+ "switch",
48
+ "radio",
49
+ "slider",
50
+ "search",
51
+ "password",
52
+ "clear-button",
53
+ "input"
54
+ ],
55
+ "author": "김영진 (Kim Young Jin) <ehfuse@gmail.com>",
56
+ "license": "MIT",
57
+ "bugs": {
58
+ "url": "https://github.com/ehfuse/mui-form-controls/issues"
59
+ },
60
+ "homepage": "https://github.com/ehfuse/mui-form-controls#readme",
61
+ "devDependencies": {
62
+ "@ehfuse/alerts": "^1.1.2",
63
+ "@ehfuse/overlay-scrollbar": "^1.6.9",
64
+ "@types/react": "^19.2.7",
65
+ "@types/react-daum-postcode": "^1.3.4",
66
+ "@types/react-dom": "^19.2.3",
67
+ "esbuild": "^0.27.0",
68
+ "react-daum-postcode": "^4.0.0",
69
+ "typescript": "^5.9.3"
70
+ },
71
+ "peerDependencies": {
72
+ "@base-ui/react": "^1.1.0",
73
+ "@ehfuse/alerts": ">=1.1.0",
74
+ "@ehfuse/forma": ">=3.1.0",
75
+ "@ehfuse/mui-datetime-picker": "^1.0.13",
76
+ "@ehfuse/overlay-scrollbar": ">=1.6.9",
77
+ "@emotion/react": "^11.0.0",
78
+ "@emotion/styled": "^11.0.0",
79
+ "@mui/icons-material": "^5.0.0 || ^6.0.0 || ^7.0.0",
80
+ "@mui/material": "^5.0.0 || ^6.0.0 || ^7.0.0",
81
+ "react": "^18.0.0 || ^19.0.0",
82
+ "react-daum-postcode": "^3.0.0 || ^4.0.0",
83
+ "react-dom": "^18.0.0 || ^19.0.0"
84
+ },
85
+ "peerDependenciesMeta": {
86
+ "react-daum-postcode": {
87
+ "optional": true
88
+ }
89
+ }
90
+ }