@rjsf/mui 5.3.1 → 5.4.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.
@@ -1 +1 @@
1
- {"version":3,"file":"mui.cjs.production.min.js","sources":["../src/AddButton/AddButton.tsx","../src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx","../src/ArrayFieldTemplate/ArrayFieldTemplate.tsx","../src/BaseInputTemplate/BaseInputTemplate.tsx","../src/DescriptionField/DescriptionField.tsx","../src/ErrorList/ErrorList.tsx","../src/IconButton/IconButton.tsx","../src/FieldErrorTemplate/FieldErrorTemplate.tsx","../src/FieldHelpTemplate/FieldHelpTemplate.tsx","../src/FieldTemplate/FieldTemplate.tsx","../src/ObjectFieldTemplate/ObjectFieldTemplate.tsx","../src/SubmitButton/SubmitButton.tsx","../src/TitleField/TitleField.tsx","../src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx","../src/Templates/Templates.ts","../src/CheckboxWidget/CheckboxWidget.tsx","../src/CheckboxesWidget/CheckboxesWidget.tsx","../src/RadioWidget/RadioWidget.tsx","../src/RangeWidget/RangeWidget.tsx","../src/SelectWidget/SelectWidget.tsx","../src/TextareaWidget/TextareaWidget.tsx","../src/Widgets/Widgets.ts","../src/Theme/Theme.tsx","../src/MuiForm/MuiForm.tsx"],"sourcesContent":["import AddIcon from '@mui/icons-material/Add';\nimport IconButton from '@mui/material/IconButton';\nimport { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\n/** The `AddButton` renders a button that represent the `Add` action on a form\n */\nexport default function AddButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n uiSchema,\n registry,\n ...props\n}: IconButtonProps<T, S, F>) {\n const { translateString } = registry;\n return (\n <IconButton title={translateString(TranslatableString.AddItemButton)} {...props} color='primary'>\n <AddIcon />\n </IconButton>\n );\n}\n","import { CSSProperties } from 'react';\nimport Box from '@mui/material/Box';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport { ArrayFieldTemplateItemType, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.\n *\n * @param props - The `ArrayFieldTemplateItemType` props for the component\n */\nexport default function ArrayFieldItemTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: ArrayFieldTemplateItemType<T, S, F>) {\n const {\n children,\n disabled,\n hasToolbar,\n hasCopy,\n hasMoveDown,\n hasMoveUp,\n hasRemove,\n index,\n onCopyIndexClick,\n onDropIndexClick,\n onReorderClick,\n readonly,\n uiSchema,\n registry,\n } = props;\n const { CopyButton, MoveDownButton, MoveUpButton, RemoveButton } = registry.templates.ButtonTemplates;\n const btnStyle: CSSProperties = {\n flex: 1,\n paddingLeft: 6,\n paddingRight: 6,\n fontWeight: 'bold',\n minWidth: 0,\n };\n return (\n <Grid container={true} alignItems='center'>\n <Grid item={true} xs style={{ overflow: 'auto' }}>\n <Box mb={2}>\n <Paper elevation={2}>\n <Box p={2}>{children}</Box>\n </Paper>\n </Box>\n </Grid>\n {hasToolbar && (\n <Grid item={true}>\n {(hasMoveUp || hasMoveDown) && (\n <MoveUpButton\n style={btnStyle}\n disabled={disabled || readonly || !hasMoveUp}\n onClick={onReorderClick(index, index - 1)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {(hasMoveUp || hasMoveDown) && (\n <MoveDownButton\n style={btnStyle}\n disabled={disabled || readonly || !hasMoveDown}\n onClick={onReorderClick(index, index + 1)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {hasCopy && (\n <CopyButton\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onCopyIndexClick(index)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {hasRemove && (\n <RemoveButton\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onDropIndexClick(index)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n </Grid>\n )}\n </Grid>\n );\n}\n","import Box from '@mui/material/Box';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport {\n getTemplate,\n getUiOptions,\n ArrayFieldTemplateProps,\n ArrayFieldTemplateItemType,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\n/** The `ArrayFieldTemplate` component is the template used to render all items in an array.\n *\n * @param props - The `ArrayFieldTemplateItemType` props for the component\n */\nexport default function ArrayFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: ArrayFieldTemplateProps<T, S, F>) {\n const { canAdd, disabled, idSchema, uiSchema, items, onAddClick, readonly, registry, required, schema, title } =\n props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldDescriptionTemplate = getTemplate<'ArrayFieldDescriptionTemplate', T, S, F>(\n 'ArrayFieldDescriptionTemplate',\n registry,\n uiOptions\n );\n const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate', T, S, F>(\n 'ArrayFieldItemTemplate',\n registry,\n uiOptions\n );\n const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(\n 'ArrayFieldTitleTemplate',\n registry,\n uiOptions\n );\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <Paper elevation={2}>\n <Box p={2}>\n <ArrayFieldTitleTemplate\n idSchema={idSchema}\n title={uiOptions.title || title}\n schema={schema}\n uiSchema={uiSchema}\n required={required}\n registry={registry}\n />\n <ArrayFieldDescriptionTemplate\n idSchema={idSchema}\n description={uiOptions.description || schema.description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n <Grid container={true} key={`array-item-list-${idSchema.$id}`}>\n {items &&\n items.map(({ key, ...itemProps }: ArrayFieldTemplateItemType<T, S, F>) => (\n <ArrayFieldItemTemplate key={key} {...itemProps} />\n ))}\n {canAdd && (\n <Grid container justifyContent='flex-end'>\n <Grid item={true}>\n <Box mt={2}>\n <AddButton\n className='array-item-add'\n onClick={onAddClick}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Box>\n </Grid>\n </Grid>\n )}\n </Grid>\n </Box>\n </Paper>\n );\n}\n","import { ChangeEvent, FocusEvent } from 'react';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport {\n ariaDescribedByIds,\n BaseInputTemplateProps,\n examplesId,\n getInputProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\nconst TYPES_THAT_SHRINK_LABEL = ['date', 'datetime-local', 'file', 'time'];\n\n/** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.\n * It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.\n * It can be customized/overridden for other themes or individual implementations as needed.\n *\n * @param props - The `WidgetProps` for this template\n */\nexport default function BaseInputTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: BaseInputTemplateProps<T, S, F>) {\n const {\n id,\n name, // remove this from textFieldProps\n placeholder,\n required,\n readonly,\n disabled,\n type,\n label,\n value,\n onChange,\n onChangeOverride,\n onBlur,\n onFocus,\n autofocus,\n options,\n schema,\n uiSchema,\n rawErrors = [],\n formContext,\n registry,\n InputLabelProps,\n ...textFieldProps\n } = props;\n const inputProps = getInputProps<T, S, F>(schema, type, options);\n // Now we need to pull out the step, min, max into an inner `inputProps` for material-ui\n const { step, min, max, ...rest } = inputProps;\n const otherProps = {\n inputProps: {\n step,\n min,\n max,\n ...(schema.examples ? { list: examplesId<T>(id) } : undefined),\n },\n ...rest,\n };\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLInputElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onBlur(id, value);\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n const { schemaUtils } = registry;\n const displayLabel = schemaUtils.getDisplayLabel(schema, uiSchema);\n const DisplayInputLabelProps = TYPES_THAT_SHRINK_LABEL.includes(type)\n ? {\n ...InputLabelProps,\n shrink: true,\n }\n : InputLabelProps;\n\n return (\n <>\n <TextField\n id={id}\n name={id}\n placeholder={placeholder}\n label={displayLabel ? label || schema.title : false}\n autoFocus={autofocus}\n required={required}\n disabled={disabled || readonly}\n {...otherProps}\n value={value || value === 0 ? value : ''}\n error={rawErrors.length > 0}\n onChange={onChangeOverride || _onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n InputLabelProps={DisplayInputLabelProps}\n {...(textFieldProps as TextFieldProps)}\n aria-describedby={ariaDescribedByIds<T>(id, !!schema.examples)}\n />\n {Array.isArray(schema.examples) && (\n <datalist id={examplesId<T>(id)}>\n {(schema.examples as string[])\n .concat(schema.default && !schema.examples.includes(schema.default) ? ([schema.default] as string[]) : [])\n .map((example: any) => {\n return <option key={example} value={example} />;\n })}\n </datalist>\n )}\n </>\n );\n}\n","import Typography from '@mui/material/Typography';\nimport { DescriptionFieldProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `DescriptionField` is the template to use to render the description of a field\n *\n * @param props - The `DescriptionFieldProps` for this component\n */\nexport default function DescriptionField<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: DescriptionFieldProps<T, S, F>) {\n const { id, description } = props;\n if (description) {\n return (\n <Typography id={id} variant='subtitle2' style={{ marginTop: '5px' }}>\n {description}\n </Typography>\n );\n }\n\n return null;\n}\n","import ErrorIcon from '@mui/icons-material/Error';\nimport Box from '@mui/material/Box';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport { ErrorListProps, FormContextType, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\n/** The `ErrorList` component is the template that renders the all the errors associated with the fields in the `Form`\n *\n * @param props - The `ErrorListProps` for this component\n */\nexport default function ErrorList<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n errors,\n registry,\n}: ErrorListProps<T, S, F>) {\n const { translateString } = registry;\n return (\n <Paper elevation={2}>\n <Box mb={2} p={2}>\n <Typography variant='h6'>{translateString(TranslatableString.ErrorsLabel)}</Typography>\n <List dense={true}>\n {errors.map((error, i: number) => {\n return (\n <ListItem key={i}>\n <ListItemIcon>\n <ErrorIcon color='error' />\n </ListItemIcon>\n <ListItemText primary={error.stack} />\n </ListItem>\n );\n })}\n </List>\n </Box>\n </Paper>\n );\n}\n","import IconButton, { IconButtonProps as MuiIconButtonProps } from '@mui/material/IconButton';\nimport ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';\nimport ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';\nimport CopyIcon from '@mui/icons-material/ContentCopy';\nimport RemoveIcon from '@mui/icons-material/Remove';\nimport { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\nexport default function MuiIconButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: IconButtonProps<T, S, F>) {\n const { icon, color, uiSchema, registry, ...otherProps } = props;\n return (\n <IconButton {...otherProps} size='small' color={color as MuiIconButtonProps['color']}>\n {icon}\n </IconButton>\n );\n}\n\nexport function CopyButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.CopyButton)}\n {...props}\n icon={<CopyIcon fontSize='small' />}\n />\n );\n}\n\nexport function MoveDownButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.MoveDownButton)}\n {...props}\n icon={<ArrowDownwardIcon fontSize='small' />}\n />\n );\n}\n\nexport function MoveUpButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.MoveUpButton)}\n {...props}\n icon={<ArrowUpwardIcon fontSize='small' />}\n />\n );\n}\n\nexport function RemoveButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const { iconType, ...otherProps } = props;\n const {\n registry: { translateString },\n } = otherProps;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.RemoveButton)}\n {...otherProps}\n color='error'\n icon={<RemoveIcon fontSize={iconType === 'default' ? undefined : 'small'} />}\n />\n );\n}\n","import ListItem from '@mui/material/ListItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport List from '@mui/material/List';\nimport { errorId, FieldErrorProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `FieldErrorTemplate` component renders the errors local to the particular field\n *\n * @param props - The `FieldErrorProps` for the errors being rendered\n */\nexport default function FieldErrorTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: FieldErrorProps<T, S, F>) {\n const { errors = [], idSchema } = props;\n if (errors.length === 0) {\n return null;\n }\n const id = errorId<T>(idSchema);\n\n return (\n <List dense={true} disablePadding={true}>\n {errors.map((error, i: number) => {\n return (\n <ListItem key={i} disableGutters={true}>\n <FormHelperText id={id}>{error}</FormHelperText>\n </ListItem>\n );\n })}\n </List>\n );\n}\n","import FormHelperText from '@mui/material/FormHelperText';\nimport { helpId, FieldHelpProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `FieldHelpTemplate` component renders any help desired for a field\n *\n * @param props - The `FieldHelpProps` to be rendered\n */\nexport default function FieldHelpTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: FieldHelpProps<T, S, F>) {\n const { idSchema, help } = props;\n if (!help) {\n return null;\n }\n const id = helpId<T>(idSchema);\n return <FormHelperText id={id}>{help}</FormHelperText>;\n}\n","import FormControl from '@mui/material/FormControl';\nimport Typography from '@mui/material/Typography';\nimport {\n FieldTemplateProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n getTemplate,\n getUiOptions,\n} from '@rjsf/utils';\n\n/** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field\n * content, (label, description, children, errors and help) inside of a `WrapIfAdditional` component.\n *\n * @param props - The `FieldTemplateProps` for this component\n */\nexport default function FieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: FieldTemplateProps<T, S, F>) {\n const {\n id,\n children,\n classNames,\n style,\n disabled,\n displayLabel,\n hidden,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n rawErrors = [],\n errors,\n help,\n rawDescription,\n schema,\n uiSchema,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const WrapIfAdditionalTemplate = getTemplate<'WrapIfAdditionalTemplate', T, S, F>(\n 'WrapIfAdditionalTemplate',\n registry,\n uiOptions\n );\n\n if (hidden) {\n return <div style={{ display: 'none' }}>{children}</div>;\n }\n return (\n <WrapIfAdditionalTemplate\n classNames={classNames}\n style={style}\n disabled={disabled}\n id={id}\n label={label}\n onDropPropertyClick={onDropPropertyClick}\n onKeyChange={onKeyChange}\n readonly={readonly}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n >\n <FormControl fullWidth={true} error={rawErrors.length ? true : false} required={required}>\n {children}\n {displayLabel && rawDescription ? (\n <Typography variant='caption' color='textSecondary'>\n {rawDescription}\n </Typography>\n ) : null}\n {errors}\n {help}\n </FormControl>\n </WrapIfAdditionalTemplate>\n );\n}\n","import Grid from '@mui/material/Grid';\nimport {\n FormContextType,\n ObjectFieldTemplateProps,\n RJSFSchema,\n StrictRJSFSchema,\n canExpand,\n descriptionId,\n getTemplate,\n getUiOptions,\n titleId,\n} from '@rjsf/utils';\n\n/** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the\n * title and description if available. If the object is expandable, then an `AddButton` is also rendered after all\n * the properties.\n *\n * @param props - The `ObjectFieldTemplateProps` for this component\n */\nexport default function ObjectFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: ObjectFieldTemplateProps<T, S, F>) {\n const {\n description,\n title,\n properties,\n required,\n disabled,\n readonly,\n uiSchema,\n idSchema,\n schema,\n formData,\n onAddClick,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions);\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n uiOptions\n );\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <>\n {(uiOptions.title || title) && (\n <TitleFieldTemplate\n id={titleId<T>(idSchema)}\n title={title}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {(uiOptions.description || description) && (\n <DescriptionFieldTemplate\n id={descriptionId<T>(idSchema)}\n description={uiOptions.description || description!}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <Grid container={true} spacing={2} style={{ marginTop: '10px' }}>\n {properties.map((element, index) =>\n // Remove the <Grid> if the inner element is hidden as the <Grid>\n // itself would otherwise still take up space.\n element.hidden ? (\n element.content\n ) : (\n <Grid item={true} xs={12} key={index} style={{ marginBottom: '10px' }}>\n {element.content}\n </Grid>\n )\n )}\n {canExpand<T, S, F>(schema, uiSchema, formData) && (\n <Grid container justifyContent='flex-end'>\n <Grid item={true}>\n <AddButton\n className='object-property-expand'\n onClick={onAddClick(schema)}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Grid>\n </Grid>\n )}\n </Grid>\n </>\n );\n}\n","import Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport { getSubmitButtonOptions, FormContextType, RJSFSchema, StrictRJSFSchema, SubmitButtonProps } from '@rjsf/utils';\n\n/** The `SubmitButton` renders a button that represent the `Submit` action on a form\n */\nexport default function SubmitButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>({ uiSchema }: SubmitButtonProps<T, S, F>) {\n const { submitText, norender, props: submitButtonProps = {} } = getSubmitButtonOptions<T, S, F>(uiSchema);\n if (norender) {\n return null;\n }\n return (\n <Box marginTop={3}>\n <Button type='submit' variant='contained' color='primary' {...submitButtonProps}>\n {submitText}\n </Button>\n </Box>\n );\n}\n","import Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\nimport Typography from '@mui/material/Typography';\nimport { FormContextType, TitleFieldProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `TitleField` is the template to use to render the title of a field\n *\n * @param props - The `TitleFieldProps` for this component\n */\nexport default function TitleField<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n title,\n}: TitleFieldProps<T, S, F>) {\n return (\n <Box id={id} mb={1} mt={1}>\n <Typography variant='h5'>{title}</Typography>\n <Divider />\n </Box>\n );\n}\n","import { CSSProperties, FocusEvent } from 'react';\nimport FormControl from '@mui/material/FormControl';\nimport Grid from '@mui/material/Grid';\nimport InputLabel from '@mui/material/InputLabel';\nimport Input from '@mui/material/OutlinedInput';\nimport {\n ADDITIONAL_PROPERTY_FLAG,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n TranslatableString,\n WrapIfAdditionalTemplateProps,\n} from '@rjsf/utils';\n\n/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are\n * part of an `additionalProperties` part of a schema.\n *\n * @param props - The `WrapIfAdditionalProps` for this component\n */\nexport default function WrapIfAdditionalTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: WrapIfAdditionalTemplateProps<T, S, F>) {\n const {\n children,\n classNames,\n style,\n disabled,\n id,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n schema,\n uiSchema,\n registry,\n } = props;\n const { templates, translateString } = registry;\n // Button templates are not overridden in the uiSchema\n const { RemoveButton } = templates.ButtonTemplates;\n const keyLabel = translateString(TranslatableString.KeyLabel, [label]);\n const additional = ADDITIONAL_PROPERTY_FLAG in schema;\n const btnStyle: CSSProperties = {\n flex: 1,\n paddingLeft: 6,\n paddingRight: 6,\n fontWeight: 'bold',\n };\n\n if (!additional) {\n return (\n <div className={classNames} style={style}>\n {children}\n </div>\n );\n }\n\n const handleBlur = ({ target }: FocusEvent<HTMLInputElement>) => onKeyChange(target.value);\n\n return (\n <Grid container key={`${id}-key`} alignItems='center' spacing={2} className={classNames} style={style}>\n <Grid item xs>\n <FormControl fullWidth={true} required={required}>\n <InputLabel>{keyLabel}</InputLabel>\n <Input\n defaultValue={label}\n disabled={disabled || readonly}\n id={`${id}-key`}\n name={`${id}-key`}\n onBlur={!readonly ? handleBlur : undefined}\n type='text'\n />\n </FormControl>\n </Grid>\n <Grid item={true} xs>\n {children}\n </Grid>\n <Grid item={true}>\n <RemoveButton\n iconType='default'\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onDropPropertyClick(label)}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Grid>\n </Grid>\n );\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, TemplatesType } from '@rjsf/utils';\n\nimport AddButton from '../AddButton';\nimport ArrayFieldItemTemplate from '../ArrayFieldItemTemplate';\nimport ArrayFieldTemplate from '../ArrayFieldTemplate';\nimport BaseInputTemplate from '../BaseInputTemplate';\nimport DescriptionField from '../DescriptionField';\nimport ErrorList from '../ErrorList';\nimport { CopyButton, MoveDownButton, MoveUpButton, RemoveButton } from '../IconButton';\nimport FieldErrorTemplate from '../FieldErrorTemplate';\nimport FieldHelpTemplate from '../FieldHelpTemplate';\nimport FieldTemplate from '../FieldTemplate';\nimport ObjectFieldTemplate from '../ObjectFieldTemplate';\nimport SubmitButton from '../SubmitButton';\nimport TitleField from '../TitleField';\nimport WrapIfAdditionalTemplate from '../WrapIfAdditionalTemplate';\n\nexport function generateTemplates<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): Partial<TemplatesType<T, S, F>> {\n return {\n ArrayFieldItemTemplate,\n ArrayFieldTemplate,\n BaseInputTemplate,\n ButtonTemplates: {\n AddButton,\n CopyButton,\n MoveDownButton,\n MoveUpButton,\n RemoveButton,\n SubmitButton,\n },\n DescriptionFieldTemplate: DescriptionField,\n ErrorListTemplate: ErrorList,\n FieldErrorTemplate,\n FieldHelpTemplate,\n FieldTemplate,\n ObjectFieldTemplate,\n TitleFieldTemplate: TitleField,\n WrapIfAdditionalTemplate,\n };\n}\n\nexport default generateTemplates();\n","import { FocusEvent } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport {\n ariaDescribedByIds,\n schemaRequiresTrueValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\n\n/** The `CheckBoxWidget` is a widget for rendering boolean properties.\n * It is typically used to represent a boolean.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: WidgetProps<T, S, F>) {\n const { schema, id, value, disabled, readonly, label, autofocus, onChange, onBlur, onFocus } = props;\n // Because an unchecked checkbox will cause html5 validation to fail, only add\n // the \"required\" attribute if the field value must be \"true\", due to the\n // \"const\" or \"enum\" keywords\n const required = schemaRequiresTrueValue<S>(schema);\n\n const _onChange = (_: any, checked: boolean) => onChange(checked);\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLButtonElement>) => onBlur(id, value);\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLButtonElement>) => onFocus(id, value);\n\n return (\n <FormControlLabel\n control={\n <Checkbox\n id={id}\n name={id}\n checked={typeof value === 'undefined' ? false : Boolean(value)}\n required={required}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n }\n label={label || ''}\n />\n );\n}\n","import { ChangeEvent, FocusEvent } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport FormLabel from '@mui/material/FormLabel';\nimport {\n ariaDescribedByIds,\n enumOptionsDeselectValue,\n enumOptionsIsSelected,\n enumOptionsSelectValue,\n enumOptionsValueForIndex,\n optionId,\n FormContextType,\n WidgetProps,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\n/** The `CheckboxesWidget` is a widget for rendering checkbox groups.\n * It is typically used to represent an array of enums.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxesWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>({\n schema,\n label,\n id,\n disabled,\n options,\n value,\n autofocus,\n readonly,\n required,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, inline, emptyValue } = options;\n const checkboxesValues = Array.isArray(value) ? value : [value];\n\n const _onChange =\n (index: number) =>\n ({ target: { checked } }: ChangeEvent<HTMLInputElement>) => {\n if (checked) {\n onChange(enumOptionsSelectValue(index, checkboxesValues, enumOptions));\n } else {\n onChange(enumOptionsDeselectValue(index, checkboxesValues, enumOptions));\n }\n };\n\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLButtonElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLButtonElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n\n return (\n <>\n <FormLabel required={required} htmlFor={id}>\n {label || schema.title}\n </FormLabel>\n <FormGroup id={id} row={!!inline}>\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index: number) => {\n const checked = enumOptionsIsSelected<S>(option.value, checkboxesValues);\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n const checkbox = (\n <Checkbox\n id={optionId(id, index)}\n name={id}\n checked={checked}\n disabled={disabled || itemDisabled || readonly}\n autoFocus={autofocus && index === 0}\n onChange={_onChange(index)}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n );\n return <FormControlLabel control={checkbox} key={index} label={option.label} />;\n })}\n </FormGroup>\n </>\n );\n}\n","import { FocusEvent } from 'react';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormLabel from '@mui/material/FormLabel';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n optionId,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\n\n/** The `RadioWidget` is a widget for rendering a radio group.\n * It is typically used with a string property constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n schema,\n options,\n value,\n required,\n disabled,\n readonly,\n label,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue } = options;\n\n const _onChange = (_: any, value: any) => onChange(enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n\n const row = options ? options.inline : false;\n const selectedIndex = enumOptionsIndexForValue<S>(value, enumOptions);\n\n return (\n <>\n <FormLabel required={required} htmlFor={id}>\n {label || schema.title}\n </FormLabel>\n <RadioGroup\n id={id}\n name={id}\n value={selectedIndex}\n row={row as boolean}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n >\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index) => {\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n const radio = (\n <FormControlLabel\n control={<Radio name={id} id={optionId(id, index)} color='primary' />}\n label={option.label}\n value={String(index)}\n key={index}\n disabled={disabled || itemDisabled || readonly}\n />\n );\n\n return radio;\n })}\n </RadioGroup>\n </>\n );\n}\n","import { FocusEvent } from 'react';\nimport FormLabel from '@mui/material/FormLabel';\nimport Slider from '@mui/material/Slider';\nimport { ariaDescribedByIds, FormContextType, RJSFSchema, StrictRJSFSchema, WidgetProps, rangeSpec } from '@rjsf/utils';\n\n/** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result\n * in a div, with the value along side it.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RangeWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: WidgetProps<T, S, F>\n) {\n const { value, readonly, disabled, onBlur, onFocus, options, schema, onChange, required, label, id } = props;\n const sliderProps = { value, label, id, name: id, ...rangeSpec<S>(schema) };\n\n const _onChange = (_: any, value?: number | number[]) => {\n onChange(value ?? options.emptyValue);\n };\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onBlur(id, value);\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n return (\n <>\n <FormLabel required={required} htmlFor={id}>\n {label || schema.title}\n </FormLabel>\n <Slider\n disabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n valueLabelDisplay='auto'\n {...sliderProps}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n </>\n );\n}\n","import { ChangeEvent, FocusEvent } from 'react';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\n\n/** The `SelectWidget` is a widget for rendering dropdowns.\n * It is typically used with string properties constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function SelectWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>({\n schema,\n id,\n name, // remove this from textFieldProps\n options,\n label,\n required,\n disabled,\n placeholder,\n readonly,\n value,\n multiple,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n rawErrors = [],\n registry,\n uiSchema,\n hideError,\n formContext,\n ...textFieldProps\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue: optEmptyVal } = options;\n\n multiple = typeof multiple === 'undefined' ? false : !!multiple;\n\n const emptyValue = multiple ? [] : '';\n const isEmpty = typeof value === 'undefined' || (multiple && value.length < 1) || (!multiple && value === emptyValue);\n\n const _onChange = ({ target: { value } }: ChangeEvent<{ value: string }>) =>\n onChange(enumOptionsValueForIndex<S>(value, enumOptions, optEmptyVal));\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(value, enumOptions, optEmptyVal));\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(value, enumOptions, optEmptyVal));\n const selectedIndexes = enumOptionsIndexForValue<S>(value, enumOptions, multiple);\n\n return (\n <TextField\n id={id}\n name={id}\n label={label || schema.title}\n value={isEmpty ? emptyValue : selectedIndexes}\n required={required}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n placeholder={placeholder}\n error={rawErrors.length > 0}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n {...(textFieldProps as TextFieldProps)}\n select // Apply this and the following props after the potential overrides defined in textFieldProps\n InputLabelProps={{\n ...textFieldProps.InputLabelProps,\n shrink: !isEmpty,\n }}\n SelectProps={{\n ...textFieldProps.SelectProps,\n multiple,\n }}\n aria-describedby={ariaDescribedByIds<T>(id)}\n >\n {Array.isArray(enumOptions) &&\n enumOptions.map(({ value, label }, i: number) => {\n const disabled: boolean = Array.isArray(enumDisabled) && enumDisabled.indexOf(value) !== -1;\n return (\n <MenuItem key={i} value={String(i)} disabled={disabled}>\n {label}\n </MenuItem>\n );\n })}\n </TextField>\n );\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, WidgetProps, getTemplate } from '@rjsf/utils';\n\n/** The `TextareaWidget` is a widget for rendering input fields as textarea.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function TextareaWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: WidgetProps<T, S, F>) {\n const { options, registry } = props;\n const BaseInputTemplate = getTemplate<'BaseInputTemplate', T, S, F>('BaseInputTemplate', registry, options);\n\n let rows: string | number = 5;\n if (typeof options.rows === 'string' || typeof options.rows === 'number') {\n rows = options.rows;\n }\n\n return <BaseInputTemplate {...props} multiline rows={rows} />;\n}\n","import { FormContextType, RegistryWidgetsType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nimport CheckboxWidget from '../CheckboxWidget/CheckboxWidget';\nimport CheckboxesWidget from '../CheckboxesWidget/CheckboxesWidget';\nimport RadioWidget from '../RadioWidget/RadioWidget';\nimport RangeWidget from '../RangeWidget/RangeWidget';\nimport SelectWidget from '../SelectWidget/SelectWidget';\nimport TextareaWidget from '../TextareaWidget/TextareaWidget';\n\nexport function generateWidgets<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): RegistryWidgetsType<T, S, F> {\n return {\n CheckboxWidget,\n CheckboxesWidget,\n RadioWidget,\n RangeWidget,\n SelectWidget,\n TextareaWidget,\n };\n}\n\nexport default generateWidgets();\n","import { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { ThemeProps } from '@rjsf/core';\n\nimport { generateTemplates } from '../Templates';\nimport { generateWidgets } from '../Widgets';\n\nexport function generateTheme<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): ThemeProps<T, S, F> {\n return {\n templates: generateTemplates<T, S, F>(),\n widgets: generateWidgets<T, S, F>(),\n };\n}\n\nexport default generateTheme();\n","import { ComponentType } from 'react';\nimport { withTheme, FormProps } from '@rjsf/core';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nimport { generateTheme } from '../Theme';\n\nexport function generateForm<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): ComponentType<FormProps<T, S, F>> {\n return withTheme<T, S, F>(generateTheme<T, S, F>());\n}\n\nexport default generateForm();\n"],"names":["AddButton","_ref","registry","props","_objectWithoutPropertiesLoose","_excluded","_jsx","jsx","IconButton","_extends","title","translateString","TranslatableString","AddItemButton","color","children","AddIcon","ArrayFieldItemTemplate","disabled","hasToolbar","hasCopy","hasMoveDown","hasMoveUp","hasRemove","index","onCopyIndexClick","onDropIndexClick","onReorderClick","readonly","uiSchema","_registry$templates$B","templates","ButtonTemplates","CopyButton","MoveDownButton","MoveUpButton","RemoveButton","btnStyle","flex","paddingLeft","paddingRight","fontWeight","minWidth","_jsxs","Grid","container","alignItems","item","xs","style","overflow","Box","mb","Paper","elevation","p","jsxs","onClick","ArrayFieldTemplate","canAdd","idSchema","items","onAddClick","required","schema","uiOptions","getUiOptions","ArrayFieldDescriptionTemplate","getTemplate","ArrayFieldTitleTemplate","description","map","key","itemProps","justifyContent","mt","className","$id","TYPES_THAT_SHRINK_LABEL","BaseInputTemplate","id","placeholder","type","label","value","onChange","onChangeOverride","onBlur","onFocus","autofocus","options","_props$rawErrors","rawErrors","InputLabelProps","textFieldProps","inputProps","getInputProps","step","min","max","rest","_excluded2","otherProps","examples","list","examplesId","undefined","displayLabel","schemaUtils","getDisplayLabel","DisplayInputLabelProps","includes","shrink","_Fragment","TextField","name","autoFocus","error","length","target","emptyValue","_ref2","_ref3","ariaDescribedByIds","Array","isArray","concat","example","DescriptionField","Typography","variant","marginTop","ErrorList","errors","ErrorsLabel","List","dense","i","ListItem","ListItemIcon","ErrorIcon","ListItemText","primary","stack","MuiIconButton","icon","size","CopyIcon","fontSize","ArrowDownwardIcon","ArrowUpwardIcon","iconType","RemoveIcon","FieldErrorTemplate","_props$errors","errorId","disablePadding","disableGutters","FormHelperText","FieldHelpTemplate","help","helpId","FieldTemplate","classNames","hidden","onDropPropertyClick","onKeyChange","rawDescription","WrapIfAdditionalTemplate","display","FormControl","fullWidth","ObjectFieldTemplate","properties","formData","TitleFieldTemplate","DescriptionFieldTemplate","titleId","descriptionId","spacing","element","content","marginBottom","canExpand","SubmitButton","_getSubmitButtonOptio","getSubmitButtonOptions","_getSubmitButtonOptio2","norender","Button","submitText","TitleField","Divider","keyLabel","KeyLabel","ADDITIONAL_PROPERTY_FLAG","InputLabel","Input","defaultValue","generateTemplates","ErrorListTemplate","Templates","CheckboxWidget","schemaRequiresTrueValue","FormControlLabel","control","Checkbox","checked","Boolean","_","CheckboxesWidget","enumOptions","enumDisabled","inline","checkboxesValues","_onChange","enumOptionsSelectValue","enumOptionsDeselectValue","_onBlur","enumOptionsValueForIndex","_onFocus","_ref4","FormLabel","htmlFor","FormGroup","row","option","enumOptionsIsSelected","itemDisabled","indexOf","checkbox","optionId","RadioWidget","selectedIndex","enumOptionsIndexForValue","RadioGroup","Radio","String","RangeWidget","sliderProps","rangeSpec","Slider","valueLabelDisplay","SelectWidget","multiple","_ref$rawErrors","optEmptyVal","isEmpty","selectedIndexes","select","SelectProps","_ref5","MenuItem","TextareaWidget","rows","multiline","generateWidgets","Widgets","generateTheme","widgets","Theme","generateForm","withTheme","MuiForm"],"mappings":"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"}
1
+ {"version":3,"file":"mui.cjs.production.min.js","sources":["../src/AddButton/AddButton.tsx","../src/ArrayFieldItemTemplate/ArrayFieldItemTemplate.tsx","../src/ArrayFieldTemplate/ArrayFieldTemplate.tsx","../src/BaseInputTemplate/BaseInputTemplate.tsx","../src/DescriptionField/DescriptionField.tsx","../src/ErrorList/ErrorList.tsx","../src/IconButton/IconButton.tsx","../src/FieldErrorTemplate/FieldErrorTemplate.tsx","../src/FieldHelpTemplate/FieldHelpTemplate.tsx","../src/FieldTemplate/FieldTemplate.tsx","../src/ObjectFieldTemplate/ObjectFieldTemplate.tsx","../src/SubmitButton/SubmitButton.tsx","../src/TitleField/TitleField.tsx","../src/WrapIfAdditionalTemplate/WrapIfAdditionalTemplate.tsx","../src/Templates/Templates.ts","../src/CheckboxWidget/CheckboxWidget.tsx","../src/CheckboxesWidget/CheckboxesWidget.tsx","../src/RadioWidget/RadioWidget.tsx","../src/RangeWidget/RangeWidget.tsx","../src/SelectWidget/SelectWidget.tsx","../src/TextareaWidget/TextareaWidget.tsx","../src/Widgets/Widgets.ts","../src/Theme/Theme.tsx","../src/MuiForm/MuiForm.tsx"],"sourcesContent":["import AddIcon from '@mui/icons-material/Add';\nimport IconButton from '@mui/material/IconButton';\nimport { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\n/** The `AddButton` renders a button that represent the `Add` action on a form\n */\nexport default function AddButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n uiSchema,\n registry,\n ...props\n}: IconButtonProps<T, S, F>) {\n const { translateString } = registry;\n return (\n <IconButton title={translateString(TranslatableString.AddItemButton)} {...props} color='primary'>\n <AddIcon />\n </IconButton>\n );\n}\n","import { CSSProperties } from 'react';\nimport Box from '@mui/material/Box';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport { ArrayFieldTemplateItemType, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `ArrayFieldItemTemplate` component is the template used to render an items of an array.\n *\n * @param props - The `ArrayFieldTemplateItemType` props for the component\n */\nexport default function ArrayFieldItemTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: ArrayFieldTemplateItemType<T, S, F>) {\n const {\n children,\n disabled,\n hasToolbar,\n hasCopy,\n hasMoveDown,\n hasMoveUp,\n hasRemove,\n index,\n onCopyIndexClick,\n onDropIndexClick,\n onReorderClick,\n readonly,\n uiSchema,\n registry,\n } = props;\n const { CopyButton, MoveDownButton, MoveUpButton, RemoveButton } = registry.templates.ButtonTemplates;\n const btnStyle: CSSProperties = {\n flex: 1,\n paddingLeft: 6,\n paddingRight: 6,\n fontWeight: 'bold',\n minWidth: 0,\n };\n return (\n <Grid container={true} alignItems='center'>\n <Grid item={true} xs style={{ overflow: 'auto' }}>\n <Box mb={2}>\n <Paper elevation={2}>\n <Box p={2}>{children}</Box>\n </Paper>\n </Box>\n </Grid>\n {hasToolbar && (\n <Grid item={true}>\n {(hasMoveUp || hasMoveDown) && (\n <MoveUpButton\n style={btnStyle}\n disabled={disabled || readonly || !hasMoveUp}\n onClick={onReorderClick(index, index - 1)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {(hasMoveUp || hasMoveDown) && (\n <MoveDownButton\n style={btnStyle}\n disabled={disabled || readonly || !hasMoveDown}\n onClick={onReorderClick(index, index + 1)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {hasCopy && (\n <CopyButton\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onCopyIndexClick(index)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {hasRemove && (\n <RemoveButton\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onDropIndexClick(index)}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n </Grid>\n )}\n </Grid>\n );\n}\n","import Box from '@mui/material/Box';\nimport Grid from '@mui/material/Grid';\nimport Paper from '@mui/material/Paper';\nimport {\n getTemplate,\n getUiOptions,\n ArrayFieldTemplateProps,\n ArrayFieldTemplateItemType,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\n/** The `ArrayFieldTemplate` component is the template used to render all items in an array.\n *\n * @param props - The `ArrayFieldTemplateItemType` props for the component\n */\nexport default function ArrayFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: ArrayFieldTemplateProps<T, S, F>) {\n const { canAdd, disabled, idSchema, uiSchema, items, onAddClick, readonly, registry, required, schema, title } =\n props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const ArrayFieldDescriptionTemplate = getTemplate<'ArrayFieldDescriptionTemplate', T, S, F>(\n 'ArrayFieldDescriptionTemplate',\n registry,\n uiOptions\n );\n const ArrayFieldItemTemplate = getTemplate<'ArrayFieldItemTemplate', T, S, F>(\n 'ArrayFieldItemTemplate',\n registry,\n uiOptions\n );\n const ArrayFieldTitleTemplate = getTemplate<'ArrayFieldTitleTemplate', T, S, F>(\n 'ArrayFieldTitleTemplate',\n registry,\n uiOptions\n );\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <Paper elevation={2}>\n <Box p={2}>\n <ArrayFieldTitleTemplate\n idSchema={idSchema}\n title={uiOptions.title || title}\n schema={schema}\n uiSchema={uiSchema}\n required={required}\n registry={registry}\n />\n <ArrayFieldDescriptionTemplate\n idSchema={idSchema}\n description={uiOptions.description || schema.description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n <Grid container={true} key={`array-item-list-${idSchema.$id}`}>\n {items &&\n items.map(({ key, ...itemProps }: ArrayFieldTemplateItemType<T, S, F>) => (\n <ArrayFieldItemTemplate key={key} {...itemProps} />\n ))}\n {canAdd && (\n <Grid container justifyContent='flex-end'>\n <Grid item={true}>\n <Box mt={2}>\n <AddButton\n className='array-item-add'\n onClick={onAddClick}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Box>\n </Grid>\n </Grid>\n )}\n </Grid>\n </Box>\n </Paper>\n );\n}\n","import { ChangeEvent, FocusEvent } from 'react';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport {\n ariaDescribedByIds,\n BaseInputTemplateProps,\n examplesId,\n getInputProps,\n labelValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\nconst TYPES_THAT_SHRINK_LABEL = ['date', 'datetime-local', 'file', 'time'];\n\n/** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.\n * It is used as the template for rendering many of the <input> based widgets that differ by `type` and callbacks only.\n * It can be customized/overridden for other themes or individual implementations as needed.\n *\n * @param props - The `WidgetProps` for this template\n */\nexport default function BaseInputTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: BaseInputTemplateProps<T, S, F>) {\n const {\n id,\n name, // remove this from textFieldProps\n placeholder,\n required,\n readonly,\n disabled,\n type,\n label,\n hideLabel,\n value,\n onChange,\n onChangeOverride,\n onBlur,\n onFocus,\n autofocus,\n options,\n schema,\n uiSchema,\n rawErrors = [],\n formContext,\n registry,\n InputLabelProps,\n ...textFieldProps\n } = props;\n const inputProps = getInputProps<T, S, F>(schema, type, options);\n // Now we need to pull out the step, min, max into an inner `inputProps` for material-ui\n const { step, min, max, ...rest } = inputProps;\n const otherProps = {\n inputProps: {\n step,\n min,\n max,\n ...(schema.examples ? { list: examplesId<T>(id) } : undefined),\n },\n ...rest,\n };\n const _onChange = ({ target: { value } }: ChangeEvent<HTMLInputElement>) =>\n onChange(value === '' ? options.emptyValue : value);\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onBlur(id, value);\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onFocus(id, value);\n const DisplayInputLabelProps = TYPES_THAT_SHRINK_LABEL.includes(type)\n ? {\n ...InputLabelProps,\n shrink: true,\n }\n : InputLabelProps;\n\n return (\n <>\n <TextField\n id={id}\n name={id}\n placeholder={placeholder}\n label={labelValue(label || undefined, hideLabel, false)}\n autoFocus={autofocus}\n required={required}\n disabled={disabled || readonly}\n {...otherProps}\n value={value || value === 0 ? value : ''}\n error={rawErrors.length > 0}\n onChange={onChangeOverride || _onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n InputLabelProps={DisplayInputLabelProps}\n {...(textFieldProps as TextFieldProps)}\n aria-describedby={ariaDescribedByIds<T>(id, !!schema.examples)}\n />\n {Array.isArray(schema.examples) && (\n <datalist id={examplesId<T>(id)}>\n {(schema.examples as string[])\n .concat(schema.default && !schema.examples.includes(schema.default) ? ([schema.default] as string[]) : [])\n .map((example: any) => {\n return <option key={example} value={example} />;\n })}\n </datalist>\n )}\n </>\n );\n}\n","import Typography from '@mui/material/Typography';\nimport { DescriptionFieldProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `DescriptionField` is the template to use to render the description of a field\n *\n * @param props - The `DescriptionFieldProps` for this component\n */\nexport default function DescriptionField<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: DescriptionFieldProps<T, S, F>) {\n const { id, description } = props;\n if (description) {\n return (\n <Typography id={id} variant='subtitle2' style={{ marginTop: '5px' }}>\n {description}\n </Typography>\n );\n }\n\n return null;\n}\n","import ErrorIcon from '@mui/icons-material/Error';\nimport Box from '@mui/material/Box';\nimport List from '@mui/material/List';\nimport ListItem from '@mui/material/ListItem';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Paper from '@mui/material/Paper';\nimport Typography from '@mui/material/Typography';\nimport { ErrorListProps, FormContextType, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\n/** The `ErrorList` component is the template that renders the all the errors associated with the fields in the `Form`\n *\n * @param props - The `ErrorListProps` for this component\n */\nexport default function ErrorList<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n errors,\n registry,\n}: ErrorListProps<T, S, F>) {\n const { translateString } = registry;\n return (\n <Paper elevation={2}>\n <Box mb={2} p={2}>\n <Typography variant='h6'>{translateString(TranslatableString.ErrorsLabel)}</Typography>\n <List dense={true}>\n {errors.map((error, i: number) => {\n return (\n <ListItem key={i}>\n <ListItemIcon>\n <ErrorIcon color='error' />\n </ListItemIcon>\n <ListItemText primary={error.stack} />\n </ListItem>\n );\n })}\n </List>\n </Box>\n </Paper>\n );\n}\n","import IconButton, { IconButtonProps as MuiIconButtonProps } from '@mui/material/IconButton';\nimport ArrowDownwardIcon from '@mui/icons-material/ArrowDownward';\nimport ArrowUpwardIcon from '@mui/icons-material/ArrowUpward';\nimport CopyIcon from '@mui/icons-material/ContentCopy';\nimport RemoveIcon from '@mui/icons-material/Remove';\nimport { FormContextType, IconButtonProps, RJSFSchema, StrictRJSFSchema, TranslatableString } from '@rjsf/utils';\n\nexport default function MuiIconButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: IconButtonProps<T, S, F>) {\n const { icon, color, uiSchema, registry, ...otherProps } = props;\n return (\n <IconButton {...otherProps} size='small' color={color as MuiIconButtonProps['color']}>\n {icon}\n </IconButton>\n );\n}\n\nexport function CopyButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.CopyButton)}\n {...props}\n icon={<CopyIcon fontSize='small' />}\n />\n );\n}\n\nexport function MoveDownButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.MoveDownButton)}\n {...props}\n icon={<ArrowDownwardIcon fontSize='small' />}\n />\n );\n}\n\nexport function MoveUpButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const {\n registry: { translateString },\n } = props;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.MoveUpButton)}\n {...props}\n icon={<ArrowUpwardIcon fontSize='small' />}\n />\n );\n}\n\nexport function RemoveButton<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: IconButtonProps<T, S, F>\n) {\n const { iconType, ...otherProps } = props;\n const {\n registry: { translateString },\n } = otherProps;\n return (\n <MuiIconButton\n title={translateString(TranslatableString.RemoveButton)}\n {...otherProps}\n color='error'\n icon={<RemoveIcon fontSize={iconType === 'default' ? undefined : 'small'} />}\n />\n );\n}\n","import ListItem from '@mui/material/ListItem';\nimport FormHelperText from '@mui/material/FormHelperText';\nimport List from '@mui/material/List';\nimport { errorId, FieldErrorProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `FieldErrorTemplate` component renders the errors local to the particular field\n *\n * @param props - The `FieldErrorProps` for the errors being rendered\n */\nexport default function FieldErrorTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: FieldErrorProps<T, S, F>) {\n const { errors = [], idSchema } = props;\n if (errors.length === 0) {\n return null;\n }\n const id = errorId<T>(idSchema);\n\n return (\n <List dense={true} disablePadding={true}>\n {errors.map((error, i: number) => {\n return (\n <ListItem key={i} disableGutters={true}>\n <FormHelperText id={id}>{error}</FormHelperText>\n </ListItem>\n );\n })}\n </List>\n );\n}\n","import FormHelperText from '@mui/material/FormHelperText';\nimport { helpId, FieldHelpProps, FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `FieldHelpTemplate` component renders any help desired for a field\n *\n * @param props - The `FieldHelpProps` to be rendered\n */\nexport default function FieldHelpTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: FieldHelpProps<T, S, F>) {\n const { idSchema, help } = props;\n if (!help) {\n return null;\n }\n const id = helpId<T>(idSchema);\n return <FormHelperText id={id}>{help}</FormHelperText>;\n}\n","import FormControl from '@mui/material/FormControl';\nimport Typography from '@mui/material/Typography';\nimport {\n FieldTemplateProps,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n getTemplate,\n getUiOptions,\n} from '@rjsf/utils';\n\n/** The `FieldTemplate` component is the template used by `SchemaField` to render any field. It renders the field\n * content, (label, description, children, errors and help) inside of a `WrapIfAdditional` component.\n *\n * @param props - The `FieldTemplateProps` for this component\n */\nexport default function FieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: FieldTemplateProps<T, S, F>) {\n const {\n id,\n children,\n classNames,\n style,\n disabled,\n displayLabel,\n hidden,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n rawErrors = [],\n errors,\n help,\n rawDescription,\n schema,\n uiSchema,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const WrapIfAdditionalTemplate = getTemplate<'WrapIfAdditionalTemplate', T, S, F>(\n 'WrapIfAdditionalTemplate',\n registry,\n uiOptions\n );\n\n if (hidden) {\n return <div style={{ display: 'none' }}>{children}</div>;\n }\n return (\n <WrapIfAdditionalTemplate\n classNames={classNames}\n style={style}\n disabled={disabled}\n id={id}\n label={label}\n onDropPropertyClick={onDropPropertyClick}\n onKeyChange={onKeyChange}\n readonly={readonly}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n >\n <FormControl fullWidth={true} error={rawErrors.length ? true : false} required={required}>\n {children}\n {displayLabel && rawDescription ? (\n <Typography variant='caption' color='textSecondary'>\n {rawDescription}\n </Typography>\n ) : null}\n {errors}\n {help}\n </FormControl>\n </WrapIfAdditionalTemplate>\n );\n}\n","import Grid from '@mui/material/Grid';\nimport {\n FormContextType,\n ObjectFieldTemplateProps,\n RJSFSchema,\n StrictRJSFSchema,\n canExpand,\n descriptionId,\n getTemplate,\n getUiOptions,\n titleId,\n} from '@rjsf/utils';\n\n/** The `ObjectFieldTemplate` is the template to use to render all the inner properties of an object along with the\n * title and description if available. If the object is expandable, then an `AddButton` is also rendered after all\n * the properties.\n *\n * @param props - The `ObjectFieldTemplateProps` for this component\n */\nexport default function ObjectFieldTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: ObjectFieldTemplateProps<T, S, F>) {\n const {\n description,\n title,\n properties,\n required,\n disabled,\n readonly,\n uiSchema,\n idSchema,\n schema,\n formData,\n onAddClick,\n registry,\n } = props;\n const uiOptions = getUiOptions<T, S, F>(uiSchema);\n const TitleFieldTemplate = getTemplate<'TitleFieldTemplate', T, S, F>('TitleFieldTemplate', registry, uiOptions);\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n uiOptions\n );\n // Button templates are not overridden in the uiSchema\n const {\n ButtonTemplates: { AddButton },\n } = registry.templates;\n return (\n <>\n {title && (\n <TitleFieldTemplate\n id={titleId<T>(idSchema)}\n title={title}\n required={required}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n {description && (\n <DescriptionFieldTemplate\n id={descriptionId<T>(idSchema)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <Grid container={true} spacing={2} style={{ marginTop: '10px' }}>\n {properties.map((element, index) =>\n // Remove the <Grid> if the inner element is hidden as the <Grid>\n // itself would otherwise still take up space.\n element.hidden ? (\n element.content\n ) : (\n <Grid item={true} xs={12} key={index} style={{ marginBottom: '10px' }}>\n {element.content}\n </Grid>\n )\n )}\n {canExpand<T, S, F>(schema, uiSchema, formData) && (\n <Grid container justifyContent='flex-end'>\n <Grid item={true}>\n <AddButton\n className='object-property-expand'\n onClick={onAddClick(schema)}\n disabled={disabled || readonly}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Grid>\n </Grid>\n )}\n </Grid>\n </>\n );\n}\n","import Box from '@mui/material/Box';\nimport Button from '@mui/material/Button';\nimport { getSubmitButtonOptions, FormContextType, RJSFSchema, StrictRJSFSchema, SubmitButtonProps } from '@rjsf/utils';\n\n/** The `SubmitButton` renders a button that represent the `Submit` action on a form\n */\nexport default function SubmitButton<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>({ uiSchema }: SubmitButtonProps<T, S, F>) {\n const { submitText, norender, props: submitButtonProps = {} } = getSubmitButtonOptions<T, S, F>(uiSchema);\n if (norender) {\n return null;\n }\n return (\n <Box marginTop={3}>\n <Button type='submit' variant='contained' color='primary' {...submitButtonProps}>\n {submitText}\n </Button>\n </Box>\n );\n}\n","import Box from '@mui/material/Box';\nimport Divider from '@mui/material/Divider';\nimport Typography from '@mui/material/Typography';\nimport { FormContextType, TitleFieldProps, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\n/** The `TitleField` is the template to use to render the title of a field\n *\n * @param props - The `TitleFieldProps` for this component\n */\nexport default function TitleField<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n title,\n}: TitleFieldProps<T, S, F>) {\n return (\n <Box id={id} mb={1} mt={1}>\n <Typography variant='h5'>{title}</Typography>\n <Divider />\n </Box>\n );\n}\n","import { CSSProperties, FocusEvent } from 'react';\nimport FormControl from '@mui/material/FormControl';\nimport Grid from '@mui/material/Grid';\nimport InputLabel from '@mui/material/InputLabel';\nimport Input from '@mui/material/OutlinedInput';\nimport {\n ADDITIONAL_PROPERTY_FLAG,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n TranslatableString,\n WrapIfAdditionalTemplateProps,\n} from '@rjsf/utils';\n\n/** The `WrapIfAdditional` component is used by the `FieldTemplate` to rename, or remove properties that are\n * part of an `additionalProperties` part of a schema.\n *\n * @param props - The `WrapIfAdditionalProps` for this component\n */\nexport default function WrapIfAdditionalTemplate<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: WrapIfAdditionalTemplateProps<T, S, F>) {\n const {\n children,\n classNames,\n style,\n disabled,\n id,\n label,\n onDropPropertyClick,\n onKeyChange,\n readonly,\n required,\n schema,\n uiSchema,\n registry,\n } = props;\n const { templates, translateString } = registry;\n // Button templates are not overridden in the uiSchema\n const { RemoveButton } = templates.ButtonTemplates;\n const keyLabel = translateString(TranslatableString.KeyLabel, [label]);\n const additional = ADDITIONAL_PROPERTY_FLAG in schema;\n const btnStyle: CSSProperties = {\n flex: 1,\n paddingLeft: 6,\n paddingRight: 6,\n fontWeight: 'bold',\n };\n\n if (!additional) {\n return (\n <div className={classNames} style={style}>\n {children}\n </div>\n );\n }\n\n const handleBlur = ({ target }: FocusEvent<HTMLInputElement>) => onKeyChange(target.value);\n\n return (\n <Grid container key={`${id}-key`} alignItems='center' spacing={2} className={classNames} style={style}>\n <Grid item xs>\n <FormControl fullWidth={true} required={required}>\n <InputLabel>{keyLabel}</InputLabel>\n <Input\n defaultValue={label}\n disabled={disabled || readonly}\n id={`${id}-key`}\n name={`${id}-key`}\n onBlur={!readonly ? handleBlur : undefined}\n type='text'\n />\n </FormControl>\n </Grid>\n <Grid item={true} xs>\n {children}\n </Grid>\n <Grid item={true}>\n <RemoveButton\n iconType='default'\n style={btnStyle}\n disabled={disabled || readonly}\n onClick={onDropPropertyClick(label)}\n uiSchema={uiSchema}\n registry={registry}\n />\n </Grid>\n </Grid>\n );\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, TemplatesType } from '@rjsf/utils';\n\nimport AddButton from '../AddButton';\nimport ArrayFieldItemTemplate from '../ArrayFieldItemTemplate';\nimport ArrayFieldTemplate from '../ArrayFieldTemplate';\nimport BaseInputTemplate from '../BaseInputTemplate';\nimport DescriptionField from '../DescriptionField';\nimport ErrorList from '../ErrorList';\nimport { CopyButton, MoveDownButton, MoveUpButton, RemoveButton } from '../IconButton';\nimport FieldErrorTemplate from '../FieldErrorTemplate';\nimport FieldHelpTemplate from '../FieldHelpTemplate';\nimport FieldTemplate from '../FieldTemplate';\nimport ObjectFieldTemplate from '../ObjectFieldTemplate';\nimport SubmitButton from '../SubmitButton';\nimport TitleField from '../TitleField';\nimport WrapIfAdditionalTemplate from '../WrapIfAdditionalTemplate';\n\nexport function generateTemplates<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): Partial<TemplatesType<T, S, F>> {\n return {\n ArrayFieldItemTemplate,\n ArrayFieldTemplate,\n BaseInputTemplate,\n ButtonTemplates: {\n AddButton,\n CopyButton,\n MoveDownButton,\n MoveUpButton,\n RemoveButton,\n SubmitButton,\n },\n DescriptionFieldTemplate: DescriptionField,\n ErrorListTemplate: ErrorList,\n FieldErrorTemplate,\n FieldHelpTemplate,\n FieldTemplate,\n ObjectFieldTemplate,\n TitleFieldTemplate: TitleField,\n WrapIfAdditionalTemplate,\n };\n}\n\nexport default generateTemplates();\n","import { FocusEvent } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport {\n ariaDescribedByIds,\n descriptionId,\n getTemplate,\n labelValue,\n schemaRequiresTrueValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\n\n/** The `CheckBoxWidget` is a widget for rendering boolean properties.\n * It is typically used to represent a boolean.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: WidgetProps<T, S, F>) {\n const {\n schema,\n id,\n value,\n disabled,\n readonly,\n label = '',\n hideLabel,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n registry,\n options,\n uiSchema,\n } = props;\n const DescriptionFieldTemplate = getTemplate<'DescriptionFieldTemplate', T, S, F>(\n 'DescriptionFieldTemplate',\n registry,\n options\n );\n // Because an unchecked checkbox will cause html5 validation to fail, only add\n // the \"required\" attribute if the field value must be \"true\", due to the\n // \"const\" or \"enum\" keywords\n const required = schemaRequiresTrueValue<S>(schema);\n\n const _onChange = (_: any, checked: boolean) => onChange(checked);\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLButtonElement>) => onBlur(id, value);\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLButtonElement>) => onFocus(id, value);\n const description = options.description ?? schema.description;\n\n return (\n <>\n {!hideLabel && !!description && (\n <DescriptionFieldTemplate\n id={descriptionId<T>(id)}\n description={description}\n schema={schema}\n uiSchema={uiSchema}\n registry={registry}\n />\n )}\n <FormControlLabel\n control={\n <Checkbox\n id={id}\n name={id}\n checked={typeof value === 'undefined' ? false : Boolean(value)}\n required={required}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n }\n label={labelValue(label, hideLabel, false)}\n />\n </>\n );\n}\n","import { ChangeEvent, FocusEvent } from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormGroup from '@mui/material/FormGroup';\nimport FormLabel from '@mui/material/FormLabel';\nimport {\n ariaDescribedByIds,\n enumOptionsDeselectValue,\n enumOptionsIsSelected,\n enumOptionsSelectValue,\n enumOptionsValueForIndex,\n labelValue,\n optionId,\n FormContextType,\n WidgetProps,\n RJSFSchema,\n StrictRJSFSchema,\n} from '@rjsf/utils';\n\n/** The `CheckboxesWidget` is a widget for rendering checkbox groups.\n * It is typically used to represent an array of enums.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function CheckboxesWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>({\n label,\n hideLabel,\n id,\n disabled,\n options,\n value,\n autofocus,\n readonly,\n required,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, inline, emptyValue } = options;\n const checkboxesValues = Array.isArray(value) ? value : [value];\n\n const _onChange =\n (index: number) =>\n ({ target: { checked } }: ChangeEvent<HTMLInputElement>) => {\n if (checked) {\n onChange(enumOptionsSelectValue(index, checkboxesValues, enumOptions));\n } else {\n onChange(enumOptionsDeselectValue(index, checkboxesValues, enumOptions));\n }\n };\n\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLButtonElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLButtonElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n\n return (\n <>\n {labelValue(\n <FormLabel required={required} htmlFor={id}>\n {label || undefined}\n </FormLabel>,\n hideLabel\n )}\n <FormGroup id={id} row={!!inline}>\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index: number) => {\n const checked = enumOptionsIsSelected<S>(option.value, checkboxesValues);\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n const checkbox = (\n <Checkbox\n id={optionId(id, index)}\n name={id}\n checked={checked}\n disabled={disabled || itemDisabled || readonly}\n autoFocus={autofocus && index === 0}\n onChange={_onChange(index)}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n );\n return <FormControlLabel control={checkbox} key={index} label={option.label} />;\n })}\n </FormGroup>\n </>\n );\n}\n","import { FocusEvent } from 'react';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport FormLabel from '@mui/material/FormLabel';\nimport Radio from '@mui/material/Radio';\nimport RadioGroup from '@mui/material/RadioGroup';\nimport {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n labelValue,\n optionId,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\n\n/** The `RadioWidget` is a widget for rendering a radio group.\n * It is typically used with a string property constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RadioWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>({\n id,\n options,\n value,\n required,\n disabled,\n readonly,\n label,\n hideLabel,\n onChange,\n onBlur,\n onFocus,\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue } = options;\n\n const _onChange = (_: any, value: any) => onChange(enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(value, enumOptions, emptyValue));\n\n const row = options ? options.inline : false;\n const selectedIndex = enumOptionsIndexForValue<S>(value, enumOptions) ?? null;\n\n return (\n <>\n {labelValue(\n <FormLabel required={required} htmlFor={id}>\n {label || undefined}\n </FormLabel>,\n hideLabel\n )}\n <RadioGroup\n id={id}\n name={id}\n value={selectedIndex}\n row={row as boolean}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n aria-describedby={ariaDescribedByIds<T>(id)}\n >\n {Array.isArray(enumOptions) &&\n enumOptions.map((option, index) => {\n const itemDisabled = Array.isArray(enumDisabled) && enumDisabled.indexOf(option.value) !== -1;\n const radio = (\n <FormControlLabel\n control={<Radio name={id} id={optionId(id, index)} color='primary' />}\n label={option.label}\n value={String(index)}\n key={index}\n disabled={disabled || itemDisabled || readonly}\n />\n );\n\n return radio;\n })}\n </RadioGroup>\n </>\n );\n}\n","import { FocusEvent } from 'react';\nimport FormLabel from '@mui/material/FormLabel';\nimport Slider from '@mui/material/Slider';\nimport {\n ariaDescribedByIds,\n labelValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n rangeSpec,\n} from '@rjsf/utils';\n\n/** The `RangeWidget` component uses the `BaseInputTemplate` changing the type to `range` and wrapping the result\n * in a div, with the value along side it.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function RangeWidget<T = any, S extends StrictRJSFSchema = RJSFSchema, F extends FormContextType = any>(\n props: WidgetProps<T, S, F>\n) {\n const { value, readonly, disabled, onBlur, onFocus, options, schema, onChange, required, label, hideLabel, id } =\n props;\n const sliderProps = { value, label, id, name: id, ...rangeSpec<S>(schema) };\n\n const _onChange = (_: any, value?: number | number[]) => {\n onChange(value ?? options.emptyValue);\n };\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onBlur(id, value);\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) => onFocus(id, value);\n\n return (\n <>\n {labelValue(\n <FormLabel required={required} htmlFor={id}>\n {label || undefined}\n </FormLabel>,\n hideLabel\n )}\n <Slider\n disabled={disabled || readonly}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n valueLabelDisplay='auto'\n {...sliderProps}\n aria-describedby={ariaDescribedByIds<T>(id)}\n />\n </>\n );\n}\n","import { ChangeEvent, FocusEvent } from 'react';\nimport MenuItem from '@mui/material/MenuItem';\nimport TextField, { TextFieldProps } from '@mui/material/TextField';\nimport {\n ariaDescribedByIds,\n enumOptionsIndexForValue,\n enumOptionsValueForIndex,\n labelValue,\n FormContextType,\n RJSFSchema,\n StrictRJSFSchema,\n WidgetProps,\n} from '@rjsf/utils';\n\n/** The `SelectWidget` is a widget for rendering dropdowns.\n * It is typically used with string properties constrained with enum options.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function SelectWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>({\n schema,\n id,\n name, // remove this from textFieldProps\n options,\n label,\n hideLabel,\n required,\n disabled,\n placeholder,\n readonly,\n value,\n multiple,\n autofocus,\n onChange,\n onBlur,\n onFocus,\n rawErrors = [],\n registry,\n uiSchema,\n hideError,\n formContext,\n ...textFieldProps\n}: WidgetProps<T, S, F>) {\n const { enumOptions, enumDisabled, emptyValue: optEmptyVal } = options;\n\n multiple = typeof multiple === 'undefined' ? false : !!multiple;\n\n const emptyValue = multiple ? [] : '';\n const isEmpty = typeof value === 'undefined' || (multiple && value.length < 1) || (!multiple && value === emptyValue);\n\n const _onChange = ({ target: { value } }: ChangeEvent<{ value: string }>) =>\n onChange(enumOptionsValueForIndex<S>(value, enumOptions, optEmptyVal));\n const _onBlur = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onBlur(id, enumOptionsValueForIndex<S>(value, enumOptions, optEmptyVal));\n const _onFocus = ({ target: { value } }: FocusEvent<HTMLInputElement>) =>\n onFocus(id, enumOptionsValueForIndex<S>(value, enumOptions, optEmptyVal));\n const selectedIndexes = enumOptionsIndexForValue<S>(value, enumOptions, multiple);\n\n return (\n <TextField\n id={id}\n name={id}\n label={labelValue(label || undefined, hideLabel, false)}\n value={isEmpty ? emptyValue : selectedIndexes}\n required={required}\n disabled={disabled || readonly}\n autoFocus={autofocus}\n placeholder={placeholder}\n error={rawErrors.length > 0}\n onChange={_onChange}\n onBlur={_onBlur}\n onFocus={_onFocus}\n {...(textFieldProps as TextFieldProps)}\n select // Apply this and the following props after the potential overrides defined in textFieldProps\n InputLabelProps={{\n ...textFieldProps.InputLabelProps,\n shrink: !isEmpty,\n }}\n SelectProps={{\n ...textFieldProps.SelectProps,\n multiple,\n }}\n aria-describedby={ariaDescribedByIds<T>(id)}\n >\n {Array.isArray(enumOptions) &&\n enumOptions.map(({ value, label }, i: number) => {\n const disabled: boolean = Array.isArray(enumDisabled) && enumDisabled.indexOf(value) !== -1;\n return (\n <MenuItem key={i} value={String(i)} disabled={disabled}>\n {label}\n </MenuItem>\n );\n })}\n </TextField>\n );\n}\n","import { FormContextType, RJSFSchema, StrictRJSFSchema, WidgetProps, getTemplate } from '@rjsf/utils';\n\n/** The `TextareaWidget` is a widget for rendering input fields as textarea.\n *\n * @param props - The `WidgetProps` for this component\n */\nexport default function TextareaWidget<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(props: WidgetProps<T, S, F>) {\n const { options, registry } = props;\n const BaseInputTemplate = getTemplate<'BaseInputTemplate', T, S, F>('BaseInputTemplate', registry, options);\n\n let rows: string | number = 5;\n if (typeof options.rows === 'string' || typeof options.rows === 'number') {\n rows = options.rows;\n }\n\n return <BaseInputTemplate {...props} multiline rows={rows} />;\n}\n","import { FormContextType, RegistryWidgetsType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nimport CheckboxWidget from '../CheckboxWidget/CheckboxWidget';\nimport CheckboxesWidget from '../CheckboxesWidget/CheckboxesWidget';\nimport RadioWidget from '../RadioWidget/RadioWidget';\nimport RangeWidget from '../RangeWidget/RangeWidget';\nimport SelectWidget from '../SelectWidget/SelectWidget';\nimport TextareaWidget from '../TextareaWidget/TextareaWidget';\n\nexport function generateWidgets<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): RegistryWidgetsType<T, S, F> {\n return {\n CheckboxWidget,\n CheckboxesWidget,\n RadioWidget,\n RangeWidget,\n SelectWidget,\n TextareaWidget,\n };\n}\n\nexport default generateWidgets();\n","import { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\nimport { ThemeProps } from '@rjsf/core';\n\nimport { generateTemplates } from '../Templates';\nimport { generateWidgets } from '../Widgets';\n\nexport function generateTheme<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): ThemeProps<T, S, F> {\n return {\n templates: generateTemplates<T, S, F>(),\n widgets: generateWidgets<T, S, F>(),\n };\n}\n\nexport default generateTheme();\n","import { ComponentType } from 'react';\nimport { withTheme, FormProps } from '@rjsf/core';\nimport { FormContextType, RJSFSchema, StrictRJSFSchema } from '@rjsf/utils';\n\nimport { generateTheme } from '../Theme';\n\nexport function generateForm<\n T = any,\n S extends StrictRJSFSchema = RJSFSchema,\n F extends FormContextType = any\n>(): ComponentType<FormProps<T, S, F>> {\n return withTheme<T, S, F>(generateTheme<T, S, F>());\n}\n\nexport default generateForm();\n"],"names":["AddButton","_ref","registry","props","_objectWithoutPropertiesLoose","_excluded","_jsx","jsx","IconButton","_extends","title","translateString","TranslatableString","AddItemButton","color","children","AddIcon","ArrayFieldItemTemplate","disabled","hasToolbar","hasCopy","hasMoveDown","hasMoveUp","hasRemove","index","onCopyIndexClick","onDropIndexClick","onReorderClick","readonly","uiSchema","_registry$templates$B","templates","ButtonTemplates","CopyButton","MoveDownButton","MoveUpButton","RemoveButton","btnStyle","flex","paddingLeft","paddingRight","fontWeight","minWidth","_jsxs","Grid","container","alignItems","item","xs","style","overflow","Box","mb","Paper","elevation","p","jsxs","onClick","ArrayFieldTemplate","canAdd","idSchema","items","onAddClick","required","schema","uiOptions","getUiOptions","ArrayFieldDescriptionTemplate","getTemplate","ArrayFieldTitleTemplate","description","map","key","itemProps","justifyContent","mt","className","$id","TYPES_THAT_SHRINK_LABEL","BaseInputTemplate","id","placeholder","type","label","hideLabel","value","onChange","onChangeOverride","onBlur","onFocus","autofocus","options","_props$rawErrors","rawErrors","InputLabelProps","textFieldProps","inputProps","getInputProps","step","min","max","rest","_excluded2","otherProps","examples","list","examplesId","undefined","DisplayInputLabelProps","includes","shrink","_Fragment","TextField","name","labelValue","autoFocus","error","length","target","emptyValue","_ref2","_ref3","ariaDescribedByIds","Array","isArray","concat","example","DescriptionField","Typography","variant","marginTop","ErrorList","errors","ErrorsLabel","List","dense","i","ListItem","ListItemIcon","ErrorIcon","ListItemText","primary","stack","MuiIconButton","icon","size","CopyIcon","fontSize","ArrowDownwardIcon","ArrowUpwardIcon","iconType","RemoveIcon","FieldErrorTemplate","_props$errors","errorId","disablePadding","disableGutters","FormHelperText","FieldHelpTemplate","help","helpId","FieldTemplate","classNames","displayLabel","hidden","onDropPropertyClick","onKeyChange","rawDescription","WrapIfAdditionalTemplate","display","FormControl","fullWidth","ObjectFieldTemplate","properties","formData","TitleFieldTemplate","DescriptionFieldTemplate","titleId","descriptionId","spacing","element","content","marginBottom","canExpand","SubmitButton","_getSubmitButtonOptio","getSubmitButtonOptions","_getSubmitButtonOptio2","norender","Button","submitText","TitleField","Divider","keyLabel","KeyLabel","ADDITIONAL_PROPERTY_FLAG","InputLabel","Input","defaultValue","generateTemplates","ErrorListTemplate","Templates","CheckboxWidget","_options$description","_props$label","schemaRequiresTrueValue","FormControlLabel","control","Checkbox","checked","Boolean","_","CheckboxesWidget","enumOptions","enumDisabled","inline","checkboxesValues","_onChange","enumOptionsSelectValue","enumOptionsDeselectValue","_onBlur","enumOptionsValueForIndex","_onFocus","_ref4","FormLabel","htmlFor","FormGroup","row","option","enumOptionsIsSelected","itemDisabled","indexOf","checkbox","optionId","RadioWidget","_enumOptionsIndexForV","selectedIndex","enumOptionsIndexForValue","RadioGroup","Radio","String","RangeWidget","sliderProps","rangeSpec","Slider","valueLabelDisplay","SelectWidget","multiple","_ref$rawErrors","optEmptyVal","isEmpty","selectedIndexes","select","SelectProps","_ref5","MenuItem","TextareaWidget","rows","multiline","generateWidgets","Widgets","generateTheme","widgets","Theme","generateForm","withTheme","MuiForm"],"mappings":"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"}
package/dist/mui.esm.js CHANGED
@@ -2,7 +2,7 @@ import { withTheme } from '@rjsf/core';
2
2
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
3
3
  import AddIcon from '@mui/icons-material/Add';
