{"version":3,"file":"Checkbox.cjs","names":["_FormControlLabel","require","_SvgIcon","_index","_jsxRuntime","checkboxComponents","odysseyTokens","MuiCheckbox","defaultProps","checkedIcon","jsx","CheckIcon","icon","Fragment","indeterminateIcon","SubtractIcon","size","styleOverrides","root","ownerState","theme","isReadOnly","inputProps","readOnly","width","TypographyLineHeightUi","minWidth","height","borderRadius","BorderRadiusTight","border","HueNeutral500","padding","boxShadow","transition","transitions","create","duration","TransitionDurationMain","svgIconClasses","color","HueNeutralWhite","backgroundColor","PalettePrimaryMain","borderColor","formControlLabelClasses","PalettePrimaryDark","HueNeutral900","BorderColorDangerDark","PaletteDangerDark","BorderColorDangerControl","PaletteDangerMain","outline","outlineOffset","HueNeutral50","HueNeutral300","HueNeutral100","cursor","HueNeutral700","exports"],"sources":["../../../../src/theme/components/Checkbox.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 { formControlLabelClasses } from \"@mui/material/FormControlLabel\";\nimport { svgIconClasses } from \"@mui/material/SvgIcon\";\n\nimport type { GetComponentsProps } from \"./types.js\";\n\nimport { CheckIcon, SubtractIcon } from \"../../icons.generated/index.js\";\n\nexport const checkboxComponents = ({\n  odysseyTokens,\n}: GetComponentsProps): Pick<\n  NonNullable<ThemeOptions[\"components\"]>,\n  \"MuiCheckbox\"\n> => ({\n  MuiCheckbox: {\n    defaultProps: {\n      checkedIcon: <CheckIcon />,\n      icon: <></>,\n      indeterminateIcon: <SubtractIcon />,\n      size: \"small\",\n    },\n    styleOverrides: {\n      root: ({ ownerState, theme }) => {\n        const isReadOnly = ownerState?.inputProps?.readOnly;\n\n        return {\n          width: `${odysseyTokens.TypographyLineHeightUi}em`,\n          minWidth: `${odysseyTokens.TypographyLineHeightUi}em`,\n          height: `${odysseyTokens.TypographyLineHeightUi}em`,\n          borderRadius: odysseyTokens.BorderRadiusTight,\n          border: `1px solid ${odysseyTokens.HueNeutral500}`,\n          padding: 0,\n          boxShadow: `0 0 0 0 transparent`,\n          transition: theme.transitions.create(\n            [\"border-color\", \"background-color\", \"box-shadow\"],\n            {\n              duration: odysseyTokens.TransitionDurationMain,\n            },\n          ),\n\n          [`.${svgIconClasses.root}`]: {\n            color: odysseyTokens.HueNeutralWhite,\n            transition: theme.transitions.create([\"color\"], {\n              duration: odysseyTokens.TransitionDurationMain,\n            }),\n          },\n\n          \"&.Mui-checked, &.MuiCheckbox-indeterminate\": {\n            backgroundColor: odysseyTokens.PalettePrimaryMain,\n            borderColor: odysseyTokens.PalettePrimaryMain,\n\n            [`.${formControlLabelClasses.root}:hover > &`]: {\n              backgroundColor: odysseyTokens.PalettePrimaryDark,\n              borderColor: odysseyTokens.PalettePrimaryDark,\n            },\n          },\n\n          [`.${formControlLabelClasses.root}:hover > &`]: {\n            backgroundColor: \"transparent\",\n            borderColor: odysseyTokens.HueNeutral900,\n          },\n\n          \".Mui-error:not(.Mui-valid):hover > &\": {\n            borderColor: odysseyTokens.BorderColorDangerDark,\n\n            \"&.Mui-checked\": {\n              backgroundColor: odysseyTokens.PaletteDangerDark,\n              borderColor: odysseyTokens.BorderColorDangerDark,\n            },\n          },\n          \".Mui-error:not(.Mui-valid) > &\": {\n            borderColor: odysseyTokens.BorderColorDangerControl,\n\n            \"&.Mui-checked\": {\n              backgroundColor: odysseyTokens.PaletteDangerMain,\n              borderColor: odysseyTokens.BorderColorDangerControl,\n            },\n\n            \"&.Mui-focusVisible\": {\n              boxShadow: `0 0 0 2px ${odysseyTokens.HueNeutralWhite}, 0 0 0 4px ${odysseyTokens.PaletteDangerMain}`,\n            },\n          },\n          \"&.Mui-focusVisible\": {\n            borderColor: odysseyTokens.HueNeutral900,\n            boxShadow: `0 0 0 2px ${odysseyTokens.HueNeutralWhite}, 0 0 0 4px ${odysseyTokens.PalettePrimaryMain}`,\n            outline: \"2px solid transparent\",\n            outlineOffset: \"1px\",\n          },\n          \"&.Mui-disabled\": {\n            backgroundColor: odysseyTokens.HueNeutral50,\n            borderColor: odysseyTokens.HueNeutral300,\n\n            \".Mui-error:not(.Mui-valid) > &\": {\n              backgroundColor: odysseyTokens.HueNeutral50,\n              borderColor: odysseyTokens.HueNeutral300,\n            },\n\n            [`.${svgIconClasses.root}`]: {\n              color: odysseyTokens.HueNeutral300,\n            },\n          },\n\n          ...(isReadOnly && {\n            // Override default styles\n            backgroundColor: odysseyTokens.HueNeutral100,\n            border: `1px solid ${odysseyTokens.HueNeutral300}`,\n            cursor: \"default\",\n\n            // Override checked/indeterminate styles\n            \"&.Mui-checked, &.MuiCheckbox-indeterminate\": {\n              backgroundColor: odysseyTokens.HueNeutral100,\n              borderColor: odysseyTokens.HueNeutral300,\n\n              [`.${formControlLabelClasses.root}:hover > &`]: {\n                backgroundColor: odysseyTokens.HueNeutral100,\n                borderColor: odysseyTokens.HueNeutral300,\n              },\n            },\n            [`.${formControlLabelClasses.root}:hover > &`]: {\n              backgroundColor: odysseyTokens.HueNeutral100,\n              borderColor: odysseyTokens.HueNeutral300,\n            },\n            // ReadOnly styles for SVG check icon\n            [`.${svgIconClasses.root}`]: {\n              color: odysseyTokens.HueNeutral700,\n            },\n          }),\n        };\n      },\n    },\n  },\n});\n"],"mappings":"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","ignoreList":[]}