@cwncollab-org/mui-component-kit 0.11.0 → 0.12.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/dist/form/Select.d.ts +7 -5
- package/dist/form/Select.d.ts.map +1 -1
- package/dist/form/Select.js +13 -5
- package/dist/form/Select.js.map +1 -1
- package/dist/form/SubscribeSelect.d.ts +3 -3
- package/dist/form/SubscribeSelect.d.ts.map +1 -1
- package/dist/form/SubscribeSelect.js.map +1 -1
- package/package.json +1 -1
package/dist/form/Select.d.ts
CHANGED
|
@@ -1,22 +1,24 @@
|
|
|
1
1
|
import { FormControlProps as MuiFormControlProps, InputLabelProps as MuiInputLabelProps, SelectProps as MuiSelectProps, FormHelperTextProps as MuiFormHelperTextProps } from '@mui/material';
|
|
2
|
-
type
|
|
2
|
+
export type SelectOption = {
|
|
3
3
|
value: string;
|
|
4
4
|
label: string;
|
|
5
5
|
};
|
|
6
|
-
export type SelectProps = MuiFormControlProps & {
|
|
6
|
+
export type SelectProps<TOption = SelectOption | string | any> = MuiFormControlProps & {
|
|
7
7
|
label?: string;
|
|
8
8
|
labelBehavior?: 'auto' | 'shrink' | 'static';
|
|
9
9
|
size?: 'small' | 'medium';
|
|
10
10
|
fullWidth?: boolean;
|
|
11
|
-
|
|
11
|
+
isLoading?: boolean;
|
|
12
|
+
options?: TOption[];
|
|
12
13
|
multiple?: boolean;
|
|
13
14
|
slotProps?: {
|
|
14
15
|
inputLabel?: Omit<MuiInputLabelProps, 'id'>;
|
|
15
16
|
select?: Omit<MuiSelectProps, 'id' | 'labelId' | 'name' | 'value' | 'onChange' | 'defaultValue'>;
|
|
16
17
|
helperText?: MuiFormHelperTextProps;
|
|
17
18
|
};
|
|
19
|
+
getOptionLabel?: (option: TOption) => string;
|
|
20
|
+
getOptionValue?: (option: TOption) => string;
|
|
18
21
|
onChange?: MuiSelectProps['onChange'];
|
|
19
22
|
};
|
|
20
|
-
export declare function Select(props: SelectProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
-
export {};
|
|
23
|
+
export declare function Select<TOption = SelectOption | string | any>(props: SelectProps<TOption>): import("react/jsx-runtime").JSX.Element;
|
|
22
24
|
//# sourceMappingURL=Select.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/lib/form/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,IAAI,mBAAmB,EAEvC,eAAe,IAAI,kBAAkB,EAErC,WAAW,IAAI,cAAc,EAE7B,mBAAmB,IAAI,sBAAsB,EAE9C,MAAM,eAAe,CAAA;AAKtB,
|
|
1
|
+
{"version":3,"file":"Select.d.ts","sourceRoot":"","sources":["../../src/lib/form/Select.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,IAAI,mBAAmB,EAEvC,eAAe,IAAI,kBAAkB,EAErC,WAAW,IAAI,cAAc,EAE7B,mBAAmB,IAAI,sBAAsB,EAE9C,MAAM,eAAe,CAAA;AAKtB,MAAM,MAAM,YAAY,GAAG;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,CAAC,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,GAAG,IAC3D,mBAAmB,GAAG;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,OAAO,CAAC,EAAE,OAAO,EAAE,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAA;QAC3C,MAAM,CAAC,EAAE,IAAI,CACX,cAAc,EACd,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,cAAc,CAClE,CAAA;QACD,UAAU,CAAC,EAAE,sBAAsB,CAAA;KACpC,CAAA;IACD,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;IAC5C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,MAAM,CAAA;IAC5C,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CACtC,CAAA;AAEH,wBAAgB,MAAM,CAAC,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,GAAG,EAC1D,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,2CAmG5B"}
|
package/dist/form/Select.js
CHANGED
|
@@ -5,7 +5,7 @@ import { useId, useMemo } from 'react';
|
|
|
5
5
|
import { createSelectSlotProps } from './utils';
|
|
6
6
|
export function Select(props) {
|
|
7
7
|
const field = useFieldContext();
|
|
8
|
-
const { children, slotProps, options, multiple, labelBehavior = 'auto', size, fullWidth, onChange, ...rest } = props;
|
|
8
|
+
const { children, slotProps, options, multiple, labelBehavior = 'auto', size, fullWidth, isLoading, onChange, getOptionLabel, getOptionValue, ...rest } = props;
|
|
9
9
|
const id = useId();
|
|
10
10
|
const labelId = `${id}-label`;
|
|
11
11
|
const selectId = `${id}-select`;
|
|
@@ -15,16 +15,24 @@ export function Select(props) {
|
|
|
15
15
|
return field.state.meta.errors.map(error => error.message).join(', ');
|
|
16
16
|
}, [field.state.meta.errors]);
|
|
17
17
|
const renderedOptions = useMemo(() => {
|
|
18
|
-
if (options) {
|
|
19
|
-
return
|
|
18
|
+
if (!options || options.length === 0) {
|
|
19
|
+
return [];
|
|
20
20
|
}
|
|
21
|
-
|
|
21
|
+
if (getOptionLabel && getOptionValue) {
|
|
22
|
+
return options.map(option => ({
|
|
23
|
+
value: getOptionValue(option),
|
|
24
|
+
label: getOptionLabel(option),
|
|
25
|
+
}));
|
|
26
|
+
}
|
|
27
|
+
return options.map(option => typeof option === 'string'
|
|
28
|
+
? { value: option, label: option }
|
|
29
|
+
: option);
|
|
22
30
|
}, [options]);
|
|
23
31
|
const { inputLabelProps, selectProps } = useMemo(() => createSelectSlotProps({
|
|
24
32
|
labelBehavior,
|
|
25
33
|
slotProps,
|
|
26
34
|
}), [labelBehavior, slotProps]);
|
|
27
|
-
return (_jsxs(MuiFormControl, { error: Boolean(errorText), fullWidth: fullWidth, size: size, "data-isdirty": field.state.meta.isDirty || undefined, "data-ispristine": field.state.meta.isPristine || undefined, "data-istouched": field.state.meta.isTouched || undefined, "data-isdefaultvalue": field.state.meta.isDefaultValue || undefined, "data-isvalid": field.state.meta.isValid || undefined, ...rest, children: [_jsx(MuiInputLabel, { id: labelId, ...inputLabelProps, children: props.label }), _jsxs(MuiSelect, { id: selectId, labelId: labelId, multiple: multiple, ...selectProps, label: props.label, name: field.name, value: field.state.value ?? '', onChange: (ev, child) => {
|
|
35
|
+
return (_jsxs(MuiFormControl, { error: Boolean(errorText), fullWidth: fullWidth, size: size, "data-isdirty": field.state.meta.isDirty || undefined, "data-ispristine": field.state.meta.isPristine || undefined, "data-istouched": field.state.meta.isTouched || undefined, "data-isdefaultvalue": field.state.meta.isDefaultValue || undefined, "data-isvalid": field.state.meta.isValid || undefined, ...rest, children: [_jsx(MuiInputLabel, { id: labelId, ...inputLabelProps, children: props.label }), _jsxs(MuiSelect, { id: selectId, labelId: labelId, multiple: multiple, ...selectProps, label: props.label, name: field.name, value: isLoading ? '' : (field.state.value ?? ''), onChange: (ev, child) => {
|
|
28
36
|
onChange?.(ev, child);
|
|
29
37
|
if (!ev.defaultPrevented) {
|
|
30
38
|
field.handleChange(ev.target.value);
|
package/dist/form/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/lib/form/Select.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,IAAI,cAAc,EAE7B,UAAU,IAAI,aAAa,EAE3B,MAAM,IAAI,SAAS,EAEnB,cAAc,IAAI,iBAAiB,EAEnC,QAAQ,GACT,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/lib/form/Select.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SelectProps } from './Select';
|
|
2
|
-
export type SubscribeSelectProps = SelectProps
|
|
3
|
-
export declare function SubscribeSelect(props: SubscribeSelectProps): import("react/jsx-runtime").JSX.Element;
|
|
1
|
+
import { SelectOption, SelectProps } from './Select';
|
|
2
|
+
export type SubscribeSelectProps<TOption = SelectOption | string | any> = SelectProps<TOption>;
|
|
3
|
+
export declare function SubscribeSelect<TOption = SelectOption | string | any>(props: SubscribeSelectProps<TOption>): import("react/jsx-runtime").JSX.Element;
|
|
4
4
|
//# sourceMappingURL=SubscribeSelect.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscribeSelect.d.ts","sourceRoot":"","sources":["../../src/lib/form/SubscribeSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,WAAW,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"SubscribeSelect.d.ts","sourceRoot":"","sources":["../../src/lib/form/SubscribeSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAU,YAAY,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAG5D,MAAM,MAAM,oBAAoB,CAAC,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,GAAG,IACpE,WAAW,CAAC,OAAO,CAAC,CAAA;AAEtB,wBAAgB,eAAe,CAAC,OAAO,GAAG,YAAY,GAAG,MAAM,GAAG,GAAG,EACnE,KAAK,EAAE,oBAAoB,CAAC,OAAO,CAAC,2CAWrC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SubscribeSelect.js","sourceRoot":"","sources":["../../src/lib/form/SubscribeSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SubscribeSelect.js","sourceRoot":"","sources":["../../src/lib/form/SubscribeSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAA6B,MAAM,UAAU,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAK9C,MAAM,UAAU,eAAe,CAC7B,KAAoC;IAEpC,MAAM,IAAI,GAAG,cAAc,EAAE,CAAA;IAE7B,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,EAAE,GAAG,KAAK,CAAA;IAEnC,OAAO,CACL,KAAC,IAAI,CAAC,SAAS,IAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,YAClD,YAAY,CAAC,EAAE,CAAC,KAAC,MAAM,IAAC,QAAQ,EAAE,YAAY,IAAI,QAAQ,KAAM,IAAI,GAAI,GAC1D,CAClB,CAAA;AACH,CAAC"}
|