4
4
  import IconButton from '@mui/material/IconButton';
5
- import { TranslatableString, getUiOptions, getTemplate, getInputProps, examplesId, ariaDescribedByIds, errorId, helpId, titleId, descriptionId, canExpand, getSubmitButtonOptions, ADDITIONAL_PROPERTY_FLAG, schemaRequiresTrueValue, enumOptionsIsSelected, optionId, enumOptionsSelectValue, enumOptionsDeselectValue, enumOptionsValueForIndex, enumOptionsIndexForValue, rangeSpec } from '@rjsf/utils';
5
+ import { TranslatableString, getUiOptions, getTemplate, getInputProps, examplesId, labelValue, ariaDescribedByIds, errorId, helpId, titleId, descriptionId, canExpand, getSubmitButtonOptions, ADDITIONAL_PROPERTY_FLAG, schemaRequiresTrueValue, enumOptionsIsSelected, optionId, enumOptionsSelectValue, enumOptionsDeselectValue, enumOptionsValueForIndex, enumOptionsIndexForValue, rangeSpec } from '@rjsf/utils';
6
6
  import Box from '@mui/material/Box';
7
7
  import Grid from '@mui/material/Grid';
8
8
  import Paper from '@mui/material/Paper';
@@ -223,7 +223,7 @@ function ArrayFieldTemplate(props) {
223
223
  });
