{"version":3,"file":"Form.cjs","names":["_Checkbox","require","_FormControlLabel","_FormGroup","_FormLabel","_Radio","_Typography","formComponents","odysseyTokens","MuiFormControl","defaultProps","margin","styleOverrides","root","ownerState","width","maxWidth","TypographyLineLengthMax","marginBlockStart","marginBlockEnd","Spacing4","Spacing5","fullWidth","formGroupClasses","Spacing1","Spacing6","MuiFormControlLabel","gap","Spacing2","marginInlineStart","marginInlineEnd","labelPlacement","marginBottom","pointerEvents","formControlLabelClasses","label","color","TypographyColorDisabled","typographyClasses","radioClasses","alignItems","checkboxClasses","TypographyColorBody","PalettePrimaryDark","PaletteDangerDark","lineHeight","TypographyLineHeightUi","asterisk","display","MuiFormHelperText","variant","fontSize","TypographySizeSubordinate","TypographyLineHeightBody","textAlign","formLabelClasses","TypographyColorSubordinate","a","MuiFormLabel","TypographySizeBody","fontWeight","TypographyWeightBodyBold","exports"],"sources":["../../../../src/theme/components/Form.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2026-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport type { ThemeOptions } from \"@mui/material\";\n\nimport { checkboxClasses } from \"@mui/material/Checkbox\";\nimport { formControlLabelClasses } from \"@mui/material/FormControlLabel\";\nimport { formGroupClasses } from \"@mui/material/FormGroup\";\nimport { formLabelClasses } from \"@mui/material/FormLabel\";\nimport { radioClasses } from \"@mui/material/Radio\";\nimport { typographyClasses } from \"@mui/material/Typography\";\n\nimport type { GetComponentsProps } from \"./types.js\";\n\nexport const formComponents = ({\n  odysseyTokens,\n}: GetComponentsProps): Pick<\n  NonNullable<ThemeOptions[\"components\"]>,\n  | \"MuiFormControl\"\n  | \"MuiFormControlLabel\"\n  | \"MuiFormHelperText\"\n  | \"MuiFormLabel\"\n> => ({\n  MuiFormControl: {\n    defaultProps: {\n      margin: \"normal\",\n    },\n    styleOverrides: {\n      root: ({ ownerState }) => ({\n        width: \"100%\",\n        maxWidth: odysseyTokens.TypographyLineLengthMax,\n        ...(ownerState.margin === \"normal\" && {\n          marginBlockStart: 0,\n          marginBlockEnd: odysseyTokens.Spacing4,\n          \"&:last-child\": {\n            marginBlockEnd: 0,\n          },\n        }),\n        ...(ownerState.margin === \"dense\" && {\n          marginBlockStart: 0,\n          marginBlockEnd: odysseyTokens.Spacing5,\n          \"&:last-child\": {\n            marginBlockEnd: 0,\n          },\n        }),\n        ...(ownerState.fullWidth && {\n          maxWidth: \"100%\",\n        }),\n        [`& .${formGroupClasses.root}`]: {\n          marginBlockStart: odysseyTokens.Spacing1,\n        },\n        [`&:has(+ [data-file-preview-container])`]: {\n          marginBlockEnd: 0,\n        },\n\n        \".MuiChip-root\": {\n          // using 55ch - 24px to account for the 24px of padding on the right side of the container. Ensures chip does not enlarge the container\n          maxWidth: `calc(${odysseyTokens.TypographyLineLengthMax} - ${odysseyTokens.Spacing6})`,\n        },\n      }),\n    },\n  },\n  MuiFormControlLabel: {\n    styleOverrides: {\n      root: ({ ownerState }) => ({\n        gap: odysseyTokens.Spacing2,\n        marginInlineStart: 0,\n        marginInlineEnd: 0, // used for row presentation of radio/checkbox\n        ...(ownerState.labelPlacement === \"start\" && {\n          marginInlineStart: 0, // used for row presentation of radio/checkbox\n          marginInlineEnd: 0,\n        }),\n        ...(ownerState.labelPlacement === \"top\" && {\n          marginInlineStart: 0,\n        }),\n        ...(ownerState.labelPlacement === \"bottom\" && {\n          marginInlineStart: 0,\n        }),\n        \"&:not(:last-child)\": {\n          marginBottom: odysseyTokens.Spacing2,\n        },\n        \"&.Mui-disabled\": {\n          pointerEvents: \"none\",\n          [`& .${formControlLabelClasses.label}`]: {\n            color: odysseyTokens.TypographyColorDisabled,\n            [`& .${typographyClasses.root}`]: {\n              color: \"inherit\",\n            },\n          },\n        },\n        [`:has(> .${radioClasses.root})`]: {\n          alignItems: \"flex-start\",\n        },\n        [`&:hover .${radioClasses.root}, &:hover .${checkboxClasses.root}`]: {\n          color: odysseyTokens.TypographyColorBody,\n        },\n        [`&:hover .${radioClasses.root}.Mui-checked, &:hover .${checkboxClasses.root}.Mui-checked`]:\n          {\n            color: odysseyTokens.PalettePrimaryDark,\n          },\n        [`&.Mui-error:hover .${radioClasses.root}, &.Mui-error:hover .${checkboxClasses.root}`]:\n          {\n            color: odysseyTokens.PaletteDangerDark,\n          },\n        [`&.Mui-error:hover .${radioClasses.root}.Mui-checked, &.Mui-error:hover .${checkboxClasses.root}.Mui-checked`]:\n          {\n            color: odysseyTokens.PaletteDangerDark,\n          },\n      }),\n      label: () => ({\n        gap: odysseyTokens.Spacing1,\n        lineHeight: odysseyTokens.TypographyLineHeightUi,\n      }),\n      asterisk: () => ({\n        display: \"none\",\n      }),\n    },\n  },\n  MuiFormHelperText: {\n    defaultProps: {\n      variant: \"standard\",\n    },\n    styleOverrides: {\n      root: {\n        fontSize: odysseyTokens.TypographySizeSubordinate,\n        lineHeight: odysseyTokens.TypographyLineHeightBody,\n        marginBlockEnd: odysseyTokens.Spacing2,\n        marginBlockStart: odysseyTokens.Spacing1,\n        textAlign: \"start\",\n\n        [`.${formLabelClasses.root} + &`]: {\n          marginBlockStart: `-${odysseyTokens.Spacing1}`,\n          color: odysseyTokens.TypographyColorSubordinate,\n        },\n\n        \"&:last-child\": {\n          marginBlockEnd: 0,\n        },\n\n        \".Mui-disabled &\": {\n          color: odysseyTokens.TypographyColorDisabled,\n\n          a: {\n            color: odysseyTokens.TypographyColorDisabled,\n          },\n        },\n      },\n    },\n  },\n  MuiFormLabel: {\n    styleOverrides: {\n      // Align on the first text line so the optional indicator stays with the start of a multi-line wrapped group label rather than its vertical center.\n      root: {\n        alignItems: \"baseline\",\n        color: odysseyTokens.TypographyColorBody,\n        display: \"inline-flex\",\n        lineHeight: odysseyTokens.TypographyLineHeightUi,\n        fontSize: odysseyTokens.TypographySizeBody,\n        fontWeight: odysseyTokens.TypographyWeightBodyBold,\n        marginBottom: odysseyTokens.Spacing2,\n        \"&.Mui-focused, &.Mui-error, &.Mui-disabled\": {\n          color: odysseyTokens.TypographyColorBody,\n        },\n        \"& > .MuiTypography-root\": {\n          margin: \"reset\",\n          marginInlineStart: odysseyTokens.Spacing1,\n        },\n      },\n    },\n  },\n});\n"],"mappings":"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","ignoreList":[]}