From d8c1d44652d9916b3ce13e4aaac5d3b501207157 Mon Sep 17 00:00:00 2001 From: seb Date: Fri, 16 Oct 2026 21:04:00 +0200 Subject: [PATCH] u --- src/components/TextInput.jsx | 30 ++++++++++++------- .../manifest/BookDeliveryDialog.jsx | 10 +++---- src/components/manifest/ManifestHeader.jsx | 2 +- 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/src/components/TextInput.jsx b/src/components/TextInput.jsx index 19d50d3..8327c12 100644 --- a/src/components/TextInput.jsx +++ b/src/components/TextInput.jsx @@ -76,10 +76,26 @@ export default class TextInput extends Component { ? (propReadOnly ?? slotProps?.htmlInput?.readOnly ?? inputProps?.readOnly ?? false) : (propReadOnly ?? slotProps?.htmlInput?.readOnly ?? inputProps?.readOnly ?? this.state.readOnly); + const { inputProps: nestedFromInputProps, ...cleanInputProps } = InputProps || {}; + const { inputProps: nestedFromSlotInput, ...cleanSlotInput } = slotProps?.input || {}; + + const rawResolvedInputProps = (InputProps || slotProps?.input) ? { + ...cleanSlotInput, + ...cleanInputProps, + startAdornment: (slotProps?.input?.startAdornment && InputProps?.startAdornment) + ? <>{slotProps.input.startAdornment}{InputProps.startAdornment} + : (InputProps?.startAdornment ?? slotProps?.input?.startAdornment), + endAdornment: (slotProps?.input?.endAdornment && InputProps?.endAdornment) + ? <>{InputProps.endAdornment}{slotProps.input.endAdornment} + : (InputProps?.endAdornment ?? slotProps?.input?.endAdornment), + } : undefined; + const htmlInput = isSelect ? { readOnly: effectiveReadOnly, ...slotProps?.htmlInput, + ...nestedFromSlotInput, + ...nestedFromInputProps, ...inputProps, } : { @@ -94,20 +110,12 @@ export default class TextInput extends Component { 'data-form-type': 'other', readOnly: effectiveReadOnly, ...slotProps?.htmlInput, + ...nestedFromSlotInput, + ...nestedFromInputProps, ...inputProps, }; - const resolvedInputProps = (InputProps || slotProps?.input) ? { - ...slotProps?.input, - ...InputProps, - startAdornment: (slotProps?.input?.startAdornment && InputProps?.startAdornment) - ? <>{slotProps.input.startAdornment}{InputProps.startAdornment} - : (InputProps?.startAdornment ?? slotProps?.input?.startAdornment), - endAdornment: (slotProps?.input?.endAdornment && InputProps?.endAdornment) - ? <>{InputProps.endAdornment}{slotProps.input.endAdornment} - : (InputProps?.endAdornment ?? slotProps?.input?.endAdornment), - } : undefined; - + const resolvedInputProps = rawResolvedInputProps; const { input: _unusedInput, ...restSlotProps } = (slotProps || {}); const hasLabelProps = Boolean(label || InputLabelProps || slotProps?.inputLabel); diff --git a/src/components/manifest/BookDeliveryDialog.jsx b/src/components/manifest/BookDeliveryDialog.jsx index c2f9e5b..a1d0e1e 100644 --- a/src/components/manifest/BookDeliveryDialog.jsx +++ b/src/components/manifest/BookDeliveryDialog.jsx @@ -460,12 +460,10 @@ export default class BookDeliveryDialog extends PureComponent { onChange={(e) => this.handleAmountChange(line.id, e.target.value)} disabled={isBooking} slotProps={{ - input: { - inputProps: { - min: 0, - step: 1, - style: { textAlign: 'right', padding: '4px 8px' }, - }, + htmlInput: { + min: 0, + step: 1, + style: { textAlign: 'right', padding: '4px 8px' }, }, }} sx={{ width: 90 }} diff --git a/src/components/manifest/ManifestHeader.jsx b/src/components/manifest/ManifestHeader.jsx index 43fd7eb..cbe033c 100644 --- a/src/components/manifest/ManifestHeader.jsx +++ b/src/components/manifest/ManifestHeader.jsx @@ -357,7 +357,7 @@ class ManifestHeader extends PureComponent { flex: { xs: '1 1 100%', sm: '2 1 200px' }, minWidth: { sm: 160 }, }} - renderInput={(params) => ( + renderInput={({ inputProps: _unusedInputProps, InputProps: _unusedInputProps2, InputLabelProps: _unusedInputLabelProps, ...params }) => (