worked on GarageApp stuff
This commit is contained in:
parent
60aaf17af3
commit
eb606572b0
51919 changed files with 2168177 additions and 18 deletions
456
node_modules/@mui/material/esm/TextField/TextField.js
generated
vendored
Normal file
456
node_modules/@mui/material/esm/TextField/TextField.js
generated
vendored
Normal file
|
|
@ -0,0 +1,456 @@
|
|||
'use client';
|
||||
|
||||
import * as React from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import clsx from 'clsx';
|
||||
import composeClasses from '@mui/utils/composeClasses';
|
||||
import useId from '@mui/utils/useId';
|
||||
import refType from '@mui/utils/refType';
|
||||
import { styled } from "../zero-styled/index.js";
|
||||
import { useDefaultProps } from "../DefaultPropsProvider/index.js";
|
||||
import Input from "../Input/index.js";
|
||||
import FilledInput from "../FilledInput/index.js";
|
||||
import OutlinedInput from "../OutlinedInput/index.js";
|
||||
import InputLabel from "../InputLabel/index.js";
|
||||
import FormControl from "../FormControl/index.js";
|
||||
import FormHelperText from "../FormHelperText/index.js";
|
||||
import Select from "../Select/index.js";
|
||||
import { getTextFieldUtilityClass } from "./textFieldClasses.js";
|
||||
import useSlot from "../utils/useSlot.js";
|
||||
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
||||
const variantComponent = {
|
||||
standard: Input,
|
||||
filled: FilledInput,
|
||||
outlined: OutlinedInput
|
||||
};
|
||||
const useUtilityClasses = ownerState => {
|
||||
const {
|
||||
classes
|
||||
} = ownerState;
|
||||
const slots = {
|
||||
root: ['root']
|
||||
};
|
||||
return composeClasses(slots, getTextFieldUtilityClass, classes);
|
||||
};
|
||||
const TextFieldRoot = styled(FormControl, {
|
||||
name: 'MuiTextField',
|
||||
slot: 'Root'
|
||||
})({});
|
||||
|
||||
/**
|
||||
* The `TextField` is a convenience wrapper for the most common cases (80%).
|
||||
* It cannot be all things to all people, otherwise the API would grow out of control.
|
||||
*
|
||||
* ## Advanced Configuration
|
||||
*
|
||||
* It's important to understand that the text field is a simple abstraction
|
||||
* on top of the following components:
|
||||
*
|
||||
* - [FormControl](/material-ui/api/form-control/)
|
||||
* - [InputLabel](/material-ui/api/input-label/)
|
||||
* - [FilledInput](/material-ui/api/filled-input/)
|
||||
* - [OutlinedInput](/material-ui/api/outlined-input/)
|
||||
* - [Input](/material-ui/api/input/)
|
||||
* - [FormHelperText](/material-ui/api/form-helper-text/)
|
||||
*
|
||||
* If you wish to alter the props applied to the `input` element, you can do so as follows:
|
||||
*
|
||||
* ```jsx
|
||||
* const inputProps = {
|
||||
* step: 300,
|
||||
* };
|
||||
*
|
||||
* return <TextField id="time" type="time" inputProps={inputProps} />;
|
||||
* ```
|
||||
*
|
||||
* For advanced cases, please look at the source of TextField by clicking on the
|
||||
* "Edit this page" button above. Consider either:
|
||||
*
|
||||
* - using the upper case props for passing values directly to the components
|
||||
* - using the underlying components directly as shown in the demos
|
||||
*/
|
||||
const TextField = /*#__PURE__*/React.forwardRef(function TextField(inProps, ref) {
|
||||
const props = useDefaultProps({
|
||||
props: inProps,
|
||||
name: 'MuiTextField'
|
||||
});
|
||||
const {
|
||||
autoComplete,
|
||||
autoFocus = false,
|
||||
children,
|
||||
className,
|
||||
color = 'primary',
|
||||
defaultValue,
|
||||
disabled = false,
|
||||
error = false,
|
||||
FormHelperTextProps: FormHelperTextPropsProp,
|
||||
fullWidth = false,
|
||||
helperText,
|
||||
id: idOverride,
|
||||
InputLabelProps: InputLabelPropsProp,
|
||||
inputProps: inputPropsProp,
|
||||
InputProps: InputPropsProp,
|
||||
inputRef,
|
||||
label,
|
||||
maxRows,
|
||||
minRows,
|
||||
multiline = false,
|
||||
name,
|
||||
onBlur,
|
||||
onChange,
|
||||
onFocus,
|
||||
placeholder,
|
||||
required = false,
|
||||
rows,
|
||||
select = false,
|
||||
SelectProps: SelectPropsProp,
|
||||
slots = {},
|
||||
slotProps = {},
|
||||
type,
|
||||
value,
|
||||
variant = 'outlined',
|
||||
...other
|
||||
} = props;
|
||||
const ownerState = {
|
||||
...props,
|
||||
autoFocus,
|
||||
color,
|
||||
disabled,
|
||||
error,
|
||||
fullWidth,
|
||||
multiline,
|
||||
required,
|
||||
select,
|
||||
variant
|
||||
};
|
||||
const classes = useUtilityClasses(ownerState);
|
||||
if (process.env.NODE_ENV !== 'production') {
|
||||
if (select && !children) {
|
||||
console.error('MUI: `children` must be passed when using the `TextField` component with `select`.');
|
||||
}
|
||||
}
|
||||
const id = useId(idOverride);
|
||||
const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
|
||||
const inputLabelId = label && id ? `${id}-label` : undefined;
|
||||
const InputComponent = variantComponent[variant];
|
||||
const externalForwardedProps = {
|
||||
slots,
|
||||
slotProps: {
|
||||
input: InputPropsProp,
|
||||
inputLabel: InputLabelPropsProp,
|
||||
htmlInput: inputPropsProp,
|
||||
formHelperText: FormHelperTextPropsProp,
|
||||
select: SelectPropsProp,
|
||||
...slotProps
|
||||
}
|
||||
};
|
||||
const inputAdditionalProps = {};
|
||||
const inputLabelSlotProps = externalForwardedProps.slotProps.inputLabel;
|
||||
if (variant === 'outlined') {
|
||||
if (inputLabelSlotProps && typeof inputLabelSlotProps.shrink !== 'undefined') {
|
||||
inputAdditionalProps.notched = inputLabelSlotProps.shrink;
|
||||
}
|
||||
inputAdditionalProps.label = label;
|
||||
}
|
||||
if (select) {
|
||||
// unset defaults from textbox inputs
|
||||
if (!SelectPropsProp || !SelectPropsProp.native) {
|
||||
inputAdditionalProps.id = undefined;
|
||||
}
|
||||
inputAdditionalProps['aria-describedby'] = undefined;
|
||||
}
|
||||
const [RootSlot, rootProps] = useSlot('root', {
|
||||
elementType: TextFieldRoot,
|
||||
shouldForwardComponentProp: true,
|
||||
externalForwardedProps: {
|
||||
...externalForwardedProps,
|
||||
...other
|
||||
},
|
||||
ownerState,
|
||||
className: clsx(classes.root, className),
|
||||
ref,
|
||||
additionalProps: {
|
||||
disabled,
|
||||
error,
|
||||
fullWidth,
|
||||
required,
|
||||
color,
|
||||
variant
|
||||
}
|
||||
});
|
||||
const [InputSlot, inputProps] = useSlot('input', {
|
||||
elementType: InputComponent,
|
||||
externalForwardedProps,
|
||||
additionalProps: inputAdditionalProps,
|
||||
ownerState
|
||||
});
|
||||
const [InputLabelSlot, inputLabelProps] = useSlot('inputLabel', {
|
||||
elementType: InputLabel,
|
||||
externalForwardedProps,
|
||||
ownerState
|
||||
});
|
||||
const [HtmlInputSlot, htmlInputProps] = useSlot('htmlInput', {
|
||||
elementType: 'input',
|
||||
externalForwardedProps,
|
||||
ownerState
|
||||
});
|
||||
const [FormHelperTextSlot, formHelperTextProps] = useSlot('formHelperText', {
|
||||
elementType: FormHelperText,
|
||||
externalForwardedProps,
|
||||
ownerState
|
||||
});
|
||||
const [SelectSlot, selectProps] = useSlot('select', {
|
||||
elementType: Select,
|
||||
externalForwardedProps,
|
||||
ownerState
|
||||
});
|
||||
const InputElement = /*#__PURE__*/_jsx(InputSlot, {
|
||||
"aria-describedby": helperTextId,
|
||||
autoComplete: autoComplete,
|
||||
autoFocus: autoFocus,
|
||||
defaultValue: defaultValue,
|
||||
fullWidth: fullWidth,
|
||||
multiline: multiline,
|
||||
name: name,
|
||||
rows: rows,
|
||||
maxRows: maxRows,
|
||||
minRows: minRows,
|
||||
type: type,
|
||||
value: value,
|
||||
id: id,
|
||||
inputRef: inputRef,
|
||||
onBlur: onBlur,
|
||||
onChange: onChange,
|
||||
onFocus: onFocus,
|
||||
placeholder: placeholder,
|
||||
inputProps: htmlInputProps,
|
||||
slots: {
|
||||
input: slots.htmlInput ? HtmlInputSlot : undefined
|
||||
},
|
||||
...inputProps
|
||||
});
|
||||
return /*#__PURE__*/_jsxs(RootSlot, {
|
||||
...rootProps,
|
||||
children: [label != null && label !== '' && /*#__PURE__*/_jsx(InputLabelSlot, {
|
||||
htmlFor: id,
|
||||
id: inputLabelId,
|
||||
...inputLabelProps,
|
||||
children: label
|
||||
}), select ? /*#__PURE__*/_jsx(SelectSlot, {
|
||||
"aria-describedby": helperTextId,
|
||||
id: id,
|
||||
labelId: inputLabelId,
|
||||
value: value,
|
||||
input: InputElement,
|
||||
...selectProps,
|
||||
children: children
|
||||
}) : InputElement, helperText && /*#__PURE__*/_jsx(FormHelperTextSlot, {
|
||||
id: helperTextId,
|
||||
...formHelperTextProps,
|
||||
children: helperText
|
||||
})]
|
||||
});
|
||||
});
|
||||
process.env.NODE_ENV !== "production" ? TextField.propTypes /* remove-proptypes */ = {
|
||||
// ┌────────────────────────────── Warning ──────────────────────────────┐
|
||||
// │ These PropTypes are generated from the TypeScript type definitions. │
|
||||
// │ To update them, edit the d.ts file and run `pnpm proptypes`. │
|
||||
// └─────────────────────────────────────────────────────────────────────┘
|
||||
/**
|
||||
* This prop helps users to fill forms faster, especially on mobile devices.
|
||||
* The name can be confusing, as it's more like an autofill.
|
||||
* You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).
|
||||
*/
|
||||
autoComplete: PropTypes.string,
|
||||
/**
|
||||
* If `true`, the `input` element is focused during the first mount.
|
||||
* @default false
|
||||
*/
|
||||
autoFocus: PropTypes.bool,
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
children: PropTypes.node,
|
||||
/**
|
||||
* Override or extend the styles applied to the component.
|
||||
*/
|
||||
classes: PropTypes.object,
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
className: PropTypes.string,
|
||||
/**
|
||||
* The color of the component.
|
||||
* It supports both default and custom theme colors, which can be added as shown in the
|
||||
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
|
||||
* @default 'primary'
|
||||
*/
|
||||
color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),
|
||||
/**
|
||||
* The default value. Use when the component is not controlled.
|
||||
*/
|
||||
defaultValue: PropTypes.any,
|
||||
/**
|
||||
* If `true`, the component is disabled.
|
||||
* @default false
|
||||
*/
|
||||
disabled: PropTypes.bool,
|
||||
/**
|
||||
* If `true`, the label is displayed in an error state.
|
||||
* @default false
|
||||
*/
|
||||
error: PropTypes.bool,
|
||||
/**
|
||||
* Props applied to the [`FormHelperText`](https://mui.com/material-ui/api/form-helper-text/) element.
|
||||
* @deprecated Use `slotProps.formHelperText` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
||||
*/
|
||||
FormHelperTextProps: PropTypes.object,
|
||||
/**
|
||||
* If `true`, the input will take up the full width of its container.
|
||||
* @default false
|
||||
*/
|
||||
fullWidth: PropTypes.bool,
|
||||
/**
|
||||
* The helper text content.
|
||||
*/
|
||||
helperText: PropTypes.node,
|
||||
/**
|
||||
* The id of the `input` element.
|
||||
* Use this prop to make `label` and `helperText` accessible for screen readers.
|
||||
*/
|
||||
id: PropTypes.string,
|
||||
/**
|
||||
* Props applied to the [`InputLabel`](https://mui.com/material-ui/api/input-label/) element.
|
||||
* Pointer events like `onClick` are enabled if and only if `shrink` is `true`.
|
||||
* @deprecated Use `slotProps.inputLabel` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
||||
*/
|
||||
InputLabelProps: PropTypes.object,
|
||||
/**
|
||||
* [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#attributes) applied to the `input` element.
|
||||
* @deprecated Use `slotProps.htmlInput` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
||||
*/
|
||||
inputProps: PropTypes.object,
|
||||
/**
|
||||
* Props applied to the Input element.
|
||||
* It will be a [`FilledInput`](https://mui.com/material-ui/api/filled-input/),
|
||||
* [`OutlinedInput`](https://mui.com/material-ui/api/outlined-input/) or [`Input`](https://mui.com/material-ui/api/input/)
|
||||
* component depending on the `variant` prop value.
|
||||
* @deprecated Use `slotProps.input` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
||||
*/
|
||||
InputProps: PropTypes.object,
|
||||
/**
|
||||
* Pass a ref to the `input` element.
|
||||
*/
|
||||
inputRef: refType,
|
||||
/**
|
||||
* The label content.
|
||||
*/
|
||||
label: PropTypes.node,
|
||||
/**
|
||||
* If `dense` or `normal`, will adjust vertical spacing of this and contained components.
|
||||
* @default 'none'
|
||||
*/
|
||||
margin: PropTypes.oneOf(['dense', 'none', 'normal']),
|
||||
/**
|
||||
* Maximum number of rows to display when multiline option is set to true.
|
||||
*/
|
||||
maxRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
||||
/**
|
||||
* Minimum number of rows to display when multiline option is set to true.
|
||||
*/
|
||||
minRows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
||||
/**
|
||||
* If `true`, a `textarea` element is rendered instead of an input.
|
||||
* @default false
|
||||
*/
|
||||
multiline: PropTypes.bool,
|
||||
/**
|
||||
* Name attribute of the `input` element.
|
||||
*/
|
||||
name: PropTypes.string,
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
onBlur: PropTypes.func,
|
||||
/**
|
||||
* Callback fired when the value is changed.
|
||||
*
|
||||
* @param {object} event The event source of the callback.
|
||||
* You can pull out the new value by accessing `event.target.value` (string).
|
||||
*/
|
||||
onChange: PropTypes.func,
|
||||
/**
|
||||
* @ignore
|
||||
*/
|
||||
onFocus: PropTypes.func,
|
||||
/**
|
||||
* The short hint displayed in the `input` before the user enters a value.
|
||||
*/
|
||||
placeholder: PropTypes.string,
|
||||
/**
|
||||
* If `true`, the label is displayed as required and the `input` element is required.
|
||||
* @default false
|
||||
*/
|
||||
required: PropTypes.bool,
|
||||
/**
|
||||
* Number of rows to display when multiline option is set to true.
|
||||
*/
|
||||
rows: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
|
||||
/**
|
||||
* Render a [`Select`](https://mui.com/material-ui/api/select/) element while passing the Input element to `Select` as `input` parameter.
|
||||
* If this option is set you must pass the options of the select as children.
|
||||
* @default false
|
||||
*/
|
||||
select: PropTypes.bool,
|
||||
/**
|
||||
* Props applied to the [`Select`](https://mui.com/material-ui/api/select/) element.
|
||||
* @deprecated Use `slotProps.select` instead. This prop will be removed in a future major release. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details.
|
||||
*/
|
||||
SelectProps: PropTypes.object,
|
||||
/**
|
||||
* The size of the component.
|
||||
* @default 'medium'
|
||||
*/
|
||||
size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),
|
||||
/**
|
||||
* The props used for each slot inside.
|
||||
* @default {}
|
||||
*/
|
||||
slotProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({
|
||||
formHelperText: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
||||
htmlInput: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
||||
input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
||||
inputLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),
|
||||
select: PropTypes.oneOfType([PropTypes.func, PropTypes.object])
|
||||
}),
|
||||
/**
|
||||
* The components used for each slot inside.
|
||||
* @default {}
|
||||
*/
|
||||
slots: PropTypes.shape({
|
||||
formHelperText: PropTypes.elementType,
|
||||
htmlInput: PropTypes.elementType,
|
||||
input: PropTypes.elementType,
|
||||
inputLabel: PropTypes.elementType,
|
||||
root: PropTypes.elementType,
|
||||
select: PropTypes.elementType
|
||||
}),
|
||||
/**
|
||||
* The system prop that allows defining system overrides as well as additional CSS styles.
|
||||
*/
|
||||
sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),
|
||||
/**
|
||||
* Type of the `input` element. It should be [a valid HTML5 input type](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/input#input_types).
|
||||
*/
|
||||
type: PropTypes /* @typescript-to-proptypes-ignore */.string,
|
||||
/**
|
||||
* The value of the `input` element, required for a controlled component.
|
||||
*/
|
||||
value: PropTypes.any,
|
||||
/**
|
||||
* The variant to use.
|
||||
* @default 'outlined'
|
||||
*/
|
||||
variant: PropTypes.oneOf(['filled', 'outlined', 'standard'])
|
||||
} : void 0;
|
||||
export default TextField;
|
||||
Loading…
Add table
Add a link
Reference in a new issue