Search
Search
Search
Search
Information
Information
Light
Dark
Open actions menu
Basic upload method
Bypass upload method
Tips!
If you encounter an error (by firewall) while uploading using both methods,
try changing extension of the file before uploading it and rename it right after.
This uploader supports multiple file upload.
Submit
~
var
www
uibuilder.cmshelp.dk
httpdocs
node_modules
@mui
material
FormControlLabel
File Content:
FormControlLabel.js
'use client'; import * as React from 'react'; import PropTypes from 'prop-types'; import clsx from 'clsx'; import refType from '@mui/utils/refType'; import composeClasses from '@mui/utils/composeClasses'; import { useFormControl } from "../FormControl/index.js"; import { styled } from "../zero-styled/index.js"; import memoTheme from "../utils/memoTheme.js"; import { useDefaultProps } from "../DefaultPropsProvider/index.js"; import Typography from "../Typography/index.js"; import capitalize from "../utils/capitalize.js"; import formControlLabelClasses, { getFormControlLabelUtilityClasses } from "./formControlLabelClasses.js"; import formControlState from "../FormControl/formControlState.js"; import useSlot from "../utils/useSlot.js"; import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime"; const useUtilityClasses = ownerState => { const { classes, disabled, labelPlacement, error, required } = ownerState; const slots = { root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'], label: ['label', disabled && 'disabled'], asterisk: ['asterisk', error && 'error'] }; return composeClasses(slots, getFormControlLabelUtilityClasses, classes); }; export const FormControlLabelRoot = styled('label', { name: 'MuiFormControlLabel', slot: 'Root', overridesResolver: (props, styles) => { const { ownerState } = props; return [{ [`& .${formControlLabelClasses.label}`]: styles.label }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]]; } })(memoTheme(({ theme }) => ({ display: 'inline-flex', alignItems: 'center', cursor: 'pointer', // For correct alignment with the text. verticalAlign: 'middle', WebkitTapHighlightColor: 'transparent', marginLeft: -11, marginRight: 16, // used for row presentation of radio/checkbox [`&.${formControlLabelClasses.disabled}`]: { cursor: 'default' }, [`& .${formControlLabelClasses.label}`]: { [`&.${formControlLabelClasses.disabled}`]: { color: (theme.vars || theme).palette.text.disabled } }, variants: [{ props: { labelPlacement: 'start' }, style: { flexDirection: 'row-reverse', marginRight: -11 } }, { props: { labelPlacement: 'top' }, style: { flexDirection: 'column-reverse' } }, { props: { labelPlacement: 'bottom' }, style: { flexDirection: 'column' } }, { props: ({ labelPlacement }) => labelPlacement === 'start' || labelPlacement === 'top' || labelPlacement === 'bottom', style: { marginLeft: 16 // used for row presentation of radio/checkbox } }] }))); const AsteriskComponent = styled('span', { name: 'MuiFormControlLabel', slot: 'Asterisk', overridesResolver: (props, styles) => styles.asterisk })(memoTheme(({ theme }) => ({ [`&.${formControlLabelClasses.error}`]: { color: (theme.vars || theme).palette.error.main } }))); /** * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component. * Use this component if you want to display an extra label. */ const FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) { const props = useDefaultProps({ props: inProps, name: 'MuiFormControlLabel' }); const { checked, className, componentsProps = {}, control, disabled: disabledProp, disableTypography, inputRef, label: labelProp, labelPlacement = 'end', name, onChange, required: requiredProp, slots = {}, slotProps = {}, value, ...other } = props; const muiFormControl = useFormControl(); const disabled = disabledProp ?? control.props.disabled ?? muiFormControl?.disabled; const required = requiredProp ?? control.props.required; const controlProps = { disabled, required }; ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => { if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') { controlProps[key] = props[key]; } }); const fcs = formControlState({ props, muiFormControl, states: ['error'] }); const ownerState = { ...props, disabled, labelPlacement, required, error: fcs.error }; const classes = useUtilityClasses(ownerState); const externalForwardedProps = { slots, slotProps: { ...componentsProps, ...slotProps } }; const [TypographySlot, typographySlotProps] = useSlot('typography', { elementType: Typography, externalForwardedProps, ownerState }); let label = labelProp; if (label != null && label.type !== Typography && !disableTypography) { label = /*#__PURE__*/_jsx(TypographySlot, { component: "span", ...typographySlotProps, className: clsx(classes.label, typographySlotProps?.className), children: label }); } return /*#__PURE__*/_jsxs(FormControlLabelRoot, { className: clsx(classes.root, className), ownerState: ownerState, ref: ref, ...other, children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs("div", { children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, { ownerState: ownerState, "aria-hidden": true, className: classes.asterisk, children: ["\u2009", '*'] })] }) : label] }); }); process.env.NODE_ENV !== "production" ? FormControlLabel.propTypes /* remove-proptypes */ = { // ┌────────────────────────────── Warning ──────────────────────────────┐ // │ These PropTypes are generated from the TypeScript type definitions. │ // │ To update them, edit the d.ts file and run `pnpm proptypes`. │ // └─────────────────────────────────────────────────────────────────────┘ /** * If `true`, the component appears selected. */ checked: PropTypes.bool, /** * Override or extend the styles applied to the component. */ classes: PropTypes.object, /** * @ignore */ className: PropTypes.string, /** * The props used for each slot inside. * @default {} * @deprecated use the `slotProps` prop instead. This prop will be removed in v7. See [Migrating from deprecated APIs](https://mui.com/material-ui/migration/migrating-from-deprecated-apis/) for more details. */ componentsProps: PropTypes.shape({ typography: PropTypes.object }), /** * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`. */ control: PropTypes.element.isRequired, /** * If `true`, the control is disabled. */ disabled: PropTypes.bool, /** * If `true`, the label is rendered as it is passed without an additional typography node. */ disableTypography: PropTypes.bool, /** * Pass a ref to the `input` element. */ inputRef: refType, /** * A text or an element to be used in an enclosing label element. */ label: PropTypes.node, /** * The position of the label. * @default 'end' */ labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']), /** * @ignore */ name: PropTypes.string, /** * Callback fired when the state is changed. * * @param {React.SyntheticEvent} event The event source of the callback. * You can pull out the new checked state by accessing `event.target.checked` (boolean). */ onChange: PropTypes.func, /** * If `true`, the label will indicate that the `input` is required. */ required: PropTypes.bool, /** * The props used for each slot inside. * @default {} */ slotProps: PropTypes.shape({ typography: PropTypes.oneOfType([PropTypes.func, PropTypes.object]) }), /** * The components used for each slot inside. * @default {} */ slots: PropTypes.shape({ typography: PropTypes.elementType }), /** * The system prop that allows defining system overrides as well as additional CSS styles. */ sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]), /** * The value of the component. */ value: PropTypes.any } : void 0; export default FormControlLabel;
Edit
Download
Unzip
Chmod
Delete