@cwncollab-org/mui-component-kit 0.1.0 → 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/dist/form/DatePicker.d.ts +1 -1
- package/dist/form/DatePicker.d.ts.map +1 -1
- package/dist/form/DatePicker.js +32 -6
- package/dist/form/DatePicker.js.map +1 -1
- package/dist/form/MultiSelect.d.ts +1 -1
- package/dist/form/MultiSelect.d.ts.map +1 -1
- package/dist/form/MultiSelect.js +36 -8
- package/dist/form/MultiSelect.js.map +1 -1
- package/dist/form/Select.d.ts +1 -1
- package/dist/form/Select.d.ts.map +1 -1
- package/dist/form/Select.js +31 -2
- package/dist/form/Select.js.map +1 -1
- package/dist/form/TextField.d.ts +1 -1
- package/dist/form/TextField.d.ts.map +1 -1
- package/dist/form/TextField.js +44 -15
- package/dist/form/TextField.js.map +1 -1
- package/dist/form/TimePicker.d.ts +1 -1
- package/dist/form/TimePicker.d.ts.map +1 -1
- package/dist/form/TimePicker.js +32 -6
- package/dist/form/TimePicker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { DatePickerProps as MuiDatePickerProps } from '@mui/x-date-pickers/DatePicker';
|
|
2
2
|
export type DatePickerProps = Omit<MuiDatePickerProps, 'name' | 'value' | 'defaultValue'> & {
|
|
3
3
|
required?: boolean;
|
|
4
|
-
|
|
4
|
+
labelBehavior?: 'auto' | 'shrink' | 'static';
|
|
5
5
|
size?: 'small' | 'medium';
|
|
6
6
|
fullWidth?: boolean;
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/lib/form/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,IAAI,kBAAkB,EACtC,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"DatePicker.d.ts","sourceRoot":"","sources":["../../src/lib/form/DatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,eAAe,IAAI,kBAAkB,EACtC,MAAM,gCAAgC,CAAA;AAWvC,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,kBAAkB,EAClB,MAAM,GAAG,OAAO,GAAG,cAAc,CAClC,GAAG;IACF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA4EhD"}
|
package/dist/form/DatePicker.js
CHANGED
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
|
2
2
|
import { DatePicker as MuiDatePicker, } from '@mui/x-date-pickers/DatePicker';
|
|
3
3
|
import { useFieldContext } from './formContext';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
5
|
-
import { LocalizationProvider } from '@mui/x-date-pickers';
|
|
5
|
+
import { LocalizationProvider, } from '@mui/x-date-pickers';
|
|
6
6
|
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
7
7
|
import { useMemo } from 'react';
|
|
8
8
|
export function DatePicker(props) {
|
|
@@ -12,7 +12,34 @@ export function DatePicker(props) {
|
|
|
12
12
|
return null;
|
|
13
13
|
return field.state.meta.errors.map(error => error.message).join(', ');
|
|
14
14
|
}, [field.state.meta.errors]);
|
|
15
|
-
const { required,
|
|
15
|
+
const { required, labelBehavior = 'auto', size, fullWidth, onChange, slotProps, ...rest } = props;
|
|
16
|
+
const labelShrink = labelBehavior === 'shrink' ? true : undefined;
|
|
17
|
+
let inputLabelProps = {
|
|
18
|
+
shrink: labelShrink,
|
|
19
|
+
};
|
|
20
|
+
let inputProps = {
|
|
21
|
+
notched: labelShrink,
|
|
22
|
+
};
|
|
23
|
+
if (labelBehavior === 'static') {
|
|
24
|
+
inputLabelProps = {
|
|
25
|
+
...inputLabelProps,
|
|
26
|
+
shrink: true,
|
|
27
|
+
sx: {
|
|
28
|
+
position: 'relative',
|
|
29
|
+
transform: 'none',
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
inputProps = {
|
|
33
|
+
...inputProps,
|
|
34
|
+
notched: true,
|
|
35
|
+
sx: {
|
|
36
|
+
...props?.sx,
|
|
37
|
+
'& legend > span': {
|
|
38
|
+
display: 'none',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
16
43
|
return (_jsx(LocalizationProvider, { dateAdapter: AdapterDayjs, children: _jsx(MuiDatePicker, { ...rest, name: field.name, value: field.state.value ? dayjs(field.state.value) : null, onChange: (value, context) => {
|
|
17
44
|
if (value) {
|
|
18
45
|
onChange?.(value, context);
|
|
@@ -23,12 +50,11 @@ export function DatePicker(props) {
|
|
|
23
50
|
required: required,
|
|
24
51
|
error: Boolean(errorText),
|
|
25
52
|
helperText: errorText,
|
|
26
|
-
InputLabelProps: { shrink: labelShrink },
|
|
27
53
|
size: size,
|
|
28
54
|
fullWidth: fullWidth,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
55
|
+
InputLabelProps: inputLabelProps,
|
|
56
|
+
InputProps: inputProps,
|
|
57
|
+
...slotProps?.textField,
|
|
32
58
|
},
|
|
33
59
|
} }) }));
|
|
34
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/lib/form/DatePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,IAAI,aAAa,GAE5B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,
|
|
1
|
+
{"version":3,"file":"DatePicker.js","sourceRoot":"","sources":["../../src/lib/form/DatePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,IAAI,aAAa,GAE5B,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EACL,oBAAoB,GAErB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAC/D,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAa/B,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,KAAK,GAAG,eAAe,EAAiB,CAAA;IAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACrD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAE7B,MAAM,EACJ,QAAQ,EACR,aAAa,GAAG,MAAM,EACtB,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,GAAG,KAAK,CAAA;IAET,MAAM,WAAW,GAAG,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAEjE,IAAI,eAAe,GAA6B;QAC9C,MAAM,EAAE,WAAW;KACpB,CAAA;IAED,IAAI,UAAU,GAAuC;QACnD,OAAO,EAAE,WAAW;KACrB,CAAA;IAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,eAAe,GAAG;YAChB,GAAG,eAAe;YAClB,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE;gBACF,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,MAAM;aAClB;SACF,CAAA;QACD,UAAU,GAAG;YACX,GAAG,UAAU;YACb,OAAO,EAAE,IAAI;YACb,EAAE,EAAE;gBACF,GAAG,KAAK,EAAE,EAAE;gBACZ,iBAAiB,EAAE;oBACjB,OAAO,EAAE,MAAM;iBAChB;aACF;SACF,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,oBAAoB,IAAC,WAAW,EAAE,YAAY,YAC7C,KAAC,aAAa,OACR,IAAI,EACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC3B,IAAI,KAAK,EAAE,CAAC;oBACV,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;oBAC1B,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC,EACD,SAAS,EAAE;gBACT,SAAS,EAAE;oBACT,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;oBACzB,UAAU,EAAE,SAAS;oBACrB,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,SAAS;oBACpB,eAAe,EAAE,eAAe;oBAChC,UAAU,EAAE,UAAU;oBACtB,GAAI,SAAS,EAAE,SAAiB;iBACjC;aACF,GACD,GACmB,CACxB,CAAA;AACH,CAAC"}
|
|
@@ -6,7 +6,7 @@ type Option = {
|
|
|
6
6
|
type SortBy = 'label' | 'value' | false;
|
|
7
7
|
export type MultiSelectProps = MuiFormControlProps & {
|
|
8
8
|
label?: string;
|
|
9
|
-
|
|
9
|
+
labelBehavior?: 'auto' | 'shrink' | 'static';
|
|
10
10
|
size?: 'small' | 'medium';
|
|
11
11
|
fullWidth?: boolean;
|
|
12
12
|
options?: Option[] | string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../src/lib/form/MultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,IAAI,mBAAmB,EAEvC,eAAe,IAAI,kBAAkB,EAErC,WAAW,IAAI,cAAc,EAE7B,mBAAmB,IAAI,sBAAsB,EAK9C,MAAM,eAAe,CAAA;AAItB,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAA;AAEvC,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG;IACnD,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,
|
|
1
|
+
{"version":3,"file":"MultiSelect.d.ts","sourceRoot":"","sources":["../../src/lib/form/MultiSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,gBAAgB,IAAI,mBAAmB,EAEvC,eAAe,IAAI,kBAAkB,EAErC,WAAW,IAAI,cAAc,EAE7B,mBAAmB,IAAI,sBAAsB,EAK9C,MAAM,eAAe,CAAA;AAItB,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAA;AAEvC,MAAM,MAAM,gBAAgB,GAAG,mBAAmB,GAAG;IACnD,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,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,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,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CACtC,CAAA;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB,2CA0IlD"}
|
package/dist/form/MultiSelect.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useFieldContext } from './formContext';
|
|
|
4
4
|
import { useId, useMemo } from 'react';
|
|
5
5
|
export function MultiSelect(props) {
|
|
6
6
|
const field = useFieldContext();
|
|
7
|
-
const { children, slotProps, options,
|
|
7
|
+
const { children, slotProps, options, labelBehavior = 'auto', size, fullWidth, sortSelected = false, onChange, ...rest } = props;
|
|
8
8
|
const id = useId();
|
|
9
9
|
const labelId = `${id}-label`;
|
|
10
10
|
const selectId = `${id}-select`;
|
|
@@ -35,16 +35,44 @@ export function MultiSelect(props) {
|
|
|
35
35
|
})
|
|
36
36
|
.map(option => option.value);
|
|
37
37
|
}, [field.state.value, renderedOptions, sortSelected]);
|
|
38
|
-
|
|
38
|
+
const labelShrink = labelBehavior === 'shrink' ? true : undefined;
|
|
39
|
+
let inputLabelProps = {
|
|
40
|
+
...slotProps?.inputLabel,
|
|
41
|
+
shrink: labelShrink,
|
|
42
|
+
};
|
|
43
|
+
let selectProps = {
|
|
44
|
+
...slotProps?.select,
|
|
45
|
+
input: _jsx(OutlinedInput, { label: props.label }),
|
|
46
|
+
renderValue: (selected) => {
|
|
47
|
+
const selectedValues = selected;
|
|
48
|
+
return selectedValues
|
|
49
|
+
.map(value => renderedOptions.find(opt => opt.value === value)?.label || value)
|
|
50
|
+
.join(', ');
|
|
51
|
+
},
|
|
52
|
+
};
|
|
53
|
+
if (labelBehavior === 'static') {
|
|
54
|
+
inputLabelProps = {
|
|
55
|
+
...inputLabelProps,
|
|
56
|
+
sx: {
|
|
57
|
+
...inputLabelProps?.sx,
|
|
58
|
+
position: 'relative',
|
|
59
|
+
transform: 'none',
|
|
60
|
+
},
|
|
61
|
+
};
|
|
62
|
+
selectProps = {
|
|
63
|
+
...selectProps,
|
|
64
|
+
input: (_jsx(OutlinedInput, { label: props.label, notched: true, sx: {
|
|
65
|
+
'& legend > span': {
|
|
66
|
+
display: 'none',
|
|
67
|
+
},
|
|
68
|
+
} })),
|
|
69
|
+
};
|
|
70
|
+
}
|
|
71
|
+
return (_jsxs(MuiFormControl, { error: Boolean(errorText), fullWidth: fullWidth, size: size, ...rest, children: [_jsx(MuiInputLabel, { id: labelId, ...inputLabelProps, children: props.label }), _jsxs(MuiSelect, { id: selectId, labelId: labelId, multiple: true, value: getSortedSelectedValues, onChange: (ev, child) => {
|
|
39
72
|
onChange?.(ev, child);
|
|
40
73
|
if (!ev.defaultPrevented) {
|
|
41
74
|
field.handleChange(ev.target.value);
|
|
42
75
|
}
|
|
43
|
-
},
|
|
44
|
-
const selectedValues = selected;
|
|
45
|
-
return selectedValues
|
|
46
|
-
.map(value => renderedOptions.find(opt => opt.value === value)?.label || value)
|
|
47
|
-
.join(', ');
|
|
48
|
-
}, ...slotProps?.select, name: field.name, children: [children, renderedOptions.map(option => (_jsxs(MenuItem, { value: option.value, children: [_jsx(Checkbox, { checked: field.state.value.includes(option.value) }), _jsx(ListItemText, { primary: option.label })] }, option.value)))] }), Boolean(errorText) && (_jsx(MuiFormHelperText, { ...slotProps?.helperText, children: errorText }))] }));
|
|
76
|
+
}, ...selectProps, name: field.name, children: [children, renderedOptions.map(option => (_jsxs(MenuItem, { value: option.value, children: [_jsx(Checkbox, { checked: field.state.value.includes(option.value) }), _jsx(ListItemText, { primary: option.label })] }, option.value)))] }), Boolean(errorText) && (_jsx(MuiFormHelperText, { ...slotProps?.helperText, children: errorText }))] }));
|
|
49
77
|
}
|
|
50
78
|
//# sourceMappingURL=MultiSelect.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../src/lib/form/MultiSelect.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,WAAW,IAAI,cAAc,EAE7B,UAAU,IAAI,aAAa,EAE3B,MAAM,IAAI,SAAS,EAEnB,cAAc,IAAI,iBAAiB,EAEnC,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,aAAa,GACd,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AA2BtC,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,MAAM,KAAK,GAAG,eAAe,EAAY,CAAA;IACzC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,
|
|
1
|
+
{"version":3,"file":"MultiSelect.js","sourceRoot":"","sources":["../../src/lib/form/MultiSelect.tsx"],"names":[],"mappings":"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"}
|
package/dist/form/Select.d.ts
CHANGED
|
@@ -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;AAItB,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG;IAC9C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,
|
|
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;AAItB,KAAK,MAAM,GAAG;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,mBAAmB,GAAG;IAC9C,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,OAAO,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAAA;IAC7B,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,QAAQ,CAAC,EAAE,cAAc,CAAC,UAAU,CAAC,CAAA;CACtC,CAAA;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,2CAwGxC"}
|
package/dist/form/Select.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useFieldContext } from './formContext';
|
|
|
4
4
|
import { useId, useMemo } from 'react';
|
|
5
5
|
export function Select(props) {
|
|
6
6
|
const field = useFieldContext();
|
|
7
|
-
const { children, slotProps, options, multiple,
|
|
7
|
+
const { children, slotProps, options, multiple, labelBehavior = 'auto', size, fullWidth, onChange, ...rest } = props;
|
|
8
8
|
const id = useId();
|
|
9
9
|
const labelId = `${id}-label`;
|
|
10
10
|
const selectId = `${id}-select`;
|
|
@@ -19,7 +19,36 @@ export function Select(props) {
|
|
|
19
19
|
}
|
|
20
20
|
return [];
|
|
21
21
|
}, [options]);
|
|
22
|
-
|
|
22
|
+
const labelShrink = labelBehavior === 'shrink' ? true : undefined;
|
|
23
|
+
let inputLabelProps = {
|
|
24
|
+
...slotProps?.inputLabel,
|
|
25
|
+
shrink: labelShrink,
|
|
26
|
+
};
|
|
27
|
+
let selectProps = {
|
|
28
|
+
...slotProps?.select,
|
|
29
|
+
notched: labelShrink,
|
|
30
|
+
};
|
|
31
|
+
if (labelBehavior === 'static') {
|
|
32
|
+
inputLabelProps = {
|
|
33
|
+
...inputLabelProps,
|
|
34
|
+
sx: {
|
|
35
|
+
...inputLabelProps?.sx,
|
|
36
|
+
position: 'relative',
|
|
37
|
+
transform: 'none',
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
selectProps = {
|
|
41
|
+
...selectProps,
|
|
42
|
+
notched: true,
|
|
43
|
+
sx: {
|
|
44
|
+
...selectProps?.sx,
|
|
45
|
+
'& legend > span': {
|
|
46
|
+
display: 'none',
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return (_jsxs(MuiFormControl, { error: Boolean(errorText), fullWidth: fullWidth, size: size, ...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) => {
|
|
23
52
|
onChange?.(ev, child);
|
|
24
53
|
if (!ev.defaultPrevented) {
|
|
25
54
|
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;AAyBtC,MAAM,UAAU,MAAM,CAAC,KAAkB;IACvC,MAAM,KAAK,GAAG,eAAe,EAAU,CAAA;IACvC,MAAM,EACJ,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACR,
|
|
1
|
+
{"version":3,"file":"Select.js","sourceRoot":"","sources":["../../src/lib/form/Select.tsx"],"names":[],"mappings":"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"}
|
package/dist/form/TextField.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TextFieldProps as MuiTextFieldProps } from '@mui/material';
|
|
2
2
|
import { InputHTMLAttributes } from 'react';
|
|
3
3
|
export type TextFieldProps = Omit<MuiTextFieldProps, 'name' | 'value'> & {
|
|
4
|
-
|
|
4
|
+
labelBehavior?: 'auto' | 'shrink' | 'static';
|
|
5
5
|
min?: InputHTMLAttributes<HTMLInputElement>['min'];
|
|
6
6
|
max?: InputHTMLAttributes<HTMLInputElement>['max'];
|
|
7
7
|
maxLength?: InputHTMLAttributes<HTMLInputElement>['maxLength'];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TextField.d.ts","sourceRoot":"","sources":["../../src/lib/form/TextField.tsx"],"names":[],"mappings":"AAAA,OAAO,EAGL,cAAc,IAAI,iBAAiB,EACpC,MAAM,eAAe,CAAA;AAEtB,OAAO,EAAE,mBAAmB,EAAW,MAAM,OAAO,CAAA;AAEpD,MAAM,MAAM,cAAc,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG;IACvE,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC5C,GAAG,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAA;IAClD,GAAG,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,KAAK,CAAC,CAAA;IAClD,SAAS,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,WAAW,CAAC,CAAA;IAC9D,OAAO,CAAC,EAAE,mBAAmB,CAAC,gBAAgB,CAAC,CAAC,SAAS,CAAC,CAAA;CAC3D,CAAA;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,cAAc,2CAuF9C"}
|
package/dist/form/TextField.js
CHANGED
|
@@ -3,7 +3,7 @@ import { TextField as MuiTextField, } from '@mui/material';
|
|
|
3
3
|
import { useFieldContext } from './formContext';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
5
|
export function TextField(props) {
|
|
6
|
-
const {
|
|
6
|
+
const { labelBehavior = 'auto', min, max, maxLength, pattern, label, slotProps, onChange, helperText = '', ...rest } = props;
|
|
7
7
|
const field = useFieldContext();
|
|
8
8
|
const errorText = useMemo(() => {
|
|
9
9
|
if (field.state.meta.errors.length === 0)
|
|
@@ -11,6 +11,47 @@ export function TextField(props) {
|
|
|
11
11
|
return field.state.meta.errors.map(error => error.message).join(', ');
|
|
12
12
|
}, [field.state.meta.errors]);
|
|
13
13
|
const error = field.state.meta.errors.length > 0;
|
|
14
|
+
const labelShrink = labelBehavior === 'shrink' ? true : undefined;
|
|
15
|
+
let inputLabelProps = {
|
|
16
|
+
...slotProps?.inputLabel,
|
|
17
|
+
shrink: labelShrink,
|
|
18
|
+
sx: {
|
|
19
|
+
...slotProps?.inputLabel?.sx,
|
|
20
|
+
},
|
|
21
|
+
};
|
|
22
|
+
let inputProps = {
|
|
23
|
+
...slotProps?.input,
|
|
24
|
+
slotProps: {
|
|
25
|
+
...slotProps?.input?.slotProps,
|
|
26
|
+
input: {
|
|
27
|
+
...slotProps?.input?.slotProps?.input,
|
|
28
|
+
min: min,
|
|
29
|
+
max: max,
|
|
30
|
+
maxLength: maxLength,
|
|
31
|
+
pattern: pattern,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
};
|
|
35
|
+
if (labelBehavior === 'static') {
|
|
36
|
+
inputLabelProps = {
|
|
37
|
+
...inputLabelProps,
|
|
38
|
+
sx: {
|
|
39
|
+
...inputLabelProps?.sx,
|
|
40
|
+
position: 'relative',
|
|
41
|
+
transform: 'none',
|
|
42
|
+
},
|
|
43
|
+
};
|
|
44
|
+
inputProps = {
|
|
45
|
+
...inputProps,
|
|
46
|
+
notched: true,
|
|
47
|
+
sx: {
|
|
48
|
+
...inputProps?.sx,
|
|
49
|
+
'& legend > span': {
|
|
50
|
+
display: 'none',
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
}
|
|
14
55
|
return (_jsx(MuiTextField, { name: field.name, label: label, value: field.state.value ?? '', onBlur: field.handleBlur, onChange: ev => {
|
|
15
56
|
onChange?.(ev);
|
|
16
57
|
if (!ev.defaultPrevented) {
|
|
@@ -18,20 +59,8 @@ export function TextField(props) {
|
|
|
18
59
|
}
|
|
19
60
|
}, slotProps: {
|
|
20
61
|
...slotProps,
|
|
21
|
-
inputLabel:
|
|
22
|
-
input:
|
|
23
|
-
...slotProps?.input,
|
|
24
|
-
slotProps: {
|
|
25
|
-
...slotProps?.input?.slotProps,
|
|
26
|
-
input: {
|
|
27
|
-
...slotProps?.input?.slotProps?.input,
|
|
28
|
-
min: min,
|
|
29
|
-
max: max,
|
|
30
|
-
maxLength: maxLength,
|
|
31
|
-
pattern: pattern,
|
|
32
|
-
},
|
|
33
|
-
},
|
|
34
|
-
},
|
|
62
|
+
inputLabel: inputLabelProps,
|
|
63
|
+
input: inputProps,
|
|
35
64
|
}, error: error, helperText: error ? errorText : helperText, ...rest }));
|
|
36
65
|
}
|
|
37
66
|
//# sourceMappingURL=TextField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../src/lib/form/TextField.tsx"],"names":[],"mappings":";AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"TextField.js","sourceRoot":"","sources":["../../src/lib/form/TextField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAEL,SAAS,IAAI,YAAY,GAE1B,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,EAAuB,OAAO,EAAE,MAAM,OAAO,CAAA;AAUpD,MAAM,UAAU,SAAS,CAAC,KAAqB;IAC7C,MAAM,EACJ,aAAa,GAAG,MAAM,EACtB,GAAG,EACH,GAAG,EACH,SAAS,EACT,OAAO,EACP,KAAK,EACL,SAAS,EACT,QAAQ,EACR,UAAU,GAAG,EAAE,EACf,GAAG,IAAI,EACR,GAAG,KAAK,CAAA;IACT,MAAM,KAAK,GAAG,eAAe,EAA6B,CAAA;IAE1D,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACrD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAChD,MAAM,WAAW,GAAG,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAEjE,IAAI,eAAe,GAA6B;QAC9C,GAAI,SAAS,EAAE,UAAuC;QACtD,MAAM,EAAE,WAAW;QACnB,EAAE,EAAE;YACF,GAAI,SAAS,EAAE,UAAkB,EAAE,EAAE;SACtC;KACF,CAAA;IACD,IAAI,UAAU,GAAG;QACf,GAAG,SAAS,EAAE,KAAK;QACnB,SAAS,EAAE;YACT,GAAI,SAAS,EAAE,KAAa,EAAE,SAAS;YACvC,KAAK,EAAE;gBACL,GAAI,SAAS,EAAE,KAAa,EAAE,SAAS,EAAE,KAAK;gBAC9C,GAAG,EAAE,GAAG;gBACR,GAAG,EAAE,GAAG;gBACR,SAAS,EAAE,SAAS;gBACpB,OAAO,EAAE,OAAO;aACjB;SACF;KACF,CAAA;IAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,eAAe,GAAG;YAChB,GAAG,eAAe;YAClB,EAAE,EAAE;gBACF,GAAI,eAAuB,EAAE,EAAE;gBAC/B,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,MAAM;aAClB;SACF,CAAA;QACD,UAAU,GAAG;YACX,GAAG,UAAU;YACb,OAAO,EAAE,IAAI;YACb,EAAE,EAAE;gBACF,GAAI,UAAkB,EAAE,EAAE;gBAC1B,iBAAiB,EAAE;oBACjB,OAAO,EAAE,MAAM;iBAChB;aACF;SACF,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,YAAY,IACX,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,EAC9B,MAAM,EAAE,KAAK,CAAC,UAAU,EACxB,QAAQ,EAAE,EAAE,CAAC,EAAE;YACb,QAAQ,EAAE,CAAC,EAAE,CAAC,CAAA;YACd,IAAI,CAAC,EAAE,CAAC,gBAAgB,EAAE,CAAC;gBACzB,KAAK,CAAC,YAAY,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;YACrE,CAAC;QACH,CAAC,EACD,SAAS,EAAE;YACT,GAAG,SAAS;YACZ,UAAU,EAAE,eAAe;YAC3B,KAAK,EAAE,UAAU;SAClB,EACD,KAAK,EAAE,KAAK,EACZ,UAAU,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,KACtC,IAAI,GACR,CACH,CAAA;AACH,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { TimePickerProps as MuiTimePickerProps } from '@mui/x-date-pickers/TimePicker';
|
|
2
2
|
export type TimePickerProps = Omit<MuiTimePickerProps, 'name' | 'value' | 'defaultValue'> & {
|
|
3
3
|
required?: boolean;
|
|
4
|
-
|
|
4
|
+
labelBehavior?: 'auto' | 'shrink' | 'static';
|
|
5
5
|
size?: 'small' | 'medium';
|
|
6
6
|
fullWidth?: boolean;
|
|
7
7
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../src/lib/form/TimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"TimePicker.d.ts","sourceRoot":"","sources":["../../src/lib/form/TimePicker.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAWtF,MAAM,MAAM,eAAe,GAAG,IAAI,CAChC,kBAAkB,EAClB,MAAM,GAAG,OAAO,GAAG,cAAc,CAClC,GAAG;IACF,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAA;IAC5C,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAA;IACzB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,CAAA;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,2CA4EhD"}
|
package/dist/form/TimePicker.js
CHANGED
|
@@ -3,7 +3,7 @@ import { TimePicker as MuiTimePicker } from '@mui/x-date-pickers/TimePicker';
|
|
|
3
3
|
import { useFieldContext } from './formContext';
|
|
4
4
|
import dayjs from 'dayjs';
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
|
-
import { LocalizationProvider } from '@mui/x-date-pickers';
|
|
6
|
+
import { LocalizationProvider, } from '@mui/x-date-pickers';
|
|
7
7
|
import { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';
|
|
8
8
|
export function TimePicker(props) {
|
|
9
9
|
const field = useFieldContext();
|
|
@@ -12,7 +12,34 @@ export function TimePicker(props) {
|
|
|
12
12
|
return null;
|
|
13
13
|
return field.state.meta.errors.map(error => error.message).join(', ');
|
|
14
14
|
}, [field.state.meta.errors]);
|
|
15
|
-
const { required,
|
|
15
|
+
const { required, labelBehavior = 'auto', size, fullWidth, onChange, slotProps, ...rest } = props;
|
|
16
|
+
const labelShrink = labelBehavior === 'shrink' ? true : undefined;
|
|
17
|
+
let inputLabelProps = {
|
|
18
|
+
shrink: labelShrink,
|
|
19
|
+
};
|
|
20
|
+
let inputProps = {
|
|
21
|
+
notched: labelShrink,
|
|
22
|
+
};
|
|
23
|
+
if (labelBehavior === 'static') {
|
|
24
|
+
inputLabelProps = {
|
|
25
|
+
...inputLabelProps,
|
|
26
|
+
shrink: true,
|
|
27
|
+
sx: {
|
|
28
|
+
position: 'relative',
|
|
29
|
+
transform: 'none',
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
inputProps = {
|
|
33
|
+
...inputProps,
|
|
34
|
+
notched: true,
|
|
35
|
+
sx: {
|
|
36
|
+
...props?.sx,
|
|
37
|
+
'& legend > span': {
|
|
38
|
+
display: 'none',
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
16
43
|
return (_jsx(LocalizationProvider, { dateAdapter: AdapterDayjs, children: _jsx(MuiTimePicker, { ...rest, name: field.name, value: field.state.value ? dayjs(field.state.value) : null, onChange: (value, context) => {
|
|
17
44
|
if (value) {
|
|
18
45
|
field.handleChange(value.toDate());
|
|
@@ -23,12 +50,11 @@ export function TimePicker(props) {
|
|
|
23
50
|
required: required,
|
|
24
51
|
error: Boolean(errorText),
|
|
25
52
|
helperText: errorText,
|
|
26
|
-
InputLabelProps: { shrink: labelShrink },
|
|
27
53
|
size: size,
|
|
28
54
|
fullWidth: fullWidth,
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
55
|
+
InputLabelProps: inputLabelProps,
|
|
56
|
+
InputProps: inputProps,
|
|
57
|
+
...slotProps?.textField,
|
|
32
58
|
},
|
|
33
59
|
} }) }));
|
|
34
60
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../src/lib/form/TimePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,
|
|
1
|
+
{"version":3,"file":"TimePicker.js","sourceRoot":"","sources":["../../src/lib/form/TimePicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAE5E,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAC/C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EACL,oBAAoB,GAErB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAA;AAa/D,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,KAAK,GAAG,eAAe,EAAiB,CAAA;IAE9C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,EAAE;QAC7B,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,IAAI,CAAA;QACrD,OAAO,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACvE,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAA;IAE7B,MAAM,EACJ,QAAQ,EACR,aAAa,GAAG,MAAM,EACtB,IAAI,EACJ,SAAS,EACT,QAAQ,EACR,SAAS,EACT,GAAG,IAAI,EACR,GAAG,KAAK,CAAA;IAET,MAAM,WAAW,GAAG,aAAa,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;IAEjE,IAAI,eAAe,GAA6B;QAC9C,MAAM,EAAE,WAAW;KACpB,CAAA;IAED,IAAI,UAAU,GAAuC;QACnD,OAAO,EAAE,WAAW;KACrB,CAAA;IAED,IAAI,aAAa,KAAK,QAAQ,EAAE,CAAC;QAC/B,eAAe,GAAG;YAChB,GAAG,eAAe;YAClB,MAAM,EAAE,IAAI;YACZ,EAAE,EAAE;gBACF,QAAQ,EAAE,UAAU;gBACpB,SAAS,EAAE,MAAM;aAClB;SACF,CAAA;QACD,UAAU,GAAG;YACX,GAAG,UAAU;YACb,OAAO,EAAE,IAAI;YACb,EAAE,EAAE;gBACF,GAAG,KAAK,EAAE,EAAE;gBACZ,iBAAiB,EAAE;oBACjB,OAAO,EAAE,MAAM;iBAChB;aACF;SACF,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,oBAAoB,IAAC,WAAW,EAAE,YAAY,YAC7C,KAAC,aAAa,OACR,IAAI,EACR,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAC1D,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;gBAC3B,IAAI,KAAK,EAAE,CAAC;oBACV,KAAK,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;oBAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;gBAC5B,CAAC;YACH,CAAC,EACD,SAAS,EAAE;gBACT,SAAS,EAAE;oBACT,QAAQ,EAAE,QAAQ;oBAClB,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC;oBACzB,UAAU,EAAE,SAAS;oBACrB,IAAI,EAAE,IAAI;oBACV,SAAS,EAAE,SAAS;oBACpB,eAAe,EAAE,eAAe;oBAChC,UAAU,EAAE,UAAU;oBACtB,GAAI,SAAS,EAAE,SAAiB;iBACjC;aACF,GACD,GACmB,CACxB,CAAA;AACH,CAAC"}
|