224
224
  }
225
225
 
226
- var _excluded$2 = ["id", "name", "placeholder", "required", "readonly", "disabled", "type", "label", "value", "onChange", "onChangeOverride", "onBlur", "onFocus", "autofocus", "options", "schema", "uiSchema", "rawErrors", "formContext", "registry", "InputLabelProps"],
226
+ var _excluded$2 = ["id", "name", "placeholder", "required", "readonly", "disabled", "type", "label", "hideLabel", "value", "onChange", "onChangeOverride", "onBlur", "onFocus", "autofocus", "options", "schema", "uiSchema", "rawErrors", "formContext", "registry", "InputLabelProps"],
227
227
  _excluded2$1 = ["step", "min", "max"];
228
228
  var TYPES_THAT_SHRINK_LABEL = ['date', 'datetime-local', 'file', 'time'];
229
229
  /** The `BaseInputTemplate` is the template to use to render the basic `<input>` component for the `core` theme.
@@ -240,6 +240,7 @@ function BaseInputTemplate(props) {
240
240
  disabled = props.disabled,
241
241
  type = props.type,
242
242
  label = props.label,
243
+ hideLabel = props.hideLabel,
243
244
  value = props.value,
244
245
  onChange = props.onChange,
245
246
  onChangeOverride = props.onChangeOverride,
@@ -248,10 +249,8 @@ function BaseInputTemplate(props) {
248
249
  autofocus = props.autofocus,
249
250
  options = props.options,
250
251
  schema = props.schema,
251
- uiSchema = props.uiSchema,
252
252
  _props$rawErrors = props.rawErrors,
253
253
  rawErrors = _props$rawErrors === void 0 ? [] : _props$rawErrors,
254
- registry = props.registry,
255
254
  InputLabelProps = props.InputLabelProps,
256
255
  textFieldProps = _objectWithoutPropertiesLoose(props, _excluded$2);
257
256
  var inputProps = getInputProps(schema, type, options);
@@ -281,8 +280,6 @@ function BaseInputTemplate(props) {
281
280
  var value = _ref3.target.value;
282
281
  return onFocus(id, value);
283
282
  };
284
- var schemaUtils = registry.schemaUtils;
285
- var displayLabel = schemaUtils.getDisplayLabel(schema, uiSchema);
286
283
  var DisplayInputLabelProps = TYPES_THAT_SHRINK_LABEL.includes(type) ? _extends({}, InputLabelProps, {
287
284
  shrink: true
288
285
  }) : InputLabelProps;
@@ -291,7 +288,7 @@ function BaseInputTemplate(props) {
291
288
  id: id,
292
289
  name: id,
293
290
  placeholder: placeholder,
294
- label: displayLabel ? label || schema.title : false,
291
+ label: labelValue(label || undefined, hideLabel, false),
295
292
  autoFocus: autofocus,
296
293
  required: required,
297
294
  disabled: disabled || readonly
@@ -556,16 +553,16 @@ function ObjectFieldTemplate(props) {
556
553
  // Button templates are not overridden in the uiSchema
557
554
  var AddButton = registry.templates.ButtonTemplates.AddButton;
558
555
  return jsxs(Fragment, {
559
- children: [(uiOptions.title || title) && jsx(TitleFieldTemplate, {
556
+ children: [title && jsx(TitleFieldTemplate, {
560
557
  id: titleId(idSchema),
561
558
  title: title,
562
559
  required: required,
563
560
  schema: schema,
564
561
  uiSchema: uiSchema,
565
562
  registry: registry
566
- }), (uiOptions.description || description) && jsx(DescriptionFieldTemplate, {
563
+ }), description && jsx(DescriptionFieldTemplate, {
567
564
  id: descriptionId(idSchema),
568
- description: uiOptions.description || description,
565
+ description: description,
569
566
  schema: schema,
570
567
  uiSchema: uiSchema,
571
568
  registry: registry
@@ -762,16 +759,23 @@ var Templates = /*#__PURE__*/generateTemplates();
762
759
  * @param props - The `WidgetProps` for this component
763
760
  */
764
761
  function CheckboxWidget(props) {
762
+ var _options$description;
765
763
  var schema = props.schema,
766
764
  id = props.id,
767
765
  value = props.value,
768
766
  disabled = props.disabled,
769
767
  readonly = props.readonly,
770
- label = props.label,
768
+ _props$label = props.label,
769
+ label = _props$label === void 0 ? '' : _props$label,
770
+ hideLabel = props.hideLabel,
771
771
  autofocus = props.autofocus,
772
772
  onChange = props.onChange,
773
773
  onBlur = props.onBlur,
774
- onFocus = props.onFocus;
774
+ onFocus = props.onFocus,
775
+ registry = props.registry,
776
+ options = props.options,
777
+ uiSchema = props.uiSchema;
778
+ var DescriptionFieldTemplate = getTemplate('DescriptionFieldTemplate', registry, options);
775
779
  // Because an unchecked checkbox will cause html5 validation to fail, only add
776
780
  // the "required" attribute if the field value must be "true", due to the
777
781
  // "const" or "enum" keywords
@@ -787,20 +791,29 @@ function CheckboxWidget(props) {
787
791
  var value = _ref2.target.value;
788
792
  return onFocus(id, value);
789
793
  };
790
- return jsx(FormControlLabel, {
791
- control: jsx(Checkbox, {
792
- id: id,
793
- name: id,
794
- checked: typeof value === 'undefined' ? false : Boolean(value),
795
- required: required,
796
- disabled: disabled || readonly,
797
- autoFocus: autofocus,
798
- onChange: _onChange,
799
- onBlur: _onBlur,
800
- onFocus: _onFocus,
801
- "aria-describedby": ariaDescribedByIds(id)
802
- }),
803
- label: label || ''
794
+ var description = (_options$description = options.description) != null ? _options$description : schema.description;
795
+ return jsxs(Fragment, {
796
+ children: [!hideLabel && !!description && jsx(DescriptionFieldTemplate, {
797
+ id: descriptionId(id),
798
+ description: description,
799
+ schema: schema,
800
+ uiSchema: uiSchema,
801
+ registry: registry
802
+ }), jsx(FormControlLabel, {
803
+ control: jsx(Checkbox, {
804
+ id: id,
805
+ name: id,
806
+ checked: typeof value === 'undefined' ? false : Boolean(value),
807
+ required: required,
808
+ disabled: disabled || readonly,
809
+ autoFocus: autofocus,
810
+ onChange: _onChange,
811
+ onBlur: _onBlur,
812
+ onFocus: _onFocus,
813
+ "aria-describedby": ariaDescribedByIds(id)
814
+ }),
815
+ label: labelValue(label, hideLabel, false)
816
+ })]
804
817
  });
805
818
  }
806
819
 
@@ -810,8 +823,8 @@ function CheckboxWidget(props) {
810
823
  * @param props - The `WidgetProps` for this component
811
824
  */
812
825
  function CheckboxesWidget(_ref) {
813
- var schema = _ref.schema,
814
- label = _ref.label,
826
+ var label = _ref.label,
827
+ hideLabel = _ref.hideLabel,
815
828
  id = _ref.id,
816
829
  disabled = _ref.disabled,
817
830
  options = _ref.options,
@@ -846,11 +859,11 @@ function CheckboxesWidget(_ref) {
846
859
  return onFocus(id, enumOptionsValueForIndex(value, enumOptions, emptyValue));
847
860
  };
848
861
  return jsxs(Fragment, {
849
- children: [jsx(FormLabel, {
862
+ children: [labelValue(jsx(FormLabel, {
850
863
  required: required,
851
864
  htmlFor: id,
852
- children: label || schema.title
853
- }), jsx(FormGroup, {
865
+ children: label || undefined
866
+ }), hideLabel), jsx(FormGroup, {
854
867
  id: id,
855
868
  row: !!inline,
856
869
  children: Array.isArray(enumOptions) && enumOptions.map(function (option, index) {
@@ -882,14 +895,15 @@ function CheckboxesWidget(_ref) {
882
895
  * @param props - The `WidgetProps` for this component
883
896
  */
884
897
  function RadioWidget(_ref) {
898
+ var _enumOptionsIndexForV;
885
899
  var id = _ref.id,
886
- schema = _ref.schema,
887
900
  options = _ref.options,
888
901
  value = _ref.value,
889
902
  required = _ref.required,
890
903
  disabled = _ref.disabled,
891
904
  readonly = _ref.readonly,
892
905
  label = _ref.label,
906
+ hideLabel = _ref.hideLabel,
893
907
  onChange = _ref.onChange,
894
908
  onBlur = _ref.onBlur,
895
909
  onFocus = _ref.onFocus;
@@ -908,13 +922,13 @@ function RadioWidget(_ref) {
908
922
  return onFocus(id, enumOptionsValueForIndex(value, enumOptions, emptyValue));
909
923
  };
910
924
  var row = options ? options.inline : false;
911
- var selectedIndex = enumOptionsIndexForValue(value, enumOptions);
925
+ var selectedIndex = (_enumOptionsIndexForV = enumOptionsIndexForValue(value, enumOptions)) != null ? _enumOptionsIndexForV : null;
912
926
  return jsxs(Fragment, {
913
- children: [jsx(FormLabel, {
927
+ children: [labelValue(jsx(FormLabel, {
914
928
  required: required,
915
929
  htmlFor: id,
916
- children: label || schema.title
917
- }), jsx(RadioGroup, {
930
+ children: label || undefined
931
+ }), hideLabel), jsx(RadioGroup, {
918
932
  id: id,
919
933
  name: id,
920
934
  value: selectedIndex,
@@ -957,6 +971,7 @@ function RangeWidget(props) {
957
971
  onChange = props.onChange,
958
972
  required = props.required,
959
973
  label = props.label,
974
+ hideLabel = props.hideLabel,
960
975
  id = props.id;
961
976
  var sliderProps = _extends({
962
977
  value: value,
@@ -976,11 +991,11 @@ function RangeWidget(props) {
976
991
  return onFocus(id, value);
977
992
  };
978
993
  return jsxs(Fragment, {
979
- children: [jsx(FormLabel, {
994
+ children: [labelValue(jsx(FormLabel, {
980
995
  required: required,
981
996
  htmlFor: id,
982
- children: label || schema.title
983
- }), jsx(Slider, _extends({
997
+ children: label || undefined
998
+ }), hideLabel), jsx(Slider, _extends({
984
999
  disabled: disabled || readonly,
985
1000
  onChange: _onChange,
986
1001
  onBlur: _onBlur,
@@ -992,17 +1007,17 @@ function RangeWidget(props) {
992
1007
  });
993
1008
  }
994
1009
 
995
- var _excluded = ["schema", "id", "name", "options", "label", "required", "disabled", "placeholder", "readonly", "value", "multiple", "autofocus", "onChange", "onBlur", "onFocus", "rawErrors", "registry", "uiSchema", "hideError", "formContext"];
1010
+ var _excluded = ["schema", "id", "name", "options", "label", "hideLabel", "required", "disabled", "placeholder", "readonly", "value", "multiple", "autofocus", "onChange", "onBlur", "onFocus", "rawErrors", "registry", "uiSchema", "hideError", "formContext"];
996
1011
  /** The `SelectWidget` is a widget for rendering dropdowns.
997
1012
  * It is typically used with string properties constrained with enum options.
998
1013
  *
999
1014
  * @param props - The `WidgetProps` for this component
1000
1015
  */
1001
1016
  function SelectWidget(_ref) {
1002
- var schema = _ref.schema,
1003
- id = _ref.id,
1017
+ var id = _ref.id,
1004
1018
  options = _ref.options,
1005
1019
  label = _ref.label,
1020
+ hideLabel = _ref.hideLabel,
1006
1021
  required = _ref.required,
1007
1022
  disabled = _ref.disabled,
1008
1023
  placeholder = _ref.placeholder,
@@ -1038,7 +1053,7 @@ function SelectWidget(_ref) {
1038
1053
  return jsx(TextField, _extends({
1039
1054
  id: id,
1040
1055
  name: id,
1041
- label: label || schema.title,
1056
+ label: labelValue(label || undefined, hideLabel, false),
1042
1057
  value: isEmpty ? emptyValue : selectedIndexes,
1043
1058
  required: required,
1044
1059
  disabled: disabled || readonly,