@atipicus/mrs-ui 1.0.0 → 1.0.2

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.
Files changed (79) hide show
  1. package/dist/DatePicker-BKPeAHBW.mjs +25 -0
  2. package/dist/DatePicker-BKPeAHBW.mjs.map +1 -0
  3. package/dist/DatePicker-Du7BnvWs.js +24 -0
  4. package/dist/DatePicker-Du7BnvWs.js.map +1 -0
  5. package/dist/DateTimePicker-Cj0NPhiR.js +26 -0
  6. package/dist/DateTimePicker-Cj0NPhiR.js.map +1 -0
  7. package/dist/DateTimePicker-Xho8h3ww.mjs +27 -0
  8. package/dist/DateTimePicker-Xho8h3ww.mjs.map +1 -0
  9. package/dist/Dialog-CTl9ynAU.js +34 -0
  10. package/dist/Dialog-CTl9ynAU.js.map +1 -0
  11. package/dist/Dialog-Tfym7LkJ.mjs +35 -0
  12. package/dist/Dialog-Tfym7LkJ.mjs.map +1 -0
  13. package/dist/Drawer-9nL7gecl.mjs +53 -0
  14. package/dist/Drawer-9nL7gecl.mjs.map +1 -0
  15. package/dist/Drawer-Cs8bfNKk.js +52 -0
  16. package/dist/Drawer-Cs8bfNKk.js.map +1 -0
  17. package/dist/Table-BWJUQgDY.js +87 -0
  18. package/dist/Table-BWJUQgDY.js.map +1 -0
  19. package/dist/Table-BrEk_oGh.mjs +88 -0
  20. package/dist/Table-BrEk_oGh.mjs.map +1 -0
  21. package/dist/TimePicker-BCpPRTJI.js +24 -0
  22. package/dist/TimePicker-BCpPRTJI.js.map +1 -0
  23. package/dist/TimePicker-Bt5plyjC.mjs +25 -0
  24. package/dist/TimePicker-Bt5plyjC.mjs.map +1 -0
  25. package/dist/Timeline-BPdic0I4.mjs +59 -0
  26. package/dist/Timeline-BPdic0I4.mjs.map +1 -0
  27. package/dist/Timeline-BzDR_6ve.js +58 -0
  28. package/dist/Timeline-BzDR_6ve.js.map +1 -0
  29. package/dist/components/atoms/TextField/TextField.types.d.ts +1 -1
  30. package/dist/components/atoms/TextField/TextField.types.d.ts.map +1 -1
  31. package/dist/index--v2dNPpd.js +11 -0
  32. package/dist/index--v2dNPpd.js.map +1 -0
  33. package/dist/index-B4_KKxHQ.mjs +6 -0
  34. package/dist/index-B4_KKxHQ.mjs.map +1 -0
  35. package/dist/index-Bp_39Kmf.js +12 -0
  36. package/dist/index-Bp_39Kmf.js.map +1 -0
  37. package/dist/index-C4N6hqG7.mjs +14 -0
  38. package/dist/index-C4N6hqG7.mjs.map +1 -0
  39. package/dist/index-C4a5SkEO.js +6 -0
  40. package/dist/index-C4a5SkEO.js.map +1 -0
  41. package/dist/index-CBDmTLHS.mjs +11 -0
  42. package/dist/index-CBDmTLHS.mjs.map +1 -0
  43. package/dist/index-CLLVDdFI.mjs +12 -0
  44. package/dist/index-CLLVDdFI.mjs.map +1 -0
  45. package/dist/index-CxB9Lb7L.mjs +6 -0
  46. package/dist/index-CxB9Lb7L.mjs.map +1 -0
  47. package/dist/index-DGbzI3ul.mjs +6 -0
  48. package/dist/index-DGbzI3ul.mjs.map +1 -0
  49. package/dist/index-DQLiGYRv.js +6 -0
  50. package/dist/index-DQLiGYRv.js.map +1 -0
  51. package/dist/index-DgpKiomn.js +6 -0
  52. package/dist/index-DgpKiomn.js.map +1 -0
  53. package/dist/index-DrHcCXwi.js +6 -0
  54. package/dist/index-DrHcCXwi.js.map +1 -0
  55. package/dist/index-xewrdUFS.js +14 -0
  56. package/dist/index-xewrdUFS.js.map +1 -0
  57. package/dist/index-zqX2ktfd.mjs +6 -0
  58. package/dist/index-zqX2ktfd.mjs.map +1 -0
  59. package/dist/index.js +1603 -18703
  60. package/dist/index.js.map +1 -1
  61. package/dist/index.mjs +1605 -18692
  62. package/dist/index.mjs.map +1 -1
  63. package/dist/lazy.js +23 -23
  64. package/dist/lazy.js.map +1 -1
  65. package/dist/lazy.mjs +23 -23
  66. package/dist/lazy.mjs.map +1 -1
  67. package/package.json +2 -1
  68. package/dist/data-display-BT3VQcEN.mjs +0 -9920
  69. package/dist/data-display-BT3VQcEN.mjs.map +0 -1
  70. package/dist/data-display-DKx97xmI.js +0 -9935
  71. package/dist/data-display-DKx97xmI.js.map +0 -1
  72. package/dist/date-pickers-BMsJzi64.js +0 -34187
  73. package/dist/date-pickers-BMsJzi64.js.map +0 -1
  74. package/dist/date-pickers-CqiDeUt4.mjs +0 -34172
  75. package/dist/date-pickers-CqiDeUt4.mjs.map +0 -1
  76. package/dist/overlays-Cx39IOTG.js +0 -2380
  77. package/dist/overlays-Cx39IOTG.js.map +0 -1
  78. package/dist/overlays-a3qo0vDF.mjs +0 -2365
  79. package/dist/overlays-a3qo0vDF.mjs.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sources":["../src/tokens/generated/ts/tokens.js","../src/theme/tokens-import.ts","../src/theme/theme.ts","../src/theme/tokens.ts","../src/components/atoms/Box/Box.tsx","../node_modules/@mui/material/Stack/Stack.js","../src/components/atoms/Stack/Stack.tsx","../node_modules/@mui/material/internal/svg-icons/Person.js","../node_modules/@mui/material/Avatar/avatarClasses.js","../node_modules/@mui/material/Avatar/Avatar.js","../src/components/atoms/Avatar/Avatar.tsx","../node_modules/@mui/material/Badge/useBadge.js","../node_modules/@mui/material/Badge/badgeClasses.js","../node_modules/@mui/material/Badge/Badge.js","../src/components/atoms/Badge/Badge.tsx","../src/components/atoms/Typography/Typography.tsx","../src/components/atoms/AccountStack/AccountStack.tsx","../src/types/theme-helpers.ts","../src/components/atoms/Button/Button.tsx","../node_modules/@mui/material/internal/switchBaseClasses.js","../node_modules/@mui/material/internal/SwitchBase.js","../node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.js","../node_modules/@mui/material/internal/svg-icons/CheckBox.js","../node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.js","../node_modules/@mui/material/Checkbox/checkboxClasses.js","../node_modules/@mui/material/Checkbox/Checkbox.js","../src/components/atoms/Checkbox/Checkbox.tsx","../src/components/atoms/Chip/Chip.tsx","../src/components/atoms/CircularProgress/CircularProgress.tsx","../node_modules/@mui/material/Container/Container.js","../src/components/atoms/Container/Container.tsx","../src/components/atoms/Divider/Divider.tsx","../node_modules/@mui/material/FormControlLabel/formControlLabelClasses.js","../node_modules/@mui/material/FormControlLabel/FormControlLabel.js","../src/components/atoms/FormControlLabel/FormControlLabel.tsx","../node_modules/@mui/material/FormGroup/formGroupClasses.js","../node_modules/@mui/material/FormGroup/FormGroup.js","../src/components/atoms/FormGroup/FormGroup.tsx","../node_modules/@mui/material/Grid2/Grid2.js","../src/components/atoms/Grid/Grid.tsx","../node_modules/@mui/material/Icon/iconClasses.js","../node_modules/@mui/material/Icon/Icon.js","../src/components/atoms/Icon/Icon.tsx","../src/components/atoms/IconButton/IconButton.tsx","../node_modules/@mui/material/LinearProgress/linearProgressClasses.js","../node_modules/@mui/material/LinearProgress/LinearProgress.js","../src/components/atoms/LinearProgress/LinearProgress.tsx","../node_modules/@mui/material/Link/linkClasses.js","../node_modules/@mui/material/Link/getTextDecoration.js","../node_modules/@mui/material/Link/Link.js","../src/components/atoms/Link/Link.tsx","../src/components/atoms/MenuItem/MenuItem.tsx","../src/components/atoms/Paper/Paper.tsx","../node_modules/@mui/material/internal/svg-icons/RadioButtonUnchecked.js","../node_modules/@mui/material/internal/svg-icons/RadioButtonChecked.js","../node_modules/@mui/material/Radio/RadioButtonIcon.js","../node_modules/@mui/material/RadioGroup/RadioGroupContext.js","../node_modules/@mui/material/RadioGroup/useRadioGroup.js","../node_modules/@mui/material/Radio/radioClasses.js","../node_modules/@mui/material/Radio/Radio.js","../src/components/atoms/Radio/Radio.tsx","../node_modules/@mui/material/RadioGroup/radioGroupClasses.js","../node_modules/@mui/material/RadioGroup/RadioGroup.js","../src/components/atoms/RadioGroup/RadioGroup.tsx","../src/components/atoms/Select/Select.tsx","../node_modules/@mui/material/Skeleton/skeletonClasses.js","../node_modules/@mui/material/Skeleton/Skeleton.js","../src/components/atoms/Skeleton/Skeleton.tsx","../node_modules/@mui/material/utils/areArraysEqual.js","../node_modules/@mui/material/Slider/useSlider.js","../node_modules/@mui/material/utils/shouldSpreadAdditionalProps.js","../node_modules/@mui/material/Slider/sliderClasses.js","../node_modules/@mui/material/Slider/SliderValueLabel.js","../node_modules/@mui/material/Slider/Slider.js","../src/components/atoms/Slider/Slider.tsx","../node_modules/@mui/material/Switch/switchClasses.js","../node_modules/@mui/material/Switch/Switch.js","../src/components/atoms/Switch/Switch.tsx","../src/components/atoms/TextField/TextField.tsx","../node_modules/@mui/material/Toolbar/toolbarClasses.js","../node_modules/@mui/material/Toolbar/Toolbar.js","../src/components/atoms/Toolbar/Toolbar.tsx","../node_modules/@mui/material/Tooltip/tooltipClasses.js","../node_modules/@mui/material/Tooltip/Tooltip.js","../src/components/atoms/Tooltip/Tooltip.tsx","../node_modules/@mui/material/Accordion/AccordionContext.js","../node_modules/@mui/material/Accordion/accordionClasses.js","../node_modules/@mui/material/Accordion/Accordion.js","../src/components/molecules/Accordion/Accordion.tsx","../node_modules/@mui/material/AccordionSummary/accordionSummaryClasses.js","../node_modules/@mui/material/AccordionSummary/AccordionSummary.js","../src/components/molecules/Accordion/AccordionSummary.tsx","../node_modules/@mui/material/AccordionDetails/accordionDetailsClasses.js","../node_modules/@mui/material/AccordionDetails/AccordionDetails.js","../src/components/molecules/Accordion/AccordionDetails.tsx","../node_modules/@mui/material/AccordionActions/accordionActionsClasses.js","../node_modules/@mui/material/AccordionActions/AccordionActions.js","../src/components/molecules/Accordion/AccordionActions.tsx","../node_modules/@mui/material/Alert/alertClasses.js","../node_modules/@mui/material/internal/svg-icons/SuccessOutlined.js","../node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.js","../node_modules/@mui/material/internal/svg-icons/ErrorOutline.js","../node_modules/@mui/material/internal/svg-icons/InfoOutlined.js","../node_modules/@mui/material/internal/svg-icons/Close.js","../node_modules/@mui/material/Alert/Alert.js","../src/components/molecules/Alert/Alert.tsx","../node_modules/@mui/material/AppBar/appBarClasses.js","../node_modules/@mui/material/AppBar/AppBar.js","../src/components/molecules/AppBar/AppBar.tsx","../node_modules/@mui/material/useAutocomplete/useAutocomplete.js","../node_modules/@mui/material/ListSubheader/listSubheaderClasses.js","../node_modules/@mui/material/ListSubheader/ListSubheader.js","../node_modules/@mui/material/Autocomplete/autocompleteClasses.js","../node_modules/@mui/material/Autocomplete/Autocomplete.js","../src/components/molecules/Autocomplete/Autocomplete.tsx","../node_modules/@mui/material/BottomNavigation/bottomNavigationClasses.js","../node_modules/@mui/material/BottomNavigation/BottomNavigation.js","../src/components/molecules/BottomNavigation/BottomNavigation.tsx","../node_modules/@mui/material/BottomNavigationAction/bottomNavigationActionClasses.js","../node_modules/@mui/material/BottomNavigationAction/BottomNavigationAction.js","../src/components/molecules/BottomNavigation/BottomNavigationAction.tsx","../node_modules/@mui/material/ButtonGroup/buttonGroupClasses.js","../node_modules/@mui/material/ButtonGroup/ButtonGroup.js","../src/components/molecules/ButtonGroup/ButtonGroup.tsx","../node_modules/@mui/material/Card/cardClasses.js","../node_modules/@mui/material/Card/Card.js","../src/components/molecules/Card/Card.tsx","../node_modules/@mui/material/CardActionArea/cardActionAreaClasses.js","../node_modules/@mui/material/CardActionArea/CardActionArea.js","../src/components/molecules/Card/CardActionArea.tsx","../node_modules/@mui/material/CardActions/cardActionsClasses.js","../node_modules/@mui/material/CardActions/CardActions.js","../src/components/molecules/Card/CardActions.tsx","../node_modules/@mui/material/CardContent/cardContentClasses.js","../node_modules/@mui/material/CardContent/CardContent.js","../src/components/molecules/Card/CardContent.tsx","../node_modules/@mui/material/CardHeader/cardHeaderClasses.js","../node_modules/@mui/material/CardHeader/CardHeader.js","../src/components/molecules/Card/CardHeader.tsx","../node_modules/@mui/material/CardMedia/cardMediaClasses.js","../node_modules/@mui/material/CardMedia/CardMedia.js","../src/components/molecules/Card/CardMedia.tsx","../src/components/molecules/List/List.tsx","../src/components/molecules/ListItem/ListItem.tsx","../src/components/molecules/Menu/Menu.tsx","../node_modules/@mui/material/Pagination/paginationClasses.js","../node_modules/@mui/material/usePagination/usePagination.js","../node_modules/@mui/material/PaginationItem/paginationItemClasses.js","../node_modules/@mui/material/internal/svg-icons/FirstPage.js","../node_modules/@mui/material/internal/svg-icons/LastPage.js","../node_modules/@mui/material/internal/svg-icons/NavigateBefore.js","../node_modules/@mui/material/internal/svg-icons/NavigateNext.js","../node_modules/@mui/material/PaginationItem/PaginationItem.js","../node_modules/@mui/material/Pagination/Pagination.js","../src/components/molecules/Pagination/Pagination.tsx","../node_modules/@mui/material/internal/svg-icons/Star.js","../node_modules/@mui/material/internal/svg-icons/StarBorder.js","../node_modules/@mui/material/Rating/ratingClasses.js","../node_modules/@mui/material/Rating/Rating.js","../src/components/molecules/Rating/Rating.tsx","../src/components/molecules/Sidenav/Sidenav.tsx","../src/components/molecules/Sidenav/Sidenav.types.ts","../node_modules/@mui/material/Snackbar/useSnackbar.js","../node_modules/@mui/material/ClickAwayListener/ClickAwayListener.js","../node_modules/@mui/material/SnackbarContent/snackbarContentClasses.js","../node_modules/@mui/material/SnackbarContent/SnackbarContent.js","../node_modules/@mui/material/Snackbar/snackbarClasses.js","../node_modules/@mui/material/Snackbar/Snackbar.js","../src/components/molecules/Snackbar/Snackbar.tsx","../node_modules/@mui/material/Zoom/Zoom.js","../node_modules/@mui/material/Fab/fabClasses.js","../node_modules/@mui/material/Fab/Fab.js","../node_modules/@mui/material/SpeedDial/speedDialClasses.js","../node_modules/@mui/material/SpeedDial/SpeedDial.js","../src/components/molecules/SpeedDial/SpeedDial.tsx","../node_modules/@mui/material/SpeedDialAction/speedDialActionClasses.js","../node_modules/@mui/material/SpeedDialAction/SpeedDialAction.js","../src/components/molecules/SpeedDial/SpeedDialAction.tsx","../node_modules/@mui/material/internal/svg-icons/Add.js","../node_modules/@mui/material/SpeedDialIcon/speedDialIconClasses.js","../node_modules/@mui/material/SpeedDialIcon/SpeedDialIcon.js","../src/components/molecules/SpeedDial/SpeedDialIcon.tsx","../node_modules/@mui/material/Stepper/stepperClasses.js","../node_modules/@mui/material/Stepper/StepperContext.js","../node_modules/@mui/material/Step/StepContext.js","../node_modules/@mui/material/StepConnector/stepConnectorClasses.js","../node_modules/@mui/material/StepConnector/StepConnector.js","../node_modules/@mui/material/Stepper/Stepper.js","../node_modules/@mui/material/Step/stepClasses.js","../node_modules/@mui/material/Step/Step.js","../node_modules/@mui/material/internal/svg-icons/CheckCircle.js","../node_modules/@mui/material/internal/svg-icons/Warning.js","../node_modules/@mui/material/StepIcon/stepIconClasses.js","../node_modules/@mui/material/StepIcon/StepIcon.js","../node_modules/@mui/material/StepLabel/stepLabelClasses.js","../node_modules/@mui/material/StepLabel/StepLabel.js","../src/components/molecules/Stepper/Stepper.tsx","../src/components/molecules/Tabs/Tabs.tsx","../node_modules/dayjs/dayjs.min.js","../node_modules/dayjs/plugin/weekOfYear.js","../node_modules/dayjs/plugin/customParseFormat.js","../node_modules/dayjs/plugin/localizedFormat.js","../node_modules/dayjs/plugin/isBetween.js","../node_modules/dayjs/plugin/advancedFormat.js","../node_modules/@mui/x-date-pickers/esm/AdapterDayjs/AdapterDayjs.js","../src/components/providers/LocalizationProvider.tsx","../src/hooks/animations/useRipple.ts","../src/hooks/animations/usePulse.ts","../src/hooks/animations/useShake.ts","../src/hooks/animations/useBounce.ts","../src/hooks/animations/useHoverScale.ts","../src/components/effects/RippleButton/RippleButton.tsx","../src/components/effects/AnimatedBadge/AnimatedBadge.tsx","../src/components/effects/LoadingDots/LoadingDots.tsx"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const ComponentAlertLightBorderRadius = \"8px\";\nexport const ComponentAlertLightErrorFilledBackground = \"#ab1a1a\";\nexport const ComponentAlertLightErrorFilledForeground = \"#ffffff\";\nexport const ComponentAlertLightErrorOutlinedBackground = \"#fdeded\";\nexport const ComponentAlertLightErrorOutlinedForeground = \"#5f2120\";\nexport const ComponentAlertLightErrorOutlinedBorder = \"#ab1a1a\";\nexport const ComponentAlertLightErrorStandardBackground = \"#fdeded\";\nexport const ComponentAlertLightErrorStandardForeground = \"#5f2120\";\nexport const ComponentAlertLightWarningFilledBackground = \"#dfa00a\";\nexport const ComponentAlertLightWarningFilledForeground = \"#000000de\";\nexport const ComponentAlertLightWarningOutlinedBackground = \"#fff4e5\";\nexport const ComponentAlertLightWarningOutlinedForeground = \"#3e2410\";\nexport const ComponentAlertLightWarningOutlinedBorder = \"#dfa00a\";\nexport const ComponentAlertLightWarningStandardBackground = \"#fff4e5\";\nexport const ComponentAlertLightWarningStandardForeground = \"#3e2410\";\nexport const ComponentAlertLightInfoFilledBackground = \"#125c87\";\nexport const ComponentAlertLightInfoFilledForeground = \"#ffffff\";\nexport const ComponentAlertLightInfoOutlinedBackground = \"#e5f6fd\";\nexport const ComponentAlertLightInfoOutlinedForeground = \"#014361\";\nexport const ComponentAlertLightInfoOutlinedBorder = \"#125c87\";\nexport const ComponentAlertLightInfoStandardBackground = \"#e5f6fd\";\nexport const ComponentAlertLightInfoStandardForeground = \"#014361\";\nexport const ComponentAlertLightSuccessFilledBackground = \"#2e7d32\";\nexport const ComponentAlertLightSuccessFilledForeground = \"#ffffff\";\nexport const ComponentAlertLightSuccessOutlinedBackground = \"#edf7ed\";\nexport const ComponentAlertLightSuccessOutlinedForeground = \"#1e4620\";\nexport const ComponentAlertLightSuccessOutlinedBorder = \"#2e7d32\";\nexport const ComponentAlertLightSuccessStandardBackground = \"#edf7ed\";\nexport const ComponentAlertLightSuccessStandardForeground = \"#1e4620\";\nexport const ComponentAlertDarkBorderRadius = \"8px\";\nexport const ComponentAlertDarkErrorFilledBackground = \"#f48282\";\nexport const ComponentAlertDarkErrorFilledForeground = \"#000000\";\nexport const ComponentAlertDarkErrorOutlinedBackground = \"#f482821f\";\nexport const ComponentAlertDarkErrorOutlinedForeground = \"#f48282\";\nexport const ComponentAlertDarkErrorOutlinedBorder = \"#f48282\";\nexport const ComponentAlertDarkErrorStandardBackground = \"#f482821f\";\nexport const ComponentAlertDarkErrorStandardForeground = \"#f48282\";\nexport const ComponentAlertDarkWarningFilledBackground = \"#ffb74d\";\nexport const ComponentAlertDarkWarningFilledForeground = \"#000000\";\nexport const ComponentAlertDarkWarningOutlinedBackground = \"#ffb74d1f\";\nexport const ComponentAlertDarkWarningOutlinedForeground = \"#ffb74d\";\nexport const ComponentAlertDarkWarningOutlinedBorder = \"#ffb74d\";\nexport const ComponentAlertDarkWarningStandardBackground = \"#ffb74d1f\";\nexport const ComponentAlertDarkWarningStandardForeground = \"#ffb74d\";\nexport const ComponentAlertDarkInfoFilledBackground = \"#64b5f6\";\nexport const ComponentAlertDarkInfoFilledForeground = \"#000000\";\nexport const ComponentAlertDarkInfoOutlinedBackground = \"#64b5f61f\";\nexport const ComponentAlertDarkInfoOutlinedForeground = \"#64b5f6\";\nexport const ComponentAlertDarkInfoOutlinedBorder = \"#64b5f6\";\nexport const ComponentAlertDarkInfoStandardBackground = \"#64b5f61f\";\nexport const ComponentAlertDarkInfoStandardForeground = \"#64b5f6\";\nexport const ComponentAlertDarkSuccessFilledBackground = \"#81c784\";\nexport const ComponentAlertDarkSuccessFilledForeground = \"#000000\";\nexport const ComponentAlertDarkSuccessOutlinedBackground = \"#81c7841f\";\nexport const ComponentAlertDarkSuccessOutlinedForeground = \"#81c784\";\nexport const ComponentAlertDarkSuccessOutlinedBorder = \"#81c784\";\nexport const ComponentAlertDarkSuccessStandardBackground = \"#81c7841f\";\nexport const ComponentAlertDarkSuccessStandardForeground = \"#81c784\";\nexport const ComponentButtonTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Button default transition - color, background, border\nexport const ComponentButtonTransitionElevation =\n \"box-shadow 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Button elevation transition on hover\nexport const ComponentButtonBorderRadius = \"8px\";\nexport const ComponentButtonFontWeight = \"600\";\nexport const ComponentButtonSmallFontSize = \"0.8125rem\";\nexport const ComponentButtonSmallHeight = \"30px\";\nexport const ComponentButtonMediumFontSize = \"0.875rem\";\nexport const ComponentButtonMediumHeight = \"36px\";\nexport const ComponentButtonLargeFontSize = \"1rem\";\nexport const ComponentButtonLargeHeight = \"42px\";\nexport const ComponentDialogTransitionEnter =\n \"opacity 300ms cubic-bezier(0, 0, 0.2, 1), transform 300ms cubic-bezier(0, 0, 0.2, 1)\"; // Dialog enter transition - fade + scale\nexport const ComponentDialogTransitionExit =\n \"opacity 200ms cubic-bezier(0.4, 0, 1, 1), transform 200ms cubic-bezier(0.4, 0, 1, 1)\"; // Dialog exit transition\nexport const ComponentDialogLightBorderRadius = \"12px\";\nexport const ComponentDialogDarkBorderRadius = \"12px\";\nexport const ComponentDrawerTransitionEnter =\n \"transform 300ms cubic-bezier(0, 0, 0.2, 1)\"; // Drawer slide in transition\nexport const ComponentDrawerTransitionExit =\n \"transform 300ms cubic-bezier(0.4, 0, 1, 1)\"; // Drawer slide out transition\nexport const ComponentDrawerLightBackground = \"#ffffff\";\nexport const ComponentDrawerLightBorderRadius = \"0px\";\nexport const ComponentDrawerDarkBackground = \"#1e1e1e\";\nexport const ComponentDrawerDarkBorderRadius = \"0px\";\nexport const ComponentSnackbarTransitionEnter =\n \"transform 300ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms cubic-bezier(0.4, 0, 1, 1)\"; // Snackbar enter transition - slide up + fade\nexport const ComponentSnackbarTransitionExit =\n \"opacity 200ms cubic-bezier(0, 0, 0.2, 1)\"; // Snackbar exit transition - fade out\nexport const ComponentSnackbarLightBackground = \"#424242\";\nexport const ComponentSnackbarLightForeground = \"#ffffff\";\nexport const ComponentSnackbarLightBorderRadius = \"4px\";\nexport const ComponentSnackbarDarkBackground = \"#eeeeee\";\nexport const ComponentSnackbarDarkForeground = \"#000000\";\nexport const ComponentSnackbarDarkBorderRadius = \"4px\";\nexport const ComponentTooltipTransitionEnter =\n \"opacity 100ms cubic-bezier(0.4, 0, 1, 1)\"; // Tooltip fade in\nexport const ComponentTooltipTransitionExit =\n \"opacity 100ms cubic-bezier(0, 0, 0.2, 1)\"; // Tooltip fade out\nexport const ComponentTooltipLightBackground = \"#000000de\";\nexport const ComponentTooltipLightForeground = \"#ffffff\";\nexport const ComponentTooltipLightBorderRadius = \"4px\";\nexport const ComponentTooltipDarkBackground = \"#616161\";\nexport const ComponentTooltipDarkForeground = \"#ffffff\";\nexport const ComponentTooltipDarkBorderRadius = \"4px\";\nexport const ComponentMenuTransitionEnter =\n \"opacity 200ms cubic-bezier(0.4, 0, 1, 1), transform 200ms cubic-bezier(0, 0, 0.2, 1)\"; // Menu enter transition - fade + scale\nexport const ComponentMenuTransitionExit =\n \"opacity 100ms cubic-bezier(0, 0, 0.2, 1)\"; // Menu exit transition - fade\nexport const ComponentMenuLightBackground = \"#ffffff\";\nexport const ComponentMenuLightBorderRadius = \"8px\";\nexport const ComponentMenuDarkBackground = \"#1e1e1e\";\nexport const ComponentMenuDarkBorderRadius = \"8px\";\nexport const ComponentCollapseTransitionEnter =\n \"height 300ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Collapse expand transition\nexport const ComponentCollapseTransitionExit =\n \"height 200ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Collapse contract transition\nexport const ComponentFabTransitionDefault =\n \"all 200ms cubic-bezier(0.4, 0, 0.2, 1)\"; // FAB default transition\nexport const ComponentFabTransitionElevation =\n \"box-shadow 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // FAB elevation on hover\nexport const ComponentFabBorderRadius = \"9999px\";\nexport const ComponentChipTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Chip hover/focus transition\nexport const ComponentChipDefaultCloseFill = \"#000000\";\nexport const ComponentChipDefaultEnabledBorder = \"#bdbdbd\";\nexport const ComponentChipBorderRadius = \"9999px\";\nexport const ComponentSwitchTransitionThumb =\n \"transform 100ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Switch thumb movement\nexport const ComponentSwitchTransitionTrack =\n \"background-color 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Switch track color change\nexport const ComponentCheckboxTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Checkbox state transition\nexport const ComponentRadioTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Radio button state transition\nexport const ComponentAccordionTransitionExpand =\n \"all 300ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Accordion panel expand\nexport const ComponentAccordionTransitionCollapse =\n \"all 200ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Accordion panel collapse\nexport const ComponentAccordionLightBackground = \"#ffffff\";\nexport const ComponentAccordionLightBorder = \"#0000001f\";\nexport const ComponentAccordionLightBorderRadius = \"8px\";\nexport const ComponentAccordionDarkBackground = \"#1e1e1e\";\nexport const ComponentAccordionDarkBorder = \"#ffffff1f\";\nexport const ComponentAccordionDarkBorderRadius = \"8px\";\nexport const ComponentSkeletonAnimationPulseDuration = \"1500ms\"; // Skeleton pulse animation duration\nexport const ComponentSkeletonAnimationPulseEasing =\n \"cubic-bezier(0.4, 0, 0.2, 1)\"; // Skeleton pulse easing\nexport const ComponentSkeletonAnimationWaveDuration = \"1600ms\"; // Skeleton wave animation duration\nexport const ComponentSkeletonAnimationWaveEasing = \"cubic-bezier(0, 0, 1, 1)\"; // Skeleton wave easing\nexport const ComponentSkeletonLightBackground = \"#0000001f\";\nexport const ComponentSkeletonLightBorderRadius = \"4px\";\nexport const ComponentSkeletonDarkBackground = \"#ffffff1f\";\nexport const ComponentSkeletonDarkBorderRadius = \"4px\";\nexport const ComponentProgressAnimationIndeterminateDuration = \"2000ms\"; // Progress indeterminate animation duration\nexport const ComponentProgressAnimationIndeterminateEasing =\n \"cubic-bezier(0, 0, 1, 1)\"; // Progress animation easing\nexport const ComponentProgressAnimationCircularDuration = \"1400ms\"; // Circular progress rotation duration\nexport const ComponentProgressAnimationCircularEasing =\n \"cubic-bezier(0, 0, 1, 1)\"; // Circular progress easing\nexport const ComponentProgressLightBackground = \"#00999929\";\nexport const ComponentProgressLightForeground = \"#00686f\";\nexport const ComponentProgressDarkBackground = \"#0099993d\";\nexport const ComponentProgressDarkForeground = \"#66b2b2\";\nexport const ComponentProgressThickness = \"4px\";\nexport const ComponentIconButtonBorderRadius = \"9999px\";\nexport const ComponentIconButtonSmallSize = \"34px\";\nexport const ComponentIconButtonSmallIconSize = \"20px\";\nexport const ComponentIconButtonMediumSize = \"40px\";\nexport const ComponentIconButtonMediumIconSize = \"24px\";\nexport const ComponentIconButtonLargeSize = \"48px\";\nexport const ComponentIconButtonLargeIconSize = \"28px\";\nexport const ComponentListLightBackground = \"#ffffff\";\nexport const ComponentListLightItemDefaultBackground = \"#00000000\";\nexport const ComponentListLightItemDefaultForeground = \"#000000de\";\nexport const ComponentListLightItemHoverBackground = \"#00000014\";\nexport const ComponentListLightItemSelectedBackground = \"#0000001f\";\nexport const ComponentListLightDivider = \"#0000001f\";\nexport const ComponentListLightBorderRadius = \"8px\";\nexport const ComponentListDarkBackground = \"#1e1e1e\";\nexport const ComponentListDarkItemDefaultBackground = \"#00000000\";\nexport const ComponentListDarkItemDefaultForeground = \"#ffffff\";\nexport const ComponentListDarkItemHoverBackground = \"#ffffff14\";\nexport const ComponentListDarkItemSelectedBackground = \"#ffffff29\";\nexport const ComponentListDarkDivider = \"#ffffff1f\";\nexport const ComponentListDarkBorderRadius = \"8px\";\nexport const ComponentAvatarBorderRadius = \"9999px\";\nexport const ComponentAvatarSmall = \"24px\";\nexport const ComponentAvatarMedium = \"40px\";\nexport const ComponentAvatarLarge = \"56px\";\nexport const ComponentBadgeBorderRadius = \"9999px\";\nexport const ComponentBadgeLightBackground = \"#ab1a1a\";\nexport const ComponentBadgeLightForeground = \"#ffffff\";\nexport const ComponentBadgeDarkBackground = \"#f48282\";\nexport const ComponentBadgeDarkForeground = \"#000000\";\nexport const ComponentInputLightStandardEnabledBorder = \"#0000006b\";\nexport const ComponentInputLightFilledEnabledFill = \"#0000000a\";\nexport const ComponentInputLightOutlinedEnabledBorder = \"#0000003b\";\nexport const ComponentInputLightBorderRadius = \"4px\";\nexport const ComponentInputDarkBorderRadius = \"8px\";\nexport const ComponentInputDarkStandardEnabledBorder = \"#ffffff6b\";\nexport const ComponentInputDarkFilledEnabledFill = \"#ffffff14\";\nexport const ComponentInputDarkOutlinedEnabledBorder = \"#ffffff3b\";\nexport const ComponentInputDarkValueFontSize = \"1rem\";\nexport const ComponentRatingActiveFill = \"#ffb400\";\nexport const ComponentRatingEnabledBorder = \"#0000003b\";\nexport const ComponentStepperLightConnector = \"#bdbdbd\";\nexport const ComponentStepperLightStepDefaultBackground = \"#e0e0e0\";\nexport const ComponentStepperLightStepDefaultForeground = \"#000000de\";\nexport const ComponentStepperLightStepActiveBackground = \"#00686f\";\nexport const ComponentStepperLightStepActiveForeground = \"#ffffff\";\nexport const ComponentStepperLightStepCompletedBackground = \"#00686f\";\nexport const ComponentStepperLightStepCompletedForeground = \"#ffffff\";\nexport const ComponentStepperDarkConnector = \"#616161\";\nexport const ComponentStepperDarkStepDefaultBackground = \"#616161\";\nexport const ComponentStepperDarkStepDefaultForeground = \"#ffffff\";\nexport const ComponentStepperDarkStepActiveBackground = \"#66b2b2\";\nexport const ComponentStepperDarkStepActiveForeground = \"#000000\";\nexport const ComponentStepperDarkStepCompletedBackground = \"#66b2b2\";\nexport const ComponentStepperDarkStepCompletedForeground = \"#000000\";\nexport const ComponentTabsLightIndicator = \"#00686f\";\nexport const ComponentTabsLightTabDefaultForeground = \"#00000099\";\nexport const ComponentTabsLightTabActiveForeground = \"#00686f\";\nexport const ComponentTabsLightTabHoverBackground = \"#00000014\";\nexport const ComponentTabsLightBorderRadius = \"0px\";\nexport const ComponentTabsDarkIndicator = \"#66b2b2\";\nexport const ComponentTabsDarkTabDefaultForeground = \"#ffffffb3\";\nexport const ComponentTabsDarkTabActiveForeground = \"#66b2b2\";\nexport const ComponentTabsDarkTabHoverBackground = \"#ffffff14\";\nexport const ComponentTabsDarkBorderRadius = \"0px\";\nexport const ComponentTimelineLightConnector = \"#bdbdbd\";\nexport const ComponentTimelineLightDotDefault = \"#bdbdbd\";\nexport const ComponentTimelineLightDotPrimary = \"#00686f\";\nexport const ComponentTimelineLightDotSecondary = \"#99cc00\";\nexport const ComponentTimelineDarkConnector = \"#616161\";\nexport const ComponentTimelineDarkDotDefault = \"#616161\";\nexport const ComponentTimelineDarkDotPrimary = \"#66b2b2\";\nexport const ComponentTimelineDarkDotSecondary = \"#b3e600\";\nexport const ComponentPaginationLightItemDefaultBackground = \"#00000000\";\nexport const ComponentPaginationLightItemDefaultForeground = \"#000000de\";\nexport const ComponentPaginationLightItemHoverBackground = \"#00000014\";\nexport const ComponentPaginationLightItemSelectedBackground = \"#00686f\";\nexport const ComponentPaginationLightItemSelectedForeground = \"#ffffff\";\nexport const ComponentPaginationLightBorderRadius = \"9999px\";\nexport const ComponentPaginationDarkItemDefaultBackground = \"#00000000\";\nexport const ComponentPaginationDarkItemDefaultForeground = \"#ffffff\";\nexport const ComponentPaginationDarkItemHoverBackground = \"#ffffff14\";\nexport const ComponentPaginationDarkItemSelectedBackground = \"#66b2b2\";\nexport const ComponentPaginationDarkItemSelectedForeground = \"#000000\";\nexport const ComponentPaginationDarkBorderRadius = \"9999px\";\nexport const ComponentSidenavWidthCollapsed = \"64px\";\nexport const ComponentSidenavWidthExpanded = \"240px\";\nexport const ComponentSidenavLightBackground = \"#ffffff\";\nexport const ComponentSidenavLightBorder = \"#0000001f\";\nexport const ComponentSidenavLightItemDefaultBackground = \"#00000000\";\nexport const ComponentSidenavLightItemDefaultForeground = \"#000000de\";\nexport const ComponentSidenavLightItemHoverBackground = \"#00000014\";\nexport const ComponentSidenavLightItemHoverForeground = \"#000000de\";\nexport const ComponentSidenavLightItemSelectedBackground = \"#0099991f\";\nexport const ComponentSidenavLightItemSelectedForeground = \"#00686f\";\nexport const ComponentSidenavLightBorderRadius = \"8px\";\nexport const ComponentSidenavDarkBackground = \"#1e1e1e\";\nexport const ComponentSidenavDarkBorder = \"#ffffff1f\";\nexport const ComponentSidenavDarkItemDefaultBackground = \"#00000000\";\nexport const ComponentSidenavDarkItemDefaultForeground = \"#ffffff\";\nexport const ComponentSidenavDarkItemHoverBackground = \"#ffffff14\";\nexport const ComponentSidenavDarkItemHoverForeground = \"#ffffff\";\nexport const ComponentSidenavDarkItemSelectedBackground = \"#0099993d\";\nexport const ComponentSidenavDarkItemSelectedForeground = \"#66b2b2\";\nexport const ComponentSidenavDarkBorderRadius = \"8px\";\nexport const ComponentAppbarHeight = \"64px\";\nexport const ComponentAppbarLightBackground = \"#00686f\";\nexport const ComponentAppbarLightForeground = \"#ffffff\";\nexport const ComponentAppbarDarkBackground = \"#1e1e1e\";\nexport const ComponentAppbarDarkForeground = \"#ffffff\";\nexport const ComponentBottomNavigationHeight = \"56px\";\nexport const ComponentBottomNavigationLightBackground = \"#ffffff\";\nexport const ComponentBottomNavigationLightItemDefaultForeground = \"#00000099\";\nexport const ComponentBottomNavigationLightItemSelectedForeground = \"#00686f\";\nexport const ComponentBottomNavigationDarkBackground = \"#1e1e1e\";\nexport const ComponentBottomNavigationDarkItemDefaultForeground = \"#ffffffb3\";\nexport const ComponentBottomNavigationDarkItemSelectedForeground = \"#66b2b2\";\nexport const ComponentPaperLightElevation0 = \"#ffffff\";\nexport const ComponentPaperLightElevation1 = \"#ffffff\";\nexport const ComponentPaperLightElevation2 = \"#ffffff\";\nexport const ComponentPaperDarkElevation0 = \"#121212\"; // No elevation - matches background\nexport const ComponentPaperDarkElevation1 = \"#1e1e1e\"; // 1dp elevation\nexport const ComponentPaperDarkElevation2 = \"#232323\"; // 2dp elevation\nexport const ComponentPaperDarkElevation4 = \"#272727\"; // 4dp elevation\nexport const ComponentPaperDarkElevation6 = \"#2c2c2c\"; // 6dp elevation\nexport const ComponentPaperDarkElevation8 = \"#2e2e2e\"; // 8dp elevation\nexport const ComponentPaperDarkElevation12 = \"#333333\"; // 12dp elevation\nexport const ComponentPaperDarkElevation16 = \"#353535\"; // 16dp elevation\nexport const ComponentPaperDarkElevation24 = \"#383838\"; // 24dp elevation\nexport const ComponentTableLightBorder = \"#e0e0e0\";\nexport const ComponentTableLightHeaderBackground = \"#fafafa\";\nexport const ComponentTableDarkBorder = \"#ffffff1f\";\nexport const ComponentTableDarkHeaderBackground = \"#1e1e1e\";\nexport const ComponentCardLightBorderRadius = \"12px\";\nexport const ComponentCardDarkBorderRadius = \"12px\";\nexport const PrimitivesColorsBrandVerones = \"#00686f\"; // MRS Primary Brand Color - Teal\nexport const PrimitivesColorsBrandLima = \"#99cc00\"; // MRS Secondary Brand Color - Lime Green\nexport const PrimitivesColorsNeutralWhite = \"#ffffff\";\nexport const PrimitivesColorsNeutralBlack = \"#000000\";\nexport const PrimitivesColorsNeutralGray50 = \"#fafafa\";\nexport const PrimitivesColorsNeutralGray100 = \"#f5f5f5\";\nexport const PrimitivesColorsNeutralGray200 = \"#eeeeee\";\nexport const PrimitivesColorsNeutralGray300 = \"#e0e0e0\";\nexport const PrimitivesColorsNeutralGray400 = \"#bdbdbd\";\nexport const PrimitivesColorsNeutralGray500 = \"#9e9e9e\";\nexport const PrimitivesColorsNeutralGray600 = \"#757575\";\nexport const PrimitivesColorsNeutralGray700 = \"#616161\";\nexport const PrimitivesColorsNeutralGray800 = \"#424242\";\nexport const PrimitivesColorsNeutralGray900 = \"#212121\";\nexport const PrimitivesColorsStatusError50 = \"#fdeded\";\nexport const PrimitivesColorsStatusError100 = \"#f8b8b8\";\nexport const PrimitivesColorsStatusError500 = \"#ab1a1a\";\nexport const PrimitivesColorsStatusError600 = \"#8b1515\";\nexport const PrimitivesColorsStatusError700 = \"#5f2120\";\nexport const PrimitivesColorsStatusWarning50 = \"#fff4e5\";\nexport const PrimitivesColorsStatusWarning500 = \"#dfa00a\";\nexport const PrimitivesColorsStatusWarning600 = \"#b88308\";\nexport const PrimitivesColorsStatusWarning700 = \"#3e2410\";\nexport const PrimitivesColorsStatusInfo50 = \"#e5f6fd\";\nexport const PrimitivesColorsStatusInfo100 = \"#d1daf0\";\nexport const PrimitivesColorsStatusInfo500 = \"#125c87\";\nexport const PrimitivesColorsStatusInfo600 = \"#143996\";\nexport const PrimitivesColorsStatusInfo700 = \"#014361\";\nexport const PrimitivesColorsStatusInfo800 = \"#0c225a\";\nexport const PrimitivesColorsStatusSuccess50 = \"#edf7ed\";\nexport const PrimitivesColorsStatusSuccess100 = \"#b3d1c7\";\nexport const PrimitivesColorsStatusSuccess500 = \"#2e7d32\";\nexport const PrimitivesColorsStatusSuccess600 = \"#036642\";\nexport const PrimitivesColorsStatusSuccess700 = \"#1e4620\";\nexport const PrimitivesColorsStatusSuccess800 = \"#023321\";\nexport const PrimitivesColorsAlphaBlack4 = \"#0000000a\";\nexport const PrimitivesColorsAlphaBlack8 = \"#00000014\";\nexport const PrimitivesColorsAlphaBlack12 = \"#0000001f\";\nexport const PrimitivesColorsAlphaBlack23 = \"#0000003b\";\nexport const PrimitivesColorsAlphaBlack26 = \"#00000042\";\nexport const PrimitivesColorsAlphaBlack38 = \"#00000061\";\nexport const PrimitivesColorsAlphaBlack42 = \"#0000006b\";\nexport const PrimitivesColorsAlphaBlack56 = \"#0000008f\";\nexport const PrimitivesColorsAlphaBlack60 = \"#00000099\";\nexport const PrimitivesColorsAlphaBlack87 = \"#000000de\";\nexport const PrimitivesColorsAlphaWhite8 = \"#ffffff14\";\nexport const PrimitivesColorsAlphaWhite12 = \"#ffffff1f\";\nexport const PrimitivesColorsAlphaWhite16 = \"#ffffff29\";\nexport const PrimitivesColorsAlphaWhite23 = \"#ffffff3b\";\nexport const PrimitivesColorsAlphaWhite26 = \"#ffffff42\";\nexport const PrimitivesColorsAlphaWhite30 = \"#ffffff4d\";\nexport const PrimitivesColorsAlphaWhite42 = \"#ffffff6b\";\nexport const PrimitivesColorsAlphaWhite50 = \"#ffffff80\";\nexport const PrimitivesColorsAlphaWhite70 = \"#ffffffb3\";\nexport const PrimitivesColorsAlphaWhite100 = \"#ffffff\";\nexport const PrimitivesColorsAlphaPrimary8 = \"#00999914\";\nexport const PrimitivesColorsAlphaPrimary12 = \"#0099991f\";\nexport const PrimitivesColorsAlphaPrimary16 = \"#00999929\";\nexport const PrimitivesColorsAlphaPrimary25 = \"#00999940\";\nexport const PrimitivesColorsAlphaPrimary24Dark = \"#0099993d\";\nexport const PrimitivesColorsAlphaPrimary32Dark = \"#00999952\";\nexport const PrimitivesColorsAlphaPrimary40Dark = \"#00999966\";\nexport const PrimitivesColorsSpecialRating = \"#ffb400\";\nexport const PrimitivesMotionDurationInstant = \"0ms\"; // Instant transition - no delay\nexport const PrimitivesMotionDurationFast = \"100ms\"; // Fast transitions - micro-interactions, toggles, checkboxes\nexport const PrimitivesMotionDurationBase = \"200ms\"; // Base transition duration - most UI elements\nexport const PrimitivesMotionDurationModerate = \"300ms\"; // Moderate transitions - drawers, dialogs, larger elements\nexport const PrimitivesMotionDurationSlow = \"400ms\"; // Slow transitions - page transitions, large content shifts\nexport const PrimitivesMotionDurationSlower = \"500ms\"; // Very slow transitions - complex animations\nexport const PrimitivesMotionEasingLinear = \"cubic-bezier(0, 0, 1, 1)\"; // Linear easing - constant speed, use sparingly\nexport const PrimitivesMotionEasingStandard = \"cubic-bezier(0.4, 0, 0.2, 1)\"; // Standard easing - most common, smooth acceleration and deceleration\nexport const PrimitivesMotionEasingEmphasized = \"cubic-bezier(0.2, 0, 0, 1)\"; // Emphasized easing - Material Design emphasized motion\nexport const PrimitivesMotionEasingDecelerate = \"cubic-bezier(0, 0, 0.2, 1)\"; // Decelerate easing - elements entering the screen\nexport const PrimitivesMotionEasingAccelerate = \"cubic-bezier(0.4, 0, 1, 1)\"; // Accelerate easing - elements leaving the screen\nexport const PrimitivesMotionEasingSharp = \"cubic-bezier(0.4, 0, 0.6, 1)\"; // Sharp easing - quick, focused transitions\nexport const PrimitivesMotionEasingEaseIn = \"cubic-bezier(0.4, 0, 1, 1)\"; // Ease in - gradual acceleration\nexport const PrimitivesMotionEasingEaseOut = \"cubic-bezier(0, 0, 0.2, 1)\"; // Ease out - gradual deceleration\nexport const PrimitivesMotionEasingEaseInOut = \"cubic-bezier(0.4, 0, 0.2, 1)\"; // Ease in-out - smooth start and end\nexport const PrimitivesRadiusNone = \"0px\";\nexport const PrimitivesRadiusSm = \"4px\";\nexport const PrimitivesRadiusMd = \"8px\"; // Default border radius\nexport const PrimitivesRadiusLg = \"12px\";\nexport const PrimitivesRadiusXl = \"24px\";\nexport const PrimitivesRadiusFull = \"9999px\"; // Pill shape / circular\nexport const PrimitivesSpacing0 = \"0px\";\nexport const PrimitivesSpacing1 = \"8px\";\nexport const PrimitivesSpacing2 = \"16px\";\nexport const PrimitivesSpacing3 = \"24px\";\nexport const PrimitivesSpacing4 = \"32px\";\nexport const PrimitivesSpacing5 = \"40px\";\nexport const PrimitivesSpacing6 = \"48px\";\nexport const PrimitivesSpacing7 = \"56px\";\nexport const PrimitivesSpacing8 = \"64px\";\nexport const PrimitivesSpacing9 = \"72px\";\nexport const PrimitivesSpacing10 = \"80px\";\nexport const PrimitivesSpacing11 = \"88px\";\nexport const PrimitivesSpacing12 = \"96px\";\nexport const PrimitivesSpacing05 = \"4px\";\nexport const PrimitivesSpacing15 = \"12px\";\nexport const PrimitivesTypographyFontFamilyBrand = \"Nunito\"; // Primary brand font\nexport const PrimitivesTypographyFontFamilyFallback =\n \"Helvetica, Arial, sans-serif\";\nexport const PrimitivesTypographyFontFamilyStack =\n \"Nunito, Helvetica, Arial, sans-serif\";\nexport const PrimitivesTypographyFontSizeXs = \"0.75rem\";\nexport const PrimitivesTypographyFontSizeSm = \"0.875rem\";\nexport const PrimitivesTypographyFontSizeMd = \"1rem\";\nexport const PrimitivesTypographyFontSizeLg = \"1.25rem\";\nexport const PrimitivesTypographyFontSizeXl = \"1.5rem\";\nexport const PrimitivesTypographyFontSize2xl = \"2.125rem\";\nexport const PrimitivesTypographyFontSize3xl = \"3rem\";\nexport const PrimitivesTypographyFontSize4xl = \"3.75rem\";\nexport const PrimitivesTypographyFontWeightLight = \"300\";\nexport const PrimitivesTypographyFontWeightRegular = \"400\";\nexport const PrimitivesTypographyFontWeightMedium = \"500\";\nexport const PrimitivesTypographyFontWeightSemibold = \"600\";\nexport const PrimitivesTypographyFontWeightBold = \"700\";\nexport const PrimitivesTypographyLineHeightTight = \"1.2\";\nexport const PrimitivesTypographyLineHeightSnug = \"1.43\";\nexport const PrimitivesTypographyLineHeightNormal = \"1.5\";\nexport const PrimitivesTypographyLineHeightRelaxed = \"1.66\";\nexport const PrimitivesTypographyLineHeightLoose = \"1.75\";\nexport const SemanticColorLightPrimaryMain = \"#00686f\";\nexport const SemanticColorLightPrimaryDark = \"#004e53\";\nexport const SemanticColorLightPrimaryLight = \"#009999\";\nexport const SemanticColorLightPrimaryContrastText = \"#ffffff\";\nexport const SemanticColorLightSecondaryMain = \"#99cc00\";\nexport const SemanticColorLightSecondaryDark = \"#7aa300\";\nexport const SemanticColorLightSecondaryLight = \"#b3d633\";\nexport const SemanticColorLightSecondaryContrastText = \"#000000de\";\nexport const SemanticColorLightErrorMain = \"#ab1a1a\";\nexport const SemanticColorLightErrorDark = \"#8b1515\";\nexport const SemanticColorLightErrorLight = \"#d32f2f\";\nexport const SemanticColorLightErrorContrastText = \"#ffffff\";\nexport const SemanticColorLightWarningMain = \"#dfa00a\";\nexport const SemanticColorLightWarningDark = \"#b88308\";\nexport const SemanticColorLightWarningLight = \"#f5b642\";\nexport const SemanticColorLightWarningContrastText = \"#000000de\";\nexport const SemanticColorLightInfoMain = \"#143996\";\nexport const SemanticColorLightInfoDark = \"#0c225a\";\nexport const SemanticColorLightInfoLight = \"#d1daf0\";\nexport const SemanticColorLightInfoContrastText = \"#ffffff\";\nexport const SemanticColorLightSuccessMain = \"#036642\";\nexport const SemanticColorLightSuccessDark = \"#023321\";\nexport const SemanticColorLightSuccessLight = \"#b3d1c7\";\nexport const SemanticColorLightSuccessContrastText = \"#ffffff\";\nexport const SemanticColorLightBackgroundDefault = \"#ffffff\";\nexport const SemanticColorLightBackgroundPaper = \"#ffffff\";\nexport const SemanticColorLightTextPrimary = \"#000000de\";\nexport const SemanticColorLightTextSecondary = \"#00000099\";\nexport const SemanticColorLightTextDisabled = \"#00000061\";\nexport const SemanticColorLightActionActive = \"#0000008f\";\nexport const SemanticColorLightActionHover = \"#00000014\";\nexport const SemanticColorLightActionSelected = \"#0000001f\";\nexport const SemanticColorLightActionDisabled = \"#00000042\";\nexport const SemanticColorLightActionDisabledBackground = \"#0000001f\";\nexport const SemanticColorLightDivider = \"#0000001f\";\nexport const SemanticColorDarkPrimaryMain = \"#66b2b2\"; // Lighter primary for dark mode\nexport const SemanticColorDarkPrimaryDark = \"#00686f\";\nexport const SemanticColorDarkPrimaryLight = \"#99cccc\";\nexport const SemanticColorDarkPrimaryContrastText = \"#000000\";\nexport const SemanticColorDarkSecondaryMain = \"#b3e600\"; // Lighter secondary for dark mode\nexport const SemanticColorDarkSecondaryDark = \"#99cc00\";\nexport const SemanticColorDarkSecondaryLight = \"#ccff33\";\nexport const SemanticColorDarkSecondaryContrastText = \"#000000\";\nexport const SemanticColorDarkErrorMain = \"#f48282\"; // Lighter error for dark mode\nexport const SemanticColorDarkErrorDark = \"#ab1a1a\";\nexport const SemanticColorDarkErrorLight = \"#f8b8b8\";\nexport const SemanticColorDarkErrorContrastText = \"#000000\";\nexport const SemanticColorDarkWarningMain = \"#ffb74d\"; // Lighter warning for dark mode\nexport const SemanticColorDarkWarningDark = \"#dfa00a\";\nexport const SemanticColorDarkWarningLight = \"#fff4e5\";\nexport const SemanticColorDarkWarningContrastText = \"#000000\";\nexport const SemanticColorDarkInfoMain = \"#64b5f6\"; // Lighter info for dark mode\nexport const SemanticColorDarkInfoDark = \"#125c87\";\nexport const SemanticColorDarkInfoLight = \"#e5f6fd\";\nexport const SemanticColorDarkInfoContrastText = \"#000000\";\nexport const SemanticColorDarkSuccessMain = \"#81c784\"; // Lighter success for dark mode\nexport const SemanticColorDarkSuccessDark = \"#2e7d32\";\nexport const SemanticColorDarkSuccessLight = \"#edf7ed\";\nexport const SemanticColorDarkSuccessContrastText = \"#000000\";\nexport const SemanticColorDarkBackgroundDefault = \"#121212\"; // Material Design dark background\nexport const SemanticColorDarkBackgroundPaper = \"#1e1e1e\"; // Elevated surface in dark mode\nexport const SemanticColorDarkTextPrimary = \"#ffffff\";\nexport const SemanticColorDarkTextSecondary = \"#ffffffb3\";\nexport const SemanticColorDarkTextDisabled = \"#ffffff80\";\nexport const SemanticColorDarkActionActive = \"#ffffff\";\nexport const SemanticColorDarkActionHover = \"#ffffff14\";\nexport const SemanticColorDarkActionSelected = \"#ffffff29\";\nexport const SemanticColorDarkActionDisabled = \"#ffffff4d\";\nexport const SemanticColorDarkActionDisabledBackground = \"#ffffff1f\";\nexport const SemanticColorDarkDivider = \"#ffffff1f\";\nexport const SemanticTransitionFadeIn =\n \"opacity 200ms cubic-bezier(0.4, 0, 1, 1)\"; // Fade in transition\nexport const SemanticTransitionFadeOut =\n \"opacity 200ms cubic-bezier(0, 0, 0.2, 1)\"; // Fade out transition\nexport const SemanticTransitionSlideIn =\n \"transform 300ms cubic-bezier(0, 0, 0.2, 1)\"; // Slide in transition - elements entering\nexport const SemanticTransitionSlideOut =\n \"transform 300ms cubic-bezier(0.4, 0, 1, 1)\"; // Slide out transition - elements leaving\nexport const SemanticTransitionExpandIn =\n \"all 300ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Expand transition - collapsible content opening\nexport const SemanticTransitionExpandOut =\n \"all 200ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Collapse transition - collapsible content closing\nexport const SemanticTransitionElevation =\n \"box-shadow 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Elevation change transition\n","/**\n * Design Tokens Import - Generated by Style Dictionary\n *\n * This file re-exports design tokens organized by mode (light/dark)\n * for easier consumption in theme.ts\n *\n * @since 0.12.0 - Complete migration to generated tokens (no more theme.json dependency)\n */\n\nimport * as tokens from '../tokens/generated/ts/tokens';\n\n// ============================================================================\n// TYPOGRAPHY TOKENS\n// ============================================================================\nexport const typographyTokens = {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontSize: 16, // base font size in pixels (from 1rem)\n fontWeightLight: Number(tokens.PrimitivesTypographyFontWeightLight),\n fontWeightRegular: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontWeightMedium: Number(tokens.PrimitivesTypographyFontWeightMedium),\n fontWeightSemiBold: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontWeightBold: Number(tokens.PrimitivesTypographyFontWeightBold),\n // Typography variants (MUI compatible)\n h1: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSize4xl, // 3.75rem (60px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '-0.01562em',\n },\n h2: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSize3xl, // 3rem (48px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '-0.00833em',\n },\n h3: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSize2xl, // 2.125rem (34px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0em',\n },\n h4: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeXl, // 1.5rem (24px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0.00735em',\n },\n h5: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeLg, // 1.25rem (20px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0em',\n },\n h6: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeMd, // 1rem (16px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0.0075em',\n },\n body1: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeMd, // 1rem (16px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightNormal), // 1.5\n letterSpacing: '0.00938em',\n },\n body2: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeSm, // 0.875rem (14px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightSnug), // 1.43\n letterSpacing: '0.01071em',\n },\n subtitle1: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightMedium),\n fontSize: tokens.PrimitivesTypographyFontSizeMd, // 1rem (16px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightLoose), // 1.75\n letterSpacing: '0.00938em',\n },\n subtitle2: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightMedium),\n fontSize: tokens.PrimitivesTypographyFontSizeSm, // 0.875rem (14px)\n lineHeight: 1.57,\n letterSpacing: '0.00714em',\n },\n button: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeSm, // 0.875rem (14px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightLoose), // 1.75\n letterSpacing: '0.02857em',\n textTransform: 'none' as const,\n },\n caption: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeXs, // 0.75rem (12px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightRelaxed), // 1.66\n letterSpacing: '0.03333em',\n },\n overline: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeXs, // 0.75rem (12px)\n lineHeight: 2.66,\n letterSpacing: '0.08333em',\n textTransform: 'uppercase' as const,\n },\n};\n\n// ============================================================================\n// SHAPE TOKENS (Border Radius)\n// ============================================================================\nexport const shapeTokens = {\n borderRadius: 8, // default MUI border radius (maps to md)\n sm: 4,\n md: 8,\n lg: 12,\n xl: 24,\n rounded: 9999, // pill shape\n};\n\n// ============================================================================\n// SPACING TOKENS\n// ============================================================================\n// Note: MUI uses a spacing function that multiplies by 8\n// We provide the raw array for compatibility\nexport const spacingArray = [0, 4, 8, 12, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96];\n\n// ============================================================================\n// LIGHT MODE TOKENS\n// ============================================================================\nexport const lightTokens = {\n colors: {\n primary: {\n main: tokens.SemanticColorLightPrimaryMain,\n dark: tokens.SemanticColorLightPrimaryDark,\n light: tokens.SemanticColorLightPrimaryLight,\n contrastText: tokens.SemanticColorLightPrimaryContrastText,\n },\n secondary: {\n main: tokens.SemanticColorLightSecondaryMain,\n dark: tokens.SemanticColorLightSecondaryDark,\n light: tokens.SemanticColorLightSecondaryLight,\n contrastText: tokens.SemanticColorLightSecondaryContrastText,\n },\n error: {\n main: tokens.SemanticColorLightErrorMain,\n dark: tokens.SemanticColorLightErrorDark,\n light: tokens.SemanticColorLightErrorLight,\n contrastText: tokens.SemanticColorLightErrorContrastText,\n },\n warning: {\n main: tokens.SemanticColorLightWarningMain,\n dark: tokens.SemanticColorLightWarningDark,\n light: tokens.SemanticColorLightWarningLight,\n contrastText: tokens.SemanticColorLightWarningContrastText,\n },\n info: {\n main: tokens.SemanticColorLightInfoMain,\n dark: tokens.SemanticColorLightInfoDark,\n light: tokens.SemanticColorLightInfoLight,\n contrastText: tokens.SemanticColorLightInfoContrastText,\n },\n success: {\n main: tokens.SemanticColorLightSuccessMain,\n dark: tokens.SemanticColorLightSuccessDark,\n light: tokens.SemanticColorLightSuccessLight,\n contrastText: tokens.SemanticColorLightSuccessContrastText,\n },\n background: {\n default: tokens.SemanticColorLightBackgroundDefault,\n paper: tokens.SemanticColorLightBackgroundPaper,\n },\n text: {\n primary: tokens.SemanticColorLightTextPrimary,\n secondary: tokens.SemanticColorLightTextSecondary,\n disabled: tokens.SemanticColorLightTextDisabled,\n },\n action: {\n active: tokens.SemanticColorLightActionActive,\n hover: tokens.SemanticColorLightActionHover,\n selected: tokens.SemanticColorLightActionSelected,\n disabled: tokens.SemanticColorLightActionDisabled,\n disabledBackground: tokens.SemanticColorLightActionDisabledBackground,\n },\n divider: tokens.SemanticColorLightDivider,\n },\n components: {\n alert: {\n borderRadius: tokens.ComponentAlertLightBorderRadius,\n error: {\n filled: {\n background: tokens.ComponentAlertLightErrorFilledBackground,\n foreground: tokens.ComponentAlertLightErrorFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightErrorOutlinedBackground,\n foreground: tokens.ComponentAlertLightErrorOutlinedForeground,\n border: tokens.ComponentAlertLightErrorOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightErrorStandardBackground,\n foreground: tokens.ComponentAlertLightErrorStandardForeground,\n },\n },\n warning: {\n filled: {\n background: tokens.ComponentAlertLightWarningFilledBackground,\n foreground: tokens.ComponentAlertLightWarningFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightWarningOutlinedBackground,\n foreground: tokens.ComponentAlertLightWarningOutlinedForeground,\n border: tokens.ComponentAlertLightWarningOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightWarningStandardBackground,\n foreground: tokens.ComponentAlertLightWarningStandardForeground,\n },\n },\n info: {\n filled: {\n background: tokens.ComponentAlertLightInfoFilledBackground,\n foreground: tokens.ComponentAlertLightInfoFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightInfoOutlinedBackground,\n foreground: tokens.ComponentAlertLightInfoOutlinedForeground,\n border: tokens.ComponentAlertLightInfoOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightInfoStandardBackground,\n foreground: tokens.ComponentAlertLightInfoStandardForeground,\n },\n },\n success: {\n filled: {\n background: tokens.ComponentAlertLightSuccessFilledBackground,\n foreground: tokens.ComponentAlertLightSuccessFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightSuccessOutlinedBackground,\n foreground: tokens.ComponentAlertLightSuccessOutlinedForeground,\n border: tokens.ComponentAlertLightSuccessOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightSuccessStandardBackground,\n foreground: tokens.ComponentAlertLightSuccessStandardForeground,\n },\n },\n },\n input: {\n borderRadius: tokens.ComponentInputLightBorderRadius,\n standard: {\n enabledBorder: tokens.ComponentInputLightStandardEnabledBorder,\n },\n filled: {\n enabledFill: tokens.ComponentInputLightFilledEnabledFill,\n },\n outlined: {\n enabledBorder: tokens.ComponentInputLightOutlinedEnabledBorder,\n },\n },\n paper: {\n elevation0: tokens.ComponentPaperLightElevation0,\n elevation1: tokens.ComponentPaperLightElevation1,\n elevation2: tokens.ComponentPaperLightElevation2,\n },\n chip: {\n defaultCloseFill: tokens.ComponentChipDefaultCloseFill,\n defaultEnabledBorder: tokens.ComponentChipDefaultEnabledBorder,\n },\n button: {\n borderRadius: tokens.ComponentButtonBorderRadius,\n },\n card: {\n borderRadius: tokens.ComponentCardLightBorderRadius,\n },\n dialog: {\n borderRadius: tokens.ComponentDialogLightBorderRadius,\n },\n table: {\n border: tokens.ComponentTableLightBorder,\n header: {\n background: tokens.ComponentTableLightHeaderBackground,\n },\n },\n rating: {\n activeFill: tokens.ComponentRatingActiveFill,\n enabledBorder: tokens.ComponentRatingEnabledBorder,\n },\n },\n};\n\n// ============================================================================\n// DARK MODE TOKENS\n// ============================================================================\nexport const darkTokens = {\n colors: {\n primary: {\n main: tokens.SemanticColorDarkPrimaryMain,\n dark: tokens.SemanticColorDarkPrimaryDark,\n light: tokens.SemanticColorDarkPrimaryLight,\n contrastText: tokens.SemanticColorDarkPrimaryContrastText,\n },\n secondary: {\n main: tokens.SemanticColorDarkSecondaryMain,\n dark: tokens.SemanticColorDarkSecondaryDark,\n light: tokens.SemanticColorDarkSecondaryLight,\n contrastText: tokens.SemanticColorDarkSecondaryContrastText,\n },\n error: {\n main: tokens.SemanticColorDarkErrorMain,\n dark: tokens.SemanticColorDarkErrorDark,\n light: tokens.SemanticColorDarkErrorLight,\n contrastText: tokens.SemanticColorDarkErrorContrastText,\n },\n warning: {\n main: tokens.SemanticColorDarkWarningMain,\n dark: tokens.SemanticColorDarkWarningDark,\n light: tokens.SemanticColorDarkWarningLight,\n contrastText: tokens.SemanticColorDarkWarningContrastText,\n },\n info: {\n main: tokens.SemanticColorDarkInfoMain,\n dark: tokens.SemanticColorDarkInfoDark,\n light: tokens.SemanticColorDarkInfoLight,\n contrastText: tokens.SemanticColorDarkInfoContrastText,\n },\n success: {\n main: tokens.SemanticColorDarkSuccessMain,\n dark: tokens.SemanticColorDarkSuccessDark,\n light: tokens.SemanticColorDarkSuccessLight,\n contrastText: tokens.SemanticColorDarkSuccessContrastText,\n },\n background: {\n default: tokens.SemanticColorDarkBackgroundDefault,\n paper: tokens.SemanticColorDarkBackgroundPaper,\n },\n text: {\n primary: tokens.SemanticColorDarkTextPrimary,\n secondary: tokens.SemanticColorDarkTextSecondary,\n disabled: tokens.SemanticColorDarkTextDisabled,\n },\n action: {\n active: tokens.SemanticColorDarkActionActive,\n hover: tokens.SemanticColorDarkActionHover,\n selected: tokens.SemanticColorDarkActionSelected,\n disabled: tokens.SemanticColorDarkActionDisabled,\n disabledBackground: tokens.SemanticColorDarkActionDisabledBackground,\n },\n divider: tokens.SemanticColorDarkDivider,\n },\n components: {\n alert: {\n borderRadius: tokens.ComponentAlertDarkBorderRadius,\n error: {\n filled: {\n background: tokens.ComponentAlertDarkErrorFilledBackground,\n foreground: tokens.ComponentAlertDarkErrorFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkErrorOutlinedBackground,\n foreground: tokens.ComponentAlertDarkErrorOutlinedForeground,\n border: tokens.ComponentAlertDarkErrorOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkErrorStandardBackground,\n foreground: tokens.ComponentAlertDarkErrorStandardForeground,\n },\n },\n warning: {\n filled: {\n background: tokens.ComponentAlertDarkWarningFilledBackground,\n foreground: tokens.ComponentAlertDarkWarningFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkWarningOutlinedBackground,\n foreground: tokens.ComponentAlertDarkWarningOutlinedForeground,\n border: tokens.ComponentAlertDarkWarningOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkWarningStandardBackground,\n foreground: tokens.ComponentAlertDarkWarningStandardForeground,\n },\n },\n info: {\n filled: {\n background: tokens.ComponentAlertDarkInfoFilledBackground,\n foreground: tokens.ComponentAlertDarkInfoFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkInfoOutlinedBackground,\n foreground: tokens.ComponentAlertDarkInfoOutlinedForeground,\n border: tokens.ComponentAlertDarkInfoOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkInfoStandardBackground,\n foreground: tokens.ComponentAlertDarkInfoStandardForeground,\n },\n },\n success: {\n filled: {\n background: tokens.ComponentAlertDarkSuccessFilledBackground,\n foreground: tokens.ComponentAlertDarkSuccessFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkSuccessOutlinedBackground,\n foreground: tokens.ComponentAlertDarkSuccessOutlinedForeground,\n border: tokens.ComponentAlertDarkSuccessOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkSuccessStandardBackground,\n foreground: tokens.ComponentAlertDarkSuccessStandardForeground,\n },\n },\n },\n input: {\n borderRadius: tokens.ComponentInputDarkBorderRadius,\n standard: {\n enabledBorder: tokens.ComponentInputDarkStandardEnabledBorder,\n },\n filled: {\n enabledFill: tokens.ComponentInputDarkFilledEnabledFill,\n },\n outlined: {\n enabledBorder: tokens.ComponentInputDarkOutlinedEnabledBorder,\n },\n },\n paper: {\n elevation0: tokens.ComponentPaperDarkElevation0,\n elevation1: tokens.ComponentPaperDarkElevation1,\n elevation2: tokens.ComponentPaperDarkElevation2,\n elevation4: tokens.ComponentPaperDarkElevation4,\n elevation6: tokens.ComponentPaperDarkElevation6,\n elevation8: tokens.ComponentPaperDarkElevation8,\n elevation12: tokens.ComponentPaperDarkElevation12,\n elevation16: tokens.ComponentPaperDarkElevation16,\n elevation24: tokens.ComponentPaperDarkElevation24,\n },\n chip: {\n defaultCloseFill: tokens.PrimitivesColorsNeutralWhite,\n defaultEnabledBorder: tokens.PrimitivesColorsNeutralGray600,\n },\n button: {\n borderRadius: tokens.ComponentButtonBorderRadius,\n },\n card: {\n borderRadius: tokens.ComponentCardDarkBorderRadius,\n },\n dialog: {\n borderRadius: tokens.ComponentDialogDarkBorderRadius,\n },\n table: {\n border: tokens.ComponentTableDarkBorder,\n header: {\n background: tokens.ComponentTableDarkHeaderBackground,\n },\n },\n rating: {\n activeFill: tokens.ComponentRatingActiveFill,\n enabledBorder: tokens.PrimitivesColorsAlphaWhite30,\n },\n },\n};\n","/**\n * MRS Design System Theme Configuration\n * Material-UI v6.5.0 theme with centralized component overrides\n *\n * This theme uses:\n * 1. Design tokens generated by Style Dictionary (single source of truth)\n * 2. Component overrides for consistent styling across all components\n *\n * @version 0.12.0 - Migrated to 100% generated tokens (no theme.json dependency)\n * @see https://mui.com/material-ui/customization/theme-components/\n */\n\n/// <reference path=\"../types/theme.d.ts\" />\n\nimport type { Theme, ThemeOptions } from '@mui/material/styles';\nimport { createTheme } from '@mui/material/styles';\n\nimport { lightTokens, darkTokens, typographyTokens, shapeTokens } from './tokens-import';\n\n/**\n * Spacing function for MUI\n * Multiplies the base unit (8px) by the given factor\n */\nconst spacing = (factor: number): number => {\n const baseUnit = 8;\n return baseUnit * factor;\n};\n\n/**\n * Shared component overrides\n * These apply consistent styling across all components using theme tokens\n *\n * Benefits:\n * - Single place to manage component styles\n * - No need for sx prop overrides in individual components\n * - Consistent with MUI best practices\n * - 100% generated tokens (v0.12.0+)\n */\nconst getComponentOverrides = (mode: 'light' | 'dark'): ThemeOptions['components'] => {\n const modeTokens = mode === 'light' ? lightTokens : darkTokens;\n const shape = shapeTokens;\n const typography = typographyTokens;\n\n return {\n // =========================================================================\n // GLOBAL BASELINE\n // =========================================================================\n MuiCssBaseline: {\n styleOverrides: {\n body: {\n fontFamily: typography.fontFamily,\n },\n // Apply Nunito font globally\n '*': {\n fontFamily: 'inherit',\n },\n },\n },\n\n // =========================================================================\n // BUTTONS\n // =========================================================================\n MuiButton: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: shape.md,\n textTransform: 'none' as const,\n fontWeight: typography.fontWeightSemiBold,\n fontFamily: typography.fontFamily,\n },\n sizeSmall: {\n fontSize: '0.8125rem',\n padding: '4px 10px',\n },\n sizeMedium: {\n fontSize: '0.875rem',\n padding: '6px 16px',\n },\n sizeLarge: {\n fontSize: '1rem',\n padding: '8px 22px',\n },\n },\n },\n\n MuiIconButton: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiToggleButton: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n textTransform: 'none' as const,\n },\n },\n },\n\n MuiButtonGroup: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: shape.md,\n },\n },\n },\n\n MuiFab: {\n styleOverrides: {\n root: {\n borderRadius: shape.rounded,\n textTransform: 'none' as const,\n },\n },\n },\n\n // =========================================================================\n // INPUTS\n // =========================================================================\n MuiTextField: {\n defaultProps: {\n variant: 'outlined',\n },\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: shape.sm,\n },\n notchedOutline: {\n borderColor: modeTokens.components.input.outlined.enabledBorder,\n },\n },\n },\n\n MuiFilledInput: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n backgroundColor: modeTokens.components.input.filled.enabledFill,\n borderRadius: `${shape.sm}px ${shape.sm}px 0 0`,\n },\n },\n },\n\n MuiInput: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n underline: {\n '&:before': {\n borderBottomColor: modeTokens.components.input.standard.enabledBorder,\n },\n },\n },\n },\n\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiSelect: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiAutocomplete: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // SELECTION CONTROLS\n // =========================================================================\n MuiCheckbox: {\n styleOverrides: {\n root: {\n '&.Mui-checked': {\n color: modeTokens.colors.primary.main,\n },\n },\n },\n },\n\n MuiRadio: {\n styleOverrides: {\n root: {\n '&.Mui-checked': {\n color: modeTokens.colors.primary.main,\n },\n },\n },\n },\n\n MuiSwitch: {\n styleOverrides: {\n root: {\n '& .MuiSwitch-switchBase.Mui-checked': {\n color: modeTokens.colors.primary.main,\n },\n '& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track': {\n backgroundColor: modeTokens.colors.primary.main,\n },\n },\n },\n },\n\n // =========================================================================\n // CHIPS\n // =========================================================================\n MuiChip: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: shape.rounded,\n },\n outlined: {\n borderColor: modeTokens.components.chip.defaultEnabledBorder,\n },\n deleteIcon: {\n color: modeTokens.components.chip.defaultCloseFill,\n },\n },\n },\n\n // =========================================================================\n // ALERTS & FEEDBACK\n // =========================================================================\n MuiAlert: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: `${shape.md}px`,\n },\n // Filled variants\n filledError: {\n backgroundColor: modeTokens.components.alert.error.filled.background,\n color: modeTokens.components.alert.error.filled.foreground,\n },\n filledWarning: {\n backgroundColor: modeTokens.components.alert.warning.filled.background,\n color: modeTokens.components.alert.warning.filled.foreground,\n },\n filledInfo: {\n backgroundColor: modeTokens.components.alert.info.filled.background,\n color: modeTokens.components.alert.info.filled.foreground,\n },\n filledSuccess: {\n backgroundColor: modeTokens.components.alert.success.filled.background,\n color: modeTokens.components.alert.success.filled.foreground,\n },\n // Outlined variants\n outlinedError: {\n backgroundColor: modeTokens.components.alert.error.outlined.background,\n color: modeTokens.components.alert.error.outlined.foreground,\n borderColor: modeTokens.components.alert.error.outlined.border,\n },\n outlinedWarning: {\n backgroundColor: modeTokens.components.alert.warning.outlined.background,\n color: modeTokens.components.alert.warning.outlined.foreground,\n borderColor: modeTokens.components.alert.warning.outlined.border,\n },\n outlinedInfo: {\n backgroundColor: modeTokens.components.alert.info.outlined.background,\n color: modeTokens.components.alert.info.outlined.foreground,\n borderColor: modeTokens.components.alert.info.outlined.border,\n },\n outlinedSuccess: {\n backgroundColor: modeTokens.components.alert.success.outlined.background,\n color: modeTokens.components.alert.success.outlined.foreground,\n borderColor: modeTokens.components.alert.success.outlined.border,\n },\n // Standard variants\n standardError: {\n backgroundColor: modeTokens.components.alert.error.standard.background,\n color: modeTokens.components.alert.error.standard.foreground,\n },\n standardWarning: {\n backgroundColor: modeTokens.components.alert.warning.standard.background,\n color: modeTokens.components.alert.warning.standard.foreground,\n },\n standardInfo: {\n backgroundColor: modeTokens.components.alert.info.standard.background,\n color: modeTokens.components.alert.info.standard.foreground,\n },\n standardSuccess: {\n backgroundColor: modeTokens.components.alert.success.standard.background,\n color: modeTokens.components.alert.success.standard.foreground,\n },\n },\n },\n\n MuiSnackbar: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // SURFACES\n // =========================================================================\n MuiPaper: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n rounded: {\n borderRadius: shape.md,\n },\n elevation0: {\n backgroundColor: modeTokens.components.paper.elevation0,\n },\n elevation1: {\n backgroundColor: modeTokens.components.paper.elevation1,\n },\n elevation2: {\n backgroundColor: modeTokens.components.paper.elevation2,\n },\n },\n },\n\n MuiCard: {\n styleOverrides: {\n root: {\n borderRadius: shape.lg,\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: shape.lg,\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiDrawer: {\n styleOverrides: {\n paper: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiAppBar: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // TABLES\n // =========================================================================\n MuiTable: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiTableCell: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderBottomColor: modeTokens.components.table.border,\n },\n head: {\n fontWeight: typography.fontWeightMedium,\n },\n },\n },\n\n // =========================================================================\n // LISTS & MENUS\n // =========================================================================\n MuiList: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiListItem: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiListItemButton: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: shape.sm,\n '&.Mui-selected': {\n backgroundColor: modeTokens.colors.action.selected,\n },\n '&.Mui-selected:hover': {\n backgroundColor: modeTokens.colors.action.hover,\n },\n },\n },\n },\n\n MuiListItemText: {\n styleOverrides: {\n primary: {\n fontFamily: typography.fontFamily,\n },\n secondary: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiMenu: {\n styleOverrides: {\n paper: {\n borderRadius: shape.md,\n },\n },\n },\n\n MuiMenuItem: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // NAVIGATION\n // =========================================================================\n MuiTabs: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiTab: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n textTransform: 'none' as const,\n },\n },\n },\n\n MuiBreadcrumbs: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiPagination: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiStepper: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // TYPOGRAPHY\n // =========================================================================\n MuiTypography: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiLink: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // DATA DISPLAY\n // =========================================================================\n MuiAvatar: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiBadge: {\n styleOverrides: {\n badge: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiDivider: {\n styleOverrides: {\n root: {\n borderColor: modeTokens.colors.divider,\n },\n },\n },\n\n // =========================================================================\n // FORMS\n // =========================================================================\n MuiFormControlLabel: {\n styleOverrides: {\n label: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiFormLabel: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // PROGRESS\n // =========================================================================\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: shape.sm,\n },\n },\n },\n };\n};\n\n/**\n * Light theme configuration\n * Uses 100% generated tokens from Style Dictionary\n */\nexport const lightTheme: Theme = createTheme({\n palette: {\n mode: 'light',\n primary: lightTokens.colors.primary,\n secondary: lightTokens.colors.secondary,\n error: lightTokens.colors.error,\n warning: lightTokens.colors.warning,\n info: lightTokens.colors.info,\n success: lightTokens.colors.success,\n background: lightTokens.colors.background,\n text: lightTokens.colors.text,\n action: lightTokens.colors.action,\n divider: lightTokens.colors.divider,\n _components: lightTokens.components,\n },\n typography: {\n ...typographyTokens,\n },\n shape: {\n ...shapeTokens,\n },\n spacing,\n components: getComponentOverrides('light'),\n});\n\n/**\n * Dark theme configuration\n * Uses 100% generated tokens from Style Dictionary\n */\nexport const darkTheme: Theme = createTheme({\n palette: {\n mode: 'dark',\n primary: darkTokens.colors.primary,\n secondary: darkTokens.colors.secondary,\n error: darkTokens.colors.error,\n warning: darkTokens.colors.warning,\n info: darkTokens.colors.info,\n success: darkTokens.colors.success,\n background: darkTokens.colors.background,\n text: darkTokens.colors.text,\n action: darkTokens.colors.action,\n divider: darkTokens.colors.divider,\n _components: darkTokens.components,\n },\n typography: {\n ...typographyTokens,\n },\n shape: {\n ...shapeTokens,\n },\n spacing,\n components: getComponentOverrides('dark'),\n});\n\n/**\n * Default theme export (light mode)\n */\nexport const theme = lightTheme;\n\n/**\n * Export both themes for theme switching\n */\nexport default {\n light: lightTheme,\n dark: darkTheme,\n};\n","/**\n * Design tokens exports\n * Re-exports from generated tokens (Style Dictionary)\n *\n * @version 0.12.0 - Migrated to 100% generated tokens\n * @deprecated Direct theme.json dependency removed - use generated tokens\n */\n\nimport {\n lightTokens,\n darkTokens,\n typographyTokens,\n shapeTokens,\n spacingArray,\n} from './tokens-import';\n\n/**\n * Color tokens (organized by light/dark mode)\n */\nexport const colors = {\n light: lightTokens.colors,\n dark: darkTokens.colors,\n};\n\n/**\n * Typography tokens\n * Includes font family, sizes, weights, and variant definitions\n */\nexport const typography = typographyTokens;\n\n/**\n * Shape tokens (border radius values)\n */\nexport const shape = shapeTokens;\n\n/**\n * Spacing scale (8px base grid system)\n * Array format: [0, 4, 8, 12, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96]\n */\nexport const spacing = spacingArray;\n\n/**\n * Component-specific tokens\n */\nexport const components = {\n light: lightTokens.components,\n dark: darkTokens.components,\n};\n\n/**\n * Full tokens object (for backwards compatibility)\n * @deprecated Use named exports (colors, typography, shape, etc.) instead\n */\nexport const tokens = {\n colorSchemes: {\n light: {\n palette: lightTokens.colors,\n _components: lightTokens.components,\n },\n dark: {\n palette: darkTokens.colors,\n _components: darkTokens.components,\n },\n },\n typography: typographyTokens,\n shape: shapeTokens,\n spacing: spacingArray,\n};\n\n/**\n * Type definitions for tokens\n */\nexport type ColorScheme = typeof lightTokens.colors;\nexport type ComponentTokens = typeof lightTokens.components;\nexport type TypographyScale = typeof typographyTokens;\nexport type ShapeTokens = typeof shapeTokens;\nexport type SpacingScale = typeof spacingArray;\n","/**\n * Box component\n * Wraps Material-UI Box with design system theme\n */\n\nimport React from 'react';\nimport MuiBox from '@mui/material/Box';\nimport type { BoxProps } from './Box.types';\n\n/**\n * Box component - the most fundamental layout component\n * A utility component that serves as a wrapper with access to theme and sx prop\n *\n * @example\n * ```tsx\n * <Box sx={{ padding: 2, backgroundColor: 'primary.main' }}>\n * Content\n * </Box>\n * ```\n */\nexport const Box = React.forwardRef<HTMLDivElement, BoxProps>(({ children, ...props }, ref) => {\n return (\n <MuiBox ref={ref} {...props}>\n {children}\n </MuiBox>\n );\n});\n\nBox.displayName = 'Box';\n\nexport default Box;\n","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createStack } from '@mui/system';\nimport styled from \"../styles/styled.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nconst Stack = createStack({\n createStyledComponent: styled('div', {\n name: 'MuiStack',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n }),\n useThemeProps: inProps => useDefaultProps({\n props: inProps,\n name: 'MuiStack'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Stack.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'column'\n */\n direction: PropTypes.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Add an element between each child.\n */\n divider: PropTypes.node,\n /**\n * Defines the space between immediate children.\n * @default 0\n */\n spacing: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * The system prop, which allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * If `true`, the CSS flexbox `gap` is used instead of applying `margin` to children.\n *\n * While CSS `gap` removes the [known limitations](https://mui.com/joy-ui/react-stack/#limitations),\n * it is not fully supported in some browsers. We recommend checking https://caniuse.com/?search=flex%20gap before using this flag.\n *\n * To enable this flag globally, follow the [theme's default props](https://mui.com/material-ui/customization/theme-components/#default-props) configuration.\n * @default false\n */\n useFlexGap: PropTypes.bool\n} : void 0;\nexport default Stack;","/**\n * Stack component\n * Wraps Material-UI Stack with design system theme\n */\n\nimport React from 'react';\nimport MuiStack from '@mui/material/Stack';\nimport type { StackProps } from './Stack.types';\n\n/**\n * Stack component - manages layout of immediate children along vertical or horizontal axis\n * Provides spacing between children with optional dividers\n *\n * @example\n * ```tsx\n * <Stack spacing={2} direction=\"row\">\n * <Item>Item 1</Item>\n * <Item>Item 2</Item>\n * </Stack>\n * ```\n */\nexport const Stack = React.forwardRef<HTMLDivElement, StackProps>(\n ({ children, direction = 'column', spacing = 0, ...props }, ref) => {\n return (\n <MuiStack ref={ref} direction={direction} spacing={spacing} {...props}>\n {children}\n </MuiStack>\n );\n }\n);\n\nStack.displayName = 'Stack';\n\nexport default Stack;\n","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 12c2.21 0 4-1.79 4-4s-1.79-4-4-4-4 1.79-4 4 1.79 4 4 4zm0 2c-2.67 0-8 1.34-8 4v2h16v-2c0-2.66-5.33-4-8-4z\"\n}), 'Person');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAvatarUtilityClass(slot) {\n return generateUtilityClass('MuiAvatar', slot);\n}\nconst avatarClasses = generateUtilityClasses('MuiAvatar', ['root', 'colorDefault', 'circular', 'rounded', 'square', 'img', 'fallback']);\nexport default avatarClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Person from \"../internal/svg-icons/Person.js\";\nimport { getAvatarUtilityClass } from \"./avatarClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n colorDefault\n } = ownerState;\n const slots = {\n root: ['root', variant, colorDefault && 'colorDefault'],\n img: ['img'],\n fallback: ['fallback']\n };\n return composeClasses(slots, getAvatarUtilityClass, classes);\n};\nconst AvatarRoot = styled('div', {\n name: 'MuiAvatar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.colorDefault && styles.colorDefault];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n width: 40,\n height: 40,\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(20),\n lineHeight: 1,\n borderRadius: '50%',\n overflow: 'hidden',\n userSelect: 'none',\n variants: [{\n props: {\n variant: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: {\n variant: 'square'\n },\n style: {\n borderRadius: 0\n }\n }, {\n props: {\n colorDefault: true\n },\n style: {\n color: (theme.vars || theme).palette.background.default,\n ...(theme.vars ? {\n backgroundColor: theme.vars.palette.Avatar.defaultBg\n } : {\n backgroundColor: theme.palette.grey[400],\n ...theme.applyStyles('dark', {\n backgroundColor: theme.palette.grey[600]\n })\n })\n }\n }]\n})));\nconst AvatarImg = styled('img', {\n name: 'MuiAvatar',\n slot: 'Img',\n overridesResolver: (props, styles) => styles.img\n})({\n width: '100%',\n height: '100%',\n textAlign: 'center',\n // Handle non-square image.\n objectFit: 'cover',\n // Hide alt text.\n color: 'transparent',\n // Hide the image broken icon, only works on Chrome.\n textIndent: 10000\n});\nconst AvatarFallback = styled(Person, {\n name: 'MuiAvatar',\n slot: 'Fallback',\n overridesResolver: (props, styles) => styles.fallback\n})({\n width: '75%',\n height: '75%'\n});\nfunction useLoaded({\n crossOrigin,\n referrerPolicy,\n src,\n srcSet\n}) {\n const [loaded, setLoaded] = React.useState(false);\n React.useEffect(() => {\n if (!src && !srcSet) {\n return undefined;\n }\n setLoaded(false);\n let active = true;\n const image = new Image();\n image.onload = () => {\n if (!active) {\n return;\n }\n setLoaded('loaded');\n };\n image.onerror = () => {\n if (!active) {\n return;\n }\n setLoaded('error');\n };\n image.crossOrigin = crossOrigin;\n image.referrerPolicy = referrerPolicy;\n image.src = src;\n if (srcSet) {\n image.srcset = srcSet;\n }\n return () => {\n active = false;\n };\n }, [crossOrigin, referrerPolicy, src, srcSet]);\n return loaded;\n}\nconst Avatar = /*#__PURE__*/React.forwardRef(function Avatar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAvatar'\n });\n const {\n alt,\n children: childrenProp,\n className,\n component = 'div',\n slots = {},\n slotProps = {},\n imgProps,\n sizes,\n src,\n srcSet,\n variant = 'circular',\n ...other\n } = props;\n let children = null;\n const ownerState = {\n ...props,\n component,\n variant\n };\n\n // Use a hook instead of onError on the img element to support server-side rendering.\n const loaded = useLoaded({\n ...imgProps,\n ...(typeof slotProps.img === 'function' ? slotProps.img(ownerState) : slotProps.img),\n src,\n srcSet\n });\n const hasImg = src || srcSet;\n const hasImgNotFailing = hasImg && loaded !== 'error';\n ownerState.colorDefault = !hasImgNotFailing;\n // This issue explains why this is required: https://github.com/mui/material-ui/issues/42184\n delete ownerState.ownerState;\n const classes = useUtilityClasses(ownerState);\n const [ImgSlot, imgSlotProps] = useSlot('img', {\n className: classes.img,\n elementType: AvatarImg,\n externalForwardedProps: {\n slots,\n slotProps: {\n img: {\n ...imgProps,\n ...slotProps.img\n }\n }\n },\n additionalProps: {\n alt,\n src,\n srcSet,\n sizes\n },\n ownerState\n });\n if (hasImgNotFailing) {\n children = /*#__PURE__*/_jsx(ImgSlot, {\n ...imgSlotProps\n });\n // We only render valid children, non valid children are rendered with a fallback\n // We consider that invalid children are all falsy values, except 0, which is valid.\n } else if (!!childrenProp || childrenProp === 0) {\n children = childrenProp;\n } else if (hasImg && alt) {\n children = alt[0];\n } else {\n children = /*#__PURE__*/_jsx(AvatarFallback, {\n ownerState: ownerState,\n className: classes.fallback\n });\n }\n return /*#__PURE__*/_jsx(AvatarRoot, {\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n ownerState: ownerState,\n children: children\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Avatar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Used in combination with `src` or `srcSet` to\n * provide an alt attribute for the rendered `img` element.\n */\n alt: PropTypes.string,\n /**\n * Used to render icon or text elements inside the Avatar if `src` is not set.\n * This can be an element, or just a string.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/img#attributes) applied to the `img` element if the component is used to display an image.\n * It can be used to listen for the loading error event.\n * @deprecated Use `slotProps.img` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n imgProps: PropTypes.object,\n /**\n * The `sizes` attribute for the `img` element.\n */\n sizes: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n img: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n img: PropTypes.elementType\n }),\n /**\n * The `src` attribute for the `img` element.\n */\n src: PropTypes.string,\n /**\n * The `srcSet` attribute for the `img` element.\n * Use this attribute for responsive image display.\n */\n srcSet: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The shape of the avatar.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rounded', 'square']), PropTypes.string])\n} : void 0;\nexport default Avatar;","/**\n * Avatar Component\n *\n * Avatar component for the MRS Design System.\n * Wraps Material-UI Avatar with custom theme tokens and sizing.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6587:47403\n * @see {@link https://mui.com/material-ui/react-avatar/}\n */\n\nimport React from 'react';\nimport MuiAvatar from '@mui/material/Avatar';\nimport { useTheme } from '@mui/material/styles';\nimport type { AvatarProps } from './Avatar.types';\nimport * as tokens from '../../../tokens/generated/ts/tokens';\n\n/**\n * Avatar component\n *\n * Avatars are found throughout material design with uses in everything from tables to dialog menus.\n *\n * @param props - Avatar component props\n * @returns Avatar component\n */\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n ({ children, size = 40, variant = 'circular', sx, ...props }, ref) => {\n const theme = useTheme();\n\n // Map size to predefined token sizes\n const getSizeToken = (): string => {\n if (size === 24) return tokens.ComponentAvatarSmall;\n if (size === 40) return tokens.ComponentAvatarMedium;\n // Default for sizes not in predefined tokens\n return `${size}px`;\n };\n\n // Calculate font size based on avatar size\n const getFontSize = (): string => {\n if (size === 18) return tokens.PrimitivesTypographyFontSizeXs;\n if (size === 24 || size === 32) return tokens.PrimitivesTypographyFontSizeSm;\n return tokens.PrimitivesTypographyFontSizeLg;\n };\n\n const avatarSize = getSizeToken();\n\n return (\n <MuiAvatar\n ref={ref}\n variant={variant}\n {...props}\n sx={{\n width: avatarSize,\n height: avatarSize,\n fontSize: getFontSize(),\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightRegular,\n borderRadius:\n variant === 'circular' ? tokens.ComponentAvatarBorderRadius : tokens.PrimitivesRadiusSm,\n ...sx,\n }}\n >\n {children}\n </MuiAvatar>\n );\n }\n);\n\nAvatar.displayName = 'Avatar';\n","'use client';\n\nimport { usePreviousProps } from '@mui/utils';\n/**\n *\n * Demos:\n *\n * - [Badge](https://mui.com/base-ui/react-badge/#hook)\n *\n * API:\n *\n * - [useBadge API](https://mui.com/base-ui/react-badge/hooks-api/#use-badge)\n */\nfunction useBadge(parameters) {\n const {\n badgeContent: badgeContentProp,\n invisible: invisibleProp = false,\n max: maxProp = 99,\n showZero = false\n } = parameters;\n const prevProps = usePreviousProps({\n badgeContent: badgeContentProp,\n max: maxProp\n });\n let invisible = invisibleProp;\n if (invisibleProp === false && badgeContentProp === 0 && !showZero) {\n invisible = true;\n }\n const {\n badgeContent,\n max = maxProp\n } = invisible ? prevProps : parameters;\n const displayValue = badgeContent && Number(badgeContent) > max ? `${max}+` : badgeContent;\n return {\n badgeContent,\n invisible,\n max,\n displayValue\n };\n}\nexport default useBadge;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBadgeUtilityClass(slot) {\n return generateUtilityClass('MuiBadge', slot);\n}\nconst badgeClasses = generateUtilityClasses('MuiBadge', ['root', 'badge', 'dot', 'standard', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft', 'invisible', 'colorError', 'colorInfo', 'colorPrimary', 'colorSecondary', 'colorSuccess', 'colorWarning', 'overlapRectangular', 'overlapCircular',\n// TODO: v6 remove the overlap value from these class keys\n'anchorOriginTopLeftCircular', 'anchorOriginTopLeftRectangular', 'anchorOriginTopRightCircular', 'anchorOriginTopRightRectangular', 'anchorOriginBottomLeftCircular', 'anchorOriginBottomLeftRectangular', 'anchorOriginBottomRightCircular', 'anchorOriginBottomRightRectangular']);\nexport default badgeClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport usePreviousProps from '@mui/utils/usePreviousProps';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useBadge from \"./useBadge.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport badgeClasses, { getBadgeUtilityClass } from \"./badgeClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst RADIUS_STANDARD = 10;\nconst RADIUS_DOT = 4;\nconst useUtilityClasses = ownerState => {\n const {\n color,\n anchorOrigin,\n invisible,\n overlap,\n variant,\n classes = {}\n } = ownerState;\n const slots = {\n root: ['root'],\n badge: ['badge', variant, invisible && 'invisible', `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`, `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}${capitalize(overlap)}`, `overlap${capitalize(overlap)}`, color !== 'default' && `color${capitalize(color)}`]\n };\n return composeClasses(slots, getBadgeUtilityClass, classes);\n};\nconst BadgeRoot = styled('span', {\n name: 'MuiBadge',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n position: 'relative',\n display: 'inline-flex',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n flexShrink: 0\n});\nconst BadgeBadge = styled('span', {\n name: 'MuiBadge',\n slot: 'Badge',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.badge, styles[ownerState.variant], styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}${capitalize(ownerState.overlap)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], ownerState.invisible && styles.invisible];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignContent: 'center',\n alignItems: 'center',\n position: 'absolute',\n boxSizing: 'border-box',\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(12),\n minWidth: RADIUS_STANDARD * 2,\n lineHeight: 1,\n padding: '0 6px',\n height: RADIUS_STANDARD * 2,\n borderRadius: RADIUS_STANDARD,\n zIndex: 1,\n // Render the badge on top of potential ripples.\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.enteringScreen\n }),\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['contrastText'])).map(([color]) => ({\n props: {\n color\n },\n style: {\n backgroundColor: (theme.vars || theme).palette[color].main,\n color: (theme.vars || theme).palette[color].contrastText\n }\n })), {\n props: {\n variant: 'dot'\n },\n style: {\n borderRadius: RADIUS_DOT,\n height: RADIUS_DOT * 2,\n minWidth: RADIUS_DOT * 2,\n padding: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',\n style: {\n top: 0,\n right: 0,\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'rectangular',\n style: {\n bottom: 0,\n right: 0,\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',\n style: {\n top: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'rectangular',\n style: {\n bottom: 0,\n left: 0,\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',\n style: {\n top: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, -50%)',\n transformOrigin: '100% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'right' && ownerState.overlap === 'circular',\n style: {\n bottom: '14%',\n right: '14%',\n transform: 'scale(1) translate(50%, 50%)',\n transformOrigin: '100% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(50%, 50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',\n style: {\n top: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, -50%)',\n transformOrigin: '0% 0%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, -50%)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'bottom' && ownerState.anchorOrigin.horizontal === 'left' && ownerState.overlap === 'circular',\n style: {\n bottom: '14%',\n left: '14%',\n transform: 'scale(1) translate(-50%, 50%)',\n transformOrigin: '0% 100%',\n [`&.${badgeClasses.invisible}`]: {\n transform: 'scale(0) translate(-50%, 50%)'\n }\n }\n }, {\n props: {\n invisible: true\n },\n style: {\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeInOut,\n duration: theme.transitions.duration.leavingScreen\n })\n }\n }]\n})));\nfunction getAnchorOrigin(anchorOrigin) {\n return {\n vertical: anchorOrigin?.vertical ?? 'top',\n horizontal: anchorOrigin?.horizontal ?? 'right'\n };\n}\nconst Badge = /*#__PURE__*/React.forwardRef(function Badge(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiBadge'\n });\n const {\n anchorOrigin: anchorOriginProp,\n className,\n classes: classesProp,\n component,\n components = {},\n componentsProps = {},\n children,\n overlap: overlapProp = 'rectangular',\n color: colorProp = 'default',\n invisible: invisibleProp = false,\n max: maxProp = 99,\n badgeContent: badgeContentProp,\n slots,\n slotProps,\n showZero = false,\n variant: variantProp = 'standard',\n ...other\n } = props;\n const {\n badgeContent,\n invisible: invisibleFromHook,\n max,\n displayValue: displayValueFromHook\n } = useBadge({\n max: maxProp,\n invisible: invisibleProp,\n badgeContent: badgeContentProp,\n showZero\n });\n const prevProps = usePreviousProps({\n anchorOrigin: getAnchorOrigin(anchorOriginProp),\n color: colorProp,\n overlap: overlapProp,\n variant: variantProp,\n badgeContent: badgeContentProp\n });\n const invisible = invisibleFromHook || badgeContent == null && variantProp !== 'dot';\n const {\n color = colorProp,\n overlap = overlapProp,\n anchorOrigin: anchorOriginPropProp,\n variant = variantProp\n } = invisible ? prevProps : props;\n const anchorOrigin = getAnchorOrigin(anchorOriginPropProp);\n const displayValue = variant !== 'dot' ? displayValueFromHook : undefined;\n const ownerState = {\n ...props,\n badgeContent,\n invisible,\n max,\n displayValue,\n showZero,\n anchorOrigin,\n color,\n overlap,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n\n // support both `slots` and `components` for backward compatibility\n const externalForwardedProps = {\n slots: {\n root: slots?.root ?? components.Root,\n badge: slots?.badge ?? components.Badge\n },\n slotProps: {\n root: slotProps?.root ?? componentsProps.root,\n badge: slotProps?.badge ?? componentsProps.badge\n }\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: BadgeRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n className: clsx(classes.root, className),\n ref,\n additionalProps: {\n as: component\n }\n });\n const [BadgeSlot, badgeProps] = useSlot('badge', {\n elementType: BadgeBadge,\n externalForwardedProps,\n ownerState,\n className: classes.badge\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [children, /*#__PURE__*/_jsx(BadgeSlot, {\n ...badgeProps,\n children: displayValue\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Badge.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The anchor of the badge.\n * @default {\n * vertical: 'top',\n * horizontal: 'right',\n * }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['left', 'right']),\n vertical: PropTypes.oneOf(['bottom', 'top'])\n }),\n /**\n * The content rendered within the badge.\n */\n badgeContent: PropTypes.node,\n /**\n * The badge will be added relative to this node.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` 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.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Badge: PropTypes.elementType,\n Root: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @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.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n badge: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * If `true`, the badge is invisible.\n * @default false\n */\n invisible: PropTypes.bool,\n /**\n * Max count to show.\n * @default 99\n */\n max: PropTypes.number,\n /**\n * Wrapped shape the badge should overlap.\n * @default 'rectangular'\n */\n overlap: PropTypes.oneOf(['circular', 'rectangular']),\n /**\n * Controls whether the badge is hidden when `badgeContent` is zero.\n * @default false\n */\n showZero: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n badge: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n badge: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dot', 'standard']), PropTypes.string])\n} : void 0;\nexport default Badge;","/**\n * Badge Component\n *\n * Badge component for the MRS Design System.\n * Wraps Material-UI Badge with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6587:47500\n * @see {@link https://mui.com/material-ui/react-badge/}\n */\n\nimport React from 'react';\nimport MuiBadge from '@mui/material/Badge';\nimport { useTheme } from '@mui/material/styles';\nimport type { BadgeProps } from './Badge.types';\n\n/**\n * Badge component\n *\n * Generates a small badge to the top-right of its child(ren).\n * Typically used to display notification counts or status indicators.\n *\n * @param props - Badge component props\n * @returns Badge component\n */\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ children, color = 'default', variant = 'standard', sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiBadge\n ref={ref}\n color={color}\n variant={variant}\n {...props}\n sx={{\n // Badge styling\n '& .MuiBadge-badge': {\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n },\n ...sx,\n }}\n >\n {children}\n </MuiBadge>\n );\n }\n);\n\nBadge.displayName = 'Badge';\n","/**\n * Typography Component\n *\n * Text display component for the MRS Design System.\n * Wraps Material-UI Typography with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=11609:174872\n * @see {@link https://mui.com/material-ui/react-typography/}\n */\n\nimport React from 'react';\nimport MuiTypography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport type { TypographyProps } from './Typography.types';\n\n/**\n * Typography component\n *\n * Displays text content with predefined typography styles from the theme.\n * Supports all standard MUI typography variants (h1-h6, body1-body2, subtitle1-subtitle2, caption, overline).\n *\n * @param props - Typography component props\n * @returns Typography component\n */\nexport const Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ children, variant = 'body1', gutterBottom = false, sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiTypography\n ref={ref}\n variant={variant}\n gutterBottom={gutterBottom}\n {...props}\n sx={{\n // Use theme typography tokens\n fontFamily: theme.typography.fontFamily,\n // Allow custom sx to override defaults\n ...sx,\n }}\n >\n {children}\n </MuiTypography>\n );\n }\n);\n\nTypography.displayName = 'Typography';\n","/**\n * AccountStack Component\n * Displays user account information with avatar, badge, and user details\n * Designed for use in AppBar/Toolbar components\n */\n\nimport React from 'react';\nimport { Box } from '../Box';\nimport { Stack } from '../Stack';\nimport { Avatar } from '../Avatar';\nimport { Badge } from '../Badge';\nimport { Typography } from '../Typography';\nimport type { AccountStackProps } from './AccountStack.types';\n\nexport const AccountStack = React.forwardRef<HTMLDivElement, AccountStackProps>(\n (\n {\n user = true,\n userAccountInfo = true,\n notifications = true,\n userName = 'John Doe',\n userEmail = 'john.doe@example.com',\n avatarSrc,\n avatarAlt = 'User avatar',\n notificationCount,\n avatarPosition = 'left',\n sx,\n ...props\n },\n ref\n ) => {\n const avatarElement = user && (\n <Badge\n overlap=\"circular\"\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n variant={notifications && !notificationCount ? 'dot' : 'standard'}\n invisible={!notifications}\n color=\"error\"\n badgeContent={notificationCount}\n >\n <Avatar src={avatarSrc} alt={avatarAlt} sx={{ width: 40, height: 40 }} />\n </Badge>\n );\n\n const userInfoElement = userAccountInfo && (\n <Stack direction=\"column\" spacing={0} sx={{ alignItems: 'flex-start' }}>\n <Typography variant=\"subtitle2\" sx={{ lineHeight: 1.2, fontWeight: 600 }}>\n {userName}\n </Typography>\n <Typography\n variant=\"subtitle2\"\n sx={{\n lineHeight: 1.2,\n fontWeight: 400,\n color: 'text.secondary',\n fontSize: '0.75rem',\n }}\n >\n {userEmail}\n </Typography>\n </Stack>\n );\n\n return (\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n height: 40, // spacing(5)\n gap: 2, // spacing(2) = 16px\n ...sx,\n }}\n {...props}\n >\n {avatarPosition === 'left' ? (\n <>\n {avatarElement}\n {userInfoElement}\n </>\n ) : (\n <>\n {userInfoElement}\n {avatarElement}\n </>\n )}\n </Box>\n );\n }\n);\n\nAccountStack.displayName = 'AccountStack';\n\nexport type { AccountStackProps };\nexport default AccountStack;\n","/**\n * Theme Helper Types\n * \n * Helper types and functions for working with the extended MUI theme.\n * Provides type-safe access to custom theme properties.\n */\n\nimport type { Theme } from '@mui/material/styles';\n\n/**\n * Extended Shape interface with custom border radius values\n */\nexport interface ExtendedShape {\n borderRadius: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n rounded: number;\n}\n\n/**\n * Get typed shape object from theme\n * \n * @param theme - MUI theme object\n * @returns Shape object with custom border radius values\n * \n * @example\n * ```tsx\n * const theme = useTheme();\n * const shape = getThemeShape(theme);\n * console.log(shape.rounded); // 9999\n * ```\n */\nexport const getThemeShape = (theme: Theme): ExtendedShape => {\n return theme.shape as unknown as ExtendedShape;\n};\n\n/**\n * Extended Palette Color interface with state tokens\n */\nexport interface ExtendedPaletteColor {\n main: string;\n dark: string;\n light: string;\n contrastText: string;\n _states?: {\n hover?: string;\n selected?: string;\n focus?: string;\n focusVisible?: string;\n };\n}\n\n/**\n * Get typed palette color with states\n * \n * @param color - Palette color object\n * @returns Color object with state tokens\n * \n * @example\n * ```tsx\n * const theme = useTheme();\n * const primaryColor = getExtendedColor(theme.palette.primary);\n * console.log(primaryColor._states?.hover); // hover color\n * ```\n */\nexport const getExtendedColor = (color: any): ExtendedPaletteColor => {\n return color as ExtendedPaletteColor;\n};\n","/**\n * Button Component\n *\n * Primary action component for the MRS Design System.\n * Wraps Material-UI Button with custom theme tokens.\n *\n * @figma https://figma.com/design/ESNP5KunFotGObfcuXZ9Op/MRS---Material-UI-v.7.2.0\n * @see {@link https://mui.com/material-ui/react-button/}\n */\n\nimport React from 'react';\nimport MuiButton from '@mui/material/Button';\nimport { useTheme } from '@mui/material/styles';\nimport type { ButtonProps } from './Button.types';\nimport { getThemeShape } from '../../../types/theme-helpers';\n\n/**\n * Button component\n *\n * @param props - Button component props\n * @returns Button component\n */\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, sx, ...props }, ref) => {\n const theme = useTheme();\n const shape = getThemeShape(theme);\n\n return (\n <MuiButton\n ref={ref}\n {...props}\n sx={{\n // Use theme tokens for consistent styling\n textTransform: 'none', // Override MUI default uppercase\n borderRadius: shape.rounded, // Use rounded shape token (9999 for pill shape)\n fontWeight: theme.typography.fontWeightSemiBold,\n // Allow custom sx to override defaults\n ...sx,\n }}\n >\n {children}\n </MuiButton>\n );\n }\n);\n\nButton.displayName = 'Button';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchBaseUtilityClass(slot) {\n return generateUtilityClass('PrivateSwitchBase', slot);\n}\nconst switchBaseClasses = generateUtilityClasses('PrivateSwitchBase', ['root', 'checked', 'disabled', 'input', 'edgeStart', 'edgeEnd']);\nexport default switchBaseClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport { getSwitchBaseUtilityClass } from \"./switchBaseClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n checked,\n disabled,\n edge\n } = ownerState;\n const slots = {\n root: ['root', checked && 'checked', disabled && 'disabled', edge && `edge${capitalize(edge)}`],\n input: ['input']\n };\n return composeClasses(slots, getSwitchBaseUtilityClass, classes);\n};\nconst SwitchBaseRoot = styled(ButtonBase, {\n name: 'MuiSwitchBase'\n})({\n padding: 9,\n borderRadius: '50%',\n variants: [{\n props: {\n edge: 'start',\n size: 'small'\n },\n style: {\n marginLeft: -3\n }\n }, {\n props: ({\n edge,\n ownerState\n }) => edge === 'start' && ownerState.size !== 'small',\n style: {\n marginLeft: -12\n }\n }, {\n props: {\n edge: 'end',\n size: 'small'\n },\n style: {\n marginRight: -3\n }\n }, {\n props: ({\n edge,\n ownerState\n }) => edge === 'end' && ownerState.size !== 'small',\n style: {\n marginRight: -12\n }\n }]\n});\nconst SwitchBaseInput = styled('input', {\n name: 'MuiSwitchBase',\n shouldForwardProp: rootShouldForwardProp\n})({\n cursor: 'inherit',\n position: 'absolute',\n opacity: 0,\n width: '100%',\n height: '100%',\n top: 0,\n left: 0,\n margin: 0,\n padding: 0,\n zIndex: 1\n});\n\n/**\n * @ignore - internal component.\n */\nconst SwitchBase = /*#__PURE__*/React.forwardRef(function SwitchBase(props, ref) {\n const {\n autoFocus,\n checked: checkedProp,\n checkedIcon,\n defaultChecked,\n disabled: disabledProp,\n disableFocusRipple = false,\n edge = false,\n icon,\n id,\n inputProps,\n inputRef,\n name,\n onBlur,\n onChange,\n onFocus,\n readOnly,\n required = false,\n tabIndex,\n type,\n value,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const [checked, setCheckedState] = useControlled({\n controlled: checkedProp,\n default: Boolean(defaultChecked),\n name: 'SwitchBase',\n state: 'checked'\n });\n const muiFormControl = useFormControl();\n const handleFocus = event => {\n if (onFocus) {\n onFocus(event);\n }\n if (muiFormControl && muiFormControl.onFocus) {\n muiFormControl.onFocus(event);\n }\n };\n const handleBlur = event => {\n if (onBlur) {\n onBlur(event);\n }\n if (muiFormControl && muiFormControl.onBlur) {\n muiFormControl.onBlur(event);\n }\n };\n const handleInputChange = event => {\n // Workaround for https://github.com/facebook/react/issues/9023\n if (event.nativeEvent.defaultPrevented) {\n return;\n }\n const newChecked = event.target.checked;\n setCheckedState(newChecked);\n if (onChange) {\n // TODO v6: remove the second argument.\n onChange(event, newChecked);\n }\n };\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n const hasLabelFor = type === 'checkbox' || type === 'radio';\n const ownerState = {\n ...props,\n checked,\n disabled,\n disableFocusRipple,\n edge\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps: {\n input: inputProps,\n ...slotProps\n }\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n elementType: SwitchBaseRoot,\n className: classes.root,\n shouldForwardComponentProp: true,\n externalForwardedProps: {\n ...externalForwardedProps,\n component: 'span',\n ...other\n },\n getSlotProps: handlers => ({\n ...handlers,\n onFocus: event => {\n handlers.onFocus?.(event);\n handleFocus(event);\n },\n onBlur: event => {\n handlers.onBlur?.(event);\n handleBlur(event);\n }\n }),\n ownerState,\n additionalProps: {\n centerRipple: true,\n focusRipple: !disableFocusRipple,\n disabled,\n role: undefined,\n tabIndex: null\n }\n });\n const [InputSlot, inputSlotProps] = useSlot('input', {\n ref: inputRef,\n elementType: SwitchBaseInput,\n className: classes.input,\n externalForwardedProps,\n getSlotProps: handlers => ({\n onChange: event => {\n handlers.onChange?.(event);\n handleInputChange(event);\n }\n }),\n ownerState,\n additionalProps: {\n autoFocus,\n checked: checkedProp,\n defaultChecked,\n disabled,\n id: hasLabelFor ? id : undefined,\n name,\n readOnly,\n required,\n tabIndex,\n type,\n ...(type === 'checkbox' && value === undefined ? {} : {\n value\n })\n }\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [/*#__PURE__*/_jsx(InputSlot, {\n ...inputSlotProps\n }), checked ? checkedIcon : icon]\n });\n});\n\n// NB: If changed, please update Checkbox, Switch and Radio\n// so that the API documentation is updated.\nprocess.env.NODE_ENV !== \"production\" ? SwitchBase.propTypes = {\n /**\n * If `true`, the `input` element is focused during the first mount.\n */\n autoFocus: PropTypes.bool,\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node.isRequired,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /*\n * @ignore\n */\n name: PropTypes.string,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the state is changed.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * It prevents the user from changing the value of the field\n * (not from interacting with the field).\n */\n readOnly: PropTypes.bool,\n /**\n * If `true`, the `input` element is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.object,\n /**\n * @ignore\n */\n tabIndex: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * The input component prop `type`.\n */\n type: PropTypes.string.isRequired,\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default SwitchBase;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z\"\n}), 'CheckBoxOutlineBlank');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z\"\n}), 'CheckBox');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z\"\n}), 'IndeterminateCheckBox');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCheckboxUtilityClass(slot) {\n return generateUtilityClass('MuiCheckbox', slot);\n}\nconst checkboxClasses = generateUtilityClasses('MuiCheckbox', ['root', 'checked', 'disabled', 'indeterminate', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium']);\nexport default checkboxClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport CheckBoxOutlineBlankIcon from \"../internal/svg-icons/CheckBoxOutlineBlank.js\";\nimport CheckBoxIcon from \"../internal/svg-icons/CheckBox.js\";\nimport IndeterminateCheckBoxIcon from \"../internal/svg-icons/IndeterminateCheckBox.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport checkboxClasses, { getCheckboxUtilityClass } from \"./checkboxClasses.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { mergeSlotProps } from \"../utils/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n indeterminate,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', indeterminate && 'indeterminate', `color${capitalize(color)}`, `size${capitalize(size)}`]\n };\n const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);\n return {\n ...classes,\n // forward the disabled and checked classes to the SwitchBase\n ...composedClasses\n };\n};\nconst CheckboxRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiCheckbox',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.indeterminate && styles.indeterminate, styles[`size${capitalize(ownerState.size)}`], ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n variants: [{\n props: {\n color: 'default',\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity)\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: {\n color: (theme.vars || theme).palette[color].main\n },\n [`&.${checkboxClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n }\n })), {\n // Should be last to override other colors\n props: {\n disableRipple: false\n },\n style: {\n // Reset on touch devices, it doesn't add specificity\n '&:hover': {\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n }]\n})));\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(CheckBoxIcon, {});\nconst defaultIcon = /*#__PURE__*/_jsx(CheckBoxOutlineBlankIcon, {});\nconst defaultIndeterminateIcon = /*#__PURE__*/_jsx(IndeterminateCheckBoxIcon, {});\nconst Checkbox = /*#__PURE__*/React.forwardRef(function Checkbox(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCheckbox'\n });\n const {\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon: iconProp = defaultIcon,\n indeterminate = false,\n indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon,\n inputProps,\n size = 'medium',\n disableRipple = false,\n className,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const icon = indeterminate ? indeterminateIconProp : iconProp;\n const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;\n const ownerState = {\n ...props,\n disableRipple,\n color,\n indeterminate,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const externalInputProps = slotProps.input ?? inputProps;\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n elementType: CheckboxRoot,\n className: clsx(classes.root, className),\n shouldForwardComponentProp: true,\n externalForwardedProps: {\n slots,\n slotProps,\n ...other\n },\n ownerState,\n additionalProps: {\n type: 'checkbox',\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: icon.props.fontSize ?? size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(indeterminateIcon, {\n fontSize: indeterminateIcon.props.fontSize ?? size\n }),\n disableRipple,\n slots,\n slotProps: {\n input: mergeSlotProps(typeof externalInputProps === 'function' ? externalInputProps(ownerState) : externalInputProps, {\n 'data-indeterminate': indeterminate\n })\n }\n }\n });\n return /*#__PURE__*/_jsx(RootSlot, {\n ...rootSlotProps,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Checkbox.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default <CheckBoxIcon />\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default <CheckBoxOutlineBlankIcon />\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component appears indeterminate.\n * This does not set the native input element to indeterminate due\n * to inconsistent behavior across browsers.\n * However, we set a `data-indeterminate` attribute on the `input`.\n * @default false\n */\n indeterminate: PropTypes.bool,\n /**\n * The icon to display when the component is indeterminate.\n * @default <IndeterminateCheckBoxIcon />\n */\n indeterminateIcon: PropTypes.node,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputProps: PropTypes.object,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense checkbox styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Checkbox;","/**\n * Checkbox Component\n *\n * Checkbox component for the MRS Design System.\n * Wraps Material-UI Checkbox with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6543-43052&m=dev\n * @see {@link https://mui.com/material-ui/react-checkbox/}\n */\n\nimport React from 'react';\nimport MuiCheckbox from '@mui/material/Checkbox';\nimport type { CheckboxProps } from './Checkbox.types';\n\n/**\n * Checkbox component\n *\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @param props - Checkbox component props\n * @returns Checkbox component\n */\nexport const Checkbox = React.forwardRef<HTMLButtonElement, CheckboxProps>(\n (\n {\n checked,\n indeterminate = false,\n size = 'medium',\n color = 'primary',\n disabled = false,\n disableRipple = false,\n id,\n inputProps,\n inputRef,\n onChange,\n required = false,\n value,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiCheckbox\n ref={ref}\n checked={checked}\n indeterminate={indeterminate}\n size={size}\n color={color}\n disabled={disabled}\n disableRipple={disableRipple}\n id={id}\n inputProps={inputProps}\n inputRef={inputRef}\n onChange={onChange}\n required={required}\n value={value}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n","/**\n * Chip Component\n *\n * Chip component for the MRS Design System.\n * Wraps Material-UI Chip with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6588:47683\n * @see {@link https://mui.com/material-ui/react-chip/}\n */\n\nimport React from 'react';\nimport MuiChip from '@mui/material/Chip';\nimport type { ChipProps } from './Chip.types';\n\n/**\n * Chip component\n *\n * Chips are compact elements that represent an input, attribute, or action.\n *\n * @param props - Chip component props\n * @returns Chip component\n */\nexport const Chip = React.forwardRef<HTMLDivElement, ChipProps>(\n (\n {\n label,\n size = 'medium',\n color = 'default',\n variant = 'filled',\n disabled = false,\n clickable = false,\n avatar,\n icon,\n onDelete,\n deleteIcon,\n onClick,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiChip\n ref={ref}\n label={label}\n size={size}\n color={color}\n variant={variant}\n disabled={disabled}\n clickable={clickable || !!onClick}\n avatar={avatar}\n icon={icon}\n onDelete={onDelete}\n deleteIcon={deleteIcon}\n onClick={onClick}\n sx={sx}\n {...props}\n />\n );\n }\n);\n\nChip.displayName = 'Chip';\n","/**\n * CircularProgress Component\n *\n * CircularProgress component for the MRS Design System.\n * Wraps Material-UI CircularProgress with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6586:47016\n * @see {@link https://mui.com/material-ui/react-progress/#circular}\n */\n\nimport React from 'react';\nimport MuiCircularProgress from '@mui/material/CircularProgress';\nimport { Box, Typography } from '@mui/material';\nimport type { CircularProgressProps } from './CircularProgress.types';\n\n/**\n * CircularProgress component\n *\n * Progress indicators commonly known as spinners, express an unspecified wait time\n * or display the length of a process.\n *\n * @param props - CircularProgress component props\n * @returns CircularProgress component\n */\nexport const CircularProgress = React.forwardRef<HTMLSpanElement, CircularProgressProps>(\n (\n {\n size = 32,\n color = 'primary',\n showLabel = false,\n value = 0,\n variant = 'indeterminate',\n ...props\n },\n ref\n ) => {\n if (showLabel && variant === 'determinate') {\n return (\n <Box\n ref={ref}\n sx={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <MuiCircularProgress\n variant={variant}\n color={color}\n size={size}\n value={value}\n {...props}\n />\n <Box\n sx={{\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <Typography\n variant=\"caption\"\n component=\"div\"\n sx={{\n fontSize: size === 16 ? '0.625rem' : '0.75rem',\n lineHeight: 1,\n }}\n >\n {`${Math.round(value)}%`}\n </Typography>\n </Box>\n </Box>\n );\n }\n\n return (\n <MuiCircularProgress\n ref={ref}\n variant={variant}\n color={color}\n size={size}\n value={value}\n {...props}\n />\n );\n }\n);\n\nCircularProgress.displayName = 'CircularProgress';\n","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createContainer } from '@mui/system';\nimport capitalize from \"../utils/capitalize.js\";\nimport styled from \"../styles/styled.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nconst Container = createContainer({\n createStyledComponent: styled('div', {\n name: 'MuiContainer',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`maxWidth${capitalize(String(ownerState.maxWidth))}`], ownerState.fixed && styles.fixed, ownerState.disableGutters && styles.disableGutters];\n }\n }),\n useThemeProps: inProps => useDefaultProps({\n props: inProps,\n name: 'MuiContainer'\n })\n});\nprocess.env.NODE_ENV !== \"production\" ? Container.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the left and right padding is removed.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * Set the max-width to match the min-width of the current breakpoint.\n * This is useful if you'd prefer to design for a fixed set of sizes\n * instead of trying to accommodate a fully fluid viewport.\n * It's fluid by default.\n * @default false\n */\n fixed: PropTypes.bool,\n /**\n * Determine the max-width of the container.\n * The container width grows with the size of the screen.\n * Set to `false` to disable `maxWidth`.\n * @default 'lg'\n */\n maxWidth: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['xs', 'sm', 'md', 'lg', 'xl', false]), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Container;","/**\n * Container component\n * Wraps Material-UI Container with design system theme\n */\n\nimport React from 'react';\nimport MuiContainer from '@mui/material/Container';\nimport type { ContainerProps } from './Container.types';\n\n/**\n * Container component - centers content horizontally with max-width constraints\n * The most basic layout element that provides responsive horizontal padding\n *\n * @example\n * ```tsx\n * <Container maxWidth=\"lg\">\n * <Typography>Content</Typography>\n * </Container>\n * ```\n */\nexport const Container = React.forwardRef<HTMLDivElement, ContainerProps>(\n ({ children, maxWidth = 'lg', ...props }, ref) => {\n return (\n <MuiContainer ref={ref} maxWidth={maxWidth} {...props}>\n {children}\n </MuiContainer>\n );\n }\n);\n\nContainer.displayName = 'Container';\n\nexport default Container;\n","/**\n * Divider Component\n *\n * Separator component for the MRS Design System.\n * Wraps Material-UI Divider with custom theme tokens.\n *\n * @figma Horizontal: https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6645:53005\n * @figma Vertical: https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6645:53007\n * @see {@link https://mui.com/material-ui/react-divider/}\n */\n\nimport React from 'react';\nimport MuiDivider from '@mui/material/Divider';\nimport { useTheme } from '@mui/material/styles';\nimport type { DividerProps } from './Divider.types';\n\n/**\n * Divider component\n *\n * A thin line that groups content in lists and layouts.\n * Supports both horizontal and vertical orientations.\n *\n * @param props - Divider component props\n * @returns Divider component\n */\nexport const Divider = React.forwardRef<HTMLHRElement, DividerProps>(\n ({ orientation = 'horizontal', sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiDivider\n ref={ref}\n orientation={orientation}\n {...props}\n sx={{\n // Use theme divider color token\n borderColor: theme.palette.divider,\n ...sx,\n }}\n />\n );\n }\n);\n\nDivider.displayName = 'Divider';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormControlLabelUtilityClasses(slot) {\n return generateUtilityClass('MuiFormControlLabel', slot);\n}\nconst formControlLabelClasses = generateUtilityClasses('MuiFormControlLabel', ['root', 'labelPlacementStart', 'labelPlacementTop', 'labelPlacementBottom', 'disabled', 'label', 'error', 'required', 'asterisk']);\nexport default formControlLabelClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useFormControl } from \"../FormControl/index.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Typography from \"../Typography/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport formControlLabelClasses, { getFormControlLabelUtilityClasses } from \"./formControlLabelClasses.js\";\nimport formControlState from \"../FormControl/formControlState.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disabled,\n labelPlacement,\n error,\n required\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', `labelPlacement${capitalize(labelPlacement)}`, error && 'error', required && 'required'],\n label: ['label', disabled && 'disabled'],\n asterisk: ['asterisk', error && 'error']\n };\n return composeClasses(slots, getFormControlLabelUtilityClasses, classes);\n};\nexport const FormControlLabelRoot = styled('label', {\n name: 'MuiFormControlLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${formControlLabelClasses.label}`]: styles.label\n }, styles.root, styles[`labelPlacement${capitalize(ownerState.labelPlacement)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n // For correct alignment with the text.\n verticalAlign: 'middle',\n WebkitTapHighlightColor: 'transparent',\n marginLeft: -11,\n marginRight: 16,\n // used for row presentation of radio/checkbox\n [`&.${formControlLabelClasses.disabled}`]: {\n cursor: 'default'\n },\n [`& .${formControlLabelClasses.label}`]: {\n [`&.${formControlLabelClasses.disabled}`]: {\n color: (theme.vars || theme).palette.text.disabled\n }\n },\n variants: [{\n props: {\n labelPlacement: 'start'\n },\n style: {\n flexDirection: 'row-reverse',\n marginRight: -11\n }\n }, {\n props: {\n labelPlacement: 'top'\n },\n style: {\n flexDirection: 'column-reverse'\n }\n }, {\n props: {\n labelPlacement: 'bottom'\n },\n style: {\n flexDirection: 'column'\n }\n }, {\n props: ({\n labelPlacement\n }) => labelPlacement === 'start' || labelPlacement === 'top' || labelPlacement === 'bottom',\n style: {\n marginLeft: 16 // used for row presentation of radio/checkbox\n }\n }]\n})));\nconst AsteriskComponent = styled('span', {\n name: 'MuiFormControlLabel',\n slot: 'Asterisk',\n overridesResolver: (props, styles) => styles.asterisk\n})(memoTheme(({\n theme\n}) => ({\n [`&.${formControlLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n})));\n\n/**\n * Drop-in replacement of the `Radio`, `Switch` and `Checkbox` component.\n * Use this component if you want to display an extra label.\n */\nconst FormControlLabel = /*#__PURE__*/React.forwardRef(function FormControlLabel(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormControlLabel'\n });\n const {\n checked,\n className,\n componentsProps = {},\n control,\n disabled: disabledProp,\n disableTypography,\n inputRef,\n label: labelProp,\n labelPlacement = 'end',\n name,\n onChange,\n required: requiredProp,\n slots = {},\n slotProps = {},\n value,\n ...other\n } = props;\n const muiFormControl = useFormControl();\n const disabled = disabledProp ?? control.props.disabled ?? muiFormControl?.disabled;\n const required = requiredProp ?? control.props.required;\n const controlProps = {\n disabled,\n required\n };\n ['checked', 'name', 'onChange', 'value', 'inputRef'].forEach(key => {\n if (typeof control.props[key] === 'undefined' && typeof props[key] !== 'undefined') {\n controlProps[key] = props[key];\n }\n });\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = {\n ...props,\n disabled,\n labelPlacement,\n required,\n error: fcs.error\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps: {\n ...componentsProps,\n ...slotProps\n }\n };\n const [TypographySlot, typographySlotProps] = useSlot('typography', {\n elementType: Typography,\n externalForwardedProps,\n ownerState\n });\n let label = labelProp;\n if (label != null && label.type !== Typography && !disableTypography) {\n label = /*#__PURE__*/_jsx(TypographySlot, {\n component: \"span\",\n ...typographySlotProps,\n className: clsx(classes.label, typographySlotProps?.className),\n children: label\n });\n }\n return /*#__PURE__*/_jsxs(FormControlLabelRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other,\n children: [/*#__PURE__*/React.cloneElement(control, controlProps), required ? /*#__PURE__*/_jsxs(\"div\", {\n children: [label, /*#__PURE__*/_jsxs(AsteriskComponent, {\n ownerState: ownerState,\n \"aria-hidden\": true,\n className: classes.asterisk,\n children: [\"\\u2009\", '*']\n })]\n }) : label]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormControlLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component appears selected.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n * @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.\n */\n componentsProps: PropTypes.shape({\n typography: PropTypes.object\n }),\n /**\n * A control element. For instance, it can be a `Radio`, a `Switch` or a `Checkbox`.\n */\n control: PropTypes.element.isRequired,\n /**\n * If `true`, the control is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the label is rendered as it is passed without an additional typography node.\n */\n disableTypography: PropTypes.bool,\n /**\n * Pass a ref to the `input` element.\n */\n inputRef: refType,\n /**\n * A text or an element to be used in an enclosing label element.\n */\n label: PropTypes.node,\n /**\n * The position of the label.\n * @default 'end'\n */\n labelPlacement: PropTypes.oneOf(['bottom', 'end', 'start', 'top']),\n /**\n * @ignore\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the label will indicate that the `input` is required.\n */\n required: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n typography: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n typography: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component.\n */\n value: PropTypes.any\n} : void 0;\nexport default FormControlLabel;","/**\n * FormControlLabel component\n * Wraps Material-UI FormControlLabel with design system theme\n */\n\nimport React from 'react';\nimport MuiFormControlLabel from '@mui/material/FormControlLabel';\nimport type { Theme } from '@mui/material/styles';\nimport type { FormControlLabelProps } from './FormControlLabel.types';\n\n/**\n * FormControlLabel component - label wrapper for form controls\n * Drop-in replacement for checkboxes, radio buttons, and switches\n *\n * @example\n * ```tsx\n * <FormControlLabel\n * control={<Checkbox />}\n * label=\"Remember me\"\n * />\n * ```\n */\nexport const FormControlLabel = React.forwardRef<HTMLLabelElement, FormControlLabelProps>(\n ({ control, label, sx, ...props }, ref) => {\n return (\n <MuiFormControlLabel\n ref={ref}\n control={control}\n label={label}\n sx={{\n '& .MuiFormControlLabel-label': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontSize: (theme: Theme) => theme.typography.body1.fontSize,\n lineHeight: (theme: Theme) => theme.typography.body1.lineHeight,\n },\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nFormControlLabel.displayName = 'FormControlLabel';\n\nexport default FormControlLabel;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFormGroupUtilityClass(slot) {\n return generateUtilityClass('MuiFormGroup', slot);\n}\nconst formGroupClasses = generateUtilityClasses('MuiFormGroup', ['root', 'row', 'error']);\nexport default formGroupClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getFormGroupUtilityClass } from \"./formGroupClasses.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport formControlState from \"../FormControl/formControlState.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n row,\n error\n } = ownerState;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return composeClasses(slots, getFormGroupUtilityClass, classes);\n};\nconst FormGroupRoot = styled('div', {\n name: 'MuiFormGroup',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.row && styles.row];\n }\n})({\n display: 'flex',\n flexDirection: 'column',\n flexWrap: 'wrap',\n variants: [{\n props: {\n row: true\n },\n style: {\n flexDirection: 'row'\n }\n }]\n});\n\n/**\n * `FormGroup` wraps controls such as `Checkbox` and `Switch`.\n * It provides compact row layout.\n * For the `Radio`, you should be using the `RadioGroup` component instead of this one.\n */\nconst FormGroup = /*#__PURE__*/React.forwardRef(function FormGroup(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFormGroup'\n });\n const {\n className,\n row = false,\n ...other\n } = props;\n const muiFormControl = useFormControl();\n const fcs = formControlState({\n props,\n muiFormControl,\n states: ['error']\n });\n const ownerState = {\n ...props,\n row,\n error: fcs.error\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FormGroupRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? FormGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Display group of elements in a compact row.\n * @default false\n */\n row: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default FormGroup;","/**\n * FormGroup component\n * Wraps Material-UI FormGroup with design system theme\n */\n\nimport React from 'react';\nimport MuiFormGroup from '@mui/material/FormGroup';\nimport type { FormGroupProps } from './FormGroup.types';\n\n/**\n * FormGroup component - groups form controls\n * Provides a helpful wrapper used to group selection control components\n *\n * @example\n * ```tsx\n * <FormGroup>\n * <FormControlLabel control={<Checkbox />} label=\"Option 1\" />\n * <FormControlLabel control={<Checkbox />} label=\"Option 2\" />\n * </FormGroup>\n * ```\n */\nexport const FormGroup = React.forwardRef<HTMLDivElement, FormGroupProps>(\n ({ children, ...props }, ref) => {\n return (\n <MuiFormGroup ref={ref} {...props}>\n {children}\n </MuiFormGroup>\n );\n }\n);\n\nFormGroup.displayName = 'FormGroup';\n\nexport default FormGroup;\n","'use client';\n\nimport PropTypes from 'prop-types';\nimport { createGrid as createGrid2 } from '@mui/system/Grid';\nimport requirePropFactory from \"../utils/requirePropFactory.js\";\nimport { styled } from \"../styles/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useTheme from \"../styles/useTheme.js\";\n/**\n *\n * Demos:\n *\n * - [Grid version 2](https://v6.mui.com/material-ui/react-grid2/)\n *\n * API:\n *\n * - [Grid2 API](https://v6.mui.com/material-ui/api/grid-2/)\n */\nconst Grid2 = createGrid2({\n createStyledComponent: styled('div', {\n name: 'MuiGrid2',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.container && styles.container];\n }\n }),\n componentName: 'MuiGrid2',\n useThemeProps: inProps => useDefaultProps({\n props: inProps,\n name: 'MuiGrid2'\n }),\n useTheme\n});\nprocess.env.NODE_ENV !== \"production\" ? Grid2.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * The number of columns.\n * @default 12\n */\n columns: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number, PropTypes.object]),\n /**\n * Defines the horizontal space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n columnSpacing: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * If `true`, the component will have the flex *container* behavior.\n * You should be wrapping *items* with a *container*.\n * @default false\n */\n container: PropTypes.bool,\n /**\n * Defines the `flex-direction` style property.\n * It is applied for all screen sizes.\n * @default 'row'\n */\n direction: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row']), PropTypes.arrayOf(PropTypes.oneOf(['column-reverse', 'column', 'row-reverse', 'row'])), PropTypes.object]),\n /**\n * Defines the offset value for the type `item` components.\n */\n offset: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number])), PropTypes.object]),\n /**\n * Defines the vertical space between the type `item` components.\n * It overrides the value of the `spacing` prop.\n */\n rowSpacing: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * Defines the size of the the type `item` components.\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.bool, PropTypes.number])), PropTypes.object]),\n /**\n * Defines the space between the type `item` components.\n * It can only be used on a type `container` component.\n * @default 0\n */\n spacing: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.number, PropTypes.string])), PropTypes.number, PropTypes.object, PropTypes.string]),\n /**\n * @ignore\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * @internal\n * The level of the grid starts from `0` and increases when the grid nests\n * inside another grid. Nesting is defined as a container Grid being a direct\n * child of a container Grid.\n *\n * ```js\n * <Grid container> // level 0\n * <Grid container> // level 1\n * <Grid container> // level 2\n * ```\n *\n * Only consecutive grid is considered nesting. A grid container will start at\n * `0` if there are non-Grid container element above it.\n *\n * ```js\n * <Grid container> // level 0\n * <div>\n * <Grid container> // level 0\n * ```\n *\n * ```js\n * <Grid container> // level 0\n * <Grid>\n * <Grid container> // level 0\n * ```\n */\n unstable_level: PropTypes.number,\n /**\n * Defines the `flex-wrap` style property.\n * It's applied for all screen sizes.\n * @default 'wrap'\n */\n wrap: PropTypes.oneOf(['nowrap', 'wrap-reverse', 'wrap'])\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n const Component = Grid2;\n const requireProp = requirePropFactory('Grid2', Component);\n // eslint-disable-next-line no-useless-concat\n Component['propTypes' + ''] = {\n // eslint-disable-next-line react/forbid-foreign-prop-types\n ...Component.propTypes,\n direction: requireProp('container'),\n spacing: requireProp('container'),\n wrap: requireProp('container')\n };\n}\nexport default Grid2;","/**\n * Grid component\n * Wraps Material-UI Grid2 with design system theme\n */\n\nimport React from 'react';\nimport MuiGrid from '@mui/material/Grid2';\nimport type { GridProps } from './Grid.types';\n\n/**\n * Grid component - responsive grid layout using CSS Grid\n * Uses the new Grid2 component from MUI for improved performance and flexibility\n *\n * @example\n * ```tsx\n * <Grid container spacing={2}>\n * <Grid size={{ xs: 12, md: 6 }}>\n * <Item>1</Item>\n * </Grid>\n * <Grid size={{ xs: 12, md: 6 }}>\n * <Item>2</Item>\n * </Grid>\n * </Grid>\n * ```\n */\nexport const Grid = React.forwardRef<HTMLDivElement, GridProps>(({ children, ...props }, ref) => {\n return (\n <MuiGrid ref={ref} {...props}>\n {children}\n </MuiGrid>\n );\n});\n\nGrid.displayName = 'Grid';\n\nexport default Grid;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getIconUtilityClass(slot) {\n return generateUtilityClass('MuiIcon', slot);\n}\nconst iconClasses = generateUtilityClasses('MuiIcon', ['root', 'colorPrimary', 'colorSecondary', 'colorAction', 'colorError', 'colorDisabled', 'fontSizeInherit', 'fontSizeSmall', 'fontSizeMedium', 'fontSizeLarge']);\nexport default iconClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getIconUtilityClass } from \"./iconClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n fontSize,\n classes\n } = ownerState;\n const slots = {\n root: ['root', color !== 'inherit' && `color${capitalize(color)}`, `fontSize${capitalize(fontSize)}`]\n };\n return composeClasses(slots, getIconUtilityClass, classes);\n};\nconst IconRoot = styled('span', {\n name: 'MuiIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'inherit' && styles[`color${capitalize(ownerState.color)}`], styles[`fontSize${capitalize(ownerState.fontSize)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n userSelect: 'none',\n width: '1em',\n height: '1em',\n // Chrome fix for https://issues.chromium.org/issues/41375697\n // To remove at some point.\n overflow: 'hidden',\n display: 'inline-block',\n // allow overflow hidden to take action\n textAlign: 'center',\n // support non-square icon\n flexShrink: 0,\n variants: [{\n props: {\n fontSize: 'inherit'\n },\n style: {\n fontSize: 'inherit'\n }\n }, {\n props: {\n fontSize: 'small'\n },\n style: {\n fontSize: theme.typography.pxToRem(20)\n }\n }, {\n props: {\n fontSize: 'medium'\n },\n style: {\n fontSize: theme.typography.pxToRem(24)\n }\n }, {\n props: {\n fontSize: 'large'\n },\n style: {\n fontSize: theme.typography.pxToRem(36)\n }\n }, {\n props: {\n color: 'action'\n },\n style: {\n color: (theme.vars || theme).palette.action.active\n }\n }, {\n props: {\n color: 'disabled'\n },\n style: {\n color: (theme.vars || theme).palette.action.disabled\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n color: undefined\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n }))]\n})));\nconst Icon = /*#__PURE__*/React.forwardRef(function Icon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiIcon'\n });\n const {\n baseClassName = 'material-icons',\n className,\n color = 'inherit',\n component: Component = 'span',\n fontSize = 'medium',\n ...other\n } = props;\n const ownerState = {\n ...props,\n baseClassName,\n color,\n component: Component,\n fontSize\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(IconRoot, {\n as: Component,\n className: clsx(baseClassName,\n // Prevent the translation of the text content.\n // The font relies on the exact text content to render the icon.\n 'notranslate', classes.root, className),\n ownerState: ownerState,\n \"aria-hidden\": true,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Icon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The base class applied to the icon. Defaults to 'material-icons', but can be changed to any\n * other base class that suits the icon font you're using (for example material-icons-rounded, fas, etc).\n * @default 'material-icons'\n */\n baseClassName: PropTypes.string,\n /**\n * The name of the icon font ligature.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'inherit'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'action', 'disabled', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The fontSize applied to the icon. Defaults to 24px, but can be configure to inherit font size.\n * @default 'medium'\n */\n fontSize: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'large', 'medium', 'small']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nIcon.muiName = 'Icon';\nexport default Icon;","/**\n * Icon Component\n *\n * Icon display component for the MRS Design System.\n * Supports both SVG icons from @mui/icons-material and Font icons.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6594:47648\n * @see {@link https://mui.com/material-ui/icons/}\n */\n\nimport React from 'react';\nimport MuiIcon from '@mui/material/Icon';\nimport type { IconProps, IconSvgProps, IconFontProps } from './Icon.types';\n\n/**\n * Type guard to check if props are for SVG icon\n */\nfunction isSvgIcon(props: IconProps): props is IconSvgProps {\n return !props.type || props.type === 'svg';\n}\n\n/**\n * Type guard to check if props are for Font icon\n */\nfunction isFontIcon(props: IconProps): props is IconFontProps {\n return props.type === 'font';\n}\n\n/**\n * Icon component\n *\n * Displays icons with predefined sizes from the theme.\n * Supports both SVG icons from @mui/icons-material and Font icons from Material Icons.\n *\n * @param props - Icon component props\n * @returns Icon component\n */\nexport const Icon = React.forwardRef<HTMLElement, IconProps>((props, ref) => {\n const { size = 'medium' } = props;\n\n // Map size to MUI fontSize\n const fontSize = size === 'inherit' ? 'inherit' : size;\n\n // Render SVG Icon\n if (isSvgIcon(props)) {\n const { icon: IconComponent, sx, ...svgProps } = props;\n\n return (\n <IconComponent\n ref={ref as React.Ref<SVGSVGElement>}\n fontSize={fontSize}\n {...svgProps}\n sx={{\n // Use theme color tokens\n color: 'inherit',\n ...sx,\n }}\n />\n );\n }\n\n // Render Font Icon\n if (isFontIcon(props)) {\n const { iconName, sx, ...fontProps } = props;\n\n return (\n <MuiIcon\n ref={ref}\n fontSize={fontSize}\n {...fontProps}\n sx={{\n // Use theme color tokens\n color: 'inherit',\n ...sx,\n }}\n >\n {iconName}\n </MuiIcon>\n );\n }\n\n return null;\n});\n\nIcon.displayName = 'Icon';\n","/**\n * IconButton Component\n *\n * Icon button component for the MRS Design System.\n * Wraps Material-UI IconButton with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6557:38545\n * @see {@link https://mui.com/material-ui/react-button/#icon-button}\n */\n\nimport React from 'react';\nimport MuiIconButton from '@mui/material/IconButton';\nimport { useTheme } from '@mui/material/styles';\nimport type { IconButtonProps } from './IconButton.types';\n\n/**\n * IconButton component\n *\n * Icon buttons are commonly found in app bars and toolbars.\n * Icons are also appropriate for toggle buttons that allow a single choice to be selected or deselected.\n *\n * @param props - IconButton component props\n * @returns IconButton component\n */\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ children, color = 'default', size = 'medium', sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiIconButton\n ref={ref}\n color={color}\n size={size}\n {...props}\n sx={{\n // Use theme tokens for consistency\n fontFamily: theme.typography.fontFamily,\n ...sx,\n }}\n >\n {children}\n </MuiIconButton>\n );\n }\n);\n\nIconButton.displayName = 'IconButton';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinearProgressUtilityClass(slot) {\n return generateUtilityClass('MuiLinearProgress', slot);\n}\nconst linearProgressClasses = generateUtilityClasses('MuiLinearProgress', ['root', 'colorPrimary', 'colorSecondary', 'determinate', 'indeterminate', 'buffer', 'query', 'dashed', 'dashedColorPrimary', 'dashedColorSecondary', 'bar', 'bar1', 'bar2', 'barColorPrimary', 'barColorSecondary', 'bar1Indeterminate', 'bar1Determinate', 'bar1Buffer', 'bar2Indeterminate', 'bar2Buffer']);\nexport default linearProgressClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport { keyframes, css, styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport { getLinearProgressUtilityClass } from \"./linearProgressClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst TRANSITION_DURATION = 4; // seconds\nconst indeterminate1Keyframe = keyframes`\n 0% {\n left: -35%;\n right: 100%;\n }\n\n 60% {\n left: 100%;\n right: -90%;\n }\n\n 100% {\n left: 100%;\n right: -90%;\n }\n`;\n\n// This implementation is for supporting both Styled-components v4+ and Pigment CSS.\n// A global animation has to be created here for Styled-components v4+ (https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#12).\n// which can be done by checking typeof indeterminate1Keyframe !== 'string' (at runtime, Pigment CSS transform keyframes`` to a string).\nconst indeterminate1Animation = typeof indeterminate1Keyframe !== 'string' ? css`\n animation: ${indeterminate1Keyframe} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite;\n ` : null;\nconst indeterminate2Keyframe = keyframes`\n 0% {\n left: -200%;\n right: 100%;\n }\n\n 60% {\n left: 107%;\n right: -8%;\n }\n\n 100% {\n left: 107%;\n right: -8%;\n }\n`;\nconst indeterminate2Animation = typeof indeterminate2Keyframe !== 'string' ? css`\n animation: ${indeterminate2Keyframe} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite;\n ` : null;\nconst bufferKeyframe = keyframes`\n 0% {\n opacity: 1;\n background-position: 0 -23px;\n }\n\n 60% {\n opacity: 0;\n background-position: 0 -23px;\n }\n\n 100% {\n opacity: 1;\n background-position: -200px -23px;\n }\n`;\nconst bufferAnimation = typeof bufferKeyframe !== 'string' ? css`\n animation: ${bufferKeyframe} 3s infinite linear;\n ` : null;\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n color\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, variant],\n dashed: ['dashed', `dashedColor${capitalize(color)}`],\n bar1: ['bar', 'bar1', `barColor${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar1Indeterminate', variant === 'determinate' && 'bar1Determinate', variant === 'buffer' && 'bar1Buffer'],\n bar2: ['bar', 'bar2', variant !== 'buffer' && `barColor${capitalize(color)}`, variant === 'buffer' && `color${capitalize(color)}`, (variant === 'indeterminate' || variant === 'query') && 'bar2Indeterminate', variant === 'buffer' && 'bar2Buffer']\n };\n return composeClasses(slots, getLinearProgressUtilityClass, classes);\n};\nconst getColorShade = (theme, color) => {\n if (theme.vars) {\n return theme.vars.palette.LinearProgress[`${color}Bg`];\n }\n return theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.5);\n};\nconst LinearProgressRoot = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], styles[ownerState.variant]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'relative',\n overflow: 'hidden',\n display: 'block',\n height: 4,\n // Fix Safari's bug during composition of different paint.\n zIndex: 0,\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n backgroundColor: getColorShade(theme, color)\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.color === 'inherit' && ownerState.variant !== 'buffer',\n style: {\n '&::before': {\n content: '\"\"',\n position: 'absolute',\n left: 0,\n top: 0,\n right: 0,\n bottom: 0,\n backgroundColor: 'currentColor',\n opacity: 0.3\n }\n }\n }, {\n props: {\n variant: 'buffer'\n },\n style: {\n backgroundColor: 'transparent'\n }\n }, {\n props: {\n variant: 'query'\n },\n style: {\n transform: 'rotate(180deg)'\n }\n }]\n})));\nconst LinearProgressDashed = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Dashed',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.dashed, styles[`dashedColor${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n marginTop: 0,\n height: '100%',\n width: '100%',\n backgroundSize: '10px 10px',\n backgroundPosition: '0 -23px',\n variants: [{\n props: {\n color: 'inherit'\n },\n style: {\n opacity: 0.3,\n backgroundImage: `radial-gradient(currentColor 0%, currentColor 16%, transparent 42%)`\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => {\n const backgroundColor = getColorShade(theme, color);\n return {\n props: {\n color\n },\n style: {\n backgroundImage: `radial-gradient(${backgroundColor} 0%, ${backgroundColor} 16%, transparent 42%)`\n }\n };\n })]\n})), bufferAnimation || {\n // At runtime for Pigment CSS, `bufferAnimation` will be null and the generated keyframe will be used.\n animation: `${bufferKeyframe} 3s infinite linear`\n});\nconst LinearProgressBar1 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar1',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles.bar1, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar1Indeterminate, ownerState.variant === 'determinate' && styles.bar1Determinate, ownerState.variant === 'buffer' && styles.bar1Buffer];\n }\n})(memoTheme(({\n theme\n}) => ({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n variants: [{\n props: {\n color: 'inherit'\n },\n style: {\n backgroundColor: 'currentColor'\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n })), {\n props: {\n variant: 'determinate'\n },\n style: {\n transition: `transform .${TRANSITION_DURATION}s linear`\n }\n }, {\n props: {\n variant: 'buffer'\n },\n style: {\n zIndex: 1,\n transition: `transform .${TRANSITION_DURATION}s linear`\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: {\n width: 'auto'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: indeterminate1Animation || {\n animation: `${indeterminate1Keyframe} 2.1s cubic-bezier(0.65, 0.815, 0.735, 0.395) infinite`\n }\n }]\n})));\nconst LinearProgressBar2 = styled('span', {\n name: 'MuiLinearProgress',\n slot: 'Bar2',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.bar, styles.bar2, styles[`barColor${capitalize(ownerState.color)}`], (ownerState.variant === 'indeterminate' || ownerState.variant === 'query') && styles.bar2Indeterminate, ownerState.variant === 'buffer' && styles.bar2Buffer];\n }\n})(memoTheme(({\n theme\n}) => ({\n width: '100%',\n position: 'absolute',\n left: 0,\n bottom: 0,\n top: 0,\n transition: 'transform 0.2s linear',\n transformOrigin: 'left',\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n '--LinearProgressBar2-barColor': (theme.vars || theme).palette[color].main\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.variant !== 'buffer' && ownerState.color !== 'inherit',\n style: {\n backgroundColor: 'var(--LinearProgressBar2-barColor, currentColor)'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant !== 'buffer' && ownerState.color === 'inherit',\n style: {\n backgroundColor: 'currentColor'\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n opacity: 0.3\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n variant: 'buffer'\n },\n style: {\n backgroundColor: getColorShade(theme, color),\n transition: `transform .${TRANSITION_DURATION}s linear`\n }\n })), {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: {\n width: 'auto'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.variant === 'indeterminate' || ownerState.variant === 'query',\n style: indeterminate2Animation || {\n animation: `${indeterminate2Keyframe} 2.1s cubic-bezier(0.165, 0.84, 0.44, 1) 1.15s infinite`\n }\n }]\n})));\n\n/**\n * ## ARIA\n *\n * If the progress bar is describing the loading progress of a particular region of a page,\n * you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`\n * attribute to `true` on that region until it has finished loading.\n */\nconst LinearProgress = /*#__PURE__*/React.forwardRef(function LinearProgress(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiLinearProgress'\n });\n const {\n className,\n color = 'primary',\n value,\n valueBuffer,\n variant = 'indeterminate',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n const isRtl = useRtl();\n const rootProps = {};\n const inlineStyles = {\n bar1: {},\n bar2: {}\n };\n if (variant === 'determinate' || variant === 'buffer') {\n if (value !== undefined) {\n rootProps['aria-valuenow'] = Math.round(value);\n rootProps['aria-valuemin'] = 0;\n rootProps['aria-valuemax'] = 100;\n let transform = value - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar1.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a value prop ' + 'when using the determinate or buffer variant of LinearProgress .');\n }\n }\n if (variant === 'buffer') {\n if (valueBuffer !== undefined) {\n let transform = (valueBuffer || 0) - 100;\n if (isRtl) {\n transform = -transform;\n }\n inlineStyles.bar2.transform = `translateX(${transform}%)`;\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('MUI: You need to provide a valueBuffer prop ' + 'when using the buffer variant of LinearProgress.');\n }\n }\n return /*#__PURE__*/_jsxs(LinearProgressRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n role: \"progressbar\",\n ...rootProps,\n ref: ref,\n ...other,\n children: [variant === 'buffer' ? /*#__PURE__*/_jsx(LinearProgressDashed, {\n className: classes.dashed,\n ownerState: ownerState\n }) : null, /*#__PURE__*/_jsx(LinearProgressBar1, {\n className: classes.bar1,\n ownerState: ownerState,\n style: inlineStyles.bar1\n }), variant === 'determinate' ? null : /*#__PURE__*/_jsx(LinearProgressBar2, {\n className: classes.bar2,\n ownerState: ownerState,\n style: inlineStyles.bar2\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? LinearProgress.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the progress indicator for the determinate and buffer variants.\n * Value between 0 and 100.\n */\n value: PropTypes.number,\n /**\n * The value for the buffer variant.\n * Value between 0 and 100.\n */\n valueBuffer: PropTypes.number,\n /**\n * The variant to use.\n * Use indeterminate or query when there is no progress value.\n * @default 'indeterminate'\n */\n variant: PropTypes.oneOf(['buffer', 'determinate', 'indeterminate', 'query'])\n} : void 0;\nexport default LinearProgress;","/**\n * LinearProgress Component\n *\n * LinearProgress component for the MRS Design System.\n * Wraps Material-UI LinearProgress with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6586:46855\n * @see {@link https://mui.com/material-ui/react-progress/#linear}\n */\n\nimport React from 'react';\nimport MuiLinearProgress from '@mui/material/LinearProgress';\nimport { Box, Typography } from '@mui/material';\nimport type { LinearProgressProps } from './LinearProgress.types';\n\n/**\n * LinearProgress component\n *\n * Progress indicators commonly known as spinners, express an unspecified wait time\n * or display the length of a process.\n *\n * @param props - LinearProgress component props\n * @returns LinearProgress component\n */\nexport const LinearProgress = React.forwardRef<HTMLSpanElement, LinearProgressProps>(\n (\n {\n color = 'primary',\n showLabel = false,\n value = 0,\n valueBuffer,\n variant = 'indeterminate',\n sx,\n ...props\n },\n ref\n ) => {\n if (showLabel && (variant === 'determinate' || variant === 'buffer')) {\n return (\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1,\n minWidth: 200,\n ...sx,\n }}\n >\n <Box sx={{ flexGrow: 1 }}>\n <MuiLinearProgress\n variant={variant}\n color={color}\n value={value}\n valueBuffer={valueBuffer}\n {...props}\n />\n </Box>\n <Box sx={{ minWidth: 35 }}>\n <Typography variant=\"body2\" sx={{ color: 'text.primary' }}>\n {`${Math.round(value)}%`}\n </Typography>\n </Box>\n </Box>\n );\n }\n\n return (\n <MuiLinearProgress\n ref={ref}\n variant={variant}\n color={color}\n value={value}\n valueBuffer={valueBuffer}\n sx={{\n minWidth: 200,\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nLinearProgress.displayName = 'LinearProgress';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getLinkUtilityClass(slot) {\n return generateUtilityClass('MuiLink', slot);\n}\nconst linkClasses = generateUtilityClasses('MuiLink', ['root', 'underlineNone', 'underlineHover', 'underlineAlways', 'button', 'focusVisible']);\nexport default linkClasses;","import { getPath } from '@mui/system/style';\nimport { alpha } from '@mui/system/colorManipulator';\nconst getTextDecoration = ({\n theme,\n ownerState\n}) => {\n const transformedColor = ownerState.color;\n // check the `main` color first for a custom palette, then fallback to the color itself\n const color = getPath(theme, `palette.${transformedColor}.main`, false) || getPath(theme, `palette.${transformedColor}`, false) || ownerState.color;\n const channelColor = getPath(theme, `palette.${transformedColor}.mainChannel`) || getPath(theme, `palette.${transformedColor}Channel`);\n if ('vars' in theme && channelColor) {\n return `rgba(${channelColor} / 0.4)`;\n }\n return alpha(color, 0.4);\n};\nexport default getTextDecoration;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { alpha } from '@mui/system/colorManipulator';\nimport elementTypeAcceptingRef from '@mui/utils/elementTypeAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Typography from \"../Typography/index.js\";\nimport linkClasses, { getLinkUtilityClass } from \"./linkClasses.js\";\nimport getTextDecoration from \"./getTextDecoration.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst v6Colors = {\n primary: true,\n secondary: true,\n error: true,\n info: true,\n success: true,\n warning: true,\n textPrimary: true,\n textSecondary: true,\n textDisabled: true\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n component,\n focusVisible,\n underline\n } = ownerState;\n const slots = {\n root: ['root', `underline${capitalize(underline)}`, component === 'button' && 'button', focusVisible && 'focusVisible']\n };\n return composeClasses(slots, getLinkUtilityClass, classes);\n};\nconst LinkRoot = styled(Typography, {\n name: 'MuiLink',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`underline${capitalize(ownerState.underline)}`], ownerState.component === 'button' && styles.button];\n }\n})(memoTheme(({\n theme\n}) => {\n return {\n variants: [{\n props: {\n underline: 'none'\n },\n style: {\n textDecoration: 'none'\n }\n }, {\n props: {\n underline: 'hover'\n },\n style: {\n textDecoration: 'none',\n '&:hover': {\n textDecoration: 'underline'\n }\n }\n }, {\n props: {\n underline: 'always'\n },\n style: {\n textDecoration: 'underline',\n '&:hover': {\n textDecorationColor: 'inherit'\n }\n }\n }, {\n props: ({\n underline,\n ownerState\n }) => underline === 'always' && ownerState.color !== 'inherit',\n style: {\n textDecorationColor: 'var(--Link-underlineColor)'\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n underline: 'always',\n color\n },\n style: {\n '--Link-underlineColor': theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.4)` : alpha(theme.palette[color].main, 0.4)\n }\n })), {\n props: {\n underline: 'always',\n color: 'textPrimary'\n },\n style: {\n '--Link-underlineColor': theme.vars ? `rgba(${theme.vars.palette.text.primaryChannel} / 0.4)` : alpha(theme.palette.text.primary, 0.4)\n }\n }, {\n props: {\n underline: 'always',\n color: 'textSecondary'\n },\n style: {\n '--Link-underlineColor': theme.vars ? `rgba(${theme.vars.palette.text.secondaryChannel} / 0.4)` : alpha(theme.palette.text.secondary, 0.4)\n }\n }, {\n props: {\n underline: 'always',\n color: 'textDisabled'\n },\n style: {\n '--Link-underlineColor': (theme.vars || theme).palette.text.disabled\n }\n }, {\n props: {\n component: 'button'\n },\n style: {\n position: 'relative',\n WebkitTapHighlightColor: 'transparent',\n backgroundColor: 'transparent',\n // Reset default value\n // We disable the focus ring for mouse, touch and keyboard users.\n outline: 0,\n border: 0,\n margin: 0,\n // Remove the margin in Safari\n borderRadius: 0,\n padding: 0,\n // Remove the padding in Firefox\n cursor: 'pointer',\n userSelect: 'none',\n verticalAlign: 'middle',\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // Reset\n '&::-moz-focus-inner': {\n borderStyle: 'none' // Remove Firefox dotted outline.\n },\n [`&.${linkClasses.focusVisible}`]: {\n outline: 'auto'\n }\n }\n }]\n };\n}));\nconst Link = /*#__PURE__*/React.forwardRef(function Link(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiLink'\n });\n const theme = useTheme();\n const {\n className,\n color = 'primary',\n component = 'a',\n onBlur,\n onFocus,\n TypographyClasses,\n underline = 'always',\n variant = 'inherit',\n sx,\n ...other\n } = props;\n const [focusVisible, setFocusVisible] = React.useState(false);\n const handleBlur = event => {\n if (!isFocusVisible(event.target)) {\n setFocusVisible(false);\n }\n if (onBlur) {\n onBlur(event);\n }\n };\n const handleFocus = event => {\n if (isFocusVisible(event.target)) {\n setFocusVisible(true);\n }\n if (onFocus) {\n onFocus(event);\n }\n };\n const ownerState = {\n ...props,\n color,\n component,\n focusVisible,\n underline,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(LinkRoot, {\n color: color,\n className: clsx(classes.root, className),\n classes: TypographyClasses,\n component: component,\n onBlur: handleBlur,\n onFocus: handleFocus,\n ref: ref,\n ownerState: ownerState,\n variant: variant,\n ...other,\n sx: [...(v6Colors[color] === undefined ? [{\n color\n }] : []), ...(Array.isArray(sx) ? sx : [sx])],\n style: {\n ...other.style,\n ...(underline === 'always' && color !== 'inherit' && !v6Colors[color] && {\n '--Link-underlineColor': getTextDecoration({\n theme,\n ownerState\n })\n })\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Link.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the link.\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'success', 'error', 'info', 'warning', 'textPrimary', 'textSecondary', 'textDisabled']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: elementTypeAcceptingRef,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * `classes` prop applied to the [`Typography`](https://mui.com/material-ui/api/typography/) element.\n */\n TypographyClasses: PropTypes.object,\n /**\n * Controls when the link should have an underline.\n * @default 'always'\n */\n underline: PropTypes.oneOf(['always', 'hover', 'none']),\n /**\n * Applies the theme typography styles.\n * @default 'inherit'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['body1', 'body2', 'button', 'caption', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'inherit', 'overline', 'subtitle1', 'subtitle2']), PropTypes.string])\n} : void 0;\nexport default Link;","/**\n * Link component\n * Wraps Material-UI Link with design system theme\n */\n\nimport React from 'react';\nimport MuiLink from '@mui/material/Link';\nimport type { Theme } from '@mui/material/styles';\nimport type { LinkProps } from './Link.types';\n\n/**\n * Link component - accessible hyperlink\n * Wraps MUI Link with design system theme integration\n *\n * @example\n * ```tsx\n * <Link href=\"https://example.com\">Click here</Link>\n * <Link href=\"/about\" color=\"primary\" underline=\"hover\">About</Link>\n * ```\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n ({ color = 'primary', underline = 'hover', variant = 'body1', children, sx, ...props }, ref) => {\n return (\n <MuiLink\n ref={ref}\n color={color}\n underline={underline}\n variant={variant}\n sx={{\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n cursor: 'pointer',\n '&:focus-visible': {\n outline: (theme: Theme) => `2px solid ${theme.palette.primary.main}`,\n outlineOffset: '2px',\n borderRadius: '2px',\n },\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiLink>\n );\n }\n);\n\nLink.displayName = 'Link';\n\nexport default Link;\n","/**\n * MenuItem Component\n *\n * Menu item component for the MRS Design System.\n * Wraps Material-UI MenuItem with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-menu/}\n */\n\nimport React from 'react';\nimport MuiMenuItem from '@mui/material/MenuItem';\nimport type { Theme } from '@mui/material/styles';\nimport type { MenuItemProps } from './MenuItem.types';\n\n/**\n * MenuItem component\n *\n * Menu items are used in menus, selects, and other components\n * to display selectable options.\n *\n * @param props - MenuItem component props\n * @returns MenuItem component\n *\n * @example\n * ```tsx\n * // In a Select\n * <Select>\n * <MenuItem value=\"option1\">Option 1</MenuItem>\n * <MenuItem value=\"option2\">Option 2</MenuItem>\n * </Select>\n *\n * // Disabled\n * <MenuItem value=\"disabled\" disabled>\n * Disabled Option\n * </MenuItem>\n *\n * // Selected\n * <MenuItem value=\"selected\" selected>\n * Selected Option\n * </MenuItem>\n * ```\n */\nexport const MenuItem = React.forwardRef<HTMLLIElement, MenuItemProps>(\n ({ children, sx, ...props }, ref) => {\n return (\n <MuiMenuItem\n ref={ref}\n sx={{\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontSize: (theme: Theme) => theme.typography.body1.fontSize,\n fontWeight: (theme: Theme) => theme.typography.fontWeightRegular,\n lineHeight: (theme: Theme) => theme.typography.body1.lineHeight,\n // Hover state\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.hover,\n },\n // Selected state\n '&.Mui-selected': {\n backgroundColor: (theme: Theme) => theme.palette.action.selected,\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.selected,\n },\n },\n // Focus state\n '&.Mui-focusVisible': {\n backgroundColor: (theme: Theme) => theme.palette.action.hover,\n },\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiMenuItem>\n );\n }\n);\n\nMenuItem.displayName = 'MenuItem';\n\nexport default MenuItem;\n","/**\n * Paper Component\n *\n * Paper component for the MRS Design System.\n * Wraps Material-UI Paper with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6584:46711\n * @see {@link https://mui.com/material-ui/react-paper/}\n */\n\nimport React from 'react';\nimport MuiPaper from '@mui/material/Paper';\nimport type { PaperProps } from './Paper.types';\n\n/**\n * Paper component\n *\n * The Paper component is a container that displays content with elevation and optional borders.\n * The elevation can be used to establish a hierarchy between other content.\n *\n * @param props - Paper component props\n * @returns Paper component\n */\nexport const Paper = React.forwardRef<HTMLDivElement, PaperProps>(\n ({ children, variant = 'elevation', elevation = 1, square = false, sx, ...props }, ref) => {\n return (\n <MuiPaper\n ref={ref}\n variant={variant}\n elevation={variant === 'elevation' ? elevation : 0}\n square={square}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiPaper>\n );\n }\n);\n\nPaper.displayName = 'Paper';\n","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'RadioButtonUnchecked');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M8.465 8.465C9.37 7.56 10.62 7 12 7C14.76 7 17 9.24 17 12C17 13.38 16.44 14.63 15.535 15.535C14.63 16.44 13.38 17 12 17C9.24 17 7 14.76 7 12C7 10.62 7.56 9.37 8.465 8.465Z\"\n}), 'RadioButtonChecked');","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport RadioButtonUncheckedIcon from \"../internal/svg-icons/RadioButtonUnchecked.js\";\nimport RadioButtonCheckedIcon from \"../internal/svg-icons/RadioButtonChecked.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst RadioButtonIconRoot = styled('span', {\n name: 'MuiRadioButtonIcon',\n shouldForwardProp: rootShouldForwardProp\n})({\n position: 'relative',\n display: 'flex'\n});\nconst RadioButtonIconBackground = styled(RadioButtonUncheckedIcon, {\n name: 'MuiRadioButtonIcon'\n})({\n // Scale applied to prevent dot misalignment in Safari\n transform: 'scale(1)'\n});\nconst RadioButtonIconDot = styled(RadioButtonCheckedIcon, {\n name: 'MuiRadioButtonIcon'\n})(memoTheme(({\n theme\n}) => ({\n left: 0,\n position: 'absolute',\n transform: 'scale(0)',\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeIn,\n duration: theme.transitions.duration.shortest\n }),\n variants: [{\n props: {\n checked: true\n },\n style: {\n transform: 'scale(1)',\n transition: theme.transitions.create('transform', {\n easing: theme.transitions.easing.easeOut,\n duration: theme.transitions.duration.shortest\n })\n }\n }]\n})));\n\n/**\n * @ignore - internal component.\n */\nfunction RadioButtonIcon(props) {\n const {\n checked = false,\n classes = {},\n fontSize\n } = props;\n const ownerState = {\n ...props,\n checked\n };\n return /*#__PURE__*/_jsxs(RadioButtonIconRoot, {\n className: classes.root,\n ownerState: ownerState,\n children: [/*#__PURE__*/_jsx(RadioButtonIconBackground, {\n fontSize: fontSize,\n className: classes.background,\n ownerState: ownerState\n }), /*#__PURE__*/_jsx(RadioButtonIconDot, {\n fontSize: fontSize,\n className: classes.dot,\n ownerState: ownerState\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? RadioButtonIcon.propTypes /* remove-proptypes */ = {\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The size of the component.\n * `small` is equivalent to the dense radio styling.\n */\n fontSize: PropTypes.oneOf(['small', 'medium'])\n} : void 0;\nexport default RadioButtonIcon;","'use client';\n\nimport * as React from 'react';\n/**\n * @ignore - internal component.\n */\nconst RadioGroupContext = /*#__PURE__*/React.createContext(undefined);\nif (process.env.NODE_ENV !== 'production') {\n RadioGroupContext.displayName = 'RadioGroupContext';\n}\nexport default RadioGroupContext;","'use client';\n\nimport * as React from 'react';\nimport RadioGroupContext from \"./RadioGroupContext.js\";\nexport default function useRadioGroup() {\n return React.useContext(RadioGroupContext);\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getRadioUtilityClass(slot) {\n return generateUtilityClass('MuiRadio', slot);\n}\nconst radioClasses = generateUtilityClasses('MuiRadio', ['root', 'checked', 'disabled', 'colorPrimary', 'colorSecondary', 'sizeSmall']);\nexport default radioClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport RadioButtonIcon from \"./RadioButtonIcon.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createChainedFunction from \"../utils/createChainedFunction.js\";\nimport useFormControl from \"../FormControl/useFormControl.js\";\nimport useRadioGroup from \"../RadioGroup/useRadioGroup.js\";\nimport radioClasses, { getRadioUtilityClass } from \"./radioClasses.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, size !== 'medium' && `size${capitalize(size)}`]\n };\n return {\n ...classes,\n ...composeClasses(slots, getRadioUtilityClass, classes)\n };\n};\nconst RadioRoot = styled(SwitchBase, {\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n name: 'MuiRadio',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.size !== 'medium' && styles[`size${capitalize(ownerState.size)}`], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${radioClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n },\n variants: [{\n props: {\n color: 'default',\n disabled: false,\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity)\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disabled: false,\n disableRipple: false\n },\n style: {\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity)\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n disabled: false\n },\n style: {\n [`&.${radioClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main\n }\n }\n })), {\n // Should be last to override other colors\n props: {\n disableRipple: false\n },\n style: {\n // Reset on touch devices, it doesn't add specificity\n '&:hover': {\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n }\n }]\n})));\nfunction areEqualValues(a, b) {\n if (typeof b === 'object' && b !== null) {\n return a === b;\n }\n\n // The value could be a number, the DOM will stringify it anyway.\n return String(a) === String(b);\n}\nconst defaultCheckedIcon = /*#__PURE__*/_jsx(RadioButtonIcon, {\n checked: true\n});\nconst defaultIcon = /*#__PURE__*/_jsx(RadioButtonIcon, {});\nconst Radio = /*#__PURE__*/React.forwardRef(function Radio(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiRadio'\n });\n const {\n checked: checkedProp,\n checkedIcon = defaultCheckedIcon,\n color = 'primary',\n icon = defaultIcon,\n name: nameProp,\n onChange: onChangeProp,\n size = 'medium',\n className,\n disabled: disabledProp,\n disableRipple = false,\n slots = {},\n slotProps = {},\n inputProps,\n ...other\n } = props;\n const muiFormControl = useFormControl();\n let disabled = disabledProp;\n if (muiFormControl) {\n if (typeof disabled === 'undefined') {\n disabled = muiFormControl.disabled;\n }\n }\n disabled ??= false;\n const ownerState = {\n ...props,\n disabled,\n disableRipple,\n color,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const radioGroup = useRadioGroup();\n let checked = checkedProp;\n const onChange = createChainedFunction(onChangeProp, radioGroup && radioGroup.onChange);\n let name = nameProp;\n if (radioGroup) {\n if (typeof checked === 'undefined') {\n checked = areEqualValues(radioGroup.value, props.value);\n }\n if (typeof name === 'undefined') {\n name = radioGroup.name;\n }\n }\n const externalInputProps = slotProps.input ?? inputProps;\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n elementType: RadioRoot,\n className: clsx(classes.root, className),\n shouldForwardComponentProp: true,\n externalForwardedProps: {\n slots,\n slotProps,\n ...other\n },\n getSlotProps: handlers => ({\n ...handlers,\n onChange: (event, ...args) => {\n handlers.onChange?.(event, ...args);\n onChange(event, ...args);\n }\n }),\n ownerState,\n additionalProps: {\n type: 'radio',\n icon: /*#__PURE__*/React.cloneElement(icon, {\n fontSize: icon.props.fontSize ?? size\n }),\n checkedIcon: /*#__PURE__*/React.cloneElement(checkedIcon, {\n fontSize: checkedIcon.props.fontSize ?? size\n }),\n disabled,\n name,\n checked,\n slots,\n slotProps: {\n // Do not forward `slotProps.root` again because it's already handled by the `RootSlot` in this file.\n input: typeof externalInputProps === 'function' ? externalInputProps(ownerState) : externalInputProps\n }\n }\n });\n return /*#__PURE__*/_jsx(RootSlot, {\n ...rootSlotProps,\n classes: classes\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Radio.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n * @default <RadioButtonIcon checked />\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * The icon to display when the component is unchecked.\n * @default <RadioButtonIcon />\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n * @deprecated Use `slotProps.input.ref` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputRef: refType,\n /**\n * Name attribute of the `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense radio styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n */\n value: PropTypes.any\n} : void 0;\nexport default Radio;","/**\n * Radio Component\n *\n * Radio component for the MRS Design System.\n * Wraps Material-UI Radio with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6558-39273&m=dev\n * @see {@link https://mui.com/material-ui/react-radio/}\n */\n\nimport React from 'react';\nimport MuiRadio from '@mui/material/Radio';\nimport type { RadioProps } from './Radio.types';\n\n/**\n * Radio component\n *\n * Radio buttons allow the user to select one option from a set.\n * Use radio buttons when the user needs to see all available options.\n * If available options can be collapsed, consider using a Select component because it uses less space.\n *\n * @param props - Radio component props\n * @returns Radio component\n */\nexport const Radio = React.forwardRef<HTMLButtonElement, RadioProps>(\n (\n {\n checked,\n size = 'medium',\n color = 'primary',\n disabled = false,\n disableRipple = false,\n required = false,\n onChange,\n value,\n id,\n inputProps,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiRadio\n ref={ref}\n checked={checked}\n size={size}\n color={color}\n disabled={disabled}\n disableRipple={disableRipple}\n required={required}\n onChange={onChange}\n value={value}\n id={id}\n inputProps={inputProps}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nRadio.displayName = 'Radio';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getRadioGroupUtilityClass(slot) {\n return generateUtilityClass('MuiRadioGroup', slot);\n}\nconst radioGroupClasses = generateUtilityClasses('MuiRadioGroup', ['root', 'row', 'error']);\nexport default radioGroupClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport FormGroup from \"../FormGroup/index.js\";\nimport { getRadioGroupUtilityClass } from \"./radioGroupClasses.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport RadioGroupContext from \"./RadioGroupContext.js\";\nimport useId from \"../utils/useId.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = props => {\n const {\n classes,\n row,\n error\n } = props;\n const slots = {\n root: ['root', row && 'row', error && 'error']\n };\n return composeClasses(slots, getRadioGroupUtilityClass, classes);\n};\nconst RadioGroup = /*#__PURE__*/React.forwardRef(function RadioGroup(props, ref) {\n const {\n // private\n // eslint-disable-next-line react/prop-types\n actions,\n children,\n className,\n defaultValue,\n name: nameProp,\n onChange,\n value: valueProp,\n ...other\n } = props;\n const rootRef = React.useRef(null);\n const classes = useUtilityClasses(props);\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'RadioGroup'\n });\n React.useImperativeHandle(actions, () => ({\n focus: () => {\n let input = rootRef.current.querySelector('input:not(:disabled):checked');\n if (!input) {\n input = rootRef.current.querySelector('input:not(:disabled)');\n }\n if (input) {\n input.focus();\n }\n }\n }), []);\n const handleRef = useForkRef(ref, rootRef);\n const name = useId(nameProp);\n const contextValue = React.useMemo(() => ({\n name,\n onChange(event) {\n setValueState(event.target.value);\n if (onChange) {\n onChange(event, event.target.value);\n }\n },\n value\n }), [name, onChange, setValueState, value]);\n return /*#__PURE__*/_jsx(RadioGroupContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(FormGroup, {\n role: \"radiogroup\",\n ref: handleRef,\n className: clsx(classes.root, className),\n ...other,\n children: children\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? RadioGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.any,\n /**\n * The name used to reference the value of the control.\n * If you don't provide this prop, it falls back to a randomly generated name.\n */\n name: PropTypes.string,\n /**\n * Callback fired when a radio button is selected.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * @param {string} value The value of the selected radio button.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * Value of the selected radio button. The DOM API casts this to a string.\n */\n value: PropTypes.any\n} : void 0;\nexport default RadioGroup;","/**\n * RadioGroup component\n * Wraps Material-UI RadioGroup with design system theme\n */\n\nimport React from 'react';\nimport MuiRadioGroup from '@mui/material/RadioGroup';\nimport type { RadioGroupProps } from './RadioGroup.types';\n\n/**\n * RadioGroup component - groups Radio buttons together\n * Provides a wrapper around a set of Radio components\n *\n * @example\n * ```tsx\n * <RadioGroup value={value} onChange={handleChange}>\n * <FormControlLabel value=\"option1\" control={<Radio />} label=\"Option 1\" />\n * <FormControlLabel value=\"option2\" control={<Radio />} label=\"Option 2\" />\n * </RadioGroup>\n * ```\n */\nexport const RadioGroup = React.forwardRef<HTMLDivElement, RadioGroupProps>(\n ({ children, ...props }, ref) => {\n return (\n <MuiRadioGroup ref={ref} {...props}>\n {children}\n </MuiRadioGroup>\n );\n }\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n","/**\n * Select Component\n *\n * Select component for the MRS Design System.\n * Wraps Material-UI Select with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-select/}\n */\n\nimport React from 'react';\nimport MuiSelect from '@mui/material/Select';\nimport type { Theme } from '@mui/material/styles';\nimport type { SelectProps } from './Select.types';\n\n/**\n * Select component\n *\n * Select components are used for collecting user provided information from a list of options.\n * Supports single and multiple selection, different variants, sizes, and states.\n *\n * @param props - Select component props\n * @returns Select component\n *\n * @example\n * ```tsx\n * // Basic usage\n * <Select value={age} onChange={handleChange}>\n * <MenuItem value={10}>Ten</MenuItem>\n * <MenuItem value={20}>Twenty</MenuItem>\n * <MenuItem value={30}>Thirty</MenuItem>\n * </Select>\n *\n * // With label (use FormControl)\n * <FormControl>\n * <InputLabel>Age</InputLabel>\n * <Select value={age} onChange={handleChange}>\n * <MenuItem value={10}>Ten</MenuItem>\n * <MenuItem value={20}>Twenty</MenuItem>\n * </Select>\n * </FormControl>\n *\n * // Multiple selection\n * <Select multiple value={values} onChange={handleChange}>\n * <MenuItem value=\"option1\">Option 1</MenuItem>\n * <MenuItem value=\"option2\">Option 2</MenuItem>\n * </Select>\n * ```\n */\nexport const Select = React.forwardRef<any, SelectProps>(\n (\n { variant = 'outlined', color = 'primary', size = 'medium', fullWidth = false, sx, ...props },\n ref\n ) => {\n return (\n <MuiSelect\n ref={ref}\n variant={variant}\n color={color}\n size={size}\n fullWidth={fullWidth}\n sx={{\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n // Outlined variant specific styles\n ...(variant === 'outlined' && {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: (theme: Theme) =>\n theme.palette._components?.input?.outlined?.enabledBorder || theme.palette.divider,\n },\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: (theme: Theme) => theme.palette.text.primary,\n },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderWidth: 2,\n },\n }),\n // Filled variant specific styles\n ...(variant === 'filled' && {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n '&:hover': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.09)',\n },\n '&.Mui-focused': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n },\n }),\n // Standard variant specific styles\n ...(variant === 'standard' && {\n '&:before': {\n borderBottomColor: (theme: Theme) =>\n theme.palette._components?.input?.standard?.enabledBorder || theme.palette.divider,\n },\n '&:hover:not(.Mui-disabled):before': {\n borderBottomColor: (theme: Theme) => theme.palette.text.primary,\n },\n }),\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nSelect.displayName = 'Select';\n\nexport default Select;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSkeletonUtilityClass(slot) {\n return generateUtilityClass('MuiSkeleton', slot);\n}\nconst skeletonClasses = generateUtilityClasses('MuiSkeleton', ['root', 'text', 'rectangular', 'rounded', 'circular', 'pulse', 'wave', 'withChildren', 'fitContent', 'heightAuto']);\nexport default skeletonClasses;","'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, unstable_getUnit as getUnit, unstable_toUnitless as toUnitless } from \"../styles/index.js\";\nimport { keyframes, css, styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getSkeletonUtilityClass } from \"./skeletonClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n animation,\n hasChildren,\n width,\n height\n } = ownerState;\n const slots = {\n root: ['root', variant, animation, hasChildren && 'withChildren', hasChildren && !width && 'fitContent', hasChildren && !height && 'heightAuto']\n };\n return composeClasses(slots, getSkeletonUtilityClass, classes);\n};\nconst pulseKeyframe = keyframes`\n 0% {\n opacity: 1;\n }\n\n 50% {\n opacity: 0.4;\n }\n\n 100% {\n opacity: 1;\n }\n`;\nconst waveKeyframe = keyframes`\n 0% {\n transform: translateX(-100%);\n }\n\n 50% {\n /* +0.5s of delay between each loop */\n transform: translateX(100%);\n }\n\n 100% {\n transform: translateX(100%);\n }\n`;\n\n// This implementation is for supporting both Styled-components v4+ and Pigment CSS.\n// A global animation has to be created here for Styled-components v4+ (https://github.com/styled-components/styled-components/blob/main/packages/styled-components/src/utils/errors.md#12).\n// which can be done by checking typeof indeterminate1Keyframe !== 'string' (at runtime, Pigment CSS transform keyframes`` to a string).\nconst pulseAnimation = typeof pulseKeyframe !== 'string' ? css`\n animation: ${pulseKeyframe} 2s ease-in-out 0.5s infinite;\n ` : null;\nconst waveAnimation = typeof waveKeyframe !== 'string' ? css`\n &::after {\n animation: ${waveKeyframe} 2s linear 0.5s infinite;\n }\n ` : null;\nconst SkeletonRoot = styled('span', {\n name: 'MuiSkeleton',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], ownerState.animation !== false && styles[ownerState.animation], ownerState.hasChildren && styles.withChildren, ownerState.hasChildren && !ownerState.width && styles.fitContent, ownerState.hasChildren && !ownerState.height && styles.heightAuto];\n }\n})(memoTheme(({\n theme\n}) => {\n const radiusUnit = getUnit(theme.shape.borderRadius) || 'px';\n const radiusValue = toUnitless(theme.shape.borderRadius);\n return {\n display: 'block',\n // Create a \"on paper\" color with sufficient contrast retaining the color\n backgroundColor: theme.vars ? theme.vars.palette.Skeleton.bg : alpha(theme.palette.text.primary, theme.palette.mode === 'light' ? 0.11 : 0.13),\n height: '1.2em',\n variants: [{\n props: {\n variant: 'text'\n },\n style: {\n marginTop: 0,\n marginBottom: 0,\n height: 'auto',\n transformOrigin: '0 55%',\n transform: 'scale(1, 0.60)',\n borderRadius: `${radiusValue}${radiusUnit}/${Math.round(radiusValue / 0.6 * 10) / 10}${radiusUnit}`,\n '&:empty:before': {\n content: '\"\\\\00a0\"'\n }\n }\n }, {\n props: {\n variant: 'circular'\n },\n style: {\n borderRadius: '50%'\n }\n }, {\n props: {\n variant: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.hasChildren,\n style: {\n '& > *': {\n visibility: 'hidden'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.hasChildren && !ownerState.width,\n style: {\n maxWidth: 'fit-content'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.hasChildren && !ownerState.height,\n style: {\n height: 'auto'\n }\n }, {\n props: {\n animation: 'pulse'\n },\n style: pulseAnimation || {\n animation: `${pulseKeyframe} 2s ease-in-out 0.5s infinite`\n }\n }, {\n props: {\n animation: 'wave'\n },\n style: {\n position: 'relative',\n overflow: 'hidden',\n /* Fix bug in Safari https://bugs.webkit.org/show_bug.cgi?id=68196 */\n WebkitMaskImage: '-webkit-radial-gradient(white, black)',\n '&::after': {\n background: `linear-gradient(\n 90deg,\n transparent,\n ${(theme.vars || theme).palette.action.hover},\n transparent\n )`,\n content: '\"\"',\n position: 'absolute',\n transform: 'translateX(-100%)' /* Avoid flash during server-side hydration */,\n bottom: 0,\n left: 0,\n right: 0,\n top: 0\n }\n }\n }, {\n props: {\n animation: 'wave'\n },\n style: waveAnimation || {\n '&::after': {\n animation: `${waveKeyframe} 2s linear 0.5s infinite`\n }\n }\n }]\n };\n}));\nconst Skeleton = /*#__PURE__*/React.forwardRef(function Skeleton(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSkeleton'\n });\n const {\n animation = 'pulse',\n className,\n component = 'span',\n height,\n style,\n variant = 'text',\n width,\n ...other\n } = props;\n const ownerState = {\n ...props,\n animation,\n component,\n variant,\n hasChildren: Boolean(other.children)\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(SkeletonRoot, {\n as: component,\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ...other,\n style: {\n width,\n height,\n ...style\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Skeleton.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The animation.\n * If `false` the animation effect is disabled.\n * @default 'pulse'\n */\n animation: PropTypes.oneOf(['pulse', 'wave', false]),\n /**\n * Optional children to infer width and height from.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Height of the skeleton.\n * Useful when you don't want to adapt the skeleton to a text element but for instance a card.\n */\n height: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The type of content that will be rendered.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'rectangular', 'rounded', 'text']), PropTypes.string]),\n /**\n * Width of the skeleton.\n * Useful when the skeleton is inside an inline element with no width of its own.\n */\n width: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n} : void 0;\nexport default Skeleton;","/**\n * Skeleton Component\n *\n * Skeleton component for the MRS Design System.\n * Wraps Material-UI Skeleton with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6596:49017\n * @see {@link https://mui.com/material-ui/react-skeleton/}\n */\n\nimport React from 'react';\nimport MuiSkeleton from '@mui/material/Skeleton';\nimport type { SkeletonProps } from './Skeleton.types';\n\n/**\n * Skeleton component\n *\n * Display a placeholder preview of your content before the data gets loaded\n * to reduce load-time frustration.\n *\n * @param props - Skeleton component props\n * @returns Skeleton component\n */\nexport const Skeleton = React.forwardRef<HTMLSpanElement, SkeletonProps>(\n ({ variant = 'text', width, height, animation = 'pulse', ...props }, ref) => {\n // Set default dimensions based on variant\n let defaultWidth = width;\n let defaultHeight = height;\n\n if (variant === 'text' && !width) {\n defaultWidth = 120;\n }\n if (variant === 'text' && !height) {\n defaultHeight = 12;\n }\n if (variant === 'circular' && !width && !height) {\n defaultWidth = 40;\n defaultHeight = 40;\n }\n if (variant === 'rectangular' && !width && !height) {\n defaultWidth = 120;\n defaultHeight = 120;\n }\n\n return (\n <MuiSkeleton\n ref={ref}\n variant={variant}\n width={defaultWidth}\n height={defaultHeight}\n animation={animation}\n {...props}\n />\n );\n }\n);\n\nSkeleton.displayName = 'Skeleton';\n","function areArraysEqual(array1, array2, itemComparer = (a, b) => a === b) {\n return array1.length === array2.length && array1.every((value, index) => itemComparer(value, array2[index]));\n}\nexport default areArraysEqual;","'use client';\n\nimport * as React from 'react';\nimport { unstable_ownerDocument as ownerDocument, unstable_useControlled as useControlled, unstable_useEnhancedEffect as useEnhancedEffect, unstable_useEventCallback as useEventCallback, unstable_useForkRef as useForkRef, unstable_isFocusVisible as isFocusVisible, visuallyHidden, clamp } from '@mui/utils';\nimport extractEventHandlers from '@mui/utils/extractEventHandlers';\nimport areArraysEqual from \"../utils/areArraysEqual.js\";\nconst INTENTIONAL_DRAG_COUNT_THRESHOLD = 2;\nfunction getNewValue(currentValue, step, direction, min, max) {\n return direction === 1 ? Math.min(currentValue + step, max) : Math.max(currentValue - step, min);\n}\nfunction asc(a, b) {\n return a - b;\n}\nfunction findClosest(values, currentValue) {\n const {\n index: closestIndex\n } = values.reduce((acc, value, index) => {\n const distance = Math.abs(currentValue - value);\n if (acc === null || distance < acc.distance || distance === acc.distance) {\n return {\n distance,\n index\n };\n }\n return acc;\n }, null) ?? {};\n return closestIndex;\n}\nfunction trackFinger(event, touchId) {\n // The event is TouchEvent\n if (touchId.current !== undefined && event.changedTouches) {\n const touchEvent = event;\n for (let i = 0; i < touchEvent.changedTouches.length; i += 1) {\n const touch = touchEvent.changedTouches[i];\n if (touch.identifier === touchId.current) {\n return {\n x: touch.clientX,\n y: touch.clientY\n };\n }\n }\n return false;\n }\n\n // The event is MouseEvent\n return {\n x: event.clientX,\n y: event.clientY\n };\n}\nexport function valueToPercent(value, min, max) {\n return (value - min) * 100 / (max - min);\n}\nfunction percentToValue(percent, min, max) {\n return (max - min) * percent + min;\n}\nfunction getDecimalPrecision(num) {\n // This handles the case when num is very small (0.00000001), js will turn this into 1e-8.\n // When num is bigger than 1 or less than -1 it won't get converted to this notation so it's fine.\n if (Math.abs(num) < 1) {\n const parts = num.toExponential().split('e-');\n const matissaDecimalPart = parts[0].split('.')[1];\n return (matissaDecimalPart ? matissaDecimalPart.length : 0) + parseInt(parts[1], 10);\n }\n const decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\nfunction roundValueToStep(value, step, min) {\n const nearest = Math.round((value - min) / step) * step + min;\n return Number(nearest.toFixed(getDecimalPrecision(step)));\n}\nfunction setValueIndex({\n values,\n newValue,\n index\n}) {\n const output = values.slice();\n output[index] = newValue;\n return output.sort(asc);\n}\nfunction focusThumb({\n sliderRef,\n activeIndex,\n setActive\n}) {\n const doc = ownerDocument(sliderRef.current);\n if (!sliderRef.current?.contains(doc.activeElement) || Number(doc?.activeElement?.getAttribute('data-index')) !== activeIndex) {\n sliderRef.current?.querySelector(`[type=\"range\"][data-index=\"${activeIndex}\"]`).focus();\n }\n if (setActive) {\n setActive(activeIndex);\n }\n}\nfunction areValuesEqual(newValue, oldValue) {\n if (typeof newValue === 'number' && typeof oldValue === 'number') {\n return newValue === oldValue;\n }\n if (typeof newValue === 'object' && typeof oldValue === 'object') {\n return areArraysEqual(newValue, oldValue);\n }\n return false;\n}\nconst axisProps = {\n horizontal: {\n offset: percent => ({\n left: `${percent}%`\n }),\n leap: percent => ({\n width: `${percent}%`\n })\n },\n 'horizontal-reverse': {\n offset: percent => ({\n right: `${percent}%`\n }),\n leap: percent => ({\n width: `${percent}%`\n })\n },\n vertical: {\n offset: percent => ({\n bottom: `${percent}%`\n }),\n leap: percent => ({\n height: `${percent}%`\n })\n }\n};\nexport const Identity = x => x;\n\n// TODO: remove support for Safari < 13.\n// https://caniuse.com/#search=touch-action\n//\n// Safari, on iOS, supports touch action since v13.\n// Over 80% of the iOS phones are compatible\n// in August 2020.\n// Utilizing the CSS.supports method to check if touch-action is supported.\n// Since CSS.supports is supported on all but Edge@12 and IE and touch-action\n// is supported on both Edge@12 and IE if CSS.supports is not available that means that\n// touch-action will be supported\nlet cachedSupportsTouchActionNone;\nfunction doesSupportTouchActionNone() {\n if (cachedSupportsTouchActionNone === undefined) {\n if (typeof CSS !== 'undefined' && typeof CSS.supports === 'function') {\n cachedSupportsTouchActionNone = CSS.supports('touch-action', 'none');\n } else {\n cachedSupportsTouchActionNone = true;\n }\n }\n return cachedSupportsTouchActionNone;\n}\n/**\n *\n * Demos:\n *\n * - [Slider](https://mui.com/base-ui/react-slider/#hook)\n *\n * API:\n *\n * - [useSlider API](https://mui.com/base-ui/react-slider/hooks-api/#use-slider)\n */\nexport function useSlider(parameters) {\n const {\n 'aria-labelledby': ariaLabelledby,\n defaultValue,\n disabled = false,\n disableSwap = false,\n isRtl = false,\n marks: marksProp = false,\n max = 100,\n min = 0,\n name,\n onChange,\n onChangeCommitted,\n orientation = 'horizontal',\n rootRef: ref,\n scale = Identity,\n step = 1,\n shiftStep = 10,\n tabIndex,\n value: valueProp\n } = parameters;\n const touchId = React.useRef(undefined);\n // We can't use the :active browser pseudo-classes.\n // - The active state isn't triggered when clicking on the rail.\n // - The active state isn't transferred when inversing a range slider.\n const [active, setActive] = React.useState(-1);\n const [open, setOpen] = React.useState(-1);\n const [dragging, setDragging] = React.useState(false);\n const moveCount = React.useRef(0);\n // lastChangedValue is updated whenever onChange is triggered.\n const lastChangedValue = React.useRef(null);\n const [valueDerived, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue ?? min,\n name: 'Slider'\n });\n const handleChange = onChange && ((event, value, thumbIndex) => {\n // Redefine target to allow name and value to be read.\n // This allows seamless integration with the most popular form libraries.\n // https://github.com/mui/material-ui/issues/13485#issuecomment-676048492\n // Clone the event to not override `target` of the original event.\n const nativeEvent = event.nativeEvent || event;\n // @ts-ignore The nativeEvent is function, not object\n const clonedEvent = new nativeEvent.constructor(nativeEvent.type, nativeEvent);\n Object.defineProperty(clonedEvent, 'target', {\n writable: true,\n value: {\n value,\n name\n }\n });\n lastChangedValue.current = value;\n onChange(clonedEvent, value, thumbIndex);\n });\n const range = Array.isArray(valueDerived);\n let values = range ? valueDerived.slice().sort(asc) : [valueDerived];\n values = values.map(value => value == null ? min : clamp(value, min, max));\n const marks = marksProp === true && step !== null ? [...Array(Math.floor((max - min) / step) + 1)].map((_, index) => ({\n value: min + step * index\n })) : marksProp || [];\n const marksValues = marks.map(mark => mark.value);\n const [focusedThumbIndex, setFocusedThumbIndex] = React.useState(-1);\n const sliderRef = React.useRef(null);\n const handleRef = useForkRef(ref, sliderRef);\n const createHandleHiddenInputFocus = otherHandlers => event => {\n const index = Number(event.currentTarget.getAttribute('data-index'));\n if (isFocusVisible(event.target)) {\n setFocusedThumbIndex(index);\n }\n setOpen(index);\n otherHandlers?.onFocus?.(event);\n };\n const createHandleHiddenInputBlur = otherHandlers => event => {\n if (!isFocusVisible(event.target)) {\n setFocusedThumbIndex(-1);\n }\n setOpen(-1);\n otherHandlers?.onBlur?.(event);\n };\n const changeValue = (event, valueInput) => {\n const index = Number(event.currentTarget.getAttribute('data-index'));\n const value = values[index];\n const marksIndex = marksValues.indexOf(value);\n let newValue = valueInput;\n if (marks && step == null) {\n const maxMarksValue = marksValues[marksValues.length - 1];\n if (newValue >= maxMarksValue) {\n newValue = maxMarksValue;\n } else if (newValue <= marksValues[0]) {\n newValue = marksValues[0];\n } else {\n newValue = newValue < value ? marksValues[marksIndex - 1] : marksValues[marksIndex + 1];\n }\n }\n newValue = clamp(newValue, min, max);\n if (range) {\n // Bound the new value to the thumb's neighbours.\n if (disableSwap) {\n newValue = clamp(newValue, values[index - 1] || -Infinity, values[index + 1] || Infinity);\n }\n const previousValue = newValue;\n newValue = setValueIndex({\n values,\n newValue,\n index\n });\n let activeIndex = index;\n\n // Potentially swap the index if needed.\n if (!disableSwap) {\n activeIndex = newValue.indexOf(previousValue);\n }\n focusThumb({\n sliderRef,\n activeIndex\n });\n }\n setValueState(newValue);\n setFocusedThumbIndex(index);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(event, newValue, index);\n }\n if (onChangeCommitted) {\n onChangeCommitted(event, lastChangedValue.current ?? newValue);\n }\n };\n const createHandleHiddenInputKeyDown = otherHandlers => event => {\n if (['ArrowUp', 'ArrowDown', 'ArrowLeft', 'ArrowRight', 'PageUp', 'PageDown', 'Home', 'End'].includes(event.key)) {\n event.preventDefault();\n const index = Number(event.currentTarget.getAttribute('data-index'));\n const value = values[index];\n let newValue = null;\n // Keys actions that change the value by more than the most granular `step`\n // value are only applied if the step not `null`.\n // When step is `null`, the `marks` prop is used instead to define valid values.\n if (step != null) {\n const stepSize = event.shiftKey ? shiftStep : step;\n switch (event.key) {\n case 'ArrowUp':\n newValue = getNewValue(value, stepSize, 1, min, max);\n break;\n case 'ArrowRight':\n newValue = getNewValue(value, stepSize, isRtl ? -1 : 1, min, max);\n break;\n case 'ArrowDown':\n newValue = getNewValue(value, stepSize, -1, min, max);\n break;\n case 'ArrowLeft':\n newValue = getNewValue(value, stepSize, isRtl ? 1 : -1, min, max);\n break;\n case 'PageUp':\n newValue = getNewValue(value, shiftStep, 1, min, max);\n break;\n case 'PageDown':\n newValue = getNewValue(value, shiftStep, -1, min, max);\n break;\n case 'Home':\n newValue = min;\n break;\n case 'End':\n newValue = max;\n break;\n default:\n break;\n }\n } else if (marks) {\n const maxMarksValue = marksValues[marksValues.length - 1];\n const currentMarkIndex = marksValues.indexOf(value);\n const decrementKeys = [isRtl ? 'ArrowRight' : 'ArrowLeft', 'ArrowDown', 'PageDown', 'Home'];\n const incrementKeys = [isRtl ? 'ArrowLeft' : 'ArrowRight', 'ArrowUp', 'PageUp', 'End'];\n if (decrementKeys.includes(event.key)) {\n if (currentMarkIndex === 0) {\n newValue = marksValues[0];\n } else {\n newValue = marksValues[currentMarkIndex - 1];\n }\n } else if (incrementKeys.includes(event.key)) {\n if (currentMarkIndex === marksValues.length - 1) {\n newValue = maxMarksValue;\n } else {\n newValue = marksValues[currentMarkIndex + 1];\n }\n }\n }\n if (newValue != null) {\n changeValue(event, newValue);\n }\n }\n otherHandlers?.onKeyDown?.(event);\n };\n useEnhancedEffect(() => {\n if (disabled && sliderRef.current.contains(document.activeElement)) {\n // This is necessary because Firefox and Safari will keep focus\n // on a disabled element:\n // https://codesandbox.io/p/sandbox/mui-pr-22247-forked-h151h?file=/src/App.js\n // @ts-ignore\n document.activeElement?.blur();\n }\n }, [disabled]);\n if (disabled && active !== -1) {\n setActive(-1);\n }\n if (disabled && focusedThumbIndex !== -1) {\n setFocusedThumbIndex(-1);\n }\n const createHandleHiddenInputChange = otherHandlers => event => {\n otherHandlers.onChange?.(event);\n // this handles value change by Pointer or Touch events\n // @ts-ignore\n changeValue(event, event.target.valueAsNumber);\n };\n const previousIndex = React.useRef(undefined);\n let axis = orientation;\n if (isRtl && orientation === 'horizontal') {\n axis += '-reverse';\n }\n const getFingerNewValue = ({\n finger,\n move = false\n }) => {\n const {\n current: slider\n } = sliderRef;\n const {\n width,\n height,\n bottom,\n left\n } = slider.getBoundingClientRect();\n let percent;\n if (axis.startsWith('vertical')) {\n percent = (bottom - finger.y) / height;\n } else {\n percent = (finger.x - left) / width;\n }\n if (axis.includes('-reverse')) {\n percent = 1 - percent;\n }\n let newValue;\n newValue = percentToValue(percent, min, max);\n if (step) {\n newValue = roundValueToStep(newValue, step, min);\n } else {\n const closestIndex = findClosest(marksValues, newValue);\n newValue = marksValues[closestIndex];\n }\n newValue = clamp(newValue, min, max);\n let activeIndex = 0;\n if (range) {\n if (!move) {\n activeIndex = findClosest(values, newValue);\n } else {\n activeIndex = previousIndex.current;\n }\n\n // Bound the new value to the thumb's neighbours.\n if (disableSwap) {\n newValue = clamp(newValue, values[activeIndex - 1] || -Infinity, values[activeIndex + 1] || Infinity);\n }\n const previousValue = newValue;\n newValue = setValueIndex({\n values,\n newValue,\n index: activeIndex\n });\n\n // Potentially swap the index if needed.\n if (!(disableSwap && move)) {\n activeIndex = newValue.indexOf(previousValue);\n previousIndex.current = activeIndex;\n }\n }\n return {\n newValue,\n activeIndex\n };\n };\n const handleTouchMove = useEventCallback(nativeEvent => {\n const finger = trackFinger(nativeEvent, touchId);\n if (!finger) {\n return;\n }\n moveCount.current += 1;\n\n // Cancel move in case some other element consumed a mouseup event and it was not fired.\n // @ts-ignore buttons doesn't not exists on touch event\n if (nativeEvent.type === 'mousemove' && nativeEvent.buttons === 0) {\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n handleTouchEnd(nativeEvent);\n return;\n }\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger,\n move: true\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (!dragging && moveCount.current > INTENTIONAL_DRAG_COUNT_THRESHOLD) {\n setDragging(true);\n }\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(nativeEvent, newValue, activeIndex);\n }\n });\n const handleTouchEnd = useEventCallback(nativeEvent => {\n const finger = trackFinger(nativeEvent, touchId);\n setDragging(false);\n if (!finger) {\n return;\n }\n const {\n newValue\n } = getFingerNewValue({\n finger,\n move: true\n });\n setActive(-1);\n if (nativeEvent.type === 'touchend') {\n setOpen(-1);\n }\n if (onChangeCommitted) {\n onChangeCommitted(nativeEvent, lastChangedValue.current ?? newValue);\n }\n touchId.current = undefined;\n\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n stopListening();\n });\n const handleTouchStart = useEventCallback(nativeEvent => {\n if (disabled) {\n return;\n }\n // If touch-action: none; is not supported we need to prevent the scroll manually.\n if (!doesSupportTouchActionNone()) {\n nativeEvent.preventDefault();\n }\n const touch = nativeEvent.changedTouches[0];\n if (touch != null) {\n // A number that uniquely identifies the current finger in the touch session.\n touchId.current = touch.identifier;\n }\n const finger = trackFinger(nativeEvent, touchId);\n if (finger !== false) {\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(nativeEvent, newValue, activeIndex);\n }\n }\n moveCount.current = 0;\n const doc = ownerDocument(sliderRef.current);\n doc.addEventListener('touchmove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('touchend', handleTouchEnd, {\n passive: true\n });\n });\n const stopListening = React.useCallback(() => {\n const doc = ownerDocument(sliderRef.current);\n doc.removeEventListener('mousemove', handleTouchMove);\n doc.removeEventListener('mouseup', handleTouchEnd);\n doc.removeEventListener('touchmove', handleTouchMove);\n doc.removeEventListener('touchend', handleTouchEnd);\n }, [handleTouchEnd, handleTouchMove]);\n React.useEffect(() => {\n const {\n current: slider\n } = sliderRef;\n slider.addEventListener('touchstart', handleTouchStart, {\n passive: doesSupportTouchActionNone()\n });\n return () => {\n slider.removeEventListener('touchstart', handleTouchStart);\n stopListening();\n };\n }, [stopListening, handleTouchStart]);\n React.useEffect(() => {\n if (disabled) {\n stopListening();\n }\n }, [disabled, stopListening]);\n const createHandleMouseDown = otherHandlers => event => {\n otherHandlers.onMouseDown?.(event);\n if (disabled) {\n return;\n }\n if (event.defaultPrevented) {\n return;\n }\n\n // Only handle left clicks\n if (event.button !== 0) {\n return;\n }\n\n // Avoid text selection\n event.preventDefault();\n const finger = trackFinger(event, touchId);\n if (finger !== false) {\n const {\n newValue,\n activeIndex\n } = getFingerNewValue({\n finger\n });\n focusThumb({\n sliderRef,\n activeIndex,\n setActive\n });\n setValueState(newValue);\n if (handleChange && !areValuesEqual(newValue, valueDerived)) {\n handleChange(event, newValue, activeIndex);\n }\n }\n moveCount.current = 0;\n const doc = ownerDocument(sliderRef.current);\n doc.addEventListener('mousemove', handleTouchMove, {\n passive: true\n });\n doc.addEventListener('mouseup', handleTouchEnd);\n };\n const trackOffset = valueToPercent(range ? values[0] : min, min, max);\n const trackLeap = valueToPercent(values[values.length - 1], min, max) - trackOffset;\n const getRootProps = (externalProps = {}) => {\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onMouseDown: createHandleMouseDown(externalHandlers || {})\n };\n const mergedEventHandlers = {\n ...externalHandlers,\n ...ownEventHandlers\n };\n return {\n ...externalProps,\n ref: handleRef,\n ...mergedEventHandlers\n };\n };\n const createHandleMouseOver = otherHandlers => event => {\n otherHandlers.onMouseOver?.(event);\n const index = Number(event.currentTarget.getAttribute('data-index'));\n setOpen(index);\n };\n const createHandleMouseLeave = otherHandlers => event => {\n otherHandlers.onMouseLeave?.(event);\n setOpen(-1);\n };\n const getThumbProps = (externalProps = {}) => {\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onMouseOver: createHandleMouseOver(externalHandlers || {}),\n onMouseLeave: createHandleMouseLeave(externalHandlers || {})\n };\n return {\n ...externalProps,\n ...externalHandlers,\n ...ownEventHandlers\n };\n };\n const getThumbStyle = index => {\n return {\n // So the non active thumb doesn't show its label on hover.\n pointerEvents: active !== -1 && active !== index ? 'none' : undefined\n };\n };\n let cssWritingMode;\n if (orientation === 'vertical') {\n cssWritingMode = isRtl ? 'vertical-rl' : 'vertical-lr';\n }\n const getHiddenInputProps = (externalProps = {}) => {\n const externalHandlers = extractEventHandlers(externalProps);\n const ownEventHandlers = {\n onChange: createHandleHiddenInputChange(externalHandlers || {}),\n onFocus: createHandleHiddenInputFocus(externalHandlers || {}),\n onBlur: createHandleHiddenInputBlur(externalHandlers || {}),\n onKeyDown: createHandleHiddenInputKeyDown(externalHandlers || {})\n };\n const mergedEventHandlers = {\n ...externalHandlers,\n ...ownEventHandlers\n };\n return {\n tabIndex,\n 'aria-labelledby': ariaLabelledby,\n 'aria-orientation': orientation,\n 'aria-valuemax': scale(max),\n 'aria-valuemin': scale(min),\n name,\n type: 'range',\n min: parameters.min,\n max: parameters.max,\n step: parameters.step === null && parameters.marks ? 'any' : parameters.step ?? undefined,\n disabled,\n ...externalProps,\n ...mergedEventHandlers,\n style: {\n ...visuallyHidden,\n direction: isRtl ? 'rtl' : 'ltr',\n // So that VoiceOver's focus indicator matches the thumb's dimensions\n width: '100%',\n height: '100%',\n writingMode: cssWritingMode\n }\n };\n };\n return {\n active,\n axis: axis,\n axisProps,\n dragging,\n focusedThumbIndex,\n getHiddenInputProps,\n getRootProps,\n getThumbProps,\n marks: marks,\n open,\n range,\n rootRef: handleRef,\n trackLeap,\n trackOffset,\n values,\n getThumbStyle\n };\n}","import isHostComponent from \"./isHostComponent.js\";\nconst shouldSpreadAdditionalProps = Slot => {\n return !Slot || !isHostComponent(Slot);\n};\nexport default shouldSpreadAdditionalProps;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSliderUtilityClass(slot) {\n return generateUtilityClass('MuiSlider', slot);\n}\nconst sliderClasses = generateUtilityClasses('MuiSlider', ['root', 'active', 'colorPrimary', 'colorSecondary', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning', 'disabled', 'dragging', 'focusVisible', 'mark', 'markActive', 'marked', 'markLabel', 'markLabelActive', 'rail', 'sizeSmall', 'thumb', 'thumbColorPrimary', 'thumbColorSecondary', 'thumbColorError', 'thumbColorSuccess', 'thumbColorInfo', 'thumbColorWarning', 'track', 'trackInverted', 'trackFalse', 'thumbSizeSmall', 'valueLabel', 'valueLabelOpen', 'valueLabelCircle', 'valueLabelLabel', 'vertical']);\nexport default sliderClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport sliderClasses from \"./sliderClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useValueLabelClasses = props => {\n const {\n open\n } = props;\n const utilityClasses = {\n offset: clsx(open && sliderClasses.valueLabelOpen),\n circle: sliderClasses.valueLabelCircle,\n label: sliderClasses.valueLabelLabel\n };\n return utilityClasses;\n};\n\n/**\n * @ignore - internal component.\n */\nexport default function SliderValueLabel(props) {\n const {\n children,\n className,\n value\n } = props;\n const classes = useValueLabelClasses(props);\n if (!children) {\n return null;\n }\n return /*#__PURE__*/React.cloneElement(children, {\n className: clsx(children.props.className)\n }, /*#__PURE__*/_jsxs(React.Fragment, {\n children: [children.props.children, /*#__PURE__*/_jsx(\"span\", {\n className: clsx(classes.offset, className),\n \"aria-hidden\": true,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: classes.circle,\n children: /*#__PURE__*/_jsx(\"span\", {\n className: classes.label,\n children: value\n })\n })\n })]\n }));\n}\nprocess.env.NODE_ENV !== \"production\" ? SliderValueLabel.propTypes = {\n children: PropTypes.element.isRequired,\n className: PropTypes.string,\n value: PropTypes.node\n} : void 0;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, lighten, darken } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport useSlotProps from '@mui/utils/useSlotProps';\nimport { useSlider, valueToPercent } from \"./useSlider.js\";\nimport isHostComponent from \"../utils/isHostComponent.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport slotShouldForwardProp from \"../styles/slotShouldForwardProp.js\";\nimport shouldSpreadAdditionalProps from \"../utils/shouldSpreadAdditionalProps.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport BaseSliderValueLabel from \"./SliderValueLabel.js\";\nimport sliderClasses, { getSliderUtilityClass } from \"./sliderClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction Identity(x) {\n return x;\n}\nexport const SliderRoot = styled('span', {\n name: 'MuiSlider',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`color${capitalize(ownerState.color)}`], ownerState.size !== 'medium' && styles[`size${capitalize(ownerState.size)}`], ownerState.marked && styles.marked, ownerState.orientation === 'vertical' && styles.vertical, ownerState.track === 'inverted' && styles.trackInverted, ownerState.track === false && styles.trackFalse];\n }\n})(memoTheme(({\n theme\n}) => ({\n borderRadius: 12,\n boxSizing: 'content-box',\n display: 'inline-block',\n position: 'relative',\n cursor: 'pointer',\n touchAction: 'none',\n WebkitTapHighlightColor: 'transparent',\n '@media print': {\n colorAdjust: 'exact'\n },\n [`&.${sliderClasses.disabled}`]: {\n pointerEvents: 'none',\n cursor: 'default',\n color: (theme.vars || theme).palette.grey[400]\n },\n [`&.${sliderClasses.dragging}`]: {\n [`& .${sliderClasses.thumb}, & .${sliderClasses.track}`]: {\n transition: 'none'\n }\n },\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].main\n }\n })), {\n props: {\n orientation: 'horizontal'\n },\n style: {\n height: 4,\n width: '100%',\n padding: '13px 0',\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '20px 0'\n }\n }\n }, {\n props: {\n orientation: 'horizontal',\n size: 'small'\n },\n style: {\n height: 2\n }\n }, {\n props: {\n orientation: 'horizontal',\n marked: true\n },\n style: {\n marginBottom: 20\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n height: '100%',\n width: 4,\n padding: '0 13px',\n // The primary input mechanism of the device includes a pointing device of limited accuracy.\n '@media (pointer: coarse)': {\n // Reach 42px touch target, about ~8mm on screen.\n padding: '0 20px'\n }\n }\n }, {\n props: {\n orientation: 'vertical',\n size: 'small'\n },\n style: {\n width: 2\n }\n }, {\n props: {\n orientation: 'vertical',\n marked: true\n },\n style: {\n marginRight: 44\n }\n }]\n})));\nexport const SliderRail = styled('span', {\n name: 'MuiSlider',\n slot: 'Rail',\n overridesResolver: (props, styles) => styles.rail\n})({\n display: 'block',\n position: 'absolute',\n borderRadius: 'inherit',\n backgroundColor: 'currentColor',\n opacity: 0.38,\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n width: '100%',\n height: 'inherit',\n top: '50%',\n transform: 'translateY(-50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n height: '100%',\n width: 'inherit',\n left: '50%',\n transform: 'translateX(-50%)'\n }\n }, {\n props: {\n track: 'inverted'\n },\n style: {\n opacity: 1\n }\n }]\n});\nexport const SliderTrack = styled('span', {\n name: 'MuiSlider',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(memoTheme(({\n theme\n}) => {\n return {\n display: 'block',\n position: 'absolute',\n borderRadius: 'inherit',\n border: '1px solid currentColor',\n backgroundColor: 'currentColor',\n transition: theme.transitions.create(['left', 'width', 'bottom', 'height'], {\n duration: theme.transitions.duration.shortest\n }),\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n border: 'none'\n }\n }, {\n props: {\n orientation: 'horizontal'\n },\n style: {\n height: 'inherit',\n top: '50%',\n transform: 'translateY(-50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n width: 'inherit',\n left: '50%',\n transform: 'translateX(-50%)'\n }\n }, {\n props: {\n track: false\n },\n style: {\n display: 'none'\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color,\n track: 'inverted'\n },\n style: {\n ...(theme.vars ? {\n backgroundColor: theme.vars.palette.Slider[`${color}Track`],\n borderColor: theme.vars.palette.Slider[`${color}Track`]\n } : {\n backgroundColor: lighten(theme.palette[color].main, 0.62),\n borderColor: lighten(theme.palette[color].main, 0.62),\n ...theme.applyStyles('dark', {\n backgroundColor: darken(theme.palette[color].main, 0.5)\n }),\n ...theme.applyStyles('dark', {\n borderColor: darken(theme.palette[color].main, 0.5)\n })\n })\n }\n }))]\n };\n}));\nexport const SliderThumb = styled('span', {\n name: 'MuiSlider',\n slot: 'Thumb',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.thumb, styles[`thumbColor${capitalize(ownerState.color)}`], ownerState.size !== 'medium' && styles[`thumbSize${capitalize(ownerState.size)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n width: 20,\n height: 20,\n boxSizing: 'border-box',\n borderRadius: '50%',\n outline: 0,\n backgroundColor: 'currentColor',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n transition: theme.transitions.create(['box-shadow', 'left', 'bottom'], {\n duration: theme.transitions.duration.shortest\n }),\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: 'inherit',\n width: '100%',\n height: '100%',\n boxShadow: (theme.vars || theme).shadows[2]\n },\n '&::after': {\n position: 'absolute',\n content: '\"\"',\n borderRadius: '50%',\n // 42px is the hit target\n width: 42,\n height: 42,\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)'\n },\n [`&.${sliderClasses.disabled}`]: {\n '&:hover': {\n boxShadow: 'none'\n }\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n width: 12,\n height: 12,\n '&::before': {\n boxShadow: 'none'\n }\n }\n }, {\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: '50%',\n transform: 'translate(-50%, -50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%, 50%)'\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&:hover, &.${sliderClasses.focusVisible}`]: {\n ...(theme.vars ? {\n boxShadow: `0px 0px 0px 8px rgba(${theme.vars.palette[color].mainChannel} / 0.16)`\n } : {\n boxShadow: `0px 0px 0px 8px ${alpha(theme.palette[color].main, 0.16)}`\n }),\n '@media (hover: none)': {\n boxShadow: 'none'\n }\n },\n [`&.${sliderClasses.active}`]: {\n ...(theme.vars ? {\n boxShadow: `0px 0px 0px 14px rgba(${theme.vars.palette[color].mainChannel} / 0.16)`\n } : {\n boxShadow: `0px 0px 0px 14px ${alpha(theme.palette[color].main, 0.16)}`\n })\n }\n }\n }))]\n})));\nconst SliderValueLabel = styled(BaseSliderValueLabel, {\n name: 'MuiSlider',\n slot: 'ValueLabel',\n overridesResolver: (props, styles) => styles.valueLabel\n})(memoTheme(({\n theme\n}) => ({\n zIndex: 1,\n whiteSpace: 'nowrap',\n ...theme.typography.body2,\n fontWeight: 500,\n transition: theme.transitions.create(['transform'], {\n duration: theme.transitions.duration.shortest\n }),\n position: 'absolute',\n backgroundColor: (theme.vars || theme).palette.grey[600],\n borderRadius: 2,\n color: (theme.vars || theme).palette.common.white,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n padding: '0.25rem 0.75rem',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n transform: 'translateY(-100%) scale(0)',\n top: '-10px',\n transformOrigin: 'bottom center',\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n width: 8,\n height: 8,\n transform: 'translate(-50%, 50%) rotate(45deg)',\n backgroundColor: 'inherit',\n bottom: 0,\n left: '50%'\n },\n [`&.${sliderClasses.valueLabelOpen}`]: {\n transform: 'translateY(-100%) scale(1)'\n }\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n transform: 'translateY(-50%) scale(0)',\n right: '30px',\n top: '50%',\n transformOrigin: 'right center',\n '&::before': {\n position: 'absolute',\n content: '\"\"',\n width: 8,\n height: 8,\n transform: 'translate(-50%, -50%) rotate(45deg)',\n backgroundColor: 'inherit',\n right: -8,\n top: '50%'\n },\n [`&.${sliderClasses.valueLabelOpen}`]: {\n transform: 'translateY(-50%) scale(1)'\n }\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n fontSize: theme.typography.pxToRem(12),\n padding: '0.25rem 0.5rem'\n }\n }, {\n props: {\n orientation: 'vertical',\n size: 'small'\n },\n style: {\n right: '20px'\n }\n }]\n})));\nprocess.env.NODE_ENV !== \"production\" ? SliderValueLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.element.isRequired,\n /**\n * @ignore\n */\n index: PropTypes.number.isRequired,\n /**\n * @ignore\n */\n open: PropTypes.bool.isRequired,\n /**\n * @ignore\n */\n value: PropTypes.node\n} : void 0;\nexport { SliderValueLabel };\nexport const SliderMark = styled('span', {\n name: 'MuiSlider',\n slot: 'Mark',\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'markActive',\n overridesResolver: (props, styles) => {\n const {\n markActive\n } = props;\n return [styles.mark, markActive && styles.markActive];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n width: 2,\n height: 2,\n borderRadius: 1,\n backgroundColor: 'currentColor',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: '50%',\n transform: 'translate(-1px, -50%)'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: '50%',\n transform: 'translate(-50%, 1px)'\n }\n }, {\n props: {\n markActive: true\n },\n style: {\n backgroundColor: (theme.vars || theme).palette.background.paper,\n opacity: 0.8\n }\n }]\n})));\nexport const SliderMarkLabel = styled('span', {\n name: 'MuiSlider',\n slot: 'MarkLabel',\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'markLabelActive',\n overridesResolver: (props, styles) => styles.markLabel\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.body2,\n color: (theme.vars || theme).palette.text.secondary,\n position: 'absolute',\n whiteSpace: 'nowrap',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n top: 30,\n transform: 'translateX(-50%)',\n '@media (pointer: coarse)': {\n top: 40\n }\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n left: 36,\n transform: 'translateY(50%)',\n '@media (pointer: coarse)': {\n left: 44\n }\n }\n }, {\n props: {\n markLabelActive: true\n },\n style: {\n color: (theme.vars || theme).palette.text.primary\n }\n }]\n})));\nconst useUtilityClasses = ownerState => {\n const {\n disabled,\n dragging,\n marked,\n orientation,\n track,\n classes,\n color,\n size\n } = ownerState;\n const slots = {\n root: ['root', disabled && 'disabled', dragging && 'dragging', marked && 'marked', orientation === 'vertical' && 'vertical', track === 'inverted' && 'trackInverted', track === false && 'trackFalse', color && `color${capitalize(color)}`, size && `size${capitalize(size)}`],\n rail: ['rail'],\n track: ['track'],\n mark: ['mark'],\n markActive: ['markActive'],\n markLabel: ['markLabel'],\n markLabelActive: ['markLabelActive'],\n valueLabel: ['valueLabel'],\n thumb: ['thumb', disabled && 'disabled', size && `thumbSize${capitalize(size)}`, color && `thumbColor${capitalize(color)}`],\n active: ['active'],\n disabled: ['disabled'],\n focusVisible: ['focusVisible']\n };\n return composeClasses(slots, getSliderUtilityClass, classes);\n};\nconst Forward = ({\n children\n}) => children;\nconst Slider = /*#__PURE__*/React.forwardRef(function Slider(inputProps, ref) {\n const props = useDefaultProps({\n props: inputProps,\n name: 'MuiSlider'\n });\n const isRtl = useRtl();\n const {\n 'aria-label': ariaLabel,\n 'aria-valuetext': ariaValuetext,\n 'aria-labelledby': ariaLabelledby,\n // eslint-disable-next-line react/prop-types\n component = 'span',\n components = {},\n componentsProps = {},\n color = 'primary',\n classes: classesProp,\n className,\n disableSwap = false,\n disabled = false,\n getAriaLabel,\n getAriaValueText,\n marks: marksProp = false,\n max = 100,\n min = 0,\n name,\n onChange,\n onChangeCommitted,\n orientation = 'horizontal',\n shiftStep = 10,\n size = 'medium',\n step = 1,\n scale = Identity,\n slotProps,\n slots,\n tabIndex,\n track = 'normal',\n value: valueProp,\n valueLabelDisplay = 'off',\n valueLabelFormat = Identity,\n ...other\n } = props;\n const ownerState = {\n ...props,\n isRtl,\n max,\n min,\n classes: classesProp,\n disabled,\n disableSwap,\n orientation,\n marks: marksProp,\n color,\n size,\n step,\n shiftStep,\n scale,\n track,\n valueLabelDisplay,\n valueLabelFormat\n };\n const {\n axisProps,\n getRootProps,\n getHiddenInputProps,\n getThumbProps,\n open,\n active,\n axis,\n focusedThumbIndex,\n range,\n dragging,\n marks,\n values,\n trackOffset,\n trackLeap,\n getThumbStyle\n } = useSlider({\n ...ownerState,\n rootRef: ref\n });\n ownerState.marked = marks.length > 0 && marks.some(mark => mark.label);\n ownerState.dragging = dragging;\n ownerState.focusedThumbIndex = focusedThumbIndex;\n const classes = useUtilityClasses(ownerState);\n\n // support both `slots` and `components` for backward compatibility\n const RootSlot = slots?.root ?? components.Root ?? SliderRoot;\n const RailSlot = slots?.rail ?? components.Rail ?? SliderRail;\n const TrackSlot = slots?.track ?? components.Track ?? SliderTrack;\n const ThumbSlot = slots?.thumb ?? components.Thumb ?? SliderThumb;\n const ValueLabelSlot = slots?.valueLabel ?? components.ValueLabel ?? SliderValueLabel;\n const MarkSlot = slots?.mark ?? components.Mark ?? SliderMark;\n const MarkLabelSlot = slots?.markLabel ?? components.MarkLabel ?? SliderMarkLabel;\n const InputSlot = slots?.input ?? components.Input ?? 'input';\n const rootSlotProps = slotProps?.root ?? componentsProps.root;\n const railSlotProps = slotProps?.rail ?? componentsProps.rail;\n const trackSlotProps = slotProps?.track ?? componentsProps.track;\n const thumbSlotProps = slotProps?.thumb ?? componentsProps.thumb;\n const valueLabelSlotProps = slotProps?.valueLabel ?? componentsProps.valueLabel;\n const markSlotProps = slotProps?.mark ?? componentsProps.mark;\n const markLabelSlotProps = slotProps?.markLabel ?? componentsProps.markLabel;\n const inputSlotProps = slotProps?.input ?? componentsProps.input;\n const rootProps = useSlotProps({\n elementType: RootSlot,\n getSlotProps: getRootProps,\n externalSlotProps: rootSlotProps,\n externalForwardedProps: other,\n additionalProps: {\n ...(shouldSpreadAdditionalProps(RootSlot) && {\n as: component\n })\n },\n ownerState: {\n ...ownerState,\n ...rootSlotProps?.ownerState\n },\n className: [classes.root, className]\n });\n const railProps = useSlotProps({\n elementType: RailSlot,\n externalSlotProps: railSlotProps,\n ownerState,\n className: classes.rail\n });\n const trackProps = useSlotProps({\n elementType: TrackSlot,\n externalSlotProps: trackSlotProps,\n additionalProps: {\n style: {\n ...axisProps[axis].offset(trackOffset),\n ...axisProps[axis].leap(trackLeap)\n }\n },\n ownerState: {\n ...ownerState,\n ...trackSlotProps?.ownerState\n },\n className: classes.track\n });\n const thumbProps = useSlotProps({\n elementType: ThumbSlot,\n getSlotProps: getThumbProps,\n externalSlotProps: thumbSlotProps,\n ownerState: {\n ...ownerState,\n ...thumbSlotProps?.ownerState\n },\n className: classes.thumb\n });\n const valueLabelProps = useSlotProps({\n elementType: ValueLabelSlot,\n externalSlotProps: valueLabelSlotProps,\n ownerState: {\n ...ownerState,\n ...valueLabelSlotProps?.ownerState\n },\n className: classes.valueLabel\n });\n const markProps = useSlotProps({\n elementType: MarkSlot,\n externalSlotProps: markSlotProps,\n ownerState,\n className: classes.mark\n });\n const markLabelProps = useSlotProps({\n elementType: MarkLabelSlot,\n externalSlotProps: markLabelSlotProps,\n ownerState,\n className: classes.markLabel\n });\n const inputSliderProps = useSlotProps({\n elementType: InputSlot,\n getSlotProps: getHiddenInputProps,\n externalSlotProps: inputSlotProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [/*#__PURE__*/_jsx(RailSlot, {\n ...railProps\n }), /*#__PURE__*/_jsx(TrackSlot, {\n ...trackProps\n }), marks.filter(mark => mark.value >= min && mark.value <= max).map((mark, index) => {\n const percent = valueToPercent(mark.value, min, max);\n const style = axisProps[axis].offset(percent);\n let markActive;\n if (track === false) {\n markActive = values.includes(mark.value);\n } else {\n markActive = track === 'normal' && (range ? mark.value >= values[0] && mark.value <= values[values.length - 1] : mark.value <= values[0]) || track === 'inverted' && (range ? mark.value <= values[0] || mark.value >= values[values.length - 1] : mark.value >= values[0]);\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(MarkSlot, {\n \"data-index\": index,\n ...markProps,\n ...(!isHostComponent(MarkSlot) && {\n markActive\n }),\n style: {\n ...style,\n ...markProps.style\n },\n className: clsx(markProps.className, markActive && classes.markActive)\n }), mark.label != null ? /*#__PURE__*/_jsx(MarkLabelSlot, {\n \"aria-hidden\": true,\n \"data-index\": index,\n ...markLabelProps,\n ...(!isHostComponent(MarkLabelSlot) && {\n markLabelActive: markActive\n }),\n style: {\n ...style,\n ...markLabelProps.style\n },\n className: clsx(classes.markLabel, markLabelProps.className, markActive && classes.markLabelActive),\n children: mark.label\n }) : null]\n }, index);\n }), values.map((value, index) => {\n const percent = valueToPercent(value, min, max);\n const style = axisProps[axis].offset(percent);\n const ValueLabelComponent = valueLabelDisplay === 'off' ? Forward : ValueLabelSlot;\n return /*#__PURE__*/ /* TODO v6: Change component structure. It will help in avoiding the complicated React.cloneElement API added in SliderValueLabel component. Should be: Thumb -> Input, ValueLabel. Follow Joy UI's Slider structure. */_jsx(ValueLabelComponent, {\n ...(!isHostComponent(ValueLabelComponent) && {\n valueLabelFormat,\n valueLabelDisplay,\n value: typeof valueLabelFormat === 'function' ? valueLabelFormat(scale(value), index) : valueLabelFormat,\n index,\n open: open === index || active === index || valueLabelDisplay === 'on',\n disabled\n }),\n ...valueLabelProps,\n children: /*#__PURE__*/_jsx(ThumbSlot, {\n \"data-index\": index,\n ...thumbProps,\n className: clsx(classes.thumb, thumbProps.className, active === index && classes.active, focusedThumbIndex === index && classes.focusVisible),\n style: {\n ...style,\n ...getThumbStyle(index),\n ...thumbProps.style\n },\n children: /*#__PURE__*/_jsx(InputSlot, {\n \"data-index\": index,\n \"aria-label\": getAriaLabel ? getAriaLabel(index) : ariaLabel,\n \"aria-valuenow\": scale(value),\n \"aria-labelledby\": ariaLabelledby,\n \"aria-valuetext\": getAriaValueText ? getAriaValueText(scale(value), index) : ariaValuetext,\n value: values[index],\n ...inputSliderProps\n })\n })\n }, index);\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Slider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The label of the slider.\n */\n 'aria-label': chainPropTypes(PropTypes.string, props => {\n const range = Array.isArray(props.value || props.defaultValue);\n if (range && props['aria-label'] != null) {\n return new Error('MUI: You need to use the `getAriaLabel` prop instead of `aria-label` when using a range slider.');\n }\n return null;\n }),\n /**\n * The id of the element containing a label for the slider.\n */\n 'aria-labelledby': PropTypes.string,\n /**\n * A string value that provides a user-friendly name for the current value of the slider.\n */\n 'aria-valuetext': chainPropTypes(PropTypes.string, props => {\n const range = Array.isArray(props.value || props.defaultValue);\n if (range && props['aria-valuetext'] != null) {\n return new Error('MUI: You need to use the `getAriaValueText` prop instead of `aria-valuetext` when using a range slider.');\n }\n return null;\n }),\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` 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.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Input: PropTypes.elementType,\n Mark: PropTypes.elementType,\n MarkLabel: PropTypes.elementType,\n Rail: PropTypes.elementType,\n Root: PropTypes.elementType,\n Thumb: PropTypes.elementType,\n Track: PropTypes.elementType,\n ValueLabel: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @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.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n mark: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n markLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n rail: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n valueLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n children: PropTypes.element,\n className: PropTypes.string,\n open: PropTypes.bool,\n style: PropTypes.object,\n value: PropTypes.node,\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])\n })])\n }),\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number]),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the active thumb doesn't swap when moving pointer over a thumb while dragging another thumb.\n * @default false\n */\n disableSwap: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the thumb labels of the slider.\n * This is important for screen reader users.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaLabel: PropTypes.func,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the slider.\n * This is important for screen reader users.\n * @param {number} value The thumb label's value to format.\n * @param {number} index The thumb label's index to format.\n * @returns {string}\n */\n getAriaValueText: PropTypes.func,\n /**\n * Marks indicate predetermined values to which the user can move the slider.\n * If `true` the marks are spaced according the value of the `step` prop.\n * If an array, it should contain objects with `value` and an optional `label` keys.\n * @default false\n */\n marks: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.shape({\n label: PropTypes.node,\n value: PropTypes.number.isRequired\n })), PropTypes.bool]),\n /**\n * The maximum allowed value of the slider.\n * Should not be equal to min.\n * @default 100\n */\n max: PropTypes.number,\n /**\n * The minimum allowed value of the slider.\n * Should not be equal to max.\n * @default 0\n */\n min: PropTypes.number,\n /**\n * Name attribute of the hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback function that is fired when the slider's value changed.\n *\n * @param {Event} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (any).\n * **Warning**: This is a generic event not a change event.\n * @param {number | number[]} value The new value.\n * @param {number} activeThumb Index of the currently moved thumb.\n */\n onChange: PropTypes.func,\n /**\n * Callback function that is fired when the `mouseup` is triggered.\n *\n * @param {React.SyntheticEvent | Event} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {number | number[]} value The new value.\n */\n onChangeCommitted: PropTypes.func,\n /**\n * The component orientation.\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * A transformation function, to change the scale of the slider.\n * @param {any} x\n * @returns {any}\n * @default function Identity(x) {\n * return x;\n * }\n */\n scale: PropTypes.func,\n /**\n * The granularity with which the slider can step through values when using Page Up/Page Down or Shift + Arrow Up/Arrow Down.\n * @default 10\n */\n shiftStep: PropTypes.number,\n /**\n * The size of the slider.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside the Slider.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n mark: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n markLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n rail: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n valueLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n children: PropTypes.element,\n className: PropTypes.string,\n open: PropTypes.bool,\n style: PropTypes.object,\n value: PropTypes.node,\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on'])\n })])\n }),\n /**\n * The components used for each slot inside the Slider.\n * Either a string to use a HTML element or a component.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n mark: PropTypes.elementType,\n markLabel: PropTypes.elementType,\n rail: PropTypes.elementType,\n root: PropTypes.elementType,\n thumb: PropTypes.elementType,\n track: PropTypes.elementType,\n valueLabel: PropTypes.elementType\n }),\n /**\n * The granularity with which the slider can step through values. (A \"discrete\" slider.)\n * The `min` prop serves as the origin for the valid values.\n * We recommend (max - min) to be evenly divisible by the step.\n *\n * When step is `null`, the thumb can only be slid onto marks provided with the `marks` prop.\n * @default 1\n */\n step: PropTypes.number,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Tab index attribute of the hidden `input` element.\n */\n tabIndex: PropTypes.number,\n /**\n * The track presentation:\n *\n * - `normal` the track will render a bar representing the slider value.\n * - `inverted` the track will render a bar representing the remaining slider value.\n * - `false` the track will render without a bar.\n * @default 'normal'\n */\n track: PropTypes.oneOf(['inverted', 'normal', false]),\n /**\n * The value of the slider.\n * For ranged sliders, provide an array with two values.\n */\n value: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.number), PropTypes.number]),\n /**\n * Controls when the value label is displayed:\n *\n * - `auto` the value label will display when the thumb is hovered or focused.\n * - `on` will display persistently.\n * - `off` will never display.\n * @default 'off'\n */\n valueLabelDisplay: PropTypes.oneOf(['auto', 'off', 'on']),\n /**\n * The format function the value label's value.\n *\n * When a function is provided, it should have the following signature:\n *\n * - {number} value The value label's value to format\n * - {number} index The value label's index to format\n * @param {any} x\n * @returns {any}\n * @default function Identity(x) {\n * return x;\n * }\n */\n valueLabelFormat: PropTypes.oneOfType([PropTypes.func, PropTypes.string])\n} : void 0;\nexport default Slider;","/**\n * Slider Component\n *\n * Slider component for the MRS Design System.\n * Wraps Material-UI Slider with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6562-39045&m=dev\n * @see {@link https://mui.com/material-ui/react-slider/}\n */\n\nimport React from 'react';\nimport MuiSlider from '@mui/material/Slider';\nimport type { SliderProps } from './Slider.types';\n\n/**\n * Slider component\n *\n * Sliders allow users to make selections from a range of values.\n * Sliders reflect a range of values along a bar, from which users may select a single value.\n * They are ideal for adjusting settings such as volume, brightness, or applying image filters.\n *\n * @param props - Slider component props\n * @returns Slider component\n */\nexport const Slider = React.forwardRef<HTMLSpanElement, SliderProps>(\n (\n {\n size = 'medium',\n color = 'primary',\n orientation = 'horizontal',\n disabled = false,\n marks = false,\n step = 1,\n min = 0,\n max = 100,\n valueLabelDisplay = 'off',\n track = 'normal',\n disableSwap = false,\n value,\n defaultValue,\n onChange,\n onChangeCommitted,\n valueLabelFormat,\n scale,\n getAriaValueText,\n name,\n id,\n component,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiSlider\n ref={ref}\n size={size}\n color={color}\n orientation={orientation}\n disabled={disabled}\n marks={marks}\n step={step}\n min={min}\n max={max}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n onChangeCommitted={onChangeCommitted}\n valueLabelDisplay={valueLabelDisplay}\n valueLabelFormat={valueLabelFormat}\n track={track}\n disableSwap={disableSwap}\n scale={scale}\n getAriaValueText={getAriaValueText}\n name={name}\n id={id}\n {...(component && { component })}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nSlider.displayName = 'Slider';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSwitchUtilityClass(slot) {\n return generateUtilityClass('MuiSwitch', slot);\n}\nconst switchClasses = generateUtilityClasses('MuiSwitch', ['root', 'edgeStart', 'edgeEnd', 'switchBase', 'colorPrimary', 'colorSecondary', 'sizeSmall', 'sizeMedium', 'checked', 'disabled', 'input', 'thumb', 'track']);\nexport default switchClasses;","'use client';\n\n// @inheritedComponent IconButton\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha, darken, lighten } from '@mui/system/colorManipulator';\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport SwitchBase from \"../internal/SwitchBase.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport switchClasses, { getSwitchUtilityClass } from \"./switchClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n edge,\n size,\n color,\n checked,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', edge && `edge${capitalize(edge)}`, `size${capitalize(size)}`],\n switchBase: ['switchBase', `color${capitalize(color)}`, checked && 'checked', disabled && 'disabled'],\n thumb: ['thumb'],\n track: ['track'],\n input: ['input']\n };\n const composedClasses = composeClasses(slots, getSwitchUtilityClass, classes);\n return {\n ...classes,\n // forward the disabled and checked classes to the SwitchBase\n ...composedClasses\n };\n};\nconst SwitchRoot = styled('span', {\n name: 'MuiSwitch',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.edge && styles[`edge${capitalize(ownerState.edge)}`], styles[`size${capitalize(ownerState.size)}`]];\n }\n})({\n display: 'inline-flex',\n width: 34 + 12 * 2,\n height: 14 + 12 * 2,\n overflow: 'hidden',\n padding: 12,\n boxSizing: 'border-box',\n position: 'relative',\n flexShrink: 0,\n zIndex: 0,\n // Reset the stacking context.\n verticalAlign: 'middle',\n // For correct alignment with the text.\n '@media print': {\n colorAdjust: 'exact'\n },\n variants: [{\n props: {\n edge: 'start'\n },\n style: {\n marginLeft: -8\n }\n }, {\n props: {\n edge: 'end'\n },\n style: {\n marginRight: -8\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n width: 40,\n height: 24,\n padding: 7,\n [`& .${switchClasses.thumb}`]: {\n width: 16,\n height: 16\n },\n [`& .${switchClasses.switchBase}`]: {\n padding: 4,\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(16px)'\n }\n }\n }\n }]\n});\nconst SwitchSwitchBase = styled(SwitchBase, {\n name: 'MuiSwitch',\n slot: 'SwitchBase',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.switchBase, {\n [`& .${switchClasses.input}`]: styles.input\n }, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n top: 0,\n left: 0,\n zIndex: 1,\n // Render above the focus ripple.\n color: theme.vars ? theme.vars.palette.Switch.defaultColor : `${theme.palette.mode === 'light' ? theme.palette.common.white : theme.palette.grey[300]}`,\n transition: theme.transitions.create(['left', 'transform'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${switchClasses.checked}`]: {\n transform: 'translateX(20px)'\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch.defaultDisabledColor : `${theme.palette.mode === 'light' ? theme.palette.grey[100] : theme.palette.grey[600]}`\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n opacity: 0.5\n },\n [`&.${switchClasses.disabled} + .${switchClasses.track}`]: {\n opacity: theme.vars ? theme.vars.opacity.switchTrackDisabled : `${theme.palette.mode === 'light' ? 0.12 : 0.2}`\n },\n [`& .${switchClasses.input}`]: {\n left: '-100%',\n width: '300%'\n }\n})), memoTheme(({\n theme\n}) => ({\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.activeChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette.action.active, theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n [`&.${switchClasses.checked}`]: {\n color: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.hoverOpacity})` : alpha(theme.palette[color].main, theme.palette.action.hoverOpacity),\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${switchClasses.disabled}`]: {\n color: theme.vars ? theme.vars.palette.Switch[`${color}DisabledColor`] : `${theme.palette.mode === 'light' ? lighten(theme.palette[color].main, 0.62) : darken(theme.palette[color].main, 0.55)}`\n }\n },\n [`&.${switchClasses.checked} + .${switchClasses.track}`]: {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n }\n }))]\n})));\nconst SwitchTrack = styled('span', {\n name: 'MuiSwitch',\n slot: 'Track',\n overridesResolver: (props, styles) => styles.track\n})(memoTheme(({\n theme\n}) => ({\n height: '100%',\n width: '100%',\n borderRadius: 14 / 2,\n zIndex: -1,\n transition: theme.transitions.create(['opacity', 'background-color'], {\n duration: theme.transitions.duration.shortest\n }),\n backgroundColor: theme.vars ? theme.vars.palette.common.onBackground : `${theme.palette.mode === 'light' ? theme.palette.common.black : theme.palette.common.white}`,\n opacity: theme.vars ? theme.vars.opacity.switchTrack : `${theme.palette.mode === 'light' ? 0.38 : 0.3}`\n})));\nconst SwitchThumb = styled('span', {\n name: 'MuiSwitch',\n slot: 'Thumb',\n overridesResolver: (props, styles) => styles.thumb\n})(memoTheme(({\n theme\n}) => ({\n boxShadow: (theme.vars || theme).shadows[1],\n backgroundColor: 'currentColor',\n width: 20,\n height: 20,\n borderRadius: '50%'\n})));\nconst Switch = /*#__PURE__*/React.forwardRef(function Switch(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSwitch'\n });\n const {\n className,\n color = 'primary',\n edge = false,\n size = 'medium',\n sx,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n edge,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n className: clsx(classes.root, className),\n elementType: SwitchRoot,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n sx\n }\n });\n const [ThumbSlot, thumbSlotProps] = useSlot('thumb', {\n className: classes.thumb,\n elementType: SwitchThumb,\n externalForwardedProps,\n ownerState\n });\n const icon = /*#__PURE__*/_jsx(ThumbSlot, {\n ...thumbSlotProps\n });\n const [TrackSlot, trackSlotProps] = useSlot('track', {\n className: classes.track,\n elementType: SwitchTrack,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [/*#__PURE__*/_jsx(SwitchSwitchBase, {\n type: \"checkbox\",\n icon: icon,\n checkedIcon: icon,\n ref: ref,\n ownerState: ownerState,\n ...other,\n classes: {\n ...classes,\n root: classes.switchBase\n },\n slots: {\n ...(slots.switchBase && {\n root: slots.switchBase\n }),\n ...(slots.input && {\n input: slots.input\n })\n },\n slotProps: {\n ...(slotProps.switchBase && {\n root: typeof slotProps.switchBase === 'function' ? slotProps.switchBase(ownerState) : slotProps.switchBase\n }),\n ...(slotProps.input && {\n input: typeof slotProps.input === 'function' ? slotProps.input(ownerState) : slotProps.input\n })\n }\n }), /*#__PURE__*/_jsx(TrackSlot, {\n ...trackSlotProps\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Switch.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the component is checked.\n */\n checked: PropTypes.bool,\n /**\n * The icon to display when the component is checked.\n */\n checkedIcon: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The default checked state. Use when the component is not controlled.\n */\n defaultChecked: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If given, uses a negative margin to counteract the padding on one\n * side (this is often helpful for aligning the left or right\n * side of the icon with content above or below, without ruining the border\n * size and shape).\n * @default false\n */\n edge: PropTypes.oneOf(['end', 'start', false]),\n /**\n * The icon to display when the component is unchecked.\n */\n icon: PropTypes.node,\n /**\n * The id of the `input` element.\n */\n id: PropTypes.string,\n /**\n * [Attributes](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#Attributes) applied to the `input` element.\n * @deprecated Use `slotProps.input` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputProps: PropTypes.object,\n /**\n * Pass a ref to the `input` element.\n * @deprecated Use `slotProps.input.ref` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n inputRef: refType,\n /**\n * Callback fired when the state is changed.\n *\n * @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n * You can pull out the new checked state by accessing `event.target.checked` (boolean).\n */\n onChange: PropTypes.func,\n /**\n * If `true`, the `input` element is required.\n * @default false\n */\n required: PropTypes.bool,\n /**\n * The size of the component.\n * `small` is equivalent to the dense switch styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['medium', 'small']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n input: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n switchBase: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n thumb: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n track: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n input: PropTypes.elementType,\n root: PropTypes.elementType,\n switchBase: PropTypes.elementType,\n thumb: PropTypes.elementType,\n track: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the component. The DOM API casts this to a string.\n * The browser uses \"on\" as the default value.\n */\n value: PropTypes.any\n} : void 0;\nexport default Switch;","/**\n * Switch Component\n *\n * Switch component for the MRS Design System.\n * Wraps Material-UI Switch with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6564-39128&m=dev\n * @see {@link https://mui.com/material-ui/react-switch/}\n */\n\nimport React from 'react';\nimport MuiSwitch from '@mui/material/Switch';\nimport type { SwitchProps } from './Switch.types';\n\n/**\n * Switch component\n *\n * Switches toggle the state of a single setting on or off.\n *\n * @param props - Switch component props\n * @returns Switch component\n */\n// MUI Switch internally renders button element for accessibility\nexport const Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n checked,\n color = 'primary',\n size = 'medium',\n disabled = false,\n disableRipple = false,\n id,\n inputProps,\n inputRef,\n onChange,\n required = false,\n value,\n sx,\n edge,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiSwitch\n ref={ref}\n checked={checked}\n color={color}\n size={size}\n disabled={disabled}\n disableRipple={disableRipple}\n id={id}\n inputProps={inputProps}\n inputRef={inputRef}\n onChange={onChange}\n required={required}\n value={value}\n sx={sx}\n edge={edge}\n {...restProps}\n />\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n","/**\n * TextField Component\n *\n * Text input component for the MRS Design System.\n * Wraps Material-UI TextField with custom theme tokens.\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=6570-48313&m=dev\n * @see {@link https://mui.com/material-ui/react-text-field/}\n */\n\nimport React from 'react';\nimport MuiTextField from '@mui/material/TextField';\nimport type { Theme } from '@mui/material/styles';\nimport type { TextFieldProps } from './TextField.types';\n\n/**\n * TextField component\n *\n * Text fields let users enter and edit text.\n * Supports multiple variants (outlined, filled, standard),\n * sizes (small, medium), and states (error, disabled, etc.).\n *\n * @param props - TextField component props\n * @returns TextField component\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TextField label=\"Email\" placeholder=\"Enter your email\" />\n *\n * // With helper text and error\n * <TextField\n * label=\"Password\"\n * type=\"password\"\n * error\n * helperText=\"Password is required\"\n * />\n *\n * // Multiline\n * <TextField\n * label=\"Description\"\n * multiline\n * rows={4}\n * placeholder=\"Enter description\"\n * />\n * ```\n */\nexport const TextField = React.forwardRef<HTMLDivElement, TextFieldProps>(\n (\n { variant = 'outlined', color = 'primary', size = 'medium', fullWidth = false, sx, ...props },\n ref\n ) => {\n return (\n <MuiTextField\n ref={ref}\n variant={variant}\n color={color}\n size={size}\n fullWidth={fullWidth}\n sx={{\n // Custom styling can be added here if needed\n // Font family is inherited from theme\n '& .MuiInputBase-root': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n },\n '& .MuiInputLabel-root': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontWeight: (theme: Theme) => theme.typography.fontWeightRegular,\n },\n '& .MuiFormHelperText-root': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontSize: (theme: Theme) => theme.typography.caption.fontSize,\n },\n // Outlined variant specific styles\n ...(variant === 'outlined' && {\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: (theme: Theme) =>\n theme.palette._components?.input?.outlined?.enabledBorder ||\n theme.palette.divider,\n },\n '&:hover fieldset': {\n borderColor: (theme: Theme) => theme.palette.text.primary,\n },\n '&.Mui-focused fieldset': {\n borderWidth: 2,\n },\n },\n }),\n // Filled variant specific styles\n ...(variant === 'filled' && {\n '& .MuiFilledInput-root': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n '&:hover': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.09)',\n },\n '&.Mui-focused': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n },\n },\n }),\n // Standard variant specific styles\n ...(variant === 'standard' && {\n '& .MuiInput-root': {\n '&:before': {\n borderBottomColor: (theme: Theme) =>\n theme.palette._components?.input?.standard?.enabledBorder ||\n theme.palette.divider,\n },\n '&:hover:not(.Mui-disabled):before': {\n borderBottomColor: (theme: Theme) => theme.palette.text.primary,\n },\n },\n }),\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nTextField.displayName = 'TextField';\n\nexport default TextField;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getToolbarUtilityClass(slot) {\n return generateUtilityClass('MuiToolbar', slot);\n}\nconst toolbarClasses = generateUtilityClasses('MuiToolbar', ['root', 'gutters', 'regular', 'dense']);\nexport default toolbarClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getToolbarUtilityClass } from \"./toolbarClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableGutters,\n variant\n } = ownerState;\n const slots = {\n root: ['root', !disableGutters && 'gutters', variant]\n };\n return composeClasses(slots, getToolbarUtilityClass, classes);\n};\nconst ToolbarRoot = styled('div', {\n name: 'MuiToolbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableGutters && styles.gutters, styles[ownerState.variant]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableGutters,\n style: {\n paddingLeft: theme.spacing(2),\n paddingRight: theme.spacing(2),\n [theme.breakpoints.up('sm')]: {\n paddingLeft: theme.spacing(3),\n paddingRight: theme.spacing(3)\n }\n }\n }, {\n props: {\n variant: 'dense'\n },\n style: {\n minHeight: 48\n }\n }, {\n props: {\n variant: 'regular'\n },\n style: theme.mixins.toolbar\n }]\n})));\nconst Toolbar = /*#__PURE__*/React.forwardRef(function Toolbar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiToolbar'\n });\n const {\n className,\n component = 'div',\n disableGutters = false,\n variant = 'regular',\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n disableGutters,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ToolbarRoot, {\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Toolbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The Toolbar children, usually a mixture of `IconButton`, `Button` and `Typography`.\n * The Toolbar is a flex container, allowing flex item properties to be used to lay out the children.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, disables gutter padding.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'regular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['dense', 'regular']), PropTypes.string])\n} : void 0;\nexport default Toolbar;","/**\n * Toolbar Component\n *\n * A container component that provides layout for AppBar content.\n * Wraps Material-UI Toolbar with MRS Design System theming.\n *\n * @example\n * ```tsx\n * import { AppBar, Toolbar, Typography, IconButton } from '@atipicus/mrs-ui';\n * import MenuIcon from '@mui/icons-material/Menu';\n *\n * function MyToolbar() {\n * return (\n * <AppBar>\n * <Toolbar>\n * <IconButton edge=\"start\" color=\"inherit\">\n * <MenuIcon />\n * </IconButton>\n * <Typography variant=\"h6\">\n * My App\n * </Typography>\n * </Toolbar>\n * </AppBar>\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/api/toolbar/}\n */\n\nimport React from 'react';\nimport MuiToolbar from '@mui/material/Toolbar';\nimport type { ToolbarProps } from './Toolbar.types';\n\n/**\n * Toolbar component\n *\n * Container for AppBar content with flex layout and vertical centering.\n * Provides regular (56px) and dense (48px) height variants.\n *\n * @param props - Toolbar component props\n * @returns Toolbar component\n */\nexport const Toolbar = React.forwardRef<HTMLDivElement, ToolbarProps>(\n ({ children, variant = 'regular', disableGutters = false, sx, ...props }, ref) => {\n return (\n <MuiToolbar ref={ref} variant={variant} disableGutters={disableGutters} sx={sx} {...props}>\n {children}\n </MuiToolbar>\n );\n }\n);\n\nToolbar.displayName = 'Toolbar';\n\nexport default Toolbar;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getTooltipUtilityClass(slot) {\n return generateUtilityClass('MuiTooltip', slot);\n}\nconst tooltipClasses = generateUtilityClasses('MuiTooltip', ['popper', 'popperInteractive', 'popperArrow', 'popperClose', 'tooltip', 'tooltipArrow', 'touch', 'tooltipPlacementLeft', 'tooltipPlacementRight', 'tooltipPlacementTop', 'tooltipPlacementBottom', 'arrow']);\nexport default tooltipClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport useTimeout, { Timeout } from '@mui/utils/useTimeout';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport Grow from \"../Grow/index.js\";\nimport Popper from \"../Popper/index.js\";\nimport useEventCallback from \"../utils/useEventCallback.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useId from \"../utils/useId.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport tooltipClasses, { getTooltipUtilityClass } from \"./tooltipClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nfunction round(value) {\n return Math.round(value * 1e5) / 1e5;\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableInteractive,\n arrow,\n touch,\n placement\n } = ownerState;\n const slots = {\n popper: ['popper', !disableInteractive && 'popperInteractive', arrow && 'popperArrow'],\n tooltip: ['tooltip', arrow && 'tooltipArrow', touch && 'touch', `tooltipPlacement${capitalize(placement.split('-')[0])}`],\n arrow: ['arrow']\n };\n return composeClasses(slots, getTooltipUtilityClass, classes);\n};\nconst TooltipPopper = styled(Popper, {\n name: 'MuiTooltip',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popper, !ownerState.disableInteractive && styles.popperInteractive, ownerState.arrow && styles.popperArrow, !ownerState.open && styles.popperClose];\n }\n})(memoTheme(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.tooltip,\n pointerEvents: 'none',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.disableInteractive,\n style: {\n pointerEvents: 'auto'\n }\n }, {\n props: ({\n open\n }) => !open,\n style: {\n pointerEvents: 'none'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow,\n style: {\n [`&[data-popper-placement*=\"bottom\"] .${tooltipClasses.arrow}`]: {\n top: 0,\n marginTop: '-0.71em',\n '&::before': {\n transformOrigin: '0 100%'\n }\n },\n [`&[data-popper-placement*=\"top\"] .${tooltipClasses.arrow}`]: {\n bottom: 0,\n marginBottom: '-0.71em',\n '&::before': {\n transformOrigin: '100% 0'\n }\n },\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '100% 100%'\n }\n },\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n height: '1em',\n width: '0.71em',\n '&::before': {\n transformOrigin: '0 0'\n }\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n left: 0,\n marginLeft: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !!ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"right\"] .${tooltipClasses.arrow}`]: {\n right: 0,\n marginRight: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n right: 0,\n marginRight: '-0.71em'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.arrow && !!ownerState.isRtl,\n style: {\n [`&[data-popper-placement*=\"left\"] .${tooltipClasses.arrow}`]: {\n left: 0,\n marginLeft: '-0.71em'\n }\n }\n }]\n})));\nconst TooltipTooltip = styled('div', {\n name: 'MuiTooltip',\n slot: 'Tooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.tooltip, ownerState.touch && styles.touch, ownerState.arrow && styles.tooltipArrow, styles[`tooltipPlacement${capitalize(ownerState.placement.split('-')[0])}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n backgroundColor: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.92),\n borderRadius: (theme.vars || theme).shape.borderRadius,\n color: (theme.vars || theme).palette.common.white,\n fontFamily: theme.typography.fontFamily,\n padding: '4px 8px',\n fontSize: theme.typography.pxToRem(11),\n maxWidth: 300,\n margin: 2,\n wordWrap: 'break-word',\n fontWeight: theme.typography.fontWeightMedium,\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n transformOrigin: 'right center'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n transformOrigin: 'left center'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: {\n transformOrigin: 'center bottom',\n marginBottom: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: {\n transformOrigin: 'center top',\n marginTop: '14px'\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.arrow,\n style: {\n position: 'relative',\n margin: 0\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n padding: '8px 16px',\n fontSize: theme.typography.pxToRem(14),\n lineHeight: `${round(16 / 14)}em`,\n fontWeight: theme.typography.fontWeightRegular\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.isRtl,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginRight: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginLeft: '14px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.isRtl && ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginRight: '24px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginLeft: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.isRtl,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginLeft: '14px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginRight: '14px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => !!ownerState.isRtl && ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"left\"] &`]: {\n marginLeft: '24px'\n },\n [`.${tooltipClasses.popper}[data-popper-placement*=\"right\"] &`]: {\n marginRight: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"top\"] &`]: {\n marginBottom: '24px'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.touch,\n style: {\n [`.${tooltipClasses.popper}[data-popper-placement*=\"bottom\"] &`]: {\n marginTop: '24px'\n }\n }\n }]\n})));\nconst TooltipArrow = styled('span', {\n name: 'MuiTooltip',\n slot: 'Arrow',\n overridesResolver: (props, styles) => styles.arrow\n})(memoTheme(({\n theme\n}) => ({\n overflow: 'hidden',\n position: 'absolute',\n width: '1em',\n height: '0.71em' /* = width / sqrt(2) = (length of the hypotenuse) */,\n boxSizing: 'border-box',\n color: theme.vars ? theme.vars.palette.Tooltip.bg : alpha(theme.palette.grey[700], 0.9),\n '&::before': {\n content: '\"\"',\n margin: 'auto',\n display: 'block',\n width: '100%',\n height: '100%',\n backgroundColor: 'currentColor',\n transform: 'rotate(45deg)'\n }\n})));\nlet hystersisOpen = false;\nconst hystersisTimer = new Timeout();\nlet cursorPosition = {\n x: 0,\n y: 0\n};\nexport function testReset() {\n hystersisOpen = false;\n hystersisTimer.clear();\n}\nfunction composeEventHandler(handler, eventHandler) {\n return (event, ...params) => {\n if (eventHandler) {\n eventHandler(event, ...params);\n }\n handler(event, ...params);\n };\n}\n\n// TODO v6: Remove PopperComponent, PopperProps, TransitionComponent and TransitionProps.\nconst Tooltip = /*#__PURE__*/React.forwardRef(function Tooltip(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiTooltip'\n });\n const {\n arrow = false,\n children: childrenProp,\n classes: classesProp,\n components = {},\n componentsProps = {},\n describeChild = false,\n disableFocusListener = false,\n disableHoverListener = false,\n disableInteractive: disableInteractiveProp = false,\n disableTouchListener = false,\n enterDelay = 100,\n enterNextDelay = 0,\n enterTouchDelay = 700,\n followCursor = false,\n id: idProp,\n leaveDelay = 0,\n leaveTouchDelay = 1500,\n onClose,\n onOpen,\n open: openProp,\n placement = 'bottom',\n PopperComponent: PopperComponentProp,\n PopperProps = {},\n slotProps = {},\n slots = {},\n title,\n TransitionComponent: TransitionComponentProp,\n TransitionProps,\n ...other\n } = props;\n\n // to prevent runtime errors, developers will need to provide a child as a React element anyway.\n const children = /*#__PURE__*/React.isValidElement(childrenProp) ? childrenProp : /*#__PURE__*/_jsx(\"span\", {\n children: childrenProp\n });\n const theme = useTheme();\n const isRtl = useRtl();\n const [childNode, setChildNode] = React.useState();\n const [arrowRef, setArrowRef] = React.useState(null);\n const ignoreNonTouchEvents = React.useRef(false);\n const disableInteractive = disableInteractiveProp || followCursor;\n const closeTimer = useTimeout();\n const enterTimer = useTimeout();\n const leaveTimer = useTimeout();\n const touchTimer = useTimeout();\n const [openState, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'Tooltip',\n state: 'open'\n });\n let open = openState;\n if (process.env.NODE_ENV !== 'production') {\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- process.env never changes\n const {\n current: isControlled\n } = React.useRef(openProp !== undefined);\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- process.env never changes\n React.useEffect(() => {\n if (childNode && childNode.disabled && !isControlled && title !== '' && childNode.tagName.toLowerCase() === 'button') {\n console.warn(['MUI: You are providing a disabled `button` child to the Tooltip component.', 'A disabled element does not fire events.', \"Tooltip needs to listen to the child element's events to display the title.\", '', 'Add a simple wrapper element, such as a `span`.'].join('\\n'));\n }\n }, [title, childNode, isControlled]);\n }\n const id = useId(idProp);\n const prevUserSelect = React.useRef();\n const stopTouchInteraction = useEventCallback(() => {\n if (prevUserSelect.current !== undefined) {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n prevUserSelect.current = undefined;\n }\n touchTimer.clear();\n });\n React.useEffect(() => stopTouchInteraction, [stopTouchInteraction]);\n const handleOpen = event => {\n hystersisTimer.clear();\n hystersisOpen = true;\n\n // The mouseover event will trigger for every nested element in the tooltip.\n // We can skip rerendering when the tooltip is already open.\n // We are using the mouseover event instead of the mouseenter event to fix a hide/show issue.\n setOpenState(true);\n if (onOpen && !open) {\n onOpen(event);\n }\n };\n const handleClose = useEventCallback(\n /**\n * @param {React.SyntheticEvent | Event} event\n */\n event => {\n hystersisTimer.start(800 + leaveDelay, () => {\n hystersisOpen = false;\n });\n setOpenState(false);\n if (onClose && open) {\n onClose(event);\n }\n closeTimer.start(theme.transitions.duration.shortest, () => {\n ignoreNonTouchEvents.current = false;\n });\n });\n const handleMouseOver = event => {\n if (ignoreNonTouchEvents.current && event.type !== 'touchstart') {\n return;\n }\n\n // Remove the title ahead of time.\n // We don't want to wait for the next render commit.\n // We would risk displaying two tooltips at the same time (native + this one).\n if (childNode) {\n childNode.removeAttribute('title');\n }\n enterTimer.clear();\n leaveTimer.clear();\n if (enterDelay || hystersisOpen && enterNextDelay) {\n enterTimer.start(hystersisOpen ? enterNextDelay : enterDelay, () => {\n handleOpen(event);\n });\n } else {\n handleOpen(event);\n }\n };\n const handleMouseLeave = event => {\n enterTimer.clear();\n leaveTimer.start(leaveDelay, () => {\n handleClose(event);\n });\n };\n const [, setChildIsFocusVisible] = React.useState(false);\n const handleBlur = event => {\n if (!isFocusVisible(event.target)) {\n setChildIsFocusVisible(false);\n handleMouseLeave(event);\n }\n };\n const handleFocus = event => {\n // Workaround for https://github.com/facebook/react/issues/7769\n // The autoFocus of React might trigger the event before the componentDidMount.\n // We need to account for this eventuality.\n if (!childNode) {\n setChildNode(event.currentTarget);\n }\n if (isFocusVisible(event.target)) {\n setChildIsFocusVisible(true);\n handleMouseOver(event);\n }\n };\n const detectTouchStart = event => {\n ignoreNonTouchEvents.current = true;\n const childrenProps = children.props;\n if (childrenProps.onTouchStart) {\n childrenProps.onTouchStart(event);\n }\n };\n const handleTouchStart = event => {\n detectTouchStart(event);\n leaveTimer.clear();\n closeTimer.clear();\n stopTouchInteraction();\n prevUserSelect.current = document.body.style.WebkitUserSelect;\n // Prevent iOS text selection on long-tap.\n document.body.style.WebkitUserSelect = 'none';\n touchTimer.start(enterTouchDelay, () => {\n document.body.style.WebkitUserSelect = prevUserSelect.current;\n handleMouseOver(event);\n });\n };\n const handleTouchEnd = event => {\n if (children.props.onTouchEnd) {\n children.props.onTouchEnd(event);\n }\n stopTouchInteraction();\n leaveTimer.start(leaveTouchDelay, () => {\n handleClose(event);\n });\n };\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n if (nativeEvent.key === 'Escape') {\n handleClose(nativeEvent);\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleClose, open]);\n const handleRef = useForkRef(getReactElementRef(children), setChildNode, ref);\n\n // There is no point in displaying an empty tooltip.\n // So we exclude all falsy values, except 0, which is valid.\n if (!title && title !== 0) {\n open = false;\n }\n const popperRef = React.useRef();\n const handleMouseMove = event => {\n const childrenProps = children.props;\n if (childrenProps.onMouseMove) {\n childrenProps.onMouseMove(event);\n }\n cursorPosition = {\n x: event.clientX,\n y: event.clientY\n };\n if (popperRef.current) {\n popperRef.current.update();\n }\n };\n const nameOrDescProps = {};\n const titleIsString = typeof title === 'string';\n if (describeChild) {\n nameOrDescProps.title = !open && titleIsString && !disableHoverListener ? title : null;\n nameOrDescProps['aria-describedby'] = open ? id : null;\n } else {\n nameOrDescProps['aria-label'] = titleIsString ? title : null;\n nameOrDescProps['aria-labelledby'] = open && !titleIsString ? id : null;\n }\n const childrenProps = {\n ...nameOrDescProps,\n ...other,\n ...children.props,\n className: clsx(other.className, children.props.className),\n onTouchStart: detectTouchStart,\n ref: handleRef,\n ...(followCursor ? {\n onMouseMove: handleMouseMove\n } : {})\n };\n if (process.env.NODE_ENV !== 'production') {\n childrenProps['data-mui-internal-clone-element'] = true;\n\n // TODO: uncomment once we enable eslint-plugin-react-compiler // eslint-disable-next-line react-compiler/react-compiler\n // eslint-disable-next-line react-hooks/rules-of-hooks -- process.env never changes\n React.useEffect(() => {\n if (childNode && !childNode.getAttribute('data-mui-internal-clone-element')) {\n console.error(['MUI: The `children` component of the Tooltip is not forwarding its props correctly.', 'Please make sure that props are spread on the same element that the ref is applied to.'].join('\\n'));\n }\n }, [childNode]);\n }\n const interactiveWrapperListeners = {};\n if (!disableTouchListener) {\n childrenProps.onTouchStart = handleTouchStart;\n childrenProps.onTouchEnd = handleTouchEnd;\n }\n if (!disableHoverListener) {\n childrenProps.onMouseOver = composeEventHandler(handleMouseOver, childrenProps.onMouseOver);\n childrenProps.onMouseLeave = composeEventHandler(handleMouseLeave, childrenProps.onMouseLeave);\n if (!disableInteractive) {\n interactiveWrapperListeners.onMouseOver = handleMouseOver;\n interactiveWrapperListeners.onMouseLeave = handleMouseLeave;\n }\n }\n if (!disableFocusListener) {\n childrenProps.onFocus = composeEventHandler(handleFocus, childrenProps.onFocus);\n childrenProps.onBlur = composeEventHandler(handleBlur, childrenProps.onBlur);\n if (!disableInteractive) {\n interactiveWrapperListeners.onFocus = handleFocus;\n interactiveWrapperListeners.onBlur = handleBlur;\n }\n }\n if (process.env.NODE_ENV !== 'production') {\n if (children.props.title) {\n console.error(['MUI: You have provided a `title` prop to the child of <Tooltip />.', `Remove this title prop \\`${children.props.title}\\` or the Tooltip component.`].join('\\n'));\n }\n }\n const ownerState = {\n ...props,\n isRtl,\n arrow,\n disableInteractive,\n placement,\n PopperComponentProp,\n touch: ignoreNonTouchEvents.current\n };\n const resolvedPopperProps = typeof slotProps.popper === 'function' ? slotProps.popper(ownerState) : slotProps.popper;\n const popperOptions = React.useMemo(() => {\n let tooltipModifiers = [{\n name: 'arrow',\n enabled: Boolean(arrowRef),\n options: {\n element: arrowRef,\n padding: 4\n }\n }];\n if (PopperProps.popperOptions?.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(PopperProps.popperOptions.modifiers);\n }\n if (resolvedPopperProps?.popperOptions?.modifiers) {\n tooltipModifiers = tooltipModifiers.concat(resolvedPopperProps.popperOptions.modifiers);\n }\n return {\n ...PopperProps.popperOptions,\n ...resolvedPopperProps?.popperOptions,\n modifiers: tooltipModifiers\n };\n }, [arrowRef, PopperProps.popperOptions, resolvedPopperProps?.popperOptions]);\n const classes = useUtilityClasses(ownerState);\n const resolvedTransitionProps = typeof slotProps.transition === 'function' ? slotProps.transition(ownerState) : slotProps.transition;\n const externalForwardedProps = {\n slots: {\n popper: components.Popper,\n transition: components.Transition ?? TransitionComponentProp,\n tooltip: components.Tooltip,\n arrow: components.Arrow,\n ...slots\n },\n slotProps: {\n arrow: slotProps.arrow ?? componentsProps.arrow,\n popper: {\n ...PopperProps,\n ...(resolvedPopperProps ?? componentsProps.popper)\n },\n // resolvedPopperProps can be spread because it's already an object\n tooltip: slotProps.tooltip ?? componentsProps.tooltip,\n transition: {\n ...TransitionProps,\n ...(resolvedTransitionProps ?? componentsProps.transition)\n }\n }\n };\n const [PopperSlot, popperSlotProps] = useSlot('popper', {\n elementType: TooltipPopper,\n externalForwardedProps,\n ownerState,\n className: clsx(classes.popper, PopperProps?.className)\n });\n const [TransitionSlot, transitionSlotProps] = useSlot('transition', {\n elementType: Grow,\n externalForwardedProps,\n ownerState\n });\n const [TooltipSlot, tooltipSlotProps] = useSlot('tooltip', {\n elementType: TooltipTooltip,\n className: classes.tooltip,\n externalForwardedProps,\n ownerState\n });\n const [ArrowSlot, arrowSlotProps] = useSlot('arrow', {\n elementType: TooltipArrow,\n className: classes.arrow,\n externalForwardedProps,\n ownerState,\n ref: setArrowRef\n });\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/React.cloneElement(children, childrenProps), /*#__PURE__*/_jsx(PopperSlot, {\n as: PopperComponentProp ?? Popper,\n placement: placement,\n anchorEl: followCursor ? {\n getBoundingClientRect: () => ({\n top: cursorPosition.y,\n left: cursorPosition.x,\n right: cursorPosition.x,\n bottom: cursorPosition.y,\n width: 0,\n height: 0\n })\n } : childNode,\n popperRef: popperRef,\n open: childNode ? open : false,\n id: id,\n transition: true,\n ...interactiveWrapperListeners,\n ...popperSlotProps,\n popperOptions: popperOptions,\n children: ({\n TransitionProps: TransitionPropsInner\n }) => /*#__PURE__*/_jsx(TransitionSlot, {\n timeout: theme.transitions.duration.shorter,\n ...TransitionPropsInner,\n ...transitionSlotProps,\n children: /*#__PURE__*/_jsxs(TooltipSlot, {\n ...tooltipSlotProps,\n children: [title, arrow ? /*#__PURE__*/_jsx(ArrowSlot, {\n ...arrowSlotProps\n }) : null]\n })\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Tooltip.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, adds an arrow to the tooltip.\n * @default false\n */\n arrow: PropTypes.bool,\n /**\n * Tooltip reference element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` 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.\n *\n * @default {}\n */\n components: PropTypes.shape({\n Arrow: PropTypes.elementType,\n Popper: PropTypes.elementType,\n Tooltip: PropTypes.elementType,\n Transition: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @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.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n arrow: PropTypes.object,\n popper: PropTypes.object,\n tooltip: PropTypes.object,\n transition: PropTypes.object\n }),\n /**\n * Set to `true` if the `title` acts as an accessible description.\n * By default the `title` acts as an accessible label for the child.\n * @default false\n */\n describeChild: PropTypes.bool,\n /**\n * Do not respond to focus-visible events.\n * @default false\n */\n disableFocusListener: PropTypes.bool,\n /**\n * Do not respond to hover events.\n * @default false\n */\n disableHoverListener: PropTypes.bool,\n /**\n * Makes a tooltip not interactive, i.e. it will close when the user\n * hovers over the tooltip before the `leaveDelay` is expired.\n * @default false\n */\n disableInteractive: PropTypes.bool,\n /**\n * Do not respond to long press touch events.\n * @default false\n */\n disableTouchListener: PropTypes.bool,\n /**\n * The number of milliseconds to wait before showing the tooltip.\n * This prop won't impact the enter touch delay (`enterTouchDelay`).\n * @default 100\n */\n enterDelay: PropTypes.number,\n /**\n * The number of milliseconds to wait before showing the tooltip when one was already recently opened.\n * @default 0\n */\n enterNextDelay: PropTypes.number,\n /**\n * The number of milliseconds a user must touch the element before showing the tooltip.\n * @default 700\n */\n enterTouchDelay: PropTypes.number,\n /**\n * If `true`, the tooltip follow the cursor over the wrapped element.\n * @default false\n */\n followCursor: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n /**\n * The number of milliseconds to wait before hiding the tooltip.\n * This prop won't impact the leave touch delay (`leaveTouchDelay`).\n * @default 0\n */\n leaveDelay: PropTypes.number,\n /**\n * The number of milliseconds after the user stops touching an element before hiding the tooltip.\n * @default 1500\n */\n leaveTouchDelay: PropTypes.number,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * Tooltip placement.\n * @default 'bottom'\n */\n placement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * The component used for the popper.\n * @deprecated use the `slots.popper` 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.\n */\n PopperComponent: PropTypes.elementType,\n /**\n * Props applied to the [`Popper`](https://mui.com/material-ui/api/popper/) element.\n * @deprecated use the `slotProps.popper` 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.\n * @default {}\n */\n PopperProps: PropTypes.object,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n arrow: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n popper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltip: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n arrow: PropTypes.elementType,\n popper: PropTypes.elementType,\n tooltip: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * Tooltip title. Zero-length titles string, undefined, null and false are never displayed.\n */\n title: PropTypes.node,\n /**\n * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @deprecated use the `slots.transition` 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.\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated use the `slotProps.transition` 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.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Tooltip;","/**\n * Tooltip Component\n *\n * Tooltip component for the MRS Design System.\n * Wraps Material-UI Tooltip with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6590:48770\n * @see {@link https://mui.com/material-ui/react-tooltip/}\n */\n\nimport React from 'react';\nimport MuiTooltip from '@mui/material/Tooltip';\nimport { styled } from '@mui/material/styles';\nimport type { TooltipProps } from './Tooltip.types';\n\nimport * as tokens from '../../../tokens/generated/ts/tokens';\n\n/**\n * Styled Tooltip with custom theme tokens\n */\nconst StyledTooltip = styled(\n React.forwardRef<HTMLDivElement, TooltipProps>(({ className, ...props }, ref) => (\n <MuiTooltip ref={ref} {...props} classes={{ popper: className }} />\n ))\n)(({ theme }) => {\n const mode = theme.palette.mode;\n const tooltipBackground =\n mode === 'light'\n ? tokens.ComponentTooltipLightBackground\n : tokens.ComponentTooltipDarkBackground;\n const tooltipForeground =\n mode === 'light'\n ? tokens.ComponentTooltipLightForeground\n : tokens.ComponentTooltipDarkForeground;\n const tooltipBorderRadius =\n mode === 'light'\n ? tokens.ComponentTooltipLightBorderRadius\n : tokens.ComponentTooltipDarkBorderRadius;\n\n return {\n '& .MuiTooltip-tooltip': {\n backgroundColor: tooltipBackground,\n color: tooltipForeground,\n fontSize: tokens.PrimitivesTypographyFontSizeXs,\n fontWeight: theme.typography.fontWeightMedium,\n lineHeight: '14px',\n padding: `${tokens.PrimitivesSpacing05} ${tokens.PrimitivesSpacing1}`,\n borderRadius: tooltipBorderRadius,\n fontFamily: theme.typography.fontFamily,\n },\n '& .MuiTooltip-arrow': {\n color: tooltipBackground,\n },\n };\n});\n\nStyledTooltip.displayName = 'StyledTooltip';\n\n/**\n * Tooltip component\n *\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n *\n * @param props - Tooltip component props\n * @returns Tooltip component\n */\nexport const Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n ({ children, arrow = true, placement = 'bottom', ...props }, ref) => {\n return (\n <StyledTooltip ref={ref} arrow={arrow} placement={placement} {...props}>\n {children}\n </StyledTooltip>\n );\n }\n);\n\nTooltip.displayName = 'Tooltip';\n","'use client';\n\nimport * as React from 'react';\n\n/**\n * @ignore - internal component.\n * @type {React.Context<{} | {expanded: boolean, disabled: boolean, toggle: () => void}>}\n */\nconst AccordionContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n AccordionContext.displayName = 'AccordionContext';\n}\nexport default AccordionContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionUtilityClass(slot) {\n return generateUtilityClass('MuiAccordion', slot);\n}\nconst accordionClasses = generateUtilityClasses('MuiAccordion', ['root', 'heading', 'rounded', 'expanded', 'disabled', 'gutters', 'region']);\nexport default accordionClasses;","'use client';\n\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Collapse from \"../Collapse/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport AccordionContext from \"./AccordionContext.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport accordionClasses, { getAccordionUtilityClass } from \"./accordionClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n square,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', !square && 'rounded', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n heading: ['heading'],\n region: ['region']\n };\n return composeClasses(slots, getAccordionUtilityClass, classes);\n};\nconst AccordionRoot = styled(Paper, {\n name: 'MuiAccordion',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${accordionClasses.region}`]: styles.region\n }, styles.root, !ownerState.square && styles.rounded, !ownerState.disableGutters && styles.gutters];\n }\n})(memoTheme(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n position: 'relative',\n transition: theme.transitions.create(['margin'], transition),\n overflowAnchor: 'none',\n // Keep the same scrolling position\n '&::before': {\n position: 'absolute',\n left: 0,\n top: -1,\n right: 0,\n height: 1,\n content: '\"\"',\n opacity: 1,\n backgroundColor: (theme.vars || theme).palette.divider,\n transition: theme.transitions.create(['opacity', 'background-color'], transition)\n },\n '&:first-of-type': {\n '&::before': {\n display: 'none'\n }\n },\n [`&.${accordionClasses.expanded}`]: {\n '&::before': {\n opacity: 0\n },\n '&:first-of-type': {\n marginTop: 0\n },\n '&:last-of-type': {\n marginBottom: 0\n },\n '& + &': {\n '&::before': {\n display: 'none'\n }\n }\n },\n [`&.${accordionClasses.disabled}`]: {\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n };\n}), memoTheme(({\n theme\n}) => ({\n variants: [{\n props: props => !props.square,\n style: {\n borderRadius: 0,\n '&:first-of-type': {\n borderTopLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderTopRightRadius: (theme.vars || theme).shape.borderRadius\n },\n '&:last-of-type': {\n borderBottomLeftRadius: (theme.vars || theme).shape.borderRadius,\n borderBottomRightRadius: (theme.vars || theme).shape.borderRadius,\n // Fix a rendering issue on Edge\n '@supports (-ms-ime-align: auto)': {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0\n }\n }\n }\n }, {\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionClasses.expanded}`]: {\n margin: '16px 0'\n }\n }\n }]\n})));\nconst AccordionHeading = styled('h3', {\n name: 'MuiAccordion',\n slot: 'Heading',\n overridesResolver: (props, styles) => styles.heading\n})({\n all: 'unset'\n});\nconst Accordion = /*#__PURE__*/React.forwardRef(function Accordion(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordion'\n });\n const {\n children: childrenProp,\n className,\n defaultExpanded = false,\n disabled = false,\n disableGutters = false,\n expanded: expandedProp,\n onChange,\n square = false,\n slots = {},\n slotProps = {},\n TransitionComponent: TransitionComponentProp,\n TransitionProps: TransitionPropsProp,\n ...other\n } = props;\n const [expanded, setExpandedState] = useControlled({\n controlled: expandedProp,\n default: defaultExpanded,\n name: 'Accordion',\n state: 'expanded'\n });\n const handleChange = React.useCallback(event => {\n setExpandedState(!expanded);\n if (onChange) {\n onChange(event, !expanded);\n }\n }, [expanded, onChange, setExpandedState]);\n const [summary, ...children] = React.Children.toArray(childrenProp);\n const contextValue = React.useMemo(() => ({\n expanded,\n disabled,\n disableGutters,\n toggle: handleChange\n }), [expanded, disabled, disableGutters, handleChange]);\n const ownerState = {\n ...props,\n square,\n disabled,\n disableGutters,\n expanded\n };\n const classes = useUtilityClasses(ownerState);\n const backwardCompatibleSlots = {\n transition: TransitionComponentProp,\n ...slots\n };\n const backwardCompatibleSlotProps = {\n transition: TransitionPropsProp,\n ...slotProps\n };\n const externalForwardedProps = {\n slots: backwardCompatibleSlots,\n slotProps: backwardCompatibleSlotProps\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: AccordionRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n className: clsx(classes.root, className),\n shouldForwardComponentProp: true,\n ownerState,\n ref,\n additionalProps: {\n square\n }\n });\n const [AccordionHeadingSlot, accordionProps] = useSlot('heading', {\n elementType: AccordionHeading,\n externalForwardedProps,\n className: classes.heading,\n ownerState\n });\n const [TransitionSlot, transitionProps] = useSlot('transition', {\n elementType: Collapse,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [/*#__PURE__*/_jsx(AccordionHeadingSlot, {\n ...accordionProps,\n children: /*#__PURE__*/_jsx(AccordionContext.Provider, {\n value: contextValue,\n children: summary\n })\n }), /*#__PURE__*/_jsx(TransitionSlot, {\n in: expanded,\n timeout: \"auto\",\n ...transitionProps,\n children: /*#__PURE__*/_jsx(\"div\", {\n \"aria-labelledby\": summary.props.id,\n id: summary.props['aria-controls'],\n role: \"region\",\n className: classes.region,\n children: children\n })\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Accordion.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: chainPropTypes(PropTypes.node.isRequired, props => {\n const summary = React.Children.toArray(props.children)[0];\n if (isFragment(summary)) {\n return new Error(\"MUI: The Accordion doesn't accept a Fragment as a child. \" + 'Consider providing an array instead.');\n }\n if (! /*#__PURE__*/React.isValidElement(summary)) {\n return new Error('MUI: Expected the first child of Accordion to be a valid element.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, expands the accordion by default.\n * @default false\n */\n defaultExpanded: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, it removes the margin between two expanded accordion items and the increase of height.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, expands the accordion, otherwise collapse it.\n * Setting this prop enables control over the accordion.\n */\n expanded: PropTypes.bool,\n /**\n * Callback fired when the expand/collapse state is changed.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {boolean} expanded The `expanded` state of the accordion.\n */\n onChange: PropTypes.func,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n heading: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n heading: PropTypes.elementType,\n root: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * If `true`, rounded corners are disabled.\n * @default false\n */\n square: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @deprecated Use `slots.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Accordion;","/**\n * Accordion Component\n *\n * Accordion component for the MRS Design System.\n * Wraps Material-UI Accordion with custom theme tokens.\n *\n * Accordions contain creation flows and allow lightweight editing of an element.\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=10025-115758&m=dev\n * @see {@link https://v6.mui.com/material-ui/react-accordion/}\n */\n\nimport React from 'react';\nimport MuiAccordion from '@mui/material/Accordion';\nimport type { AccordionProps } from './Accordion.types';\n\n/**\n * Accordion component\n *\n * Accordions are commonly used for FAQ sections, settings panels, or anywhere\n * you need to progressively disclose information.\n *\n * @param props - Accordion component props\n * @returns Accordion component\n */\nexport const Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(\n (\n {\n children,\n defaultExpanded = false,\n disabled = false,\n disableGutters = false,\n expanded,\n onChange,\n square = false,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiAccordion\n ref={ref}\n defaultExpanded={defaultExpanded}\n disabled={disabled}\n disableGutters={disableGutters}\n expanded={expanded}\n onChange={onChange}\n square={square}\n sx={{\n // Theme applies default styling\n // Custom overrides can be added here or via sx prop\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordion>\n );\n }\n);\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionSummaryUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionSummary', slot);\n}\nconst accordionSummaryClasses = generateUtilityClasses('MuiAccordionSummary', ['root', 'expanded', 'focusVisible', 'disabled', 'gutters', 'contentGutters', 'content', 'expandIconWrapper']);\nexport default accordionSummaryClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport AccordionContext from \"../Accordion/AccordionContext.js\";\nimport accordionSummaryClasses, { getAccordionSummaryUtilityClass } from \"./accordionSummaryClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n expanded,\n disabled,\n disableGutters\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', disabled && 'disabled', !disableGutters && 'gutters'],\n focusVisible: ['focusVisible'],\n content: ['content', expanded && 'expanded', !disableGutters && 'contentGutters'],\n expandIconWrapper: ['expandIconWrapper', expanded && 'expanded']\n };\n return composeClasses(slots, getAccordionSummaryUtilityClass, classes);\n};\nconst AccordionSummaryRoot = styled(ButtonBase, {\n name: 'MuiAccordionSummary',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => {\n const transition = {\n duration: theme.transitions.duration.shortest\n };\n return {\n display: 'flex',\n width: '100%',\n minHeight: 48,\n padding: theme.spacing(0, 2),\n transition: theme.transitions.create(['min-height', 'background-color'], transition),\n [`&.${accordionSummaryClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${accordionSummaryClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n [`&:hover:not(.${accordionSummaryClasses.disabled})`]: {\n cursor: 'pointer'\n },\n variants: [{\n props: props => !props.disableGutters,\n style: {\n [`&.${accordionSummaryClasses.expanded}`]: {\n minHeight: 64\n }\n }\n }]\n };\n}));\nconst AccordionSummaryContent = styled('span', {\n name: 'MuiAccordionSummary',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n textAlign: 'start',\n flexGrow: 1,\n margin: '12px 0',\n variants: [{\n props: props => !props.disableGutters,\n style: {\n transition: theme.transitions.create(['margin'], {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n margin: '20px 0'\n }\n }\n }]\n})));\nconst AccordionSummaryExpandIconWrapper = styled('span', {\n name: 'MuiAccordionSummary',\n slot: 'ExpandIconWrapper',\n overridesResolver: (props, styles) => styles.expandIconWrapper\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n color: (theme.vars || theme).palette.action.active,\n transform: 'rotate(0deg)',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${accordionSummaryClasses.expanded}`]: {\n transform: 'rotate(180deg)'\n }\n})));\nconst AccordionSummary = /*#__PURE__*/React.forwardRef(function AccordionSummary(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionSummary'\n });\n const {\n children,\n className,\n expandIcon,\n focusVisibleClassName,\n onClick,\n slots,\n slotProps,\n ...other\n } = props;\n const {\n disabled = false,\n disableGutters,\n expanded,\n toggle\n } = React.useContext(AccordionContext);\n const handleChange = event => {\n if (toggle) {\n toggle(event);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const ownerState = {\n ...props,\n expanded,\n disabled,\n disableGutters\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n shouldForwardComponentProp: true,\n className: clsx(classes.root, className),\n elementType: AccordionSummaryRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n additionalProps: {\n focusRipple: false,\n disableRipple: true,\n disabled,\n 'aria-expanded': expanded,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName)\n },\n getSlotProps: handlers => ({\n ...handlers,\n onClick: event => {\n handlers.onClick?.(event);\n handleChange(event);\n }\n })\n });\n const [ContentSlot, contentSlotProps] = useSlot('content', {\n className: classes.content,\n elementType: AccordionSummaryContent,\n externalForwardedProps,\n ownerState\n });\n const [ExpandIconWrapperSlot, expandIconWrapperSlotProps] = useSlot('expandIconWrapper', {\n className: classes.expandIconWrapper,\n elementType: AccordionSummaryExpandIconWrapper,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [/*#__PURE__*/_jsx(ContentSlot, {\n ...contentSlotProps,\n children: children\n }), expandIcon && /*#__PURE__*/_jsx(ExpandIconWrapperSlot, {\n ...expandIconWrapperSlotProps,\n children: expandIcon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionSummary.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display as the expand indicator.\n */\n expandIcon: PropTypes.node,\n /**\n * This prop can help identify which element has keyboard focus.\n * The class name will be applied when the element gains the focus through keyboard interaction.\n * It's a polyfill for the [CSS :focus-visible selector](https://drafts.csswg.org/selectors-4/#the-focus-visible-pseudo).\n * The rationale for using this feature [is explained here](https://github.com/WICG/focus-visible/blob/HEAD/explainer.md).\n * A [polyfill can be used](https://github.com/WICG/focus-visible) to apply a `focus-visible` class to other components\n * if needed.\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n content: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n expandIconWrapper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n content: PropTypes.elementType,\n expandIconWrapper: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AccordionSummary;","/**\n * AccordionSummary Component\n *\n * AccordionSummary component for the MRS Design System.\n * Wraps Material-UI AccordionSummary - provides the header/clickable area for Accordion.\n *\n * @see {@link https://v6.mui.com/material-ui/api/accordion-summary/}\n */\n\nimport React from 'react';\nimport MuiAccordionSummary from '@mui/material/AccordionSummary';\nimport type { AccordionSummaryProps } from './Accordion.types';\n\n/**\n * AccordionSummary component\n *\n * The summary acts as the header for the accordion and controls the expand/collapse behavior.\n * It typically contains a title and an expand icon.\n *\n * @param props - AccordionSummary component props\n * @returns AccordionSummary component\n */\nexport const AccordionSummary = React.forwardRef<HTMLDivElement, AccordionSummaryProps>(\n ({ children, expandIcon, focusVisibleClassName, sx, ...props }, ref) => {\n return (\n <MuiAccordionSummary\n ref={ref}\n expandIcon={expandIcon}\n focusVisibleClassName={focusVisibleClassName}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordionSummary>\n );\n }\n);\n\nAccordionSummary.displayName = 'AccordionSummary';\n\nexport default AccordionSummary;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionDetailsUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionDetails', slot);\n}\nconst accordionDetailsClasses = generateUtilityClasses('MuiAccordionDetails', ['root']);\nexport default accordionDetailsClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getAccordionDetailsUtilityClass } from \"./accordionDetailsClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getAccordionDetailsUtilityClass, classes);\n};\nconst AccordionDetailsRoot = styled('div', {\n name: 'MuiAccordionDetails',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => ({\n padding: theme.spacing(1, 2, 2)\n})));\nconst AccordionDetails = /*#__PURE__*/React.forwardRef(function AccordionDetails(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionDetails'\n });\n const {\n className,\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AccordionDetailsRoot, {\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionDetails.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AccordionDetails;","/**\n * AccordionDetails Component\n *\n * AccordionDetails component for the MRS Design System.\n * Wraps Material-UI AccordionDetails - provides the content area that expands/collapses.\n *\n * @see {@link https://v6.mui.com/material-ui/api/accordion-details/}\n */\n\nimport React from 'react';\nimport MuiAccordionDetails from '@mui/material/AccordionDetails';\nimport type { AccordionDetailsProps } from './Accordion.types';\n\n/**\n * AccordionDetails component\n *\n * Contains the content that is revealed when the accordion is expanded.\n * This component is wrapped in a Collapse transition.\n *\n * @param props - AccordionDetails component props\n * @returns AccordionDetails component\n */\nexport const AccordionDetails = React.forwardRef<HTMLDivElement, AccordionDetailsProps>(\n ({ children, sx, ...props }, ref) => {\n return (\n <MuiAccordionDetails\n ref={ref}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordionDetails>\n );\n }\n);\n\nAccordionDetails.displayName = 'AccordionDetails';\n\nexport default AccordionDetails;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAccordionActionsUtilityClass(slot) {\n return generateUtilityClass('MuiAccordionActions', slot);\n}\nconst accordionActionsClasses = generateUtilityClasses('MuiAccordionActions', ['root', 'spacing']);\nexport default accordionActionsClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getAccordionActionsUtilityClass } from \"./accordionActionsClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getAccordionActionsUtilityClass, classes);\n};\nconst AccordionActionsRoot = styled('div', {\n name: 'MuiAccordionActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n justifyContent: 'flex-end',\n variants: [{\n props: props => !props.disableSpacing,\n style: {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n }\n }]\n});\nconst AccordionActions = /*#__PURE__*/React.forwardRef(function AccordionActions(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAccordionActions'\n });\n const {\n className,\n disableSpacing = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n disableSpacing\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AccordionActionsRoot, {\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AccordionActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AccordionActions;","/**\n * AccordionActions Component\n *\n * AccordionActions component for the MRS Design System.\n * Wraps Material-UI AccordionActions - provides an action area for accordion buttons.\n *\n * @see {@link https://v6.mui.com/material-ui/api/accordion-actions/}\n */\n\nimport React from 'react';\nimport MuiAccordionActions from '@mui/material/AccordionActions';\nimport type { AccordionActionsProps } from './Accordion.types';\n\n/**\n * AccordionActions component\n *\n * Provides an area for action buttons within an accordion.\n * Typically placed at the bottom of AccordionDetails.\n *\n * @param props - AccordionActions component props\n * @returns AccordionActions component\n */\nexport const AccordionActions = React.forwardRef<HTMLDivElement, AccordionActionsProps>(\n ({ children, disableSpacing = false, sx, ...props }, ref) => {\n return (\n <MuiAccordionActions\n ref={ref}\n disableSpacing={disableSpacing}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordionActions>\n );\n }\n);\n\nAccordionActions.displayName = 'AccordionActions';\n\nexport default AccordionActions;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAlertUtilityClass(slot) {\n return generateUtilityClass('MuiAlert', slot);\n}\nconst alertClasses = generateUtilityClasses('MuiAlert', ['root', 'action', 'icon', 'message', 'filled', 'colorSuccess', 'colorInfo', 'colorWarning', 'colorError', 'filledSuccess', 'filledInfo', 'filledWarning', 'filledError', 'outlined', 'outlinedSuccess', 'outlinedInfo', 'outlinedWarning', 'outlinedError', 'standard', 'standardSuccess', 'standardInfo', 'standardWarning', 'standardError']);\nexport default alertClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z\"\n}), 'SuccessOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z\"\n}), 'ReportProblemOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z\"\n}), 'ErrorOutline');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z\"\n}), 'InfoOutlined');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n *\n * Alias to `Clear`.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { darken, lighten } from '@mui/system/colorManipulator';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport Paper from \"../Paper/index.js\";\nimport alertClasses, { getAlertUtilityClass } from \"./alertClasses.js\";\nimport IconButton from \"../IconButton/index.js\";\nimport SuccessOutlinedIcon from \"../internal/svg-icons/SuccessOutlined.js\";\nimport ReportProblemOutlinedIcon from \"../internal/svg-icons/ReportProblemOutlined.js\";\nimport ErrorOutlineIcon from \"../internal/svg-icons/ErrorOutline.js\";\nimport InfoOutlinedIcon from \"../internal/svg-icons/InfoOutlined.js\";\nimport CloseIcon from \"../internal/svg-icons/Close.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n variant,\n color,\n severity,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color || severity)}`, `${variant}${capitalize(color || severity)}`, `${variant}`],\n icon: ['icon'],\n message: ['message'],\n action: ['action']\n };\n return composeClasses(slots, getAlertUtilityClass, classes);\n};\nconst AlertRoot = styled(Paper, {\n name: 'MuiAlert',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`${ownerState.variant}${capitalize(ownerState.color || ownerState.severity)}`]];\n }\n})(memoTheme(({\n theme\n}) => {\n const getColor = theme.palette.mode === 'light' ? darken : lighten;\n const getBackgroundColor = theme.palette.mode === 'light' ? lighten : darken;\n return {\n ...theme.typography.body2,\n backgroundColor: 'transparent',\n display: 'flex',\n padding: '6px 16px',\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'standard'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, 0.9),\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'outlined'\n },\n style: {\n color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, 0.6),\n border: `1px solid ${(theme.vars || theme).palette[color].light}`,\n [`& .${alertClasses.icon}`]: theme.vars ? {\n color: theme.vars.palette.Alert[`${color}IconColor`]\n } : {\n color: theme.palette[color].main\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark'])).map(([color]) => ({\n props: {\n colorSeverity: color,\n variant: 'filled'\n },\n style: {\n fontWeight: theme.typography.fontWeightMedium,\n ...(theme.vars ? {\n color: theme.vars.palette.Alert[`${color}FilledColor`],\n backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]\n } : {\n backgroundColor: theme.palette.mode === 'dark' ? theme.palette[color].dark : theme.palette[color].main,\n color: theme.palette.getContrastText(theme.palette[color].main)\n })\n }\n }))]\n };\n}));\nconst AlertIcon = styled('div', {\n name: 'MuiAlert',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})({\n marginRight: 12,\n padding: '7px 0',\n display: 'flex',\n fontSize: 22,\n opacity: 0.9\n});\nconst AlertMessage = styled('div', {\n name: 'MuiAlert',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0',\n minWidth: 0,\n overflow: 'auto'\n});\nconst AlertAction = styled('div', {\n name: 'MuiAlert',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'flex-start',\n padding: '4px 0 0 16px',\n marginLeft: 'auto',\n marginRight: -8\n});\nconst defaultIconMapping = {\n success: /*#__PURE__*/_jsx(SuccessOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n warning: /*#__PURE__*/_jsx(ReportProblemOutlinedIcon, {\n fontSize: \"inherit\"\n }),\n error: /*#__PURE__*/_jsx(ErrorOutlineIcon, {\n fontSize: \"inherit\"\n }),\n info: /*#__PURE__*/_jsx(InfoOutlinedIcon, {\n fontSize: \"inherit\"\n })\n};\nconst Alert = /*#__PURE__*/React.forwardRef(function Alert(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAlert'\n });\n const {\n action,\n children,\n className,\n closeText = 'Close',\n color,\n components = {},\n componentsProps = {},\n icon,\n iconMapping = defaultIconMapping,\n onClose,\n role = 'alert',\n severity = 'success',\n slotProps = {},\n slots = {},\n variant = 'standard',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n severity,\n variant,\n colorSeverity: color || severity\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: {\n closeButton: components.CloseButton,\n closeIcon: components.CloseIcon,\n ...slots\n },\n slotProps: {\n ...componentsProps,\n ...slotProps\n }\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n shouldForwardComponentProp: true,\n className: clsx(classes.root, className),\n elementType: AlertRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n additionalProps: {\n role,\n elevation: 0\n }\n });\n const [IconSlot, iconSlotProps] = useSlot('icon', {\n className: classes.icon,\n elementType: AlertIcon,\n externalForwardedProps,\n ownerState\n });\n const [MessageSlot, messageSlotProps] = useSlot('message', {\n className: classes.message,\n elementType: AlertMessage,\n externalForwardedProps,\n ownerState\n });\n const [ActionSlot, actionSlotProps] = useSlot('action', {\n className: classes.action,\n elementType: AlertAction,\n externalForwardedProps,\n ownerState\n });\n const [CloseButtonSlot, closeButtonProps] = useSlot('closeButton', {\n elementType: IconButton,\n externalForwardedProps,\n ownerState\n });\n const [CloseIconSlot, closeIconProps] = useSlot('closeIcon', {\n elementType: CloseIcon,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [icon !== false ? /*#__PURE__*/_jsx(IconSlot, {\n ...iconSlotProps,\n children: icon || iconMapping[severity] || defaultIconMapping[severity]\n }) : null, /*#__PURE__*/_jsx(MessageSlot, {\n ...messageSlotProps,\n children: children\n }), action != null ? /*#__PURE__*/_jsx(ActionSlot, {\n ...actionSlotProps,\n children: action\n }) : null, action == null && onClose ? /*#__PURE__*/_jsx(ActionSlot, {\n ...actionSlotProps,\n children: /*#__PURE__*/_jsx(CloseButtonSlot, {\n size: \"small\",\n \"aria-label\": closeText,\n title: closeText,\n color: \"inherit\",\n onClick: onClose,\n ...closeButtonProps,\n children: /*#__PURE__*/_jsx(CloseIconSlot, {\n fontSize: \"small\",\n ...closeIconProps\n })\n })\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Alert.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the alert.\n */\n action: PropTypes.node,\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Override the default label for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The color of the component. Unless provided, the value is taken from the `severity` prop.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The components used for each slot inside.\n *\n * @deprecated use the `slots` 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.\n *\n * @default {}\n */\n components: PropTypes.shape({\n CloseButton: PropTypes.elementType,\n CloseIcon: PropTypes.elementType\n }),\n /**\n * The extra props for the slot components.\n * You can override the existing props or add new ones.\n *\n * @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.\n *\n * @default {}\n */\n componentsProps: PropTypes.shape({\n closeButton: PropTypes.object,\n closeIcon: PropTypes.object\n }),\n /**\n * Override the icon displayed before the children.\n * Unless provided, the icon is mapped to the value of the `severity` prop.\n * Set to `false` to remove the `icon`.\n */\n icon: PropTypes.node,\n /**\n * The component maps the `severity` prop to a range of different icons,\n * for instance success to `<SuccessOutlined>`.\n * If you wish to change this mapping, you can provide your own.\n * Alternatively, you can use the `icon` prop to override the icon displayed.\n */\n iconMapping: PropTypes.shape({\n error: PropTypes.node,\n info: PropTypes.node,\n success: PropTypes.node,\n warning: PropTypes.node\n }),\n /**\n * Callback fired when the component requests to be closed.\n * When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onClose: PropTypes.func,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes.string,\n /**\n * The severity of the alert. This defines the color and icon used.\n * @default 'success'\n */\n severity: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n action: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeButton: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n closeIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n message: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n action: PropTypes.elementType,\n closeButton: PropTypes.elementType,\n closeIcon: PropTypes.elementType,\n icon: PropTypes.elementType,\n message: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'standard'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['filled', 'outlined', 'standard']), PropTypes.string])\n} : void 0;\nexport default Alert;","/**\n * Alert Component\n *\n * Implements the MRS Alert using design tokens from the theme.\n * Supports severity (error, warning, info, success) and variants (filled, outlined, standard),\n * optional title/description, optional leading icon, custom action, and close button.\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=6595-48211\n * @see https://mui.com/material-ui/react-alert/\n */\n\n/// <reference path=\"../../../types/theme.d.ts\" />\n\nimport React from 'react';\nimport MuiAlert from '@mui/material/Alert';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport { MaterialSymbol } from '../../atoms/MaterialSymbol';\nimport type { AlertProps, AlertSeverity, AlertVariant } from './Alert.types';\n\ntype AlertColorTokens = {\n background: string;\n foreground: string;\n border?: string;\n};\n\n/**\n * Material Symbols icon names for each severity level\n * Icons use the same name for filled/outlined variants - fill prop controls appearance\n */\nconst severityIcons: Record<AlertSeverity, string> = {\n error: 'error',\n warning: 'error', // Material Symbols uses 'error' for warnings too\n info: 'info',\n success: 'check_circle',\n};\n\n/**\n * Returns token-based colors for a given severity and variant.\n */\nfunction useAlertColors(severity: AlertSeverity, variant: AlertVariant): AlertColorTokens {\n const theme = useTheme();\n const tokens = theme.palette._components.alert[severity][variant];\n return tokens;\n}\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n severity = 'error',\n variant = 'filled',\n title,\n description,\n icon = true,\n close = false,\n onClose,\n action,\n sx,\n children,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n const tokenColors = useAlertColors(severity, variant);\n\n // Use 16px for consistent border radius\n // Note: theme.shape has custom tokens - sm(4), md(8), lg(12), xl(24), rounded(9999)\n // IMPORTANT: Must use string with 'px' suffix - numbers are multiplied by spacing (8*8=64px)\n const shapeWithTokens = theme.shape as {\n borderRadius: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n rounded: number;\n };\n const alertBorderRadius = '16px'; // explicit units prevent spacing multiplication\n\n // Debug: Log border radius in development\n // eslint-disable-next-line no-undef\n if (process.env.NODE_ENV === 'development') {\n console.log('[Alert] Using border radius:', alertBorderRadius, '(theme.shape.lg)');\n console.log('[Alert] Available shape tokens (raw values):', {\n sm: shapeWithTokens.sm,\n md: shapeWithTokens.md,\n lg: shapeWithTokens.lg,\n xl: shapeWithTokens.xl,\n rounded: shapeWithTokens.rounded,\n });\n console.log(\n '[Alert] Note: Values converted to px strings to prevent MUI spacing multiplication'\n );\n }\n\n // Determine icon name and fill based on severity and variant\n const iconName = severityIcons[severity];\n const iconFill = variant === 'filled' ? 1 : 0;\n\n const startIcon =\n icon === false\n ? false\n : React.isValidElement(icon)\n ? icon\n : iconName && (\n <MaterialSymbol\n icon={iconName}\n fill={iconFill}\n size=\"medium\"\n color={tokenColors.foreground}\n />\n );\n\n const closeButton = close && (\n <IconButton\n size=\"medium\"\n aria-label=\"close\"\n onClick={onClose}\n sx={{ color: tokenColors.foreground }}\n >\n <MaterialSymbol icon=\"close\" size=\"medium\" color={tokenColors.foreground} />\n </IconButton>\n );\n\n const actionContent = action ? (\n closeButton ? (\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n {action}\n {closeButton}\n </Stack>\n ) : (\n action\n )\n ) : (\n closeButton || undefined\n );\n\n return (\n <MuiAlert\n ref={ref}\n severity={severity}\n variant=\"standard\"\n icon={startIcon}\n action={actionContent}\n sx={{\n borderRadius: alertBorderRadius,\n backgroundColor: tokenColors.background,\n color: tokenColors.foreground,\n alignItems: 'top',\n py: 1.2,\n px: 2,\n ...(variant === 'outlined' && {\n border: `1px solid ${tokenColors.border}`,\n }),\n '& .MuiAlert-icon': {\n color: tokenColors.foreground,\n padding: 0.25,\n marginRight: theme.spacing(1),\n mt: 0.25,\n },\n '& .MuiAlert-message': {\n padding: 1,\n width: '100%',\n },\n '& .MuiAlert-action': {\n padding: 0,\n marginLeft: theme.spacing(2),\n alignItems: 'top',\n },\n ...sx,\n }}\n {...props}\n >\n <Stack spacing={0.25}>\n {title && (\n <Typography\n variant=\"h5\"\n fontWeight={theme.typography.fontWeightMedium}\n lineHeight={1.2}\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography variant=\"body1\" lineHeight={1.5}>\n {description}\n </Typography>\n )}\n {children}\n </Stack>\n </MuiAlert>\n );\n }\n);\n\nAlert.displayName = 'Alert';\n\nexport default Alert;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAppBarUtilityClass(slot) {\n return generateUtilityClass('MuiAppBar', slot);\n}\nconst appBarClasses = generateUtilityClasses('MuiAppBar', ['root', 'positionFixed', 'positionAbsolute', 'positionSticky', 'positionStatic', 'positionRelative', 'colorDefault', 'colorPrimary', 'colorSecondary', 'colorInherit', 'colorTransparent', 'colorError', 'colorInfo', 'colorSuccess', 'colorWarning']);\nexport default appBarClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport Paper from \"../Paper/index.js\";\nimport { getAppBarUtilityClass } from \"./appBarClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n position,\n classes\n } = ownerState;\n const slots = {\n root: ['root', `color${capitalize(color)}`, `position${capitalize(position)}`]\n };\n return composeClasses(slots, getAppBarUtilityClass, classes);\n};\n\n// var2 is the fallback.\n// Ex. var1: 'var(--a)', var2: 'var(--b)'; return: 'var(--a, var(--b))'\nconst joinVars = (var1, var2) => var1 ? `${var1?.replace(')', '')}, ${var2})` : var2;\nconst AppBarRoot = styled(Paper, {\n name: 'MuiAppBar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`position${capitalize(ownerState.position)}`], styles[`color${capitalize(ownerState.color)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n boxSizing: 'border-box',\n // Prevent padding issue with the Modal and fixed positioned AppBar.\n flexShrink: 0,\n variants: [{\n props: {\n position: 'fixed'\n },\n style: {\n position: 'fixed',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0,\n '@media print': {\n // Prevent the app bar to be visible on each printed page.\n position: 'absolute'\n }\n }\n }, {\n props: {\n position: 'absolute'\n },\n style: {\n position: 'absolute',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }\n }, {\n props: {\n position: 'sticky'\n },\n style: {\n position: 'sticky',\n zIndex: (theme.vars || theme).zIndex.appBar,\n top: 0,\n left: 'auto',\n right: 0\n }\n }, {\n props: {\n position: 'static'\n },\n style: {\n position: 'static'\n }\n }, {\n props: {\n position: 'relative'\n },\n style: {\n position: 'relative'\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n '--AppBar-color': 'inherit'\n }\n }, {\n props: {\n color: 'default'\n },\n style: {\n '--AppBar-background': theme.vars ? theme.vars.palette.AppBar.defaultBg : theme.palette.grey[100],\n '--AppBar-color': theme.vars ? theme.vars.palette.text.primary : theme.palette.getContrastText(theme.palette.grey[100]),\n ...theme.applyStyles('dark', {\n '--AppBar-background': theme.vars ? theme.vars.palette.AppBar.defaultBg : theme.palette.grey[900],\n '--AppBar-color': theme.vars ? theme.vars.palette.text.primary : theme.palette.getContrastText(theme.palette.grey[900])\n })\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['contrastText'])).map(([color]) => ({\n props: {\n color\n },\n style: {\n '--AppBar-background': (theme.vars ?? theme).palette[color].main,\n '--AppBar-color': (theme.vars ?? theme).palette[color].contrastText\n }\n })), {\n props: props => props.enableColorOnDark === true && !['inherit', 'transparent'].includes(props.color),\n style: {\n backgroundColor: 'var(--AppBar-background)',\n color: 'var(--AppBar-color)'\n }\n }, {\n props: props => props.enableColorOnDark === false && !['inherit', 'transparent'].includes(props.color),\n style: {\n backgroundColor: 'var(--AppBar-background)',\n color: 'var(--AppBar-color)',\n ...theme.applyStyles('dark', {\n backgroundColor: theme.vars ? joinVars(theme.vars.palette.AppBar.darkBg, 'var(--AppBar-background)') : null,\n color: theme.vars ? joinVars(theme.vars.palette.AppBar.darkColor, 'var(--AppBar-color)') : null\n })\n }\n }, {\n props: {\n color: 'transparent'\n },\n style: {\n '--AppBar-background': 'transparent',\n '--AppBar-color': 'inherit',\n backgroundColor: 'var(--AppBar-background)',\n color: 'var(--AppBar-color)',\n ...theme.applyStyles('dark', {\n backgroundImage: 'none'\n })\n }\n }]\n})));\nconst AppBar = /*#__PURE__*/React.forwardRef(function AppBar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAppBar'\n });\n const {\n className,\n color = 'primary',\n enableColorOnDark = false,\n position = 'fixed',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n position,\n enableColorOnDark\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(AppBarRoot, {\n square: true,\n component: \"header\",\n ownerState: ownerState,\n elevation: 4,\n className: clsx(classes.root, className, position === 'fixed' && 'mui-fixed'),\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? AppBar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'inherit', 'primary', 'secondary', 'transparent', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * If true, the `color` prop is applied in dark mode.\n * @default false\n */\n enableColorOnDark: PropTypes.bool,\n /**\n * The positioning type. The behavior of the different options is described\n * [in the MDN web docs](https://developer.mozilla.org/en-US/docs/Web/CSS/position).\n * Note: `sticky` is not universally supported and will fall back to `static` when unavailable.\n * @default 'fixed'\n */\n position: PropTypes.oneOf(['absolute', 'fixed', 'relative', 'static', 'sticky']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default AppBar;","/**\n * AppBar Component\n *\n * Top navigation bar component for the MRS Design System.\n * Wraps Material-UI AppBar with MRS theme tokens.\n *\n * @example\n * ```tsx\n * import { AppBar, Toolbar, IconButton, Typography, Button } from '@atipicus/mrs-ui';\n * import MenuIcon from '@mui/icons-material/Menu';\n *\n * function MyAppBar() {\n * return (\n * <AppBar position=\"fixed\" color=\"primary\">\n * <Toolbar>\n * <IconButton edge=\"start\" color=\"inherit\" aria-label=\"menu\">\n * <MenuIcon />\n * </IconButton>\n * <Typography variant=\"h6\" component=\"div\" sx={{ flexGrow: 1 }}>\n * MRS Design System\n * </Typography>\n * <Button color=\"inherit\">Login</Button>\n * </Toolbar>\n * </AppBar>\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/api/app-bar/}\n * @see {@link https://mui.com/material-ui/react-app-bar/}\n */\n\nimport React from 'react';\nimport MuiAppBar from '@mui/material/AppBar';\nimport { useTheme } from '@mui/material/styles';\nimport type { AppBarProps } from './AppBar.types';\n\n/**\n * AppBar component\n *\n * Primary navigation component that appears at the top of the application.\n * Supports multiple colors from the MRS palette, positioning options, and elevation levels.\n *\n * Features:\n * - MRS design tokens (Nunito font, MRS color palette)\n * - Multiple positioning options (fixed, static, sticky, absolute, relative)\n * - Elevation control (shadow depth 0-24)\n * - Light and dark mode support\n * - Responsive design ready\n *\n * @param props - AppBar component props\n * @returns AppBar component\n */\nexport const AppBar = React.forwardRef<HTMLDivElement, AppBarProps>(\n (\n {\n children,\n color = 'default',\n position = 'fixed',\n elevation = 4,\n enableColorOnDark = false,\n sx,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n return (\n <MuiAppBar\n ref={ref}\n color={color}\n position={position}\n elevation={elevation}\n enableColorOnDark={enableColorOnDark}\n sx={{\n // Ensure Nunito font is applied\n fontFamily: theme.typography.fontFamily,\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAppBar>\n );\n }\n);\n\nAppBar.displayName = 'AppBar';\n\nexport default AppBar;\n","'use client';\n\n/* eslint-disable no-constant-condition */\nimport * as React from 'react';\nimport { unstable_setRef as setRef, unstable_useEventCallback as useEventCallback, unstable_useControlled as useControlled, unstable_useId as useId, usePreviousProps } from '@mui/utils';\n\n// https://stackoverflow.com/questions/990904/remove-accents-diacritics-in-a-string-in-javascript\nfunction stripDiacritics(string) {\n return string.normalize('NFD').replace(/[\\u0300-\\u036f]/g, '');\n}\nexport function createFilterOptions(config = {}) {\n const {\n ignoreAccents = true,\n ignoreCase = true,\n limit,\n matchFrom = 'any',\n stringify,\n trim = false\n } = config;\n return (options, {\n inputValue,\n getOptionLabel\n }) => {\n let input = trim ? inputValue.trim() : inputValue;\n if (ignoreCase) {\n input = input.toLowerCase();\n }\n if (ignoreAccents) {\n input = stripDiacritics(input);\n }\n const filteredOptions = !input ? options : options.filter(option => {\n let candidate = (stringify || getOptionLabel)(option);\n if (ignoreCase) {\n candidate = candidate.toLowerCase();\n }\n if (ignoreAccents) {\n candidate = stripDiacritics(candidate);\n }\n return matchFrom === 'start' ? candidate.startsWith(input) : candidate.includes(input);\n });\n return typeof limit === 'number' ? filteredOptions.slice(0, limit) : filteredOptions;\n };\n}\nconst defaultFilterOptions = createFilterOptions();\n\n// Number of options to jump in list box when `Page Up` and `Page Down` keys are used.\nconst pageSize = 5;\nconst defaultIsActiveElementInListbox = listboxRef => listboxRef.current !== null && listboxRef.current.parentElement?.contains(document.activeElement);\nconst MULTIPLE_DEFAULT_VALUE = [];\nfunction getInputValue(value, multiple, getOptionLabel) {\n if (multiple || value == null) {\n return '';\n }\n const optionLabel = getOptionLabel(value);\n return typeof optionLabel === 'string' ? optionLabel : '';\n}\nfunction useAutocomplete(props) {\n const {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_isActiveElementInListbox = defaultIsActiveElementInListbox,\n // eslint-disable-next-line @typescript-eslint/naming-convention\n unstable_classNamePrefix = 'Mui',\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n componentName = 'useAutocomplete',\n defaultValue = props.multiple ? MULTIPLE_DEFAULT_VALUE : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled: disabledProp,\n disabledItemsFocusable = false,\n disableListWrap = false,\n filterOptions = defaultFilterOptions,\n filterSelectedOptions = false,\n freeSolo = false,\n getOptionDisabled,\n getOptionKey,\n getOptionLabel: getOptionLabelProp = option => option.label ?? option,\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n id: idProp,\n includeInputInList = false,\n inputValue: inputValueProp,\n isOptionEqualToValue = (option, value) => option === value,\n multiple = false,\n onChange,\n onClose,\n onHighlightChange,\n onInputChange,\n onOpen,\n open: openProp,\n openOnFocus = false,\n options,\n readOnly = false,\n selectOnFocus = !props.freeSolo,\n value: valueProp\n } = props;\n const id = useId(idProp);\n let getOptionLabel = getOptionLabelProp;\n getOptionLabel = option => {\n const optionLabel = getOptionLabelProp(option);\n if (typeof optionLabel !== 'string') {\n if (process.env.NODE_ENV !== 'production') {\n const erroneousReturn = optionLabel === undefined ? 'undefined' : `${typeof optionLabel} (${optionLabel})`;\n console.error(`MUI: The \\`getOptionLabel\\` method of ${componentName} returned ${erroneousReturn} instead of a string for ${JSON.stringify(option)}.`);\n }\n return String(optionLabel);\n }\n return optionLabel;\n };\n const ignoreFocus = React.useRef(false);\n const firstFocus = React.useRef(true);\n const inputRef = React.useRef(null);\n const listboxRef = React.useRef(null);\n const [anchorEl, setAnchorEl] = React.useState(null);\n const [focusedTag, setFocusedTag] = React.useState(-1);\n const defaultHighlighted = autoHighlight ? 0 : -1;\n const highlightedIndexRef = React.useRef(defaultHighlighted);\n\n // Calculate the initial inputValue on mount only.\n // useRef ensures it doesn't update dynamically with defaultValue or value props.\n const initialInputValue = React.useRef(getInputValue(defaultValue ?? valueProp, multiple, getOptionLabel)).current;\n const [value, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: componentName\n });\n const [inputValue, setInputValueState] = useControlled({\n controlled: inputValueProp,\n default: initialInputValue,\n name: componentName,\n state: 'inputValue'\n });\n const [focused, setFocused] = React.useState(false);\n const resetInputValue = React.useCallback((event, newValue, reason) => {\n // retain current `inputValue` if new option isn't selected and `clearOnBlur` is false\n // When `multiple` is enabled, `newValue` is an array of all selected items including the newly selected item\n const isOptionSelected = multiple ? value.length < newValue.length : newValue !== null;\n if (!isOptionSelected && !clearOnBlur) {\n return;\n }\n const newInputValue = getInputValue(newValue, multiple, getOptionLabel);\n if (inputValue === newInputValue) {\n return;\n }\n setInputValueState(newInputValue);\n if (onInputChange) {\n onInputChange(event, newInputValue, reason);\n }\n }, [getOptionLabel, inputValue, multiple, onInputChange, setInputValueState, clearOnBlur, value]);\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: componentName,\n state: 'open'\n });\n const [inputPristine, setInputPristine] = React.useState(true);\n const inputValueIsSelectedValue = !multiple && value != null && inputValue === getOptionLabel(value);\n const popupOpen = open && !readOnly;\n const filteredOptions = popupOpen ? filterOptions(options.filter(option => {\n if (filterSelectedOptions && (multiple ? value : [value]).some(value2 => value2 !== null && isOptionEqualToValue(option, value2))) {\n return false;\n }\n return true;\n }),\n // we use the empty string to manipulate `filterOptions` to not filter any options\n // i.e. the filter predicate always returns true\n {\n inputValue: inputValueIsSelectedValue && inputPristine ? '' : inputValue,\n getOptionLabel\n }) : [];\n const previousProps = usePreviousProps({\n filteredOptions,\n value,\n inputValue\n });\n React.useEffect(() => {\n const valueChange = value !== previousProps.value;\n if (focused && !valueChange) {\n return;\n }\n\n // Only reset the input's value when freeSolo if the component's value changes.\n if (freeSolo && !valueChange) {\n return;\n }\n resetInputValue(null, value, 'reset');\n }, [value, resetInputValue, focused, previousProps.value, freeSolo]);\n const listboxAvailable = open && filteredOptions.length > 0 && !readOnly;\n const focusTag = useEventCallback(tagToFocus => {\n if (tagToFocus === -1) {\n inputRef.current.focus();\n } else {\n anchorEl.querySelector(`[data-tag-index=\"${tagToFocus}\"]`).focus();\n }\n });\n\n // Ensure the focusedTag is never inconsistent\n React.useEffect(() => {\n if (multiple && focusedTag > value.length - 1) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n }, [value, multiple, focusedTag, focusTag]);\n function validOptionIndex(index, direction) {\n if (!listboxRef.current || index < 0 || index >= filteredOptions.length) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n const option = listboxRef.current.querySelector(`[data-option-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n const nextFocusDisabled = disabledItemsFocusable ? false : !option || option.disabled || option.getAttribute('aria-disabled') === 'true';\n if (option && option.hasAttribute('tabindex') && !nextFocusDisabled) {\n // The next option is available\n return nextFocus;\n }\n\n // The next option is disabled, move to the next element.\n // with looped index\n if (direction === 'next') {\n nextFocus = (nextFocus + 1) % filteredOptions.length;\n } else {\n nextFocus = (nextFocus - 1 + filteredOptions.length) % filteredOptions.length;\n }\n\n // We end up with initial index, that means we don't have available options.\n // All of them are disabled\n if (nextFocus === index) {\n return -1;\n }\n }\n }\n const setHighlightedIndex = useEventCallback(({\n event,\n index,\n reason\n }) => {\n highlightedIndexRef.current = index;\n\n // does the index exist?\n if (index === -1) {\n inputRef.current.removeAttribute('aria-activedescendant');\n } else {\n inputRef.current.setAttribute('aria-activedescendant', `${id}-option-${index}`);\n }\n if (onHighlightChange && ['mouse', 'keyboard', 'touch'].includes(reason)) {\n onHighlightChange(event, index === -1 ? null : filteredOptions[index], reason);\n }\n if (!listboxRef.current) {\n return;\n }\n const prev = listboxRef.current.querySelector(`[role=\"option\"].${unstable_classNamePrefix}-focused`);\n if (prev) {\n prev.classList.remove(`${unstable_classNamePrefix}-focused`);\n prev.classList.remove(`${unstable_classNamePrefix}-focusVisible`);\n }\n let listboxNode = listboxRef.current;\n if (listboxRef.current.getAttribute('role') !== 'listbox') {\n listboxNode = listboxRef.current.parentElement.querySelector('[role=\"listbox\"]');\n }\n\n // \"No results\"\n if (!listboxNode) {\n return;\n }\n if (index === -1) {\n listboxNode.scrollTop = 0;\n return;\n }\n const option = listboxRef.current.querySelector(`[data-option-index=\"${index}\"]`);\n if (!option) {\n return;\n }\n option.classList.add(`${unstable_classNamePrefix}-focused`);\n if (reason === 'keyboard') {\n option.classList.add(`${unstable_classNamePrefix}-focusVisible`);\n }\n\n // Scroll active descendant into view.\n // Logic copied from https://www.w3.org/WAI/content-assets/wai-aria-practices/patterns/combobox/examples/js/select-only.js\n // In case of mouse clicks and touch (in mobile devices) we avoid scrolling the element and keep both behaviors same.\n // Consider this API instead once it has a better browser support:\n // .scrollIntoView({ scrollMode: 'if-needed', block: 'nearest' });\n if (listboxNode.scrollHeight > listboxNode.clientHeight && reason !== 'mouse' && reason !== 'touch') {\n const element = option;\n const scrollBottom = listboxNode.clientHeight + listboxNode.scrollTop;\n const elementBottom = element.offsetTop + element.offsetHeight;\n if (elementBottom > scrollBottom) {\n listboxNode.scrollTop = elementBottom - listboxNode.clientHeight;\n } else if (element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0) < listboxNode.scrollTop) {\n listboxNode.scrollTop = element.offsetTop - element.offsetHeight * (groupBy ? 1.3 : 0);\n }\n }\n });\n const changeHighlightedIndex = useEventCallback(({\n event,\n diff,\n direction = 'next',\n reason\n }) => {\n if (!popupOpen) {\n return;\n }\n const getNextIndex = () => {\n const maxIndex = filteredOptions.length - 1;\n if (diff === 'reset') {\n return defaultHighlighted;\n }\n if (diff === 'start') {\n return 0;\n }\n if (diff === 'end') {\n return maxIndex;\n }\n const newIndex = highlightedIndexRef.current + diff;\n if (newIndex < 0) {\n if (newIndex === -1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap && highlightedIndexRef.current !== -1 || Math.abs(diff) > 1) {\n return 0;\n }\n return maxIndex;\n }\n if (newIndex > maxIndex) {\n if (newIndex === maxIndex + 1 && includeInputInList) {\n return -1;\n }\n if (disableListWrap || Math.abs(diff) > 1) {\n return maxIndex;\n }\n return 0;\n }\n return newIndex;\n };\n const nextIndex = validOptionIndex(getNextIndex(), direction);\n setHighlightedIndex({\n index: nextIndex,\n reason,\n event\n });\n\n // Sync the content of the input with the highlighted option.\n if (autoComplete && diff !== 'reset') {\n if (nextIndex === -1) {\n inputRef.current.value = inputValue;\n } else {\n const option = getOptionLabel(filteredOptions[nextIndex]);\n inputRef.current.value = option;\n\n // The portion of the selected suggestion that has not been typed by the user,\n // a completion string, appears inline after the input cursor in the textbox.\n const index = option.toLowerCase().indexOf(inputValue.toLowerCase());\n if (index === 0 && inputValue.length > 0) {\n inputRef.current.setSelectionRange(inputValue.length, option.length);\n }\n }\n }\n });\n const getPreviousHighlightedOptionIndex = () => {\n const isSameValue = (value1, value2) => {\n const label1 = value1 ? getOptionLabel(value1) : '';\n const label2 = value2 ? getOptionLabel(value2) : '';\n return label1 === label2;\n };\n if (highlightedIndexRef.current !== -1 && previousProps.filteredOptions && previousProps.filteredOptions.length !== filteredOptions.length && previousProps.inputValue === inputValue && (multiple ? value.length === previousProps.value.length && previousProps.value.every((val, i) => getOptionLabel(value[i]) === getOptionLabel(val)) : isSameValue(previousProps.value, value))) {\n const previousHighlightedOption = previousProps.filteredOptions[highlightedIndexRef.current];\n if (previousHighlightedOption) {\n return filteredOptions.findIndex(option => {\n return getOptionLabel(option) === getOptionLabel(previousHighlightedOption);\n });\n }\n }\n return -1;\n };\n const syncHighlightedIndex = React.useCallback(() => {\n if (!popupOpen) {\n return;\n }\n\n // Check if the previously highlighted option still exists in the updated filtered options list and if the value and inputValue haven't changed\n // If it exists and the value and the inputValue haven't changed, just update its index, otherwise continue execution\n const previousHighlightedOptionIndex = getPreviousHighlightedOptionIndex();\n if (previousHighlightedOptionIndex !== -1) {\n highlightedIndexRef.current = previousHighlightedOptionIndex;\n return;\n }\n const valueItem = multiple ? value[0] : value;\n\n // The popup is empty, reset\n if (filteredOptions.length === 0 || valueItem == null) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n return;\n }\n if (!listboxRef.current) {\n return;\n }\n\n // Synchronize the value with the highlighted index\n if (valueItem != null) {\n const currentOption = filteredOptions[highlightedIndexRef.current];\n\n // Keep the current highlighted index if possible\n if (multiple && currentOption && value.findIndex(val => isOptionEqualToValue(currentOption, val)) !== -1) {\n return;\n }\n const itemIndex = filteredOptions.findIndex(optionItem => isOptionEqualToValue(optionItem, valueItem));\n if (itemIndex === -1) {\n changeHighlightedIndex({\n diff: 'reset'\n });\n } else {\n setHighlightedIndex({\n index: itemIndex\n });\n }\n return;\n }\n\n // Prevent the highlighted index to leak outside the boundaries.\n if (highlightedIndexRef.current >= filteredOptions.length - 1) {\n setHighlightedIndex({\n index: filteredOptions.length - 1\n });\n return;\n }\n\n // Restore the focus to the previous index.\n setHighlightedIndex({\n index: highlightedIndexRef.current\n });\n // Ignore filteredOptions (and options, isOptionEqualToValue, getOptionLabel) not to break the scroll position\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n // Only sync the highlighted index when the option switch between empty and not\n filteredOptions.length,\n // Don't sync the highlighted index with the value when multiple\n // eslint-disable-next-line react-hooks/exhaustive-deps\n multiple ? false : value, filterSelectedOptions, changeHighlightedIndex, setHighlightedIndex, popupOpen, inputValue, multiple]);\n const handleListboxRef = useEventCallback(node => {\n setRef(listboxRef, node);\n if (!node) {\n return;\n }\n syncHighlightedIndex();\n });\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useEffect(() => {\n if (!inputRef.current || inputRef.current.nodeName !== 'INPUT') {\n if (inputRef.current && inputRef.current.nodeName === 'TEXTAREA') {\n console.warn([`A textarea element was provided to ${componentName} where input was expected.`, `This is not a supported scenario but it may work under certain conditions.`, `A textarea keyboard navigation may conflict with Autocomplete controls (for example enter and arrow keys).`, `Make sure to test keyboard navigation and add custom event handlers if necessary.`].join('\\n'));\n } else {\n console.error([`MUI: Unable to find the input element. It was resolved to ${inputRef.current} while an HTMLInputElement was expected.`, `Instead, ${componentName} expects an input element.`, '', componentName === 'useAutocomplete' ? 'Make sure you have bound getInputProps correctly and that the normal ref/effect resolutions order is guaranteed.' : 'Make sure you have customized the input component correctly.'].join('\\n'));\n }\n }\n }, [componentName]);\n }\n React.useEffect(() => {\n syncHighlightedIndex();\n }, [syncHighlightedIndex]);\n const handleOpen = event => {\n if (open) {\n return;\n }\n setOpenState(true);\n setInputPristine(true);\n if (onOpen) {\n onOpen(event);\n }\n };\n const handleClose = (event, reason) => {\n if (!open) {\n return;\n }\n setOpenState(false);\n if (onClose) {\n onClose(event, reason);\n }\n };\n const handleValue = (event, newValue, reason, details) => {\n if (multiple) {\n if (value.length === newValue.length && value.every((val, i) => val === newValue[i])) {\n return;\n }\n } else if (value === newValue) {\n return;\n }\n if (onChange) {\n onChange(event, newValue, reason, details);\n }\n setValueState(newValue);\n };\n const isTouch = React.useRef(false);\n const selectNewValue = (event, option, reasonProp = 'selectOption', origin = 'options') => {\n let reason = reasonProp;\n let newValue = option;\n if (multiple) {\n newValue = Array.isArray(value) ? value.slice() : [];\n if (process.env.NODE_ENV !== 'production') {\n const matches = newValue.filter(val => isOptionEqualToValue(option, val));\n if (matches.length > 1) {\n console.error([`MUI: The \\`isOptionEqualToValue\\` method of ${componentName} does not handle the arguments correctly.`, `The component expects a single value to match a given option but found ${matches.length} matches.`].join('\\n'));\n }\n }\n const itemIndex = newValue.findIndex(valueItem => isOptionEqualToValue(option, valueItem));\n if (itemIndex === -1) {\n newValue.push(option);\n } else if (origin !== 'freeSolo') {\n newValue.splice(itemIndex, 1);\n reason = 'removeOption';\n }\n }\n resetInputValue(event, newValue, reason);\n handleValue(event, newValue, reason, {\n option\n });\n if (!disableCloseOnSelect && (!event || !event.ctrlKey && !event.metaKey)) {\n handleClose(event, reason);\n }\n if (blurOnSelect === true || blurOnSelect === 'touch' && isTouch.current || blurOnSelect === 'mouse' && !isTouch.current) {\n inputRef.current.blur();\n }\n };\n function validTagIndex(index, direction) {\n if (index === -1) {\n return -1;\n }\n let nextFocus = index;\n while (true) {\n // Out of range\n if (direction === 'next' && nextFocus === value.length || direction === 'previous' && nextFocus === -1) {\n return -1;\n }\n const option = anchorEl.querySelector(`[data-tag-index=\"${nextFocus}\"]`);\n\n // Same logic as MenuList.js\n if (!option || !option.hasAttribute('tabindex') || option.disabled || option.getAttribute('aria-disabled') === 'true') {\n nextFocus += direction === 'next' ? 1 : -1;\n } else {\n return nextFocus;\n }\n }\n }\n const handleFocusTag = (event, direction) => {\n if (!multiple) {\n return;\n }\n if (inputValue === '') {\n handleClose(event, 'toggleInput');\n }\n let nextTag = focusedTag;\n if (focusedTag === -1) {\n if (inputValue === '' && direction === 'previous') {\n nextTag = value.length - 1;\n }\n } else {\n nextTag += direction === 'next' ? 1 : -1;\n if (nextTag < 0) {\n nextTag = 0;\n }\n if (nextTag === value.length) {\n nextTag = -1;\n }\n }\n nextTag = validTagIndex(nextTag, direction);\n setFocusedTag(nextTag);\n focusTag(nextTag);\n };\n const handleClear = event => {\n ignoreFocus.current = true;\n setInputValueState('');\n if (onInputChange) {\n onInputChange(event, '', 'clear');\n }\n handleValue(event, multiple ? [] : null, 'clear');\n };\n const handleKeyDown = other => event => {\n if (other.onKeyDown) {\n other.onKeyDown(event);\n }\n if (event.defaultMuiPrevented) {\n return;\n }\n if (focusedTag !== -1 && !['ArrowLeft', 'ArrowRight'].includes(event.key)) {\n setFocusedTag(-1);\n focusTag(-1);\n }\n\n // Wait until IME is settled.\n if (event.which !== 229) {\n switch (event.key) {\n case 'Home':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'start',\n direction: 'next',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'End':\n if (popupOpen && handleHomeEndKeys) {\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: 'end',\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n }\n break;\n case 'PageUp':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: -pageSize,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'PageDown':\n // Prevent scroll of the page\n event.preventDefault();\n changeHighlightedIndex({\n diff: pageSize,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowDown':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: 1,\n direction: 'next',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowUp':\n // Prevent cursor move\n event.preventDefault();\n changeHighlightedIndex({\n diff: -1,\n direction: 'previous',\n reason: 'keyboard',\n event\n });\n handleOpen(event);\n break;\n case 'ArrowLeft':\n handleFocusTag(event, 'previous');\n break;\n case 'ArrowRight':\n handleFocusTag(event, 'next');\n break;\n case 'Enter':\n if (highlightedIndexRef.current !== -1 && popupOpen) {\n const option = filteredOptions[highlightedIndexRef.current];\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n\n // Avoid early form validation, let the end-users continue filling the form.\n event.preventDefault();\n if (disabled) {\n return;\n }\n selectNewValue(event, option, 'selectOption');\n\n // Move the selection to the end.\n if (autoComplete) {\n inputRef.current.setSelectionRange(inputRef.current.value.length, inputRef.current.value.length);\n }\n } else if (freeSolo && inputValue !== '' && inputValueIsSelectedValue === false) {\n if (multiple) {\n // Allow people to add new values before they submit the form.\n event.preventDefault();\n }\n selectNewValue(event, inputValue, 'createOption', 'freeSolo');\n }\n break;\n case 'Escape':\n if (popupOpen) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClose(event, 'escape');\n } else if (clearOnEscape && (inputValue !== '' || multiple && value.length > 0)) {\n // Avoid Opera to exit fullscreen mode.\n event.preventDefault();\n // Avoid the Modal to handle the event.\n event.stopPropagation();\n handleClear(event);\n }\n break;\n case 'Backspace':\n // Remove the value on the left of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0) {\n const index = focusedTag === -1 ? value.length - 1 : focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n case 'Delete':\n // Remove the value on the right of the \"cursor\"\n if (multiple && !readOnly && inputValue === '' && value.length > 0 && focusedTag !== -1) {\n const index = focusedTag;\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n }\n break;\n default:\n }\n }\n };\n const handleFocus = event => {\n setFocused(true);\n if (openOnFocus && !ignoreFocus.current) {\n handleOpen(event);\n }\n };\n const handleBlur = event => {\n // Ignore the event when using the scrollbar with IE11\n if (unstable_isActiveElementInListbox(listboxRef)) {\n inputRef.current.focus();\n return;\n }\n setFocused(false);\n firstFocus.current = true;\n ignoreFocus.current = false;\n if (autoSelect && highlightedIndexRef.current !== -1 && popupOpen) {\n selectNewValue(event, filteredOptions[highlightedIndexRef.current], 'blur');\n } else if (autoSelect && freeSolo && inputValue !== '') {\n selectNewValue(event, inputValue, 'blur', 'freeSolo');\n } else if (clearOnBlur) {\n resetInputValue(event, value, 'blur');\n }\n handleClose(event, 'blur');\n };\n const handleInputChange = event => {\n const newValue = event.target.value;\n if (inputValue !== newValue) {\n setInputValueState(newValue);\n setInputPristine(false);\n if (onInputChange) {\n onInputChange(event, newValue, 'input');\n }\n }\n if (newValue === '') {\n if (!disableClearable && !multiple) {\n handleValue(event, null, 'clear');\n }\n } else {\n handleOpen(event);\n }\n };\n const handleOptionMouseMove = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n if (highlightedIndexRef.current !== index) {\n setHighlightedIndex({\n event,\n index,\n reason: 'mouse'\n });\n }\n };\n const handleOptionTouchStart = event => {\n setHighlightedIndex({\n event,\n index: Number(event.currentTarget.getAttribute('data-option-index')),\n reason: 'touch'\n });\n isTouch.current = true;\n };\n const handleOptionClick = event => {\n const index = Number(event.currentTarget.getAttribute('data-option-index'));\n selectNewValue(event, filteredOptions[index], 'selectOption');\n isTouch.current = false;\n };\n const handleTagDelete = index => event => {\n const newValue = value.slice();\n newValue.splice(index, 1);\n handleValue(event, newValue, 'removeOption', {\n option: value[index]\n });\n };\n const handlePopupIndicator = event => {\n if (open) {\n handleClose(event, 'toggleInput');\n } else {\n handleOpen(event);\n }\n };\n\n // Prevent input blur when interacting with the combobox\n const handleMouseDown = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n if (event.target.getAttribute('id') !== id) {\n event.preventDefault();\n }\n };\n\n // Focus the input when interacting with the combobox\n const handleClick = event => {\n // Prevent focusing the input if click is anywhere outside the Autocomplete\n if (!event.currentTarget.contains(event.target)) {\n return;\n }\n inputRef.current.focus();\n if (selectOnFocus && firstFocus.current && inputRef.current.selectionEnd - inputRef.current.selectionStart === 0) {\n inputRef.current.select();\n }\n firstFocus.current = false;\n };\n const handleInputMouseDown = event => {\n if (!disabledProp && (inputValue === '' || !open)) {\n handlePopupIndicator(event);\n }\n };\n let dirty = freeSolo && inputValue.length > 0;\n dirty = dirty || (multiple ? value.length > 0 : value !== null);\n let groupedOptions = filteredOptions;\n if (groupBy) {\n // used to keep track of key and indexes in the result array\n const indexBy = new Map();\n let warn = false;\n groupedOptions = filteredOptions.reduce((acc, option, index) => {\n const group = groupBy(option);\n if (acc.length > 0 && acc[acc.length - 1].group === group) {\n acc[acc.length - 1].options.push(option);\n } else {\n if (process.env.NODE_ENV !== 'production') {\n if (indexBy.get(group) && !warn) {\n console.warn(`MUI: The options provided combined with the \\`groupBy\\` method of ${componentName} returns duplicated headers.`, 'You can solve the issue by sorting the options with the output of `groupBy`.');\n warn = true;\n }\n indexBy.set(group, true);\n }\n acc.push({\n key: index,\n index,\n group,\n options: [option]\n });\n }\n return acc;\n }, []);\n }\n if (disabledProp && focused) {\n handleBlur();\n }\n return {\n getRootProps: (other = {}) => ({\n ...other,\n onKeyDown: handleKeyDown(other),\n onMouseDown: handleMouseDown,\n onClick: handleClick\n }),\n getInputLabelProps: () => ({\n id: `${id}-label`,\n htmlFor: id\n }),\n getInputProps: () => ({\n id,\n value: inputValue,\n onBlur: handleBlur,\n onFocus: handleFocus,\n onChange: handleInputChange,\n onMouseDown: handleInputMouseDown,\n // if open then this is handled imperatively so don't let react override\n // only have an opinion about this when closed\n 'aria-activedescendant': popupOpen ? '' : null,\n 'aria-autocomplete': autoComplete ? 'both' : 'list',\n 'aria-controls': listboxAvailable ? `${id}-listbox` : undefined,\n 'aria-expanded': listboxAvailable,\n // Disable browser's suggestion that might overlap with the popup.\n // Handle autocomplete but not autofill.\n autoComplete: 'off',\n ref: inputRef,\n autoCapitalize: 'none',\n spellCheck: 'false',\n role: 'combobox',\n disabled: disabledProp\n }),\n getClearProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handleClear\n }),\n getPopupIndicatorProps: () => ({\n tabIndex: -1,\n type: 'button',\n onClick: handlePopupIndicator\n }),\n getTagProps: ({\n index\n }) => ({\n key: index,\n 'data-tag-index': index,\n tabIndex: -1,\n ...(!readOnly && {\n onDelete: handleTagDelete(index)\n })\n }),\n getListboxProps: () => ({\n role: 'listbox',\n id: `${id}-listbox`,\n 'aria-labelledby': `${id}-label`,\n ref: handleListboxRef,\n onMouseDown: event => {\n // Prevent blur\n event.preventDefault();\n }\n }),\n getOptionProps: ({\n index,\n option\n }) => {\n const selected = (multiple ? value : [value]).some(value2 => value2 != null && isOptionEqualToValue(option, value2));\n const disabled = getOptionDisabled ? getOptionDisabled(option) : false;\n return {\n key: getOptionKey?.(option) ?? getOptionLabel(option),\n tabIndex: -1,\n role: 'option',\n id: `${id}-option-${index}`,\n onMouseMove: handleOptionMouseMove,\n onClick: handleOptionClick,\n onTouchStart: handleOptionTouchStart,\n 'data-option-index': index,\n 'aria-disabled': disabled,\n 'aria-selected': selected\n };\n },\n id,\n inputValue,\n value,\n dirty,\n expanded: popupOpen && anchorEl,\n popupOpen,\n focused: focused || focusedTag !== -1,\n anchorEl,\n setAnchorEl,\n focusedTag,\n groupedOptions\n };\n}\nexport default useAutocomplete;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getListSubheaderUtilityClass(slot) {\n return generateUtilityClass('MuiListSubheader', slot);\n}\nconst listSubheaderClasses = generateUtilityClasses('MuiListSubheader', ['root', 'colorPrimary', 'colorInherit', 'gutters', 'inset', 'sticky']);\nexport default listSubheaderClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport { getListSubheaderUtilityClass } from \"./listSubheaderClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disableGutters,\n inset,\n disableSticky\n } = ownerState;\n const slots = {\n root: ['root', color !== 'default' && `color${capitalize(color)}`, !disableGutters && 'gutters', inset && 'inset', !disableSticky && 'sticky']\n };\n return composeClasses(slots, getListSubheaderUtilityClass, classes);\n};\nconst ListSubheaderRoot = styled('li', {\n name: 'MuiListSubheader',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, ownerState.color !== 'default' && styles[`color${capitalize(ownerState.color)}`], !ownerState.disableGutters && styles.gutters, ownerState.inset && styles.inset, !ownerState.disableSticky && styles.sticky];\n }\n})(memoTheme(({\n theme\n}) => ({\n boxSizing: 'border-box',\n lineHeight: '48px',\n listStyle: 'none',\n color: (theme.vars || theme).palette.text.secondary,\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n fontSize: theme.typography.pxToRem(14),\n variants: [{\n props: {\n color: 'primary'\n },\n style: {\n color: (theme.vars || theme).palette.primary.main\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n color: 'inherit'\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.disableGutters,\n style: {\n paddingLeft: 16,\n paddingRight: 16\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.inset,\n style: {\n paddingLeft: 72\n }\n }, {\n props: ({\n ownerState\n }) => !ownerState.disableSticky,\n style: {\n position: 'sticky',\n top: 0,\n zIndex: 1,\n backgroundColor: (theme.vars || theme).palette.background.paper\n }\n }]\n})));\nconst ListSubheader = /*#__PURE__*/React.forwardRef(function ListSubheader(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiListSubheader'\n });\n const {\n className,\n color = 'default',\n component = 'li',\n disableGutters = false,\n disableSticky = false,\n inset = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n component,\n disableGutters,\n disableSticky,\n inset\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(ListSubheaderRoot, {\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nif (ListSubheader) {\n ListSubheader.muiSkipListHighlight = true;\n}\nprocess.env.NODE_ENV !== \"production\" ? ListSubheader.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component. It supports those theme colors that make sense for this component.\n * @default 'default'\n */\n color: PropTypes.oneOf(['default', 'inherit', 'primary']),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the List Subheader will not have gutters.\n * @default false\n */\n disableGutters: PropTypes.bool,\n /**\n * If `true`, the List Subheader will not stick to the top during scroll.\n * @default false\n */\n disableSticky: PropTypes.bool,\n /**\n * If `true`, the List Subheader is indented.\n * @default false\n */\n inset: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default ListSubheader;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getAutocompleteUtilityClass(slot) {\n return generateUtilityClass('MuiAutocomplete', slot);\n}\nconst autocompleteClasses = generateUtilityClasses('MuiAutocomplete', ['root', 'expanded', 'fullWidth', 'focused', 'focusVisible', 'tag', 'tagSizeSmall', 'tagSizeMedium', 'hasPopupIcon', 'hasClearIcon', 'inputRoot', 'input', 'inputFocused', 'endAdornment', 'clearIndicator', 'popupIndicator', 'popupIndicatorOpen', 'popper', 'popperDisablePortal', 'paper', 'listbox', 'loading', 'noOptions', 'option', 'groupLabel', 'groupUl']);\nexport default autocompleteClasses;","'use client';\n\nvar _ClearIcon, _ArrowDropDownIcon;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport useAutocomplete, { createFilterOptions } from \"../useAutocomplete/index.js\";\nimport Popper from \"../Popper/index.js\";\nimport ListSubheader from \"../ListSubheader/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport IconButton from \"../IconButton/index.js\";\nimport Chip from \"../Chip/index.js\";\nimport inputClasses from \"../Input/inputClasses.js\";\nimport inputBaseClasses from \"../InputBase/inputBaseClasses.js\";\nimport outlinedInputClasses from \"../OutlinedInput/outlinedInputClasses.js\";\nimport filledInputClasses from \"../FilledInput/filledInputClasses.js\";\nimport ClearIcon from \"../internal/svg-icons/Close.js\";\nimport ArrowDropDownIcon from \"../internal/svg-icons/ArrowDropDown.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport autocompleteClasses, { getAutocompleteUtilityClass } from \"./autocompleteClasses.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disablePortal,\n expanded,\n focused,\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n popupOpen,\n size\n } = ownerState;\n const slots = {\n root: ['root', expanded && 'expanded', focused && 'focused', fullWidth && 'fullWidth', hasClearIcon && 'hasClearIcon', hasPopupIcon && 'hasPopupIcon'],\n inputRoot: ['inputRoot'],\n input: ['input', inputFocused && 'inputFocused'],\n tag: ['tag', `tagSize${capitalize(size)}`],\n endAdornment: ['endAdornment'],\n clearIndicator: ['clearIndicator'],\n popupIndicator: ['popupIndicator', popupOpen && 'popupIndicatorOpen'],\n popper: ['popper', disablePortal && 'popperDisablePortal'],\n paper: ['paper'],\n listbox: ['listbox'],\n loading: ['loading'],\n noOptions: ['noOptions'],\n option: ['option'],\n groupLabel: ['groupLabel'],\n groupUl: ['groupUl']\n };\n return composeClasses(slots, getAutocompleteUtilityClass, classes);\n};\nconst AutocompleteRoot = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n fullWidth,\n hasClearIcon,\n hasPopupIcon,\n inputFocused,\n size\n } = ownerState;\n return [{\n [`& .${autocompleteClasses.tag}`]: styles.tag\n }, {\n [`& .${autocompleteClasses.tag}`]: styles[`tagSize${capitalize(size)}`]\n }, {\n [`& .${autocompleteClasses.inputRoot}`]: styles.inputRoot\n }, {\n [`& .${autocompleteClasses.input}`]: styles.input\n }, {\n [`& .${autocompleteClasses.input}`]: inputFocused && styles.inputFocused\n }, styles.root, fullWidth && styles.fullWidth, hasPopupIcon && styles.hasPopupIcon, hasClearIcon && styles.hasClearIcon];\n }\n})({\n [`&.${autocompleteClasses.focused} .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n },\n /* Avoid double tap issue on iOS */\n '@media (pointer: fine)': {\n [`&:hover .${autocompleteClasses.clearIndicator}`]: {\n visibility: 'visible'\n }\n },\n [`& .${autocompleteClasses.tag}`]: {\n margin: 3,\n maxWidth: 'calc(100% - 6px)'\n },\n [`& .${autocompleteClasses.inputRoot}`]: {\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4\n },\n [`& .${autocompleteClasses.input}`]: {\n width: 0,\n minWidth: 30\n }\n },\n [`& .${inputClasses.root}`]: {\n paddingBottom: 1,\n '& .MuiInput-input': {\n padding: '4px 4px 4px 0px'\n }\n },\n [`& .${inputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${inputClasses.input}`]: {\n padding: '2px 4px 3px 0'\n }\n },\n [`& .${outlinedInputClasses.root}`]: {\n padding: 9,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${autocompleteClasses.input}`]: {\n padding: '7.5px 4px 7.5px 5px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${outlinedInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n // Don't specify paddingRight, as it overrides the default value set when there is only\n // one of the popup or clear icon as the specificity is equal so the latter one wins\n paddingTop: 6,\n paddingBottom: 6,\n paddingLeft: 6,\n [`& .${autocompleteClasses.input}`]: {\n padding: '2.5px 4px 2.5px 8px'\n }\n },\n [`& .${filledInputClasses.root}`]: {\n paddingTop: 19,\n paddingLeft: 8,\n [`.${autocompleteClasses.hasPopupIcon}&, .${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 26 + 4 + 9\n },\n [`.${autocompleteClasses.hasPopupIcon}.${autocompleteClasses.hasClearIcon}&`]: {\n paddingRight: 52 + 4 + 9\n },\n [`& .${filledInputClasses.input}`]: {\n padding: '7px 4px'\n },\n [`& .${autocompleteClasses.endAdornment}`]: {\n right: 9\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.sizeSmall}`]: {\n paddingBottom: 1,\n [`& .${filledInputClasses.input}`]: {\n padding: '2.5px 4px'\n }\n },\n [`& .${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 8\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}`]: {\n paddingTop: 0,\n paddingBottom: 0,\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 16,\n paddingBottom: 17\n }\n },\n [`& .${filledInputClasses.root}.${inputBaseClasses.hiddenLabel}.${inputBaseClasses.sizeSmall}`]: {\n [`& .${autocompleteClasses.input}`]: {\n paddingTop: 8,\n paddingBottom: 9\n }\n },\n [`& .${autocompleteClasses.input}`]: {\n flexGrow: 1,\n textOverflow: 'ellipsis',\n opacity: 0\n },\n variants: [{\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n size: 'small'\n },\n style: {\n [`& .${autocompleteClasses.tag}`]: {\n margin: 2,\n maxWidth: 'calc(100% - 4px)'\n }\n }\n }, {\n props: {\n inputFocused: true\n },\n style: {\n [`& .${autocompleteClasses.input}`]: {\n opacity: 1\n }\n }\n }, {\n props: {\n multiple: true\n },\n style: {\n [`& .${autocompleteClasses.inputRoot}`]: {\n flexWrap: 'wrap'\n }\n }\n }]\n});\nconst AutocompleteEndAdornment = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'EndAdornment',\n overridesResolver: (props, styles) => styles.endAdornment\n})({\n // We use a position absolute to support wrapping tags.\n position: 'absolute',\n right: 0,\n top: '50%',\n transform: 'translate(0, -50%)'\n});\nconst AutocompleteClearIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'ClearIndicator',\n overridesResolver: (props, styles) => styles.clearIndicator\n})({\n marginRight: -2,\n padding: 4,\n visibility: 'hidden'\n});\nconst AutocompletePopupIndicator = styled(IconButton, {\n name: 'MuiAutocomplete',\n slot: 'PopupIndicator',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.popupIndicator, ownerState.popupOpen && styles.popupIndicatorOpen];\n }\n})({\n padding: 2,\n marginRight: -2,\n variants: [{\n props: {\n popupOpen: true\n },\n style: {\n transform: 'rotate(180deg)'\n }\n }]\n});\nconst AutocompletePopper = styled(Popper, {\n name: 'MuiAutocomplete',\n slot: 'Popper',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${autocompleteClasses.option}`]: styles.option\n }, styles.popper, ownerState.disablePortal && styles.popperDisablePortal];\n }\n})(memoTheme(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.modal,\n variants: [{\n props: {\n disablePortal: true\n },\n style: {\n position: 'absolute'\n }\n }]\n})));\nconst AutocompletePaper = styled(Paper, {\n name: 'MuiAutocomplete',\n slot: 'Paper',\n overridesResolver: (props, styles) => styles.paper\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.body1,\n overflow: 'auto'\n})));\nconst AutocompleteLoading = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'Loading',\n overridesResolver: (props, styles) => styles.loading\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n})));\nconst AutocompleteNoOptions = styled('div', {\n name: 'MuiAutocomplete',\n slot: 'NoOptions',\n overridesResolver: (props, styles) => styles.noOptions\n})(memoTheme(({\n theme\n}) => ({\n color: (theme.vars || theme).palette.text.secondary,\n padding: '14px 16px'\n})));\nconst AutocompleteListbox = styled('ul', {\n name: 'MuiAutocomplete',\n slot: 'Listbox',\n overridesResolver: (props, styles) => styles.listbox\n})(memoTheme(({\n theme\n}) => ({\n listStyle: 'none',\n margin: 0,\n padding: '8px 0',\n maxHeight: '40vh',\n overflow: 'auto',\n position: 'relative',\n [`& .${autocompleteClasses.option}`]: {\n minHeight: 48,\n display: 'flex',\n overflow: 'hidden',\n justifyContent: 'flex-start',\n alignItems: 'center',\n cursor: 'pointer',\n paddingTop: 6,\n boxSizing: 'border-box',\n outline: '0',\n WebkitTapHighlightColor: 'transparent',\n paddingBottom: 6,\n paddingLeft: 16,\n paddingRight: 16,\n [theme.breakpoints.up('sm')]: {\n minHeight: 'auto'\n },\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n '&[aria-disabled=\"true\"]': {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n '&[aria-selected=\"true\"]': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / ${theme.vars.palette.action.selectedOpacity})` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity),\n [`&.${autocompleteClasses.focused}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${autocompleteClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.primary.mainChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.primary.main, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n }\n }\n }\n})));\nconst AutocompleteGroupLabel = styled(ListSubheader, {\n name: 'MuiAutocomplete',\n slot: 'GroupLabel',\n overridesResolver: (props, styles) => styles.groupLabel\n})(memoTheme(({\n theme\n}) => ({\n backgroundColor: (theme.vars || theme).palette.background.paper,\n top: -8\n})));\nconst AutocompleteGroupUl = styled('ul', {\n name: 'MuiAutocomplete',\n slot: 'GroupUl',\n overridesResolver: (props, styles) => styles.groupUl\n})({\n padding: 0,\n [`& .${autocompleteClasses.option}`]: {\n paddingLeft: 24\n }\n});\nexport { createFilterOptions };\nconst Autocomplete = /*#__PURE__*/React.forwardRef(function Autocomplete(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiAutocomplete'\n });\n\n /* eslint-disable @typescript-eslint/no-unused-vars */\n const {\n autoComplete = false,\n autoHighlight = false,\n autoSelect = false,\n blurOnSelect = false,\n ChipProps: ChipPropsProp,\n className,\n clearIcon = _ClearIcon || (_ClearIcon = /*#__PURE__*/_jsx(ClearIcon, {\n fontSize: \"small\"\n })),\n clearOnBlur = !props.freeSolo,\n clearOnEscape = false,\n clearText = 'Clear',\n closeText = 'Close',\n componentsProps,\n defaultValue = props.multiple ? [] : null,\n disableClearable = false,\n disableCloseOnSelect = false,\n disabled = false,\n disabledItemsFocusable = false,\n disableListWrap = false,\n disablePortal = false,\n filterOptions,\n filterSelectedOptions = false,\n forcePopupIcon = 'auto',\n freeSolo = false,\n fullWidth = false,\n getLimitTagsText = more => `+${more}`,\n getOptionDisabled,\n getOptionKey,\n getOptionLabel: getOptionLabelProp,\n isOptionEqualToValue,\n groupBy,\n handleHomeEndKeys = !props.freeSolo,\n id: idProp,\n includeInputInList = false,\n inputValue: inputValueProp,\n limitTags = -1,\n ListboxComponent: ListboxComponentProp,\n ListboxProps: ListboxPropsProp,\n loading = false,\n loadingText = 'Loading…',\n multiple = false,\n noOptionsText = 'No options',\n onChange,\n onClose,\n onHighlightChange,\n onInputChange,\n onOpen,\n open,\n openOnFocus = false,\n openText = 'Open',\n options,\n PaperComponent: PaperComponentProp,\n PopperComponent: PopperComponentProp,\n popupIcon = _ArrowDropDownIcon || (_ArrowDropDownIcon = /*#__PURE__*/_jsx(ArrowDropDownIcon, {})),\n readOnly = false,\n renderGroup: renderGroupProp,\n renderInput,\n renderOption: renderOptionProp,\n renderTags,\n selectOnFocus = !props.freeSolo,\n size = 'medium',\n slots = {},\n slotProps = {},\n value: valueProp,\n ...other\n } = props;\n /* eslint-enable @typescript-eslint/no-unused-vars */\n\n const {\n getRootProps,\n getInputProps,\n getInputLabelProps,\n getPopupIndicatorProps,\n getClearProps,\n getTagProps,\n getListboxProps,\n getOptionProps,\n value,\n dirty,\n expanded,\n id,\n popupOpen,\n focused,\n focusedTag,\n anchorEl,\n setAnchorEl,\n inputValue,\n groupedOptions\n } = useAutocomplete({\n ...props,\n componentName: 'Autocomplete'\n });\n const hasClearIcon = !disableClearable && !disabled && dirty && !readOnly;\n const hasPopupIcon = (!freeSolo || forcePopupIcon === true) && forcePopupIcon !== false;\n const {\n onMouseDown: handleInputMouseDown\n } = getInputProps();\n const {\n ref: listboxRef,\n ...otherListboxProps\n } = getListboxProps();\n const defaultGetOptionLabel = option => option.label ?? option;\n const getOptionLabel = getOptionLabelProp || defaultGetOptionLabel;\n\n // If you modify this, make sure to keep the `AutocompleteOwnerState` type in sync.\n const ownerState = {\n ...props,\n disablePortal,\n expanded,\n focused,\n fullWidth,\n getOptionLabel,\n hasClearIcon,\n hasPopupIcon,\n inputFocused: focusedTag === -1,\n popupOpen,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: {\n paper: PaperComponentProp,\n popper: PopperComponentProp,\n ...slots\n },\n slotProps: {\n chip: ChipPropsProp,\n listbox: ListboxPropsProp,\n ...componentsProps,\n ...slotProps\n }\n };\n const [ListboxSlot, listboxProps] = useSlot('listbox', {\n elementType: AutocompleteListbox,\n externalForwardedProps,\n ownerState,\n className: classes.listbox,\n additionalProps: otherListboxProps,\n ref: listboxRef\n });\n const [PaperSlot, paperProps] = useSlot('paper', {\n elementType: Paper,\n externalForwardedProps,\n ownerState,\n className: classes.paper\n });\n const [PopperSlot, popperProps] = useSlot('popper', {\n elementType: Popper,\n externalForwardedProps,\n ownerState,\n className: classes.popper,\n additionalProps: {\n disablePortal,\n style: {\n width: anchorEl ? anchorEl.clientWidth : null\n },\n role: 'presentation',\n anchorEl,\n open: popupOpen\n }\n });\n let startAdornment;\n if (multiple && value.length > 0) {\n const getCustomizedTagProps = params => ({\n className: classes.tag,\n disabled,\n ...getTagProps(params)\n });\n if (renderTags) {\n startAdornment = renderTags(value, getCustomizedTagProps, ownerState);\n } else {\n startAdornment = value.map((option, index) => {\n const {\n key,\n ...customTagProps\n } = getCustomizedTagProps({\n index\n });\n return /*#__PURE__*/_jsx(Chip, {\n label: getOptionLabel(option),\n size: size,\n ...customTagProps,\n ...externalForwardedProps.slotProps.chip\n }, key);\n });\n }\n }\n if (limitTags > -1 && Array.isArray(startAdornment)) {\n const more = startAdornment.length - limitTags;\n if (!focused && more > 0) {\n startAdornment = startAdornment.splice(0, limitTags);\n startAdornment.push(/*#__PURE__*/_jsx(\"span\", {\n className: classes.tag,\n children: getLimitTagsText(more)\n }, startAdornment.length));\n }\n }\n const defaultRenderGroup = params => /*#__PURE__*/_jsxs(\"li\", {\n children: [/*#__PURE__*/_jsx(AutocompleteGroupLabel, {\n className: classes.groupLabel,\n ownerState: ownerState,\n component: \"div\",\n children: params.group\n }), /*#__PURE__*/_jsx(AutocompleteGroupUl, {\n className: classes.groupUl,\n ownerState: ownerState,\n children: params.children\n })]\n }, params.key);\n const renderGroup = renderGroupProp || defaultRenderGroup;\n const defaultRenderOption = (props2, option) => {\n // Need to clearly apply key because of https://github.com/vercel/next.js/issues/55642\n const {\n key,\n ...otherProps\n } = props2;\n return /*#__PURE__*/_jsx(\"li\", {\n ...otherProps,\n children: getOptionLabel(option)\n }, key);\n };\n const renderOption = renderOptionProp || defaultRenderOption;\n const renderListOption = (option, index) => {\n const optionProps = getOptionProps({\n option,\n index\n });\n return renderOption({\n ...optionProps,\n className: classes.option\n }, option, {\n selected: optionProps['aria-selected'],\n index,\n inputValue\n }, ownerState);\n };\n const clearIndicatorSlotProps = externalForwardedProps.slotProps.clearIndicator;\n const popupIndicatorSlotProps = externalForwardedProps.slotProps.popupIndicator;\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(AutocompleteRoot, {\n ref: ref,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ...getRootProps(other),\n children: renderInput({\n id,\n disabled,\n fullWidth: true,\n size: size === 'small' ? 'small' : undefined,\n InputLabelProps: getInputLabelProps(),\n InputProps: {\n ref: setAnchorEl,\n className: classes.inputRoot,\n startAdornment,\n onMouseDown: event => {\n if (event.target === event.currentTarget) {\n handleInputMouseDown(event);\n }\n },\n ...((hasClearIcon || hasPopupIcon) && {\n endAdornment: /*#__PURE__*/_jsxs(AutocompleteEndAdornment, {\n className: classes.endAdornment,\n ownerState: ownerState,\n children: [hasClearIcon ? /*#__PURE__*/_jsx(AutocompleteClearIndicator, {\n ...getClearProps(),\n \"aria-label\": clearText,\n title: clearText,\n ownerState: ownerState,\n ...clearIndicatorSlotProps,\n className: clsx(classes.clearIndicator, clearIndicatorSlotProps?.className),\n children: clearIcon\n }) : null, hasPopupIcon ? /*#__PURE__*/_jsx(AutocompletePopupIndicator, {\n ...getPopupIndicatorProps(),\n disabled: disabled,\n \"aria-label\": popupOpen ? closeText : openText,\n title: popupOpen ? closeText : openText,\n ownerState: ownerState,\n ...popupIndicatorSlotProps,\n className: clsx(classes.popupIndicator, popupIndicatorSlotProps?.className),\n children: popupIcon\n }) : null]\n })\n })\n },\n inputProps: {\n className: classes.input,\n disabled,\n readOnly,\n ...getInputProps()\n }\n })\n }), anchorEl ? /*#__PURE__*/_jsx(AutocompletePopper, {\n as: PopperSlot,\n ...popperProps,\n children: /*#__PURE__*/_jsxs(AutocompletePaper, {\n as: PaperSlot,\n ...paperProps,\n children: [loading && groupedOptions.length === 0 ? /*#__PURE__*/_jsx(AutocompleteLoading, {\n className: classes.loading,\n ownerState: ownerState,\n children: loadingText\n }) : null, groupedOptions.length === 0 && !freeSolo && !loading ? /*#__PURE__*/_jsx(AutocompleteNoOptions, {\n className: classes.noOptions,\n ownerState: ownerState,\n role: \"presentation\",\n onMouseDown: event => {\n // Prevent input blur when interacting with the \"no options\" content\n event.preventDefault();\n },\n children: noOptionsText\n }) : null, groupedOptions.length > 0 ? /*#__PURE__*/_jsx(ListboxSlot, {\n as: ListboxComponentProp,\n ...listboxProps,\n children: groupedOptions.map((option, index) => {\n if (groupBy) {\n return renderGroup({\n key: option.key,\n group: option.group,\n children: option.options.map((option2, index2) => renderListOption(option2, option.index + index2))\n });\n }\n return renderListOption(option, index);\n })\n }) : null]\n })\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Autocomplete.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * If `true`, the portion of the selected suggestion that the user hasn't typed,\n * known as the completion string, appears inline after the input cursor in the textbox.\n * The inline completion string is visually highlighted and has a selected state.\n * @default false\n */\n autoComplete: PropTypes.bool,\n /**\n * If `true`, the first option is automatically highlighted.\n * @default false\n */\n autoHighlight: PropTypes.bool,\n /**\n * If `true`, the selected option becomes the value of the input\n * when the Autocomplete loses focus unless the user chooses\n * a different option or changes the character string in the input.\n *\n * When using the `freeSolo` mode, the typed value will be the input value\n * if the Autocomplete loses focus without highlighting an option.\n * @default false\n */\n autoSelect: PropTypes.bool,\n /**\n * Control if the input should be blurred when an option is selected:\n *\n * - `false` the input is not blurred.\n * - `true` the input is always blurred.\n * - `touch` the input is blurred after a touch event.\n * - `mouse` the input is blurred after a mouse event.\n * @default false\n */\n blurOnSelect: PropTypes.oneOfType([PropTypes.oneOf(['mouse', 'touch']), PropTypes.bool]),\n /**\n * Props applied to the [`Chip`](https://mui.com/material-ui/api/chip/) element.\n * @deprecated Use `slotProps.chip` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n ChipProps: PropTypes.object,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display in place of the default clear icon.\n * @default <ClearIcon fontSize=\"small\" />\n */\n clearIcon: PropTypes.node,\n /**\n * If `true`, the input's text is cleared on blur if no value is selected.\n *\n * Set it to `true` if you want to help the user enter a new value.\n * Set it to `false` if you want to help the user resume their search.\n * @default !props.freeSolo\n */\n clearOnBlur: PropTypes.bool,\n /**\n * If `true`, clear all values when the user presses escape and the popup is closed.\n * @default false\n */\n clearOnEscape: PropTypes.bool,\n /**\n * Override the default text for the *clear* icon button.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @default 'Clear'\n */\n clearText: PropTypes.string,\n /**\n * Override the default text for the *close popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @default 'Close'\n */\n closeText: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @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.\n */\n componentsProps: PropTypes.shape({\n clearIndicator: PropTypes.object,\n paper: PropTypes.object,\n popper: PropTypes.object,\n popupIndicator: PropTypes.object\n }),\n /**\n * The default value. Use when the component is not controlled.\n * @default props.multiple ? [] : null\n */\n defaultValue: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.defaultValue !== undefined && !Array.isArray(props.defaultValue)) {\n return new Error(['MUI: The Autocomplete expects the `defaultValue` prop to be an array when `multiple={true}` or undefined.', `However, ${props.defaultValue} was provided.`].join('\\n'));\n }\n return null;\n }),\n /**\n * If `true`, the input can't be cleared.\n * @default false\n */\n disableClearable: PropTypes.bool,\n /**\n * If `true`, the popup won't close when a value is selected.\n * @default false\n */\n disableCloseOnSelect: PropTypes.bool,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, will allow focus on disabled items.\n * @default false\n */\n disabledItemsFocusable: PropTypes.bool,\n /**\n * If `true`, the list box in the popup will not wrap focus.\n * @default false\n */\n disableListWrap: PropTypes.bool,\n /**\n * If `true`, the `Popper` content will be under the DOM hierarchy of the parent component.\n * @default false\n */\n disablePortal: PropTypes.bool,\n /**\n * A function that determines the filtered options to be rendered on search.\n *\n * @default createFilterOptions()\n * @param {Value[]} options The options to render.\n * @param {object} state The state of the component.\n * @returns {Value[]}\n */\n filterOptions: PropTypes.func,\n /**\n * If `true`, hide the selected options from the list box.\n * @default false\n */\n filterSelectedOptions: PropTypes.bool,\n /**\n * Force the visibility display of the popup icon.\n * @default 'auto'\n */\n forcePopupIcon: PropTypes.oneOfType([PropTypes.oneOf(['auto']), PropTypes.bool]),\n /**\n * If `true`, the Autocomplete is free solo, meaning that the user input is not bound to provided options.\n * @default false\n */\n freeSolo: PropTypes.bool,\n /**\n * If `true`, the input will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The label to display when the tags are truncated (`limitTags`).\n *\n * @param {number} more The number of truncated tags.\n * @returns {ReactNode}\n * @default (more) => `+${more}`\n */\n getLimitTagsText: PropTypes.func,\n /**\n * Used to determine the disabled state for a given option.\n *\n * @param {Value} option The option to test.\n * @returns {boolean}\n */\n getOptionDisabled: PropTypes.func,\n /**\n * Used to determine the key for a given option.\n * This can be useful when the labels of options are not unique (since labels are used as keys by default).\n *\n * @param {Value} option The option to get the key for.\n * @returns {string | number}\n */\n getOptionKey: PropTypes.func,\n /**\n * Used to determine the string value for a given option.\n * It's used to fill the input (and the list box options if `renderOption` is not provided).\n *\n * If used in free solo mode, it must accept both the type of the options and a string.\n *\n * @param {Value} option\n * @returns {string}\n * @default (option) => option.label ?? option\n */\n getOptionLabel: PropTypes.func,\n /**\n * If provided, the options will be grouped under the returned string.\n * The groupBy value is also used as the text for group headings when `renderGroup` is not provided.\n *\n * @param {Value} option The Autocomplete option.\n * @returns {string}\n */\n groupBy: PropTypes.func,\n /**\n * If `true`, the component handles the \"Home\" and \"End\" keys when the popup is open.\n * It should move focus to the first option and last option, respectively.\n * @default !props.freeSolo\n */\n handleHomeEndKeys: PropTypes.bool,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide an id it will fall back to a randomly generated one.\n */\n id: PropTypes.string,\n /**\n * If `true`, the highlight can move to the input.\n * @default false\n */\n includeInputInList: PropTypes.bool,\n /**\n * The input value.\n */\n inputValue: PropTypes.string,\n /**\n * Used to determine if the option represents the given value.\n * Uses strict equality by default.\n * ⚠️ Both arguments need to be handled, an option can only match with one value.\n *\n * @param {Value} option The option to test.\n * @param {Value} value The value to test against.\n * @returns {boolean}\n */\n isOptionEqualToValue: PropTypes.func,\n /**\n * The maximum number of tags that will be visible when not focused.\n * Set `-1` to disable the limit.\n * @default -1\n */\n limitTags: integerPropType,\n /**\n * The component used to render the listbox.\n * @default 'ul'\n * @deprecated Use `slotProps.listbox.component` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n ListboxComponent: PropTypes.elementType,\n /**\n * Props applied to the Listbox element.\n * @deprecated Use `slotProps.listbox` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n ListboxProps: PropTypes.object,\n /**\n * If `true`, the component is in a loading state.\n * This shows the `loadingText` in place of suggestions (only if there are no suggestions to show, for example `options` are empty).\n * @default false\n */\n loading: PropTypes.bool,\n /**\n * Text to display when in a loading state.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @default 'Loading…'\n */\n loadingText: PropTypes.node,\n /**\n * If `true`, `value` must be an array and the menu will support multiple selections.\n * @default false\n */\n multiple: PropTypes.bool,\n /**\n * Text to display when there are no options.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @default 'No options'\n */\n noOptionsText: PropTypes.node,\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value|Value[]} value The new value of the component.\n * @param {string} reason One of \"createOption\", \"selectOption\", \"removeOption\", \"blur\" or \"clear\".\n * @param {string} [details]\n */\n onChange: PropTypes.func,\n /**\n * Callback fired when the popup requests to be closed.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} reason Can be: `\"toggleInput\"`, `\"escape\"`, `\"selectOption\"`, `\"removeOption\"`, `\"blur\"`.\n */\n onClose: PropTypes.func,\n /**\n * Callback fired when the highlight option changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {Value} option The highlighted option.\n * @param {string} reason Can be: `\"keyboard\"`, `\"mouse\"`, `\"touch\"`.\n */\n onHighlightChange: PropTypes.func,\n /**\n * Callback fired when the input value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {string} value The new value of the text input.\n * @param {string} reason Can be: `\"input\"` (user input), `\"reset\"` (programmatic change), `\"clear\"`, `\"blur\"`, `\"selectOption\"`, `\"removeOption\"`\n */\n onInputChange: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * Callback fired when the popup requests to be opened.\n * Use in controlled mode (see open).\n *\n * @param {React.SyntheticEvent} event The event source of the callback.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * If `true`, the popup will open on input focus.\n * @default false\n */\n openOnFocus: PropTypes.bool,\n /**\n * Override the default text for the *open popup* icon button.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @default 'Open'\n */\n openText: PropTypes.string,\n /**\n * A list of options that will be shown in the Autocomplete.\n */\n options: PropTypes.array.isRequired,\n /**\n * The component used to render the body of the popup.\n * @default Paper\n * @deprecated Use `slots.paper` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n PaperComponent: PropTypes.elementType,\n /**\n * The component used to position the popup.\n * @default Popper\n * @deprecated Use `slots.popper` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n PopperComponent: PropTypes.elementType,\n /**\n * The icon to display in place of the default popup icon.\n * @default <ArrowDropDownIcon />\n */\n popupIcon: PropTypes.node,\n /**\n * If `true`, the component becomes readonly. It is also supported for multiple tags where the tag cannot be deleted.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * Render the group.\n *\n * @param {AutocompleteRenderGroupParams} params The group to render.\n * @returns {ReactNode}\n */\n renderGroup: PropTypes.func,\n /**\n * Render the input.\n *\n * @param {object} params\n * @returns {ReactNode}\n */\n renderInput: PropTypes.func.isRequired,\n /**\n * Render the option, use `getOptionLabel` by default.\n *\n * @param {object} props The props to apply on the li element.\n * @param {Value} option The option to render.\n * @param {object} state The state of each option.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderOption: PropTypes.func,\n /**\n * Render the selected value.\n *\n * @param {Value[]} value The `value` provided to the component.\n * @param {function} getTagProps A tag props getter.\n * @param {object} ownerState The state of the Autocomplete component.\n * @returns {ReactNode}\n */\n renderTags: PropTypes.func,\n /**\n * If `true`, the input's text is selected on focus.\n * It helps the user clear the selected value.\n * @default !props.freeSolo\n */\n selectOnFocus: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes /* @typescript-to-proptypes-ignore */.shape({\n chip: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n clearIndicator: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n listbox: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n paper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n popper: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n popupIndicator: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n listbox: PropTypes.elementType,\n paper: PropTypes.elementType,\n popper: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the autocomplete.\n *\n * The value must have reference equality with the option in order to be selected.\n * You can customize the equality behavior with the `isOptionEqualToValue` prop.\n */\n value: chainPropTypes(PropTypes.any, props => {\n if (props.multiple && props.value !== undefined && !Array.isArray(props.value)) {\n return new Error(['MUI: The Autocomplete expects the `value` prop to be an array when `multiple={true}` or undefined.', `However, ${props.value} was provided.`].join('\\n'));\n }\n return null;\n })\n} : void 0;\nexport default Autocomplete;","/**\n * Autocomplete Component\n *\n * Autocomplete component for the MRS Design System.\n * Wraps Material-UI Autocomplete with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6570:49856\n * @see {@link https://mui.com/material-ui/react-autocomplete/}\n */\n\nimport React from 'react';\nimport MuiAutocomplete from '@mui/material/Autocomplete';\nimport TextField from '@mui/material/TextField';\nimport type { AutocompleteProps } from './Autocomplete.types';\nimport { Chip } from '../../atoms/Chip';\n\n/**\n * Autocomplete component\n *\n * The autocomplete is a normal text input enhanced by a panel of suggested options.\n * Supports both single and multiple selection modes.\n *\n * @param props - Autocomplete component props\n * @returns Autocomplete component\n */\nexport const Autocomplete = <\n T,\n Multiple extends boolean | undefined = undefined,\n DisableClearable extends boolean | undefined = undefined,\n FreeSolo extends boolean | undefined = undefined,\n>(\n props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo>\n): React.ReactElement => {\n const {\n options,\n label,\n placeholder = 'Select option',\n error = false,\n helperText,\n required = false,\n disabled = false,\n readOnly = false,\n size = 'medium',\n multiple = false as Multiple,\n disableClearable = false as DisableClearable,\n freeSolo = false as FreeSolo,\n fullWidth = false,\n sx,\n ...restProps\n } = props;\n\n return (\n <MuiAutocomplete\n {...(restProps as any)}\n options={options}\n multiple={multiple}\n disableClearable={disableClearable}\n freeSolo={freeSolo}\n disabled={disabled}\n readOnly={readOnly}\n fullWidth={fullWidth}\n size={size}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n placeholder={placeholder}\n error={error}\n helperText={helperText}\n required={required}\n variant=\"outlined\"\n />\n )}\n renderTags={(value: T[], getTagProps) =>\n value.map((option: T, index: number) => {\n const { key, ...tagProps } = getTagProps({ index });\n return <Chip key={key} label={String(option)} size=\"small\" {...tagProps} />;\n })\n }\n sx={{\n ...sx,\n }}\n />\n );\n};\n\nAutocomplete.displayName = 'Autocomplete';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBottomNavigationUtilityClass(slot) {\n return generateUtilityClass('MuiBottomNavigation', slot);\n}\nconst bottomNavigationClasses = generateUtilityClasses('MuiBottomNavigation', ['root']);\nexport default bottomNavigationClasses;","'use client';\n\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getBottomNavigationUtilityClass } from \"./bottomNavigationClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getBottomNavigationUtilityClass, classes);\n};\nconst BottomNavigationRoot = styled('div', {\n name: 'MuiBottomNavigation',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => ({\n display: 'flex',\n justifyContent: 'center',\n height: 56,\n backgroundColor: (theme.vars || theme).palette.background.paper\n})));\nconst BottomNavigation = /*#__PURE__*/React.forwardRef(function BottomNavigation(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiBottomNavigation'\n });\n const {\n children,\n className,\n component = 'div',\n onChange,\n showLabels = false,\n value,\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n showLabels\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(BottomNavigationRoot, {\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other,\n children: React.Children.map(children, (child, childIndex) => {\n if (! /*#__PURE__*/React.isValidElement(child)) {\n return null;\n }\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The BottomNavigation component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n const childValue = child.props.value === undefined ? childIndex : child.props.value;\n return /*#__PURE__*/React.cloneElement(child, {\n selected: childValue === value,\n showLabel: child.props.showLabel !== undefined ? child.props.showLabel : showLabels,\n value: childValue,\n onChange\n });\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? BottomNavigation.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Callback fired when the value changes.\n *\n * @param {React.SyntheticEvent} event The event source of the callback. **Warning**: This is a generic event not a change event.\n * @param {any} value We default to the index of the child.\n */\n onChange: PropTypes.func,\n /**\n * If `true`, all `BottomNavigationAction`s will show their labels.\n * By default, only the selected `BottomNavigationAction` will show its label.\n * @default false\n */\n showLabels: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The value of the currently selected `BottomNavigationAction`.\n */\n value: PropTypes.any\n} : void 0;\nexport default BottomNavigation;","/**\n * BottomNavigation Component\n *\n * BottomNavigation component for the MRS Design System.\n * Wraps Material-UI BottomNavigation with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-bottom-navigation/}\n */\n\nimport React from 'react';\nimport MuiBottomNavigation from '@mui/material/BottomNavigation';\nimport type { BottomNavigationProps } from './BottomNavigation.types';\n\n/**\n * BottomNavigation component\n *\n * Bottom navigation bars allow movement between primary destinations in an app.\n *\n * @param props - BottomNavigation component props\n * @returns BottomNavigation component\n */\nexport const BottomNavigation = React.forwardRef<HTMLDivElement, BottomNavigationProps>(\n (props, ref) => {\n return <MuiBottomNavigation ref={ref} {...props} />;\n }\n);\n\nBottomNavigation.displayName = 'BottomNavigation';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getBottomNavigationActionUtilityClass(slot) {\n return generateUtilityClass('MuiBottomNavigationAction', slot);\n}\nconst bottomNavigationActionClasses = generateUtilityClasses('MuiBottomNavigationAction', ['root', 'iconOnly', 'selected', 'label']);\nexport default bottomNavigationActionClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport unsupportedProp from \"../utils/unsupportedProp.js\";\nimport bottomNavigationActionClasses, { getBottomNavigationActionUtilityClass } from \"./bottomNavigationActionClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n showLabel,\n selected\n } = ownerState;\n const slots = {\n root: ['root', !showLabel && !selected && 'iconOnly', selected && 'selected'],\n label: ['label', !showLabel && !selected && 'iconOnly', selected && 'selected']\n };\n return composeClasses(slots, getBottomNavigationActionUtilityClass, classes);\n};\nconst BottomNavigationActionRoot = styled(ButtonBase, {\n name: 'MuiBottomNavigationAction',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.showLabel && !ownerState.selected && styles.iconOnly];\n }\n})(memoTheme(({\n theme\n}) => ({\n transition: theme.transitions.create(['color', 'padding-top'], {\n duration: theme.transitions.duration.short\n }),\n padding: '0px 12px',\n minWidth: 80,\n maxWidth: 168,\n color: (theme.vars || theme).palette.text.secondary,\n flexDirection: 'column',\n flex: '1',\n [`&.${bottomNavigationActionClasses.selected}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n variants: [{\n props: ({\n showLabel,\n selected\n }) => !showLabel && !selected,\n style: {\n paddingTop: 14\n }\n }, {\n props: ({\n showLabel,\n selected,\n label\n }) => !showLabel && !selected && !label,\n style: {\n paddingTop: 0\n }\n }]\n})));\nconst BottomNavigationActionLabel = styled('span', {\n name: 'MuiBottomNavigationAction',\n slot: 'Label',\n overridesResolver: (props, styles) => styles.label\n})(memoTheme(({\n theme\n}) => ({\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.pxToRem(12),\n opacity: 1,\n transition: 'font-size 0.2s, opacity 0.2s',\n transitionDelay: '0.1s',\n [`&.${bottomNavigationActionClasses.selected}`]: {\n fontSize: theme.typography.pxToRem(14)\n },\n variants: [{\n props: ({\n showLabel,\n selected\n }) => !showLabel && !selected,\n style: {\n opacity: 0,\n transitionDelay: '0s'\n }\n }]\n})));\nconst BottomNavigationAction = /*#__PURE__*/React.forwardRef(function BottomNavigationAction(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiBottomNavigationAction'\n });\n const {\n className,\n icon,\n label,\n onChange,\n onClick,\n // eslint-disable-next-line react/prop-types -- private, always overridden by BottomNavigation\n selected,\n showLabel,\n value,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const handleChange = event => {\n if (onChange) {\n onChange(event, value);\n }\n if (onClick) {\n onClick(event);\n }\n };\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: BottomNavigationActionRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n shouldForwardComponentProp: true,\n ownerState,\n ref,\n className: clsx(classes.root, className),\n additionalProps: {\n focusRipple: true\n },\n getSlotProps: handlers => ({\n ...handlers,\n onClick: event => {\n handlers.onClick?.(event);\n handleChange(event);\n }\n })\n });\n const [LabelSlot, labelProps] = useSlot('label', {\n elementType: BottomNavigationActionLabel,\n externalForwardedProps,\n ownerState,\n className: classes.label\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [icon, /*#__PURE__*/_jsx(LabelSlot, {\n ...labelProps,\n children: label\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? BottomNavigationAction.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * This prop isn't supported.\n * Use the `component` prop if you need to change the children structure.\n */\n children: unsupportedProp,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display.\n */\n icon: PropTypes.node,\n /**\n * The label element.\n */\n label: PropTypes.node,\n /**\n * @ignore\n */\n onChange: PropTypes.func,\n /**\n * @ignore\n */\n onClick: PropTypes.func,\n /**\n * If `true`, the `BottomNavigationAction` will show its label.\n * By default, only the selected `BottomNavigationAction`\n * inside `BottomNavigation` will show its label.\n *\n * The prop defaults to the value (`false`) inherited from the parent BottomNavigation component.\n */\n showLabel: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n label: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * You can provide your own value. Otherwise, we fallback to the child position index.\n */\n value: PropTypes.any\n} : void 0;\nexport default BottomNavigationAction;","/**\n * BottomNavigationAction Component\n */\n\nimport React from 'react';\nimport MuiBottomNavigationAction from '@mui/material/BottomNavigationAction';\nimport type { BottomNavigationActionProps } from './BottomNavigation.types';\n\nexport const BottomNavigationAction = React.forwardRef<\n HTMLButtonElement,\n BottomNavigationActionProps\n>((props, ref) => {\n return <MuiBottomNavigationAction ref={ref} {...props} />;\n});\n\nBottomNavigationAction.displayName = 'BottomNavigationAction';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getButtonGroupUtilityClass(slot) {\n return generateUtilityClass('MuiButtonGroup', slot);\n}\nconst buttonGroupClasses = generateUtilityClasses('MuiButtonGroup', ['root', 'contained', 'outlined', 'text', 'disableElevation', 'disabled', 'firstButton', 'fullWidth', 'horizontal', 'vertical', 'colorPrimary', 'colorSecondary', 'grouped', 'groupedHorizontal', 'groupedVertical', 'groupedText', 'groupedTextHorizontal', 'groupedTextVertical', 'groupedTextPrimary', 'groupedTextSecondary', 'groupedOutlined', 'groupedOutlinedHorizontal', 'groupedOutlinedVertical', 'groupedOutlinedPrimary', 'groupedOutlinedSecondary', 'groupedContained', 'groupedContainedHorizontal', 'groupedContainedVertical', 'groupedContainedPrimary', 'groupedContainedSecondary', 'lastButton', 'middleButton']);\nexport default buttonGroupClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport getValidReactChildren from '@mui/utils/getValidReactChildren';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport buttonGroupClasses, { getButtonGroupUtilityClass } from \"./buttonGroupClasses.js\";\nimport ButtonGroupContext from \"./ButtonGroupContext.js\";\nimport ButtonGroupButtonContext from \"./ButtonGroupButtonContext.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${buttonGroupClasses.grouped}`]: styles.grouped\n }, {\n [`& .${buttonGroupClasses.grouped}`]: styles[`grouped${capitalize(ownerState.orientation)}`]\n }, {\n [`& .${buttonGroupClasses.grouped}`]: styles[`grouped${capitalize(ownerState.variant)}`]\n }, {\n [`& .${buttonGroupClasses.grouped}`]: styles[`grouped${capitalize(ownerState.variant)}${capitalize(ownerState.orientation)}`]\n }, {\n [`& .${buttonGroupClasses.grouped}`]: styles[`grouped${capitalize(ownerState.variant)}${capitalize(ownerState.color)}`]\n }, {\n [`& .${buttonGroupClasses.firstButton}`]: styles.firstButton\n }, {\n [`& .${buttonGroupClasses.lastButton}`]: styles.lastButton\n }, {\n [`& .${buttonGroupClasses.middleButton}`]: styles.middleButton\n }, styles.root, styles[ownerState.variant], ownerState.disableElevation === true && styles.disableElevation, ownerState.fullWidth && styles.fullWidth, ownerState.orientation === 'vertical' && styles.vertical];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n disableElevation,\n fullWidth,\n orientation,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant, orientation, fullWidth && 'fullWidth', disableElevation && 'disableElevation', `color${capitalize(color)}`],\n grouped: ['grouped', `grouped${capitalize(orientation)}`, `grouped${capitalize(variant)}`, `grouped${capitalize(variant)}${capitalize(orientation)}`, `grouped${capitalize(variant)}${capitalize(color)}`, disabled && 'disabled'],\n firstButton: ['firstButton'],\n lastButton: ['lastButton'],\n middleButton: ['middleButton']\n };\n return composeClasses(slots, getButtonGroupUtilityClass, classes);\n};\nconst ButtonGroupRoot = styled('div', {\n name: 'MuiButtonGroup',\n slot: 'Root',\n overridesResolver\n})(memoTheme(({\n theme\n}) => ({\n display: 'inline-flex',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n variants: [{\n props: {\n variant: 'contained'\n },\n style: {\n boxShadow: (theme.vars || theme).shadows[2]\n }\n }, {\n props: {\n disableElevation: true\n },\n style: {\n boxShadow: 'none'\n }\n }, {\n props: {\n fullWidth: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n flexDirection: 'column',\n [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {\n borderTopRightRadius: 0,\n borderTopLeftRadius: 0\n },\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderBottomRightRadius: 0,\n borderBottomLeftRadius: 0\n }\n }\n }, {\n props: {\n orientation: 'horizontal'\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0\n },\n [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0\n }\n }\n }, {\n props: {\n variant: 'text',\n orientation: 'horizontal'\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderRight: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'}`,\n [`&.${buttonGroupClasses.disabled}`]: {\n borderRight: `1px solid ${(theme.vars || theme).palette.action.disabled}`\n }\n }\n }\n }, {\n props: {\n variant: 'text',\n orientation: 'vertical'\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderBottom: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'}`,\n [`&.${buttonGroupClasses.disabled}`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.action.disabled}`\n }\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).flatMap(([color]) => [{\n props: {\n variant: 'text',\n color\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.5)` : alpha(theme.palette[color].main, 0.5)\n }\n }\n }]), {\n props: {\n variant: 'outlined',\n orientation: 'horizontal'\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderRightColor: 'transparent',\n '&:hover': {\n borderRightColor: 'currentColor'\n }\n },\n [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {\n marginLeft: -1\n }\n }\n }, {\n props: {\n variant: 'outlined',\n orientation: 'vertical'\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderBottomColor: 'transparent',\n '&:hover': {\n borderBottomColor: 'currentColor'\n }\n },\n [`& .${buttonGroupClasses.lastButton},& .${buttonGroupClasses.middleButton}`]: {\n marginTop: -1\n }\n }\n }, {\n props: {\n variant: 'contained',\n orientation: 'horizontal'\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderRight: `1px solid ${(theme.vars || theme).palette.grey[400]}`,\n [`&.${buttonGroupClasses.disabled}`]: {\n borderRight: `1px solid ${(theme.vars || theme).palette.action.disabled}`\n }\n }\n }\n }, {\n props: {\n variant: 'contained',\n orientation: 'vertical'\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.grey[400]}`,\n [`&.${buttonGroupClasses.disabled}`]: {\n borderBottom: `1px solid ${(theme.vars || theme).palette.action.disabled}`\n }\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark'])).map(([color]) => ({\n props: {\n variant: 'contained',\n color\n },\n style: {\n [`& .${buttonGroupClasses.firstButton},& .${buttonGroupClasses.middleButton}`]: {\n borderColor: (theme.vars || theme).palette[color].dark\n }\n }\n }))],\n [`& .${buttonGroupClasses.grouped}`]: {\n minWidth: 40,\n boxShadow: 'none',\n props: {\n variant: 'contained'\n },\n style: {\n '&:hover': {\n boxShadow: 'none'\n }\n }\n }\n})));\nconst ButtonGroup = /*#__PURE__*/React.forwardRef(function ButtonGroup(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiButtonGroup'\n });\n const {\n children,\n className,\n color = 'primary',\n component = 'div',\n disabled = false,\n disableElevation = false,\n disableFocusRipple = false,\n disableRipple = false,\n fullWidth = false,\n orientation = 'horizontal',\n size = 'medium',\n variant = 'outlined',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n component,\n disabled,\n disableElevation,\n disableFocusRipple,\n disableRipple,\n fullWidth,\n orientation,\n size,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n const context = React.useMemo(() => ({\n className: classes.grouped,\n color,\n disabled,\n disableElevation,\n disableFocusRipple,\n disableRipple,\n fullWidth,\n size,\n variant\n }), [color, disabled, disableElevation, disableFocusRipple, disableRipple, fullWidth, size, variant, classes.grouped]);\n const validChildren = getValidReactChildren(children);\n const childrenCount = validChildren.length;\n const getButtonPositionClassName = index => {\n const isFirstButton = index === 0;\n const isLastButton = index === childrenCount - 1;\n if (isFirstButton && isLastButton) {\n return '';\n }\n if (isFirstButton) {\n return classes.firstButton;\n }\n if (isLastButton) {\n return classes.lastButton;\n }\n return classes.middleButton;\n };\n return /*#__PURE__*/_jsx(ButtonGroupRoot, {\n as: component,\n role: \"group\",\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other,\n children: /*#__PURE__*/_jsx(ButtonGroupContext.Provider, {\n value: context,\n children: validChildren.map((child, index) => {\n return /*#__PURE__*/_jsx(ButtonGroupButtonContext.Provider, {\n value: getButtonPositionClassName(index),\n children: child\n }, index);\n })\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? ButtonGroup.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'primary'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['inherit', 'primary', 'secondary', 'error', 'info', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, no elevation is used.\n * @default false\n */\n disableElevation: PropTypes.bool,\n /**\n * If `true`, the button keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the button ripple effect is disabled.\n * @default false\n */\n disableRipple: PropTypes.bool,\n /**\n * If `true`, the buttons will take up the full width of its container.\n * @default false\n */\n fullWidth: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'outlined'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['contained', 'outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default ButtonGroup;","/**\n * ButtonGroup Component\n *\n * ButtonGroup component for the MRS Design System.\n * Wraps Material-UI ButtonGroup with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6543:39843\n * @see {@link https://mui.com/material-ui/react-button-group/}\n */\n\nimport React from 'react';\nimport MuiButtonGroup from '@mui/material/ButtonGroup';\nimport type { ButtonGroupProps } from './ButtonGroup.types';\n\n/**\n * ButtonGroup component\n *\n * The ButtonGroup component can be used to group related buttons.\n *\n * @param props - ButtonGroup component props\n * @returns ButtonGroup component\n */\nexport const ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n children,\n variant = 'contained',\n color = 'primary',\n orientation = 'horizontal',\n size = 'medium',\n disabled = false,\n disableElevation = true,\n disableRipple = false,\n fullWidth = false,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiButtonGroup\n ref={ref}\n variant={variant}\n color={color}\n orientation={orientation}\n size={size}\n disabled={disabled}\n disableElevation={disableElevation}\n disableRipple={disableRipple}\n fullWidth={fullWidth}\n sx={{\n ...sx,\n }}\n {...restProps}\n >\n {children}\n </MuiButtonGroup>\n );\n }\n);\n\nButtonGroup.displayName = 'ButtonGroup';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardUtilityClass(slot) {\n return generateUtilityClass('MuiCard', slot);\n}\nconst cardClasses = generateUtilityClasses('MuiCard', ['root']);\nexport default cardClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport { getCardUtilityClass } from \"./cardClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardUtilityClass, classes);\n};\nconst CardRoot = styled(Paper, {\n name: 'MuiCard',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n overflow: 'hidden'\n});\nconst Card = /*#__PURE__*/React.forwardRef(function Card(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCard'\n });\n const {\n className,\n raised = false,\n ...other\n } = props;\n const ownerState = {\n ...props,\n raised\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardRoot, {\n className: clsx(classes.root, className),\n elevation: raised ? 8 : undefined,\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Card.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the card will use raised styling.\n * @default false\n */\n raised: chainPropTypes(PropTypes.bool, props => {\n if (props.raised && props.variant === 'outlined') {\n return new Error('MUI: Combining `raised={true}` with `variant=\"outlined\"` has no effect.');\n }\n return null;\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Card;","/**\n * Card Component\n *\n * Card component for the MRS Design System.\n * Wraps Material-UI Card which is built on Paper with elevation and rounded corners.\n *\n * According to Figma specs:\n * - Uses Paper component as base (with elevation=1 by default)\n * - Uses shape.borderRadius token (from theme)\n * - Supports responsive width (600px default, 444px on small screens)\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=11479-243797&m=dev\n * @see {@link https://v6.mui.com/material-ui/api/card/}\n */\n\nimport React from 'react';\nimport MuiCard from '@mui/material/Card';\nimport type { CardProps } from './Card.types';\n\n/**\n * Card component\n *\n * Cards contain content and actions about a single subject.\n * They should be easy to scan for relevant and actionable information.\n * Elements, like text and images, should be placed on them in a way that clearly indicates hierarchy.\n *\n * @param props - Card component props\n * @returns Card component\n */\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(\n (\n {\n children,\n variant = 'elevation',\n elevation = 1,\n square = false,\n raised = false,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiCard\n ref={ref}\n variant={variant}\n elevation={variant === 'elevation' ? (raised ? 8 : elevation) : 0}\n square={square}\n sx={{\n // Theme will apply borderRadius from shape.borderRadius token\n // No need to override unless square=true\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCard>\n );\n }\n);\n\nCard.displayName = 'Card';\n\nexport default Card;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardActionAreaUtilityClass(slot) {\n return generateUtilityClass('MuiCardActionArea', slot);\n}\nconst cardActionAreaClasses = generateUtilityClasses('MuiCardActionArea', ['root', 'focusVisible', 'focusHighlight']);\nexport default cardActionAreaClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport cardActionAreaClasses, { getCardActionAreaUtilityClass } from \"./cardActionAreaClasses.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n focusHighlight: ['focusHighlight']\n };\n return composeClasses(slots, getCardActionAreaUtilityClass, classes);\n};\nconst CardActionAreaRoot = styled(ButtonBase, {\n name: 'MuiCardActionArea',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => ({\n display: 'block',\n textAlign: 'inherit',\n borderRadius: 'inherit',\n // for Safari to work https://github.com/mui/material-ui/issues/36285.\n width: '100%',\n [`&:hover .${cardActionAreaClasses.focusHighlight}`]: {\n opacity: (theme.vars || theme).palette.action.hoverOpacity,\n '@media (hover: none)': {\n opacity: 0\n }\n },\n [`&.${cardActionAreaClasses.focusVisible} .${cardActionAreaClasses.focusHighlight}`]: {\n opacity: (theme.vars || theme).palette.action.focusOpacity\n }\n})));\nconst CardActionAreaFocusHighlight = styled('span', {\n name: 'MuiCardActionArea',\n slot: 'FocusHighlight',\n overridesResolver: (props, styles) => styles.focusHighlight\n})(memoTheme(({\n theme\n}) => ({\n overflow: 'hidden',\n pointerEvents: 'none',\n position: 'absolute',\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n borderRadius: 'inherit',\n opacity: 0,\n backgroundColor: 'currentcolor',\n transition: theme.transitions.create('opacity', {\n duration: theme.transitions.duration.short\n })\n})));\nconst CardActionArea = /*#__PURE__*/React.forwardRef(function CardActionArea(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardActionArea'\n });\n const {\n children,\n className,\n focusVisibleClassName,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: CardActionAreaRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n shouldForwardComponentProp: true,\n ownerState,\n ref,\n className: clsx(classes.root, className),\n additionalProps: {\n focusVisibleClassName: clsx(focusVisibleClassName, classes.focusVisible)\n }\n });\n const [FocusHighlightSlot, focusHighlightProps] = useSlot('focusHighlight', {\n elementType: CardActionAreaFocusHighlight,\n externalForwardedProps,\n ownerState,\n ref,\n className: classes.focusHighlight\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [children, /*#__PURE__*/_jsx(FocusHighlightSlot, {\n ...focusHighlightProps\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CardActionArea.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n focusHighlight: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n focusHighlight: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardActionArea;","/**\n * CardActionArea Component\n *\n * CardActionArea component for the MRS Design System.\n * Wraps Material-UI CardActionArea - provides an actionable area within a Card.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-action-area/}\n */\n\nimport React from 'react';\nimport MuiCardActionArea from '@mui/material/CardActionArea';\nimport type { CardActionAreaProps } from './Card.types';\n\n/**\n * CardActionArea component\n *\n * Provides an actionable area within a Card. It's typically used to wrap\n * the main content of a Card to make the entire Card clickable.\n *\n * @param props - CardActionArea component props\n * @returns CardActionArea component\n */\nexport const CardActionArea = React.forwardRef<HTMLButtonElement, CardActionAreaProps>(\n ({ children, disabled = false, sx, ...props }, ref) => {\n return (\n <MuiCardActionArea\n ref={ref}\n disabled={disabled}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCardActionArea>\n );\n }\n);\n\nCardActionArea.displayName = 'CardActionArea';\n\nexport default CardActionArea;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardActionsUtilityClass(slot) {\n return generateUtilityClass('MuiCardActions', slot);\n}\nconst cardActionsClasses = generateUtilityClasses('MuiCardActions', ['root', 'spacing']);\nexport default cardActionsClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getCardActionsUtilityClass } from \"./cardActionsClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n disableSpacing\n } = ownerState;\n const slots = {\n root: ['root', !disableSpacing && 'spacing']\n };\n return composeClasses(slots, getCardActionsUtilityClass, classes);\n};\nconst CardActionsRoot = styled('div', {\n name: 'MuiCardActions',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, !ownerState.disableSpacing && styles.spacing];\n }\n})({\n display: 'flex',\n alignItems: 'center',\n padding: 8,\n variants: [{\n props: {\n disableSpacing: false\n },\n style: {\n '& > :not(style) ~ :not(style)': {\n marginLeft: 8\n }\n }\n }]\n});\nconst CardActions = /*#__PURE__*/React.forwardRef(function CardActions(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardActions'\n });\n const {\n disableSpacing = false,\n className,\n ...other\n } = props;\n const ownerState = {\n ...props,\n disableSpacing\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardActionsRoot, {\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CardActions.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * If `true`, the actions do not have additional margin.\n * @default false\n */\n disableSpacing: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardActions;","/**\n * CardActions Component\n *\n * CardActions component for the MRS Design System.\n * Wraps Material-UI CardActions - provides an action area for Card buttons/actions.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-actions/}\n */\n\nimport React from 'react';\nimport MuiCardActions from '@mui/material/CardActions';\nimport type { CardActionsProps } from './Card.types';\n\n/**\n * CardActions component\n *\n * Provides an area for action buttons or other interactive elements within a Card.\n * Typically placed at the bottom of a Card.\n *\n * @param props - CardActions component props\n * @returns CardActions component\n */\nexport const CardActions = React.forwardRef<HTMLDivElement, CardActionsProps>(\n ({ children, disableSpacing = false, sx, ...props }, ref) => {\n return (\n <MuiCardActions\n ref={ref}\n disableSpacing={disableSpacing}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCardActions>\n );\n }\n);\n\nCardActions.displayName = 'CardActions';\n\nexport default CardActions;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardContentUtilityClass(slot) {\n return generateUtilityClass('MuiCardContent', slot);\n}\nconst cardContentClasses = generateUtilityClasses('MuiCardContent', ['root']);\nexport default cardContentClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getCardContentUtilityClass } from \"./cardContentClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root']\n };\n return composeClasses(slots, getCardContentUtilityClass, classes);\n};\nconst CardContentRoot = styled('div', {\n name: 'MuiCardContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})({\n padding: 16,\n '&:last-child': {\n paddingBottom: 24\n }\n});\nconst CardContent = /*#__PURE__*/React.forwardRef(function CardContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardContent'\n });\n const {\n className,\n component = 'div',\n ...other\n } = props;\n const ownerState = {\n ...props,\n component\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardContentRoot, {\n as: component,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CardContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardContent;","/**\n * CardContent Component\n *\n * CardContent component for the MRS Design System.\n * Wraps Material-UI CardContent - provides the main content area for a Card.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-content/}\n */\n\nimport React from 'react';\nimport MuiCardContent from '@mui/material/CardContent';\nimport type { CardContentProps } from './Card.types';\n\n/**\n * CardContent component\n *\n * Provides the main content area within a Card. Adds padding and spacing\n * according to Material Design specifications.\n *\n * @param props - CardContent component props\n * @returns CardContent component\n */\nexport const CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n ({ children, component = 'div', sx, ...props }, ref) => {\n return (\n <MuiCardContent\n ref={ref}\n component={component}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCardContent>\n );\n }\n);\n\nCardContent.displayName = 'CardContent';\n\nexport default CardContent;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardHeaderUtilityClass(slot) {\n return generateUtilityClass('MuiCardHeader', slot);\n}\nconst cardHeaderClasses = generateUtilityClasses('MuiCardHeader', ['root', 'avatar', 'action', 'content', 'title', 'subheader']);\nexport default cardHeaderClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport Typography, { typographyClasses } from \"../Typography/index.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport cardHeaderClasses, { getCardHeaderUtilityClass } from \"./cardHeaderClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n avatar: ['avatar'],\n action: ['action'],\n content: ['content'],\n title: ['title'],\n subheader: ['subheader']\n };\n return composeClasses(slots, getCardHeaderUtilityClass, classes);\n};\nconst CardHeaderRoot = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n return [{\n [`& .${cardHeaderClasses.title}`]: styles.title\n }, {\n [`& .${cardHeaderClasses.subheader}`]: styles.subheader\n }, styles.root];\n }\n})({\n display: 'flex',\n alignItems: 'center',\n padding: 16\n});\nconst CardHeaderAvatar = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Avatar',\n overridesResolver: (props, styles) => styles.avatar\n})({\n display: 'flex',\n flex: '0 0 auto',\n marginRight: 16\n});\nconst CardHeaderAction = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n flex: '0 0 auto',\n alignSelf: 'flex-start',\n marginTop: -4,\n marginRight: -8,\n marginBottom: -4\n});\nconst CardHeaderContent = styled('div', {\n name: 'MuiCardHeader',\n slot: 'Content',\n overridesResolver: (props, styles) => styles.content\n})({\n flex: '1 1 auto',\n [`.${typographyClasses.root}:where(& .${cardHeaderClasses.title})`]: {\n display: 'block'\n },\n [`.${typographyClasses.root}:where(& .${cardHeaderClasses.subheader})`]: {\n display: 'block'\n }\n});\nconst CardHeader = /*#__PURE__*/React.forwardRef(function CardHeader(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardHeader'\n });\n const {\n action,\n avatar,\n component = 'div',\n disableTypography = false,\n subheader: subheaderProp,\n subheaderTypographyProps,\n title: titleProp,\n titleTypographyProps,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const ownerState = {\n ...props,\n component,\n disableTypography\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps: {\n title: titleTypographyProps,\n subheader: subheaderTypographyProps,\n ...slotProps\n }\n };\n let title = titleProp;\n const [TitleSlot, titleSlotProps] = useSlot('title', {\n className: classes.title,\n elementType: Typography,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n variant: avatar ? 'body2' : 'h5',\n component: 'span'\n }\n });\n if (title != null && title.type !== Typography && !disableTypography) {\n title = /*#__PURE__*/_jsx(TitleSlot, {\n ...titleSlotProps,\n children: title\n });\n }\n let subheader = subheaderProp;\n const [SubheaderSlot, subheaderSlotProps] = useSlot('subheader', {\n className: classes.subheader,\n elementType: Typography,\n externalForwardedProps,\n ownerState,\n additionalProps: {\n variant: avatar ? 'body2' : 'body1',\n color: 'textSecondary',\n component: 'span'\n }\n });\n if (subheader != null && subheader.type !== Typography && !disableTypography) {\n subheader = /*#__PURE__*/_jsx(SubheaderSlot, {\n ...subheaderSlotProps,\n children: subheader\n });\n }\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref,\n className: classes.root,\n elementType: CardHeaderRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other,\n component\n },\n ownerState\n });\n const [AvatarSlot, avatarSlotProps] = useSlot('avatar', {\n className: classes.avatar,\n elementType: CardHeaderAvatar,\n externalForwardedProps,\n ownerState\n });\n const [ContentSlot, contentSlotProps] = useSlot('content', {\n className: classes.content,\n elementType: CardHeaderContent,\n externalForwardedProps,\n ownerState\n });\n const [ActionSlot, actionSlotProps] = useSlot('action', {\n className: classes.action,\n elementType: CardHeaderAction,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [avatar && /*#__PURE__*/_jsx(AvatarSlot, {\n ...avatarSlotProps,\n children: avatar\n }), /*#__PURE__*/_jsxs(ContentSlot, {\n ...contentSlotProps,\n children: [title, subheader]\n }), action && /*#__PURE__*/_jsx(ActionSlot, {\n ...actionSlotProps,\n children: action\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CardHeader.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display in the card header.\n */\n action: PropTypes.node,\n /**\n * The Avatar element to display.\n */\n avatar: PropTypes.node,\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, `subheader` and `title` won't be wrapped by a Typography component.\n * This can be useful to render an alternative Typography variant by wrapping\n * the `title` text, and optional `subheader` text\n * with the Typography component.\n * @default false\n */\n disableTypography: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n action: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n avatar: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n content: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n subheader: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n title: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n action: PropTypes.elementType,\n avatar: PropTypes.elementType,\n content: PropTypes.elementType,\n root: PropTypes.elementType,\n subheader: PropTypes.elementType,\n title: PropTypes.elementType\n }),\n /**\n * The content of the component.\n */\n subheader: PropTypes.node,\n /**\n * These props will be forwarded to the subheader\n * (as long as disableTypography is not `true`).\n * @deprecated Use `slotProps.subheader` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n subheaderTypographyProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The content of the component.\n */\n title: PropTypes.node,\n /**\n * These props will be forwarded to the title\n * (as long as disableTypography is not `true`).\n * @deprecated Use `slotProps.title` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n titleTypographyProps: PropTypes.object\n} : void 0;\nexport default CardHeader;","/**\n * CardHeader Component\n *\n * CardHeader component for the MRS Design System.\n * Wraps Material-UI CardHeader - provides a header area for a Card with avatar, title, subheader, and action.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-header/}\n */\n\nimport React from 'react';\nimport MuiCardHeader from '@mui/material/CardHeader';\nimport type { CardHeaderProps } from './Card.types';\n\n/**\n * CardHeader component\n *\n * Provides a header area within a Card. Supports an optional avatar,\n * title, subheader, and action elements.\n *\n * @param props - CardHeader component props\n * @returns CardHeader component\n */\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(\n (\n {\n action,\n avatar,\n component = 'div',\n disableTypography = false,\n subheader,\n subheaderTypographyProps,\n title,\n titleTypographyProps,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiCardHeader\n ref={ref}\n action={action}\n avatar={avatar}\n component={component}\n disableTypography={disableTypography}\n subheader={subheader}\n subheaderTypographyProps={subheaderTypographyProps}\n title={title}\n titleTypographyProps={titleTypographyProps}\n sx={{\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nCardHeader.displayName = 'CardHeader';\n\nexport default CardHeader;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getCardMediaUtilityClass(slot) {\n return generateUtilityClass('MuiCardMedia', slot);\n}\nconst cardMediaClasses = generateUtilityClasses('MuiCardMedia', ['root', 'media', 'img']);\nexport default cardMediaClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getCardMediaUtilityClass } from \"./cardMediaClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n isMediaComponent,\n isImageComponent\n } = ownerState;\n const slots = {\n root: ['root', isMediaComponent && 'media', isImageComponent && 'img']\n };\n return composeClasses(slots, getCardMediaUtilityClass, classes);\n};\nconst CardMediaRoot = styled('div', {\n name: 'MuiCardMedia',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n const {\n isMediaComponent,\n isImageComponent\n } = ownerState;\n return [styles.root, isMediaComponent && styles.media, isImageComponent && styles.img];\n }\n})({\n display: 'block',\n backgroundSize: 'cover',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n variants: [{\n props: {\n isMediaComponent: true\n },\n style: {\n width: '100%'\n }\n }, {\n props: {\n isImageComponent: true\n },\n style: {\n objectFit: 'cover'\n }\n }]\n});\nconst MEDIA_COMPONENTS = ['video', 'audio', 'picture', 'iframe', 'img'];\nconst IMAGE_COMPONENTS = ['picture', 'img'];\nconst CardMedia = /*#__PURE__*/React.forwardRef(function CardMedia(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiCardMedia'\n });\n const {\n children,\n className,\n component = 'div',\n image,\n src,\n style,\n ...other\n } = props;\n const isMediaComponent = MEDIA_COMPONENTS.includes(component);\n const composedStyle = !isMediaComponent && image ? {\n backgroundImage: `url(\"${image}\")`,\n ...style\n } : style;\n const ownerState = {\n ...props,\n component,\n isMediaComponent,\n isImageComponent: IMAGE_COMPONENTS.includes(component)\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(CardMediaRoot, {\n className: clsx(classes.root, className),\n as: component,\n role: !isMediaComponent && image ? 'img' : undefined,\n ref: ref,\n style: composedStyle,\n ownerState: ownerState,\n src: isMediaComponent ? image || src : undefined,\n ...other,\n children: children\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? CardMedia.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: chainPropTypes(PropTypes.node, props => {\n if (!props.children && !props.image && !props.src && !props.component) {\n return new Error('MUI: Either `children`, `image`, `src` or `component` prop must be specified.');\n }\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * Image to be displayed as a background image.\n * Either `image` or `src` prop must be specified.\n * Note that caller must specify height otherwise the image will not be visible.\n */\n image: PropTypes.string,\n /**\n * An alias for `image` property.\n * Available only with media components.\n * Media components: `video`, `audio`, `picture`, `iframe`, `img`.\n */\n src: PropTypes.string,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default CardMedia;","/**\n * CardMedia Component\n *\n * CardMedia component for the MRS Design System.\n * Wraps Material-UI CardMedia - displays media (images, video, etc.) within a Card.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-media/}\n */\n\nimport React from 'react';\nimport MuiCardMedia from '@mui/material/CardMedia';\nimport type { CardMediaProps } from './Card.types';\n\n/**\n * CardMedia component\n *\n * Displays media content within a Card. Can be used for images, videos,\n * or other media types. Supports both background images and direct media elements.\n *\n * @param props - CardMedia component props\n * @returns CardMedia component\n */\nexport const CardMedia = React.forwardRef<HTMLDivElement, CardMediaProps>(\n ({ component = 'div', image, src, sx, ...props }, ref) => {\n return (\n <MuiCardMedia\n ref={ref}\n component={component}\n image={image}\n src={src}\n sx={{\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nCardMedia.displayName = 'CardMedia';\n\nexport default CardMedia;\n","/**\n * List Component\n *\n * List component for the MRS Design System.\n * Wraps Material-UI List with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=11566-157133&m=dev\n * @see {@link https://mui.com/material-ui/react-list/}\n */\n\nimport React from 'react';\nimport MuiList from '@mui/material/List';\nimport type { ListProps } from './List.types';\n\n/**\n * List component\n *\n * Lists are continuous, vertical indexes of text or images.\n * They are composed of items containing primary and supplemental actions.\n *\n * @param props - List component props\n * @returns List component\n */\nexport const List = React.forwardRef<HTMLUListElement, ListProps>(\n (\n {\n children,\n dense = false,\n disablePadding = false,\n subheader,\n component = 'ul',\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiList\n ref={ref}\n dense={dense}\n disablePadding={disablePadding}\n subheader={subheader}\n component={component}\n sx={sx}\n {...restProps}\n >\n {children}\n </MuiList>\n );\n }\n);\n\nList.displayName = 'List';\n","/**\n * ListItem Component\n *\n * ListItem component for the MRS Design System.\n * Wraps Material-UI ListItem and ListItemButton with custom theme tokens.\n *\n * Based on Figma design specifications with all variants and states.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6591-48882&m=dev\n * @see {@link https://mui.com/material-ui/react-list/}\n */\n\nimport React from 'react';\nimport MuiListItem from '@mui/material/ListItem';\nimport MuiListItemButton from '@mui/material/ListItemButton';\nimport { alpha, useTheme } from '@mui/material/styles';\nimport type { ListItemProps } from './ListItem.types';\nimport { getThemeShape } from '../../../types/theme-helpers';\n\n/**\n * ListItem component\n *\n * ListItem is an interactive list item component by default.\n * When button prop is true (default), it wraps children with ListItemButton for interactivity.\n *\n * Key features:\n * - Interactive by default with hover, focus, and selected states\n * - Selected state uses SemiBold font and primary.dark color\n * - Dense mode for compact layouts\n * - Support for icons, secondary text, and actions\n *\n * @param props - ListItem component props\n * @returns ListItem component\n */\n// Use HTMLElement to remain compatible with polymorphic `component` prop.\nexport const ListItem = React.forwardRef<HTMLElement, ListItemProps>(\n (\n {\n children,\n button = true,\n dense = false,\n disableGutters = false,\n divider = false,\n disablePadding = false,\n secondaryAction,\n alignItems = 'center',\n selected = false,\n disabled = false,\n autoFocus = false,\n onClick,\n component,\n sx,\n ...restProps\n },\n ref\n ) => {\n const theme = useTheme();\n const shape = getThemeShape(theme);\n const hoverColor =\n theme.palette.primary._states?.hover ?? alpha(theme.palette.primary.main, 0.08);\n const focusColor =\n theme.palette.primary._states?.focus ?? alpha(theme.palette.primary.main, 0.12);\n const selectedColor =\n theme.palette.primary._states?.selected ?? alpha(theme.palette.primary.main, 0.12);\n\n // If button is true, use ListItemButton wrapper for interactivity\n if (button) {\n return (\n <MuiListItem\n ref={ref as React.Ref<HTMLLIElement>}\n dense={dense}\n disableGutters={disableGutters}\n divider={divider}\n disablePadding={disablePadding}\n secondaryAction={secondaryAction}\n {...(component && { component })}\n sx={sx}\n {...restProps}\n >\n <MuiListItemButton\n selected={selected}\n disabled={disabled}\n autoFocus={autoFocus}\n onClick={onClick}\n alignItems={alignItems}\n sx={{\n // Hover/press/focus styling aligned with tokens\n '&:hover': {\n backgroundColor: hoverColor,\n },\n '&:active': {\n backgroundColor: selectedColor,\n },\n '&.Mui-focusVisible': {\n outline: `3px solid ${focusColor}`,\n outlineOffset: 0,\n borderRadius: shape.sm, // Use type-safe helper (4px)\n },\n // Selected state: Apply SemiBold weight and primary.dark color to text\n '&.Mui-selected': {\n backgroundColor: selectedColor,\n '&:hover': {\n backgroundColor: hoverColor,\n },\n },\n ...(selected && {\n '& .MuiListItemText-primary': {\n fontFamily: theme.typography.subtitle1.fontFamily,\n fontWeight: theme.typography.subtitle1.fontWeight,\n color: theme.palette.primary.dark,\n },\n }),\n }}\n >\n {children}\n </MuiListItemButton>\n </MuiListItem>\n );\n }\n\n // Otherwise, use standard ListItem (static, non-interactive)\n return (\n <MuiListItem\n ref={ref as React.Ref<HTMLLIElement>}\n dense={dense}\n disableGutters={disableGutters}\n divider={divider}\n disablePadding={disablePadding}\n secondaryAction={secondaryAction}\n alignItems={alignItems}\n {...(component && { component })}\n sx={sx}\n {...restProps}\n >\n {children}\n </MuiListItem>\n );\n }\n);\n\nListItem.displayName = 'ListItem';\n","/**\n * Menu Component\n * @package @mrs/ui\n *\n * Displays a list of choices on temporary surfaces.\n * Menus appear when users interact with a button, action, or other control.\n *\n * @example\n * ```tsx\n * const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n *\n * <Button onClick={(e) => setAnchorEl(e.currentTarget)}>\n * Open Menu\n * </Button>\n * <Menu\n * open={Boolean(anchorEl)}\n * anchorEl={anchorEl}\n * onClose={() => setAnchorEl(null)}\n * >\n * <MenuItem onClick={() => setAnchorEl(null)}>Profile</MenuItem>\n * <MenuItem onClick={() => setAnchorEl(null)}>Settings</MenuItem>\n * </Menu>\n * ```\n */\n\nimport React from 'react';\nimport MuiMenu from '@mui/material/Menu';\nimport type { MenuProps } from './Menu.types';\n\nexport const Menu = React.forwardRef<HTMLDivElement, MenuProps>(\n (\n {\n open,\n anchorEl,\n onClose,\n children,\n anchorOrigin = { vertical: 'top', horizontal: 'left' },\n transformOrigin = { vertical: 'top', horizontal: 'left' },\n autoFocus = false,\n MenuListProps,\n variant = 'selectedMenu',\n ...props\n },\n ref\n ) => {\n return (\n <MuiMenu\n ref={ref}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={anchorOrigin}\n transformOrigin={transformOrigin}\n autoFocus={autoFocus}\n MenuListProps={MenuListProps}\n variant={variant}\n {...props}\n >\n {children}\n </MuiMenu>\n );\n }\n);\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaginationUtilityClass(slot) {\n return generateUtilityClass('MuiPagination', slot);\n}\nconst paginationClasses = generateUtilityClasses('MuiPagination', ['root', 'ul', 'outlined', 'text']);\nexport default paginationClasses;","'use client';\n\nimport useControlled from '@mui/utils/useControlled';\nexport default function usePagination(props = {}) {\n // keep default values in sync with @default tags in Pagination.propTypes\n const {\n boundaryCount = 1,\n componentName = 'usePagination',\n count = 1,\n defaultPage = 1,\n disabled = false,\n hideNextButton = false,\n hidePrevButton = false,\n onChange: handleChange,\n page: pageProp,\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1,\n ...other\n } = props;\n const [page, setPageState] = useControlled({\n controlled: pageProp,\n default: defaultPage,\n name: componentName,\n state: 'page'\n });\n const handleClick = (event, value) => {\n if (!pageProp) {\n setPageState(value);\n }\n if (handleChange) {\n handleChange(event, value);\n }\n };\n\n // https://dev.to/namirsab/comment/2050\n const range = (start, end) => {\n const length = end - start + 1;\n return Array.from({\n length\n }, (_, i) => start + i);\n };\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n const siblingsStart = Math.max(Math.min(\n // Natural start\n page - siblingCount,\n // Lower boundary when page is high\n count - boundaryCount - siblingCount * 2 - 1),\n // Greater than startPages\n boundaryCount + 2);\n const siblingsEnd = Math.min(Math.max(\n // Natural end\n page + siblingCount,\n // Upper boundary when page is low\n boundaryCount + siblingCount * 2 + 2),\n // Less than endPages\n count - boundaryCount - 1);\n\n // Basic list of items to render\n // for example itemList = ['first', 'previous', 1, 'ellipsis', 4, 5, 6, 'ellipsis', 10, 'next', 'last']\n const itemList = [...(showFirstButton ? ['first'] : []), ...(hidePrevButton ? [] : ['previous']), ...startPages,\n // Start ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsStart > boundaryCount + 2 ? ['start-ellipsis'] : boundaryCount + 1 < count - boundaryCount ? [boundaryCount + 1] : []),\n // Sibling pages\n ...range(siblingsStart, siblingsEnd),\n // End ellipsis\n // eslint-disable-next-line no-nested-ternary\n ...(siblingsEnd < count - boundaryCount - 1 ? ['end-ellipsis'] : count - boundaryCount > boundaryCount ? [count - boundaryCount] : []), ...endPages, ...(hideNextButton ? [] : ['next']), ...(showLastButton ? ['last'] : [])];\n\n // Map the button type to its page number\n const buttonPage = type => {\n switch (type) {\n case 'first':\n return 1;\n case 'previous':\n return page - 1;\n case 'next':\n return page + 1;\n case 'last':\n return count;\n default:\n return null;\n }\n };\n\n // Convert the basic item list to PaginationItem props objects\n const items = itemList.map(item => {\n return typeof item === 'number' ? {\n onClick: event => {\n handleClick(event, item);\n },\n type: 'page',\n page: item,\n selected: item === page,\n disabled,\n 'aria-current': item === page ? 'page' : undefined\n } : {\n onClick: event => {\n handleClick(event, buttonPage(item));\n },\n type: item,\n page: buttonPage(item),\n selected: false,\n disabled: disabled || !item.includes('ellipsis') && (item === 'next' || item === 'last' ? page >= count : page <= 1)\n };\n });\n return {\n items,\n ...other\n };\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getPaginationItemUtilityClass(slot) {\n return generateUtilityClass('MuiPaginationItem', slot);\n}\nconst paginationItemClasses = generateUtilityClasses('MuiPaginationItem', ['root', 'page', 'sizeSmall', 'sizeLarge', 'text', 'textPrimary', 'textSecondary', 'outlined', 'outlinedPrimary', 'outlinedSecondary', 'rounded', 'ellipsis', 'firstLast', 'previousNext', 'focusVisible', 'disabled', 'selected', 'icon', 'colorPrimary', 'colorSecondary']);\nexport default paginationItemClasses;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M18.41 16.59L13.82 12l4.59-4.59L17 6l-6 6 6 6zM6 6h2v12H6z\"\n}), 'FirstPage');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M5.59 7.41L10.18 12l-4.59 4.59L7 18l6-6-6-6zM16 6h2v12h-2z\"\n}), 'LastPage');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.41 7.41L14 6l-6 6 6 6 1.41-1.41L10.83 12z\"\n}), 'NavigateBefore');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z\"\n}), 'NavigateNext');","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { alpha } from '@mui/system/colorManipulator';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport paginationItemClasses, { getPaginationItemUtilityClass } from \"./paginationItemClasses.js\";\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport FirstPageIcon from \"../internal/svg-icons/FirstPage.js\";\nimport LastPageIcon from \"../internal/svg-icons/LastPage.js\";\nimport NavigateBeforeIcon from \"../internal/svg-icons/NavigateBefore.js\";\nimport NavigateNextIcon from \"../internal/svg-icons/NavigateNext.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst overridesResolver = (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.variant === 'text' && styles[`text${capitalize(ownerState.color)}`], ownerState.variant === 'outlined' && styles[`outlined${capitalize(ownerState.color)}`], ownerState.shape === 'rounded' && styles.rounded, ownerState.type === 'page' && styles.page, (ownerState.type === 'start-ellipsis' || ownerState.type === 'end-ellipsis') && styles.ellipsis, (ownerState.type === 'previous' || ownerState.type === 'next') && styles.previousNext, (ownerState.type === 'first' || ownerState.type === 'last') && styles.firstLast];\n};\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n color,\n disabled,\n selected,\n size,\n shape,\n type,\n variant\n } = ownerState;\n const slots = {\n root: ['root', `size${capitalize(size)}`, variant, shape, color !== 'standard' && `color${capitalize(color)}`, color !== 'standard' && `${variant}${capitalize(color)}`, disabled && 'disabled', selected && 'selected', {\n page: 'page',\n first: 'firstLast',\n last: 'firstLast',\n 'start-ellipsis': 'ellipsis',\n 'end-ellipsis': 'ellipsis',\n previous: 'previousNext',\n next: 'previousNext'\n }[type]],\n icon: ['icon']\n };\n return composeClasses(slots, getPaginationItemUtilityClass, classes);\n};\nconst PaginationItemEllipsis = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.body2,\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n height: 'auto',\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n minWidth: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n }\n }, {\n props: {\n size: 'large'\n },\n style: {\n minWidth: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n }\n }]\n})));\nconst PaginationItemPage = styled(ButtonBase, {\n name: 'MuiPaginationItem',\n slot: 'Root',\n overridesResolver\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.body2,\n borderRadius: 32 / 2,\n textAlign: 'center',\n boxSizing: 'border-box',\n minWidth: 32,\n height: 32,\n padding: '0 6px',\n margin: '0 3px',\n color: (theme.vars || theme).palette.text.primary,\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette.action.focus\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity\n },\n transition: theme.transitions.create(['color', 'background-color'], {\n duration: theme.transitions.duration.short\n }),\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.selected}`]: {\n backgroundColor: (theme.vars || theme).palette.action.selected,\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.hoverOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.hoverOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette.action.selectedChannel} / calc(${theme.vars.palette.action.selectedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette.action.selected, theme.palette.action.selectedOpacity + theme.palette.action.focusOpacity)\n },\n [`&.${paginationItemClasses.disabled}`]: {\n opacity: 1,\n color: (theme.vars || theme).palette.action.disabled,\n backgroundColor: (theme.vars || theme).palette.action.selected\n }\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n minWidth: 26,\n height: 26,\n borderRadius: 26 / 2,\n margin: '0 1px',\n padding: '0 4px'\n }\n }, {\n props: {\n size: 'large'\n },\n style: {\n minWidth: 40,\n height: 40,\n borderRadius: 40 / 2,\n padding: '0 10px',\n fontSize: theme.typography.pxToRem(15)\n }\n }, {\n props: {\n shape: 'rounded'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n border: theme.vars ? `1px solid rgba(${theme.vars.palette.common.onBackgroundChannel} / 0.23)` : `1px solid ${theme.palette.mode === 'light' ? 'rgba(0, 0, 0, 0.23)' : 'rgba(255, 255, 255, 0.23)'}`,\n [`&.${paginationItemClasses.selected}`]: {\n [`&.${paginationItemClasses.disabled}`]: {\n borderColor: (theme.vars || theme).palette.action.disabledBackground,\n color: (theme.vars || theme).palette.action.disabled\n }\n }\n }\n }, {\n props: {\n variant: 'text'\n },\n style: {\n [`&.${paginationItemClasses.selected}`]: {\n [`&.${paginationItemClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n }\n }\n }, ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark', 'contrastText'])).map(([color]) => ({\n props: {\n variant: 'text',\n color\n },\n style: {\n [`&.${paginationItemClasses.selected}`]: {\n color: (theme.vars || theme).palette[color].contrastText,\n backgroundColor: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette[color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: (theme.vars || theme).palette[color].dark\n },\n [`&.${paginationItemClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n }\n }\n }\n })), ...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['light'])).map(([color]) => ({\n props: {\n variant: 'outlined',\n color\n },\n style: {\n [`&.${paginationItemClasses.selected}`]: {\n color: (theme.vars || theme).palette[color].main,\n border: `1px solid ${theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / 0.5)` : alpha(theme.palette[color].main, 0.5)}`,\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / ${theme.vars.palette.action.activatedOpacity})` : alpha(theme.palette[color].main, theme.palette.action.activatedOpacity),\n '&:hover': {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity),\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n },\n [`&.${paginationItemClasses.focusVisible}`]: {\n backgroundColor: theme.vars ? `rgba(${theme.vars.palette[color].mainChannel} / calc(${theme.vars.palette.action.activatedOpacity} + ${theme.vars.palette.action.focusOpacity}))` : alpha(theme.palette[color].main, theme.palette.action.activatedOpacity + theme.palette.action.focusOpacity)\n }\n }\n }\n }))]\n})));\nconst PaginationItemPageIcon = styled('div', {\n name: 'MuiPaginationItem',\n slot: 'Icon',\n overridesResolver: (props, styles) => styles.icon\n})(memoTheme(({\n theme\n}) => ({\n fontSize: theme.typography.pxToRem(20),\n margin: '0 -8px',\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n fontSize: theme.typography.pxToRem(18)\n }\n }, {\n props: {\n size: 'large'\n },\n style: {\n fontSize: theme.typography.pxToRem(22)\n }\n }]\n})));\nconst PaginationItem = /*#__PURE__*/React.forwardRef(function PaginationItem(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPaginationItem'\n });\n const {\n className,\n color = 'standard',\n component,\n components = {},\n disabled = false,\n page,\n selected = false,\n shape = 'circular',\n size = 'medium',\n slots = {},\n slotProps = {},\n type = 'page',\n variant = 'text',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n disabled,\n selected,\n shape,\n size,\n type,\n variant\n };\n const isRtl = useRtl();\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots: {\n previous: slots.previous ?? components.previous,\n next: slots.next ?? components.next,\n first: slots.first ?? components.first,\n last: slots.last ?? components.last\n },\n slotProps\n };\n const [PreviousSlot, previousSlotProps] = useSlot('previous', {\n elementType: NavigateBeforeIcon,\n externalForwardedProps,\n ownerState\n });\n const [NextSlot, nextSlotProps] = useSlot('next', {\n elementType: NavigateNextIcon,\n externalForwardedProps,\n ownerState\n });\n const [FirstSlot, firstSlotProps] = useSlot('first', {\n elementType: FirstPageIcon,\n externalForwardedProps,\n ownerState\n });\n const [LastSlot, lastSlotProps] = useSlot('last', {\n elementType: LastPageIcon,\n externalForwardedProps,\n ownerState\n });\n const rtlAwareType = isRtl ? {\n previous: 'next',\n next: 'previous',\n first: 'last',\n last: 'first'\n }[type] : type;\n const IconSlot = {\n previous: PreviousSlot,\n next: NextSlot,\n first: FirstSlot,\n last: LastSlot\n }[rtlAwareType];\n const iconSlotProps = {\n previous: previousSlotProps,\n next: nextSlotProps,\n first: firstSlotProps,\n last: lastSlotProps\n }[rtlAwareType];\n return type === 'start-ellipsis' || type === 'end-ellipsis' ? /*#__PURE__*/_jsx(PaginationItemEllipsis, {\n ref: ref,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n children: \"\\u2026\"\n }) : /*#__PURE__*/_jsxs(PaginationItemPage, {\n ref: ref,\n ownerState: ownerState,\n component: component,\n disabled: disabled,\n className: clsx(classes.root, className),\n ...other,\n children: [type === 'page' && page, IconSlot ? /*#__PURE__*/_jsx(PaginationItemPageIcon, {\n ...iconSlotProps,\n className: classes.icon,\n as: IconSlot\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? PaginationItem.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The components used for each slot inside.\n *\n * This prop is an alias for the `slots` prop.\n * It's recommended to use the `slots` prop instead.\n *\n * @default {}\n * @deprecated use the `slots` 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.\n */\n components: PropTypes.shape({\n first: PropTypes.elementType,\n last: PropTypes.elementType,\n next: PropTypes.elementType,\n previous: PropTypes.elementType\n }),\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The current page number.\n */\n page: PropTypes.node,\n /**\n * If `true` the pagination item is selected.\n * @default false\n */\n selected: PropTypes.bool,\n /**\n * The shape of the pagination item.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n first: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n last: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n next: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n previous: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n first: PropTypes.elementType,\n last: PropTypes.elementType,\n next: PropTypes.elementType,\n previous: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The type of pagination item.\n * @default 'page'\n */\n type: PropTypes.oneOf(['end-ellipsis', 'first', 'last', 'next', 'page', 'previous', 'start-ellipsis']),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default PaginationItem;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport integerPropType from '@mui/utils/integerPropType';\nimport { getPaginationUtilityClass } from \"./paginationClasses.js\";\nimport usePagination from \"../usePagination/index.js\";\nimport PaginationItem from \"../PaginationItem/index.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant\n } = ownerState;\n const slots = {\n root: ['root', variant],\n ul: ['ul']\n };\n return composeClasses(slots, getPaginationUtilityClass, classes);\n};\nconst PaginationRoot = styled('nav', {\n name: 'MuiPagination',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant]];\n }\n})({});\nconst PaginationUl = styled('ul', {\n name: 'MuiPagination',\n slot: 'Ul',\n overridesResolver: (props, styles) => styles.ul\n})({\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n padding: 0,\n margin: 0,\n listStyle: 'none'\n});\nfunction defaultGetAriaLabel(type, page, selected) {\n if (type === 'page') {\n return `${selected ? '' : 'Go to '}page ${page}`;\n }\n return `Go to ${type} page`;\n}\nconst Pagination = /*#__PURE__*/React.forwardRef(function Pagination(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiPagination'\n });\n const {\n boundaryCount = 1,\n className,\n color = 'standard',\n count = 1,\n defaultPage = 1,\n disabled = false,\n getItemAriaLabel = defaultGetAriaLabel,\n hideNextButton = false,\n hidePrevButton = false,\n onChange,\n page,\n renderItem = item => /*#__PURE__*/_jsx(PaginationItem, {\n ...item\n }),\n shape = 'circular',\n showFirstButton = false,\n showLastButton = false,\n siblingCount = 1,\n size = 'medium',\n variant = 'text',\n ...other\n } = props;\n const {\n items\n } = usePagination({\n ...props,\n componentName: 'Pagination'\n });\n const ownerState = {\n ...props,\n boundaryCount,\n color,\n count,\n defaultPage,\n disabled,\n getItemAriaLabel,\n hideNextButton,\n hidePrevButton,\n renderItem,\n shape,\n showFirstButton,\n showLastButton,\n siblingCount,\n size,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(PaginationRoot, {\n \"aria-label\": \"pagination navigation\",\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other,\n children: /*#__PURE__*/_jsx(PaginationUl, {\n className: classes.ul,\n ownerState: ownerState,\n children: items.map((item, index) => /*#__PURE__*/_jsx(\"li\", {\n children: renderItem({\n ...item,\n color,\n 'aria-label': getItemAriaLabel(item.type, item.page, item.selected),\n shape,\n size,\n variant\n })\n }, index))\n })\n });\n});\n\n// @default tags synced with default values from usePagination\n\nprocess.env.NODE_ENV !== \"production\" ? Pagination.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Number of always visible pages at the beginning and end.\n * @default 1\n */\n boundaryCount: integerPropType,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The active color.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'standard'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['primary', 'secondary', 'standard']), PropTypes.string]),\n /**\n * The total number of pages.\n * @default 1\n */\n count: integerPropType,\n /**\n * The page selected by default when the component is uncontrolled.\n * @default 1\n */\n defaultPage: integerPropType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current page.\n * This is important for screen reader users.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @param {string} type The link or button type to format ('page' | 'first' | 'last' | 'next' | 'previous' | 'start-ellipsis' | 'end-ellipsis'). Defaults to 'page'.\n * @param {number | null} page The page number to format.\n * @param {boolean} selected If true, the current page is selected.\n * @returns {string}\n */\n getItemAriaLabel: PropTypes.func,\n /**\n * If `true`, hide the next-page button.\n * @default false\n */\n hideNextButton: PropTypes.bool,\n /**\n * If `true`, hide the previous-page button.\n * @default false\n */\n hidePrevButton: PropTypes.bool,\n /**\n * Callback fired when the page is changed.\n *\n * @param {React.ChangeEvent<unknown>} event The event source of the callback.\n * @param {number} page The page selected.\n */\n onChange: PropTypes.func,\n /**\n * The current page. Unlike `TablePagination`, which starts numbering from `0`, this pagination starts from `1`.\n */\n page: integerPropType,\n /**\n * Render the item.\n * @param {PaginationRenderItemParams} params The props to spread on a PaginationItem.\n * @returns {ReactNode}\n * @default (item) => <PaginationItem {...item} />\n */\n renderItem: PropTypes.func,\n /**\n * The shape of the pagination items.\n * @default 'circular'\n */\n shape: PropTypes.oneOf(['circular', 'rounded']),\n /**\n * If `true`, show the first-page button.\n * @default false\n */\n showFirstButton: PropTypes.bool,\n /**\n * If `true`, show the last-page button.\n * @default false\n */\n showLastButton: PropTypes.bool,\n /**\n * Number of always visible pages before and after the current page.\n * @default 1\n */\n siblingCount: integerPropType,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'text'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['outlined', 'text']), PropTypes.string])\n} : void 0;\nexport default Pagination;","/**\n * Pagination Component\n * @package @mrs/ui\n *\n * Enables navigation through paged content.\n * Pagination divides content into discrete pages with navigation controls.\n *\n * @example\n * ```tsx\n * const [page, setPage] = useState(1);\n *\n * <Pagination\n * count={10}\n * page={page}\n * onChange={(e, value) => setPage(value)}\n * />\n * ```\n */\n\nimport React from 'react';\nimport MuiPagination from '@mui/material/Pagination';\nimport type { PaginationProps } from './Pagination.types';\n\nexport const Pagination = React.forwardRef<HTMLElement, PaginationProps>(\n (\n {\n count,\n page = 1,\n onChange,\n variant = 'text',\n shape = 'circular',\n size = 'medium',\n color = 'standard',\n disabled = false,\n hideNextButton = false,\n hidePrevButton = false,\n showFirstButton = false,\n showLastButton = false,\n boundaryCount = 1,\n siblingCount = 1,\n ...props\n },\n ref\n ) => {\n return (\n <MuiPagination\n ref={ref}\n count={count}\n page={page}\n onChange={onChange}\n variant={variant}\n shape={shape}\n size={size}\n color={color}\n disabled={disabled}\n hideNextButton={hideNextButton}\n hidePrevButton={hidePrevButton}\n showFirstButton={showFirstButton}\n showLastButton={showLastButton}\n boundaryCount={boundaryCount}\n siblingCount={siblingCount}\n {...props}\n />\n );\n }\n);\n\nPagination.displayName = 'Pagination';\n\nexport default Pagination;\n","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\"\n}), 'Star');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M22 9.24l-7.19-.62L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21 12 17.27 18.18 21l-1.63-7.03L22 9.24zM12 15.4l-3.76 2.27 1-4.28-3.32-2.88 4.38-.38L12 6.1l1.71 4.04 4.38.38-3.32 2.88 1 4.28L12 15.4z\"\n}), 'StarBorder');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getRatingUtilityClass(slot) {\n return generateUtilityClass('MuiRating', slot);\n}\nconst ratingClasses = generateUtilityClasses('MuiRating', ['root', 'sizeSmall', 'sizeMedium', 'sizeLarge', 'readOnly', 'disabled', 'focusVisible', 'visuallyHidden', 'pristine', 'label', 'labelEmptyValueActive', 'icon', 'iconEmpty', 'iconFilled', 'iconHover', 'iconFocus', 'iconActive', 'decimal']);\nexport default ratingClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport clamp from '@mui/utils/clamp';\nimport visuallyHidden from '@mui/utils/visuallyHidden';\nimport chainPropTypes from '@mui/utils/chainPropTypes';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { useRtl } from '@mui/system/RtlProvider';\nimport isFocusVisible from '@mui/utils/isFocusVisible';\nimport { capitalize, useForkRef, useControlled, unstable_useId as useId } from \"../utils/index.js\";\nimport Star from \"../internal/svg-icons/Star.js\";\nimport StarBorder from \"../internal/svg-icons/StarBorder.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport slotShouldForwardProp from \"../styles/slotShouldForwardProp.js\";\nimport ratingClasses, { getRatingUtilityClass } from \"./ratingClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nimport { createElement as _createElement } from \"react\";\nfunction getDecimalPrecision(num) {\n const decimalPart = num.toString().split('.')[1];\n return decimalPart ? decimalPart.length : 0;\n}\nfunction roundValueToPrecision(value, precision) {\n if (value == null) {\n return value;\n }\n const nearest = Math.round(value / precision) * precision;\n return Number(nearest.toFixed(getDecimalPrecision(precision)));\n}\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n size,\n readOnly,\n disabled,\n emptyValueFocused,\n focusVisible\n } = ownerState;\n const slots = {\n root: ['root', `size${capitalize(size)}`, disabled && 'disabled', focusVisible && 'focusVisible', readOnly && 'readOnly'],\n label: ['label', 'pristine'],\n labelEmptyValue: [emptyValueFocused && 'labelEmptyValueActive'],\n icon: ['icon'],\n iconEmpty: ['iconEmpty'],\n iconFilled: ['iconFilled'],\n iconHover: ['iconHover'],\n iconFocus: ['iconFocus'],\n iconActive: ['iconActive'],\n decimal: ['decimal'],\n visuallyHidden: ['visuallyHidden']\n };\n return composeClasses(slots, getRatingUtilityClass, classes);\n};\nconst RatingRoot = styled('span', {\n name: 'MuiRating',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${ratingClasses.visuallyHidden}`]: styles.visuallyHidden\n }, styles.root, styles[`size${capitalize(ownerState.size)}`], ownerState.readOnly && styles.readOnly];\n }\n})(memoTheme(({\n theme\n}) => ({\n display: 'inline-flex',\n // Required to position the pristine input absolutely\n position: 'relative',\n fontSize: theme.typography.pxToRem(24),\n color: '#faaf00',\n cursor: 'pointer',\n textAlign: 'left',\n width: 'min-content',\n WebkitTapHighlightColor: 'transparent',\n [`&.${ratingClasses.disabled}`]: {\n opacity: (theme.vars || theme).palette.action.disabledOpacity,\n pointerEvents: 'none'\n },\n [`&.${ratingClasses.focusVisible} .${ratingClasses.iconActive}`]: {\n outline: '1px solid #999'\n },\n [`& .${ratingClasses.visuallyHidden}`]: visuallyHidden,\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n fontSize: theme.typography.pxToRem(18)\n }\n }, {\n props: {\n size: 'large'\n },\n style: {\n fontSize: theme.typography.pxToRem(30)\n }\n }, {\n // TODO v6: use the .Mui-readOnly global state class\n props: ({\n ownerState\n }) => ownerState.readOnly,\n style: {\n pointerEvents: 'none'\n }\n }]\n})));\nconst RatingLabel = styled('label', {\n name: 'MuiRating',\n slot: 'Label',\n overridesResolver: ({\n ownerState\n }, styles) => [styles.label, ownerState.emptyValueFocused && styles.labelEmptyValueActive]\n})({\n cursor: 'inherit',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.emptyValueFocused,\n style: {\n top: 0,\n bottom: 0,\n position: 'absolute',\n outline: '1px solid #999',\n width: '100%'\n }\n }]\n});\nconst RatingIcon = styled('span', {\n name: 'MuiRating',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.iconEmpty && styles.iconEmpty, ownerState.iconFilled && styles.iconFilled, ownerState.iconHover && styles.iconHover, ownerState.iconFocus && styles.iconFocus, ownerState.iconActive && styles.iconActive];\n }\n})(memoTheme(({\n theme\n}) => ({\n // Fit wrapper to actual icon size.\n display: 'flex',\n transition: theme.transitions.create('transform', {\n duration: theme.transitions.duration.shortest\n }),\n // Fix mouseLeave issue.\n // https://github.com/facebook/react/issues/4492\n pointerEvents: 'none',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.iconActive,\n style: {\n transform: 'scale(1.2)'\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.iconEmpty,\n style: {\n color: (theme.vars || theme).palette.action.disabled\n }\n }]\n})));\nconst RatingDecimal = styled('span', {\n name: 'MuiRating',\n slot: 'Decimal',\n shouldForwardProp: prop => slotShouldForwardProp(prop) && prop !== 'iconActive',\n overridesResolver: (props, styles) => {\n const {\n iconActive\n } = props;\n return [styles.decimal, iconActive && styles.iconActive];\n }\n})({\n position: 'relative',\n variants: [{\n props: ({\n iconActive\n }) => iconActive,\n style: {\n transform: 'scale(1.2)'\n }\n }]\n});\nfunction IconContainer(props) {\n const {\n value,\n ...other\n } = props;\n return /*#__PURE__*/_jsx(\"span\", {\n ...other\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? IconContainer.propTypes = {\n value: PropTypes.number.isRequired\n} : void 0;\nfunction RatingItem(props) {\n const {\n classes,\n disabled,\n emptyIcon,\n focus,\n getLabelText,\n highlightSelectedOnly,\n hover,\n icon,\n IconContainerComponent,\n isActive,\n itemValue,\n labelProps,\n name,\n onBlur,\n onChange,\n onClick,\n onFocus,\n readOnly,\n ownerState,\n ratingValue,\n ratingValueRounded,\n slots = {},\n slotProps = {}\n } = props;\n const isFilled = highlightSelectedOnly ? itemValue === ratingValue : itemValue <= ratingValue;\n const isHovered = itemValue <= hover;\n const isFocused = itemValue <= focus;\n const isChecked = itemValue === ratingValueRounded;\n\n // \"name\" ensures unique IDs across different Rating components in React 17,\n // preventing one component from affecting another. React 18's useId already handles this.\n // Update to const id = useId(); when React 17 support is dropped.\n // More details: https://github.com/mui/material-ui/issues/40997\n const id = `${name}-${useId()}`;\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [IconSlot, iconSlotProps] = useSlot('icon', {\n elementType: RatingIcon,\n className: clsx(classes.icon, isFilled ? classes.iconFilled : classes.iconEmpty, isHovered && classes.iconHover, isFocused && classes.iconFocus, isActive && classes.iconActive),\n externalForwardedProps,\n ownerState: {\n ...ownerState,\n iconEmpty: !isFilled,\n iconFilled: isFilled,\n iconHover: isHovered,\n iconFocus: isFocused,\n iconActive: isActive\n },\n additionalProps: {\n value: itemValue\n },\n internalForwardedProps: {\n // TODO: remove this in v7 because `IconContainerComponent` is deprecated\n // only forward if `slots.icon` is NOT provided\n as: IconContainerComponent\n }\n });\n const [LabelSlot, labelSlotProps] = useSlot('label', {\n elementType: RatingLabel,\n externalForwardedProps,\n ownerState: {\n ...ownerState,\n emptyValueFocused: undefined\n },\n additionalProps: {\n style: labelProps?.style,\n htmlFor: id\n }\n });\n const container = /*#__PURE__*/_jsx(IconSlot, {\n ...iconSlotProps,\n children: emptyIcon && !isFilled ? emptyIcon : icon\n });\n if (readOnly) {\n return /*#__PURE__*/_jsx(\"span\", {\n ...labelProps,\n children: container\n });\n }\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsxs(LabelSlot, {\n ...labelSlotProps,\n children: [container, /*#__PURE__*/_jsx(\"span\", {\n className: classes.visuallyHidden,\n children: getLabelText(itemValue)\n })]\n }), /*#__PURE__*/_jsx(\"input\", {\n className: classes.visuallyHidden,\n onFocus: onFocus,\n onBlur: onBlur,\n onChange: onChange,\n onClick: onClick,\n disabled: disabled,\n value: itemValue,\n id: id,\n type: \"radio\",\n name: name,\n checked: isChecked\n })]\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? RatingItem.propTypes = {\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool.isRequired,\n emptyIcon: PropTypes.node,\n focus: PropTypes.number.isRequired,\n getLabelText: PropTypes.func.isRequired,\n highlightSelectedOnly: PropTypes.bool.isRequired,\n hover: PropTypes.number.isRequired,\n icon: PropTypes.node,\n IconContainerComponent: PropTypes.elementType.isRequired,\n isActive: PropTypes.bool.isRequired,\n itemValue: PropTypes.number.isRequired,\n labelProps: PropTypes.object,\n name: PropTypes.string,\n onBlur: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n onClick: PropTypes.func.isRequired,\n onFocus: PropTypes.func.isRequired,\n ownerState: PropTypes.object.isRequired,\n ratingValue: PropTypes.number,\n ratingValueRounded: PropTypes.number,\n readOnly: PropTypes.bool.isRequired,\n slotProps: PropTypes.object,\n slots: PropTypes.object\n} : void 0;\nconst defaultIcon = /*#__PURE__*/_jsx(Star, {\n fontSize: \"inherit\"\n});\nconst defaultEmptyIcon = /*#__PURE__*/_jsx(StarBorder, {\n fontSize: \"inherit\"\n});\nfunction defaultLabelText(value) {\n return `${value || '0'} Star${value !== 1 ? 's' : ''}`;\n}\nconst Rating = /*#__PURE__*/React.forwardRef(function Rating(inProps, ref) {\n const props = useDefaultProps({\n name: 'MuiRating',\n props: inProps\n });\n const {\n component = 'span',\n className,\n defaultValue = null,\n disabled = false,\n emptyIcon = defaultEmptyIcon,\n emptyLabelText = 'Empty',\n getLabelText = defaultLabelText,\n highlightSelectedOnly = false,\n icon = defaultIcon,\n IconContainerComponent = IconContainer,\n max = 5,\n name: nameProp,\n onChange,\n onChangeActive,\n onMouseLeave,\n onMouseMove,\n precision = 1,\n readOnly = false,\n size = 'medium',\n value: valueProp,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const name = useId(nameProp);\n const [valueDerived, setValueState] = useControlled({\n controlled: valueProp,\n default: defaultValue,\n name: 'Rating'\n });\n const valueRounded = roundValueToPrecision(valueDerived, precision);\n const isRtl = useRtl();\n const [{\n hover,\n focus\n }, setState] = React.useState({\n hover: -1,\n focus: -1\n });\n let value = valueRounded;\n if (hover !== -1) {\n value = hover;\n }\n if (focus !== -1) {\n value = focus;\n }\n const [focusVisible, setFocusVisible] = React.useState(false);\n const rootRef = React.useRef();\n const handleRef = useForkRef(rootRef, ref);\n const handleMouseMove = event => {\n if (onMouseMove) {\n onMouseMove(event);\n }\n const rootNode = rootRef.current;\n const {\n right,\n left,\n width: containerWidth\n } = rootNode.getBoundingClientRect();\n let percent;\n if (isRtl) {\n percent = (right - event.clientX) / containerWidth;\n } else {\n percent = (event.clientX - left) / containerWidth;\n }\n let newHover = roundValueToPrecision(max * percent + precision / 2, precision);\n newHover = clamp(newHover, precision, max);\n setState(prev => prev.hover === newHover && prev.focus === newHover ? prev : {\n hover: newHover,\n focus: newHover\n });\n setFocusVisible(false);\n if (onChangeActive && hover !== newHover) {\n onChangeActive(event, newHover);\n }\n };\n const handleMouseLeave = event => {\n if (onMouseLeave) {\n onMouseLeave(event);\n }\n const newHover = -1;\n setState({\n hover: newHover,\n focus: newHover\n });\n if (onChangeActive && hover !== newHover) {\n onChangeActive(event, newHover);\n }\n };\n const handleChange = event => {\n let newValue = event.target.value === '' ? null : parseFloat(event.target.value);\n\n // Give mouse priority over keyboard\n // Fix https://github.com/mui/material-ui/issues/22827\n if (hover !== -1) {\n newValue = hover;\n }\n setValueState(newValue);\n if (onChange) {\n onChange(event, newValue);\n }\n };\n const handleClear = event => {\n // Ignore keyboard events\n // https://github.com/facebook/react/issues/7407\n if (event.clientX === 0 && event.clientY === 0) {\n return;\n }\n setState({\n hover: -1,\n focus: -1\n });\n setValueState(null);\n if (onChange && parseFloat(event.target.value) === valueRounded) {\n onChange(event, null);\n }\n };\n const handleFocus = event => {\n if (isFocusVisible(event.target)) {\n setFocusVisible(true);\n }\n const newFocus = parseFloat(event.target.value);\n setState(prev => ({\n hover: prev.hover,\n focus: newFocus\n }));\n };\n const handleBlur = event => {\n if (hover !== -1) {\n return;\n }\n if (!isFocusVisible(event.target)) {\n setFocusVisible(false);\n }\n const newFocus = -1;\n setState(prev => ({\n hover: prev.hover,\n focus: newFocus\n }));\n };\n const [emptyValueFocused, setEmptyValueFocused] = React.useState(false);\n const ownerState = {\n ...props,\n component,\n defaultValue,\n disabled,\n emptyIcon,\n emptyLabelText,\n emptyValueFocused,\n focusVisible,\n getLabelText,\n icon,\n IconContainerComponent,\n max,\n precision,\n readOnly,\n size\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n ref: handleRef,\n className: clsx(classes.root, className),\n elementType: RatingRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other,\n component\n },\n getSlotProps: handlers => ({\n ...handlers,\n onMouseMove: event => {\n handleMouseMove(event);\n handlers.onMouseMove?.(event);\n },\n onMouseLeave: event => {\n handleMouseLeave(event);\n handlers.onMouseLeave?.(event);\n }\n }),\n ownerState,\n additionalProps: {\n role: readOnly ? 'img' : null,\n 'aria-label': readOnly ? getLabelText(value) : null\n }\n });\n const [LabelSlot, labelSlotProps] = useSlot('label', {\n className: clsx(classes.label, classes.labelEmptyValue),\n elementType: RatingLabel,\n externalForwardedProps,\n ownerState\n });\n const [DecimalSlot, decimalSlotProps] = useSlot('decimal', {\n className: classes.decimal,\n elementType: RatingDecimal,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [Array.from(new Array(max)).map((_, index) => {\n const itemValue = index + 1;\n const ratingItemProps = {\n classes,\n disabled,\n emptyIcon,\n focus,\n getLabelText,\n highlightSelectedOnly,\n hover,\n icon,\n IconContainerComponent,\n name,\n onBlur: handleBlur,\n onChange: handleChange,\n onClick: handleClear,\n onFocus: handleFocus,\n ratingValue: value,\n ratingValueRounded: valueRounded,\n readOnly,\n ownerState,\n slots,\n slotProps\n };\n const isActive = itemValue === Math.ceil(value) && (hover !== -1 || focus !== -1);\n if (precision < 1) {\n const items = Array.from(new Array(1 / precision));\n return /*#__PURE__*/_createElement(DecimalSlot, {\n ...decimalSlotProps,\n key: itemValue,\n className: clsx(decimalSlotProps.className, isActive && classes.iconActive),\n iconActive: isActive\n }, items.map(($, indexDecimal) => {\n const itemDecimalValue = roundValueToPrecision(itemValue - 1 + (indexDecimal + 1) * precision, precision);\n return /*#__PURE__*/_jsx(RatingItem, {\n ...ratingItemProps,\n // The icon is already displayed as active\n isActive: false,\n itemValue: itemDecimalValue,\n labelProps: {\n style: items.length - 1 === indexDecimal ? {} : {\n width: itemDecimalValue === value ? `${(indexDecimal + 1) * precision * 100}%` : '0%',\n overflow: 'hidden',\n position: 'absolute'\n }\n }\n }, itemDecimalValue);\n }));\n }\n return /*#__PURE__*/_jsx(RatingItem, {\n ...ratingItemProps,\n isActive: isActive,\n itemValue: itemValue\n }, itemValue);\n }), !readOnly && !disabled && /*#__PURE__*/_jsxs(LabelSlot, {\n ...labelSlotProps,\n children: [/*#__PURE__*/_jsx(\"input\", {\n className: classes.visuallyHidden,\n value: \"\",\n id: `${name}-empty`,\n type: \"radio\",\n name: name,\n checked: valueRounded == null,\n onFocus: () => setEmptyValueFocused(true),\n onBlur: () => setEmptyValueFocused(false),\n onChange: handleChange\n }), /*#__PURE__*/_jsx(\"span\", {\n className: classes.visuallyHidden,\n children: emptyLabelText\n })]\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Rating.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The default value. Use when the component is not controlled.\n * @default null\n */\n defaultValue: PropTypes.number,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * The icon to display when empty.\n * @default <StarBorder fontSize=\"inherit\" />\n */\n emptyIcon: PropTypes.node,\n /**\n * The label read when the rating input is empty.\n * @default 'Empty'\n */\n emptyLabelText: PropTypes.node,\n /**\n * Accepts a function which returns a string value that provides a user-friendly name for the current value of the rating.\n * This is important for screen reader users.\n *\n * For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).\n * @param {number} value The rating label's value to format.\n * @returns {string}\n * @default function defaultLabelText(value) {\n * return `${value || '0'} Star${value !== 1 ? 's' : ''}`;\n * }\n */\n getLabelText: PropTypes.func,\n /**\n * If `true`, only the selected icon will be highlighted.\n * @default false\n */\n highlightSelectedOnly: PropTypes.bool,\n /**\n * The icon to display.\n * @default <Star fontSize=\"inherit\" />\n */\n icon: PropTypes.node,\n /**\n * The component containing the icon.\n * @deprecated Use `slotProps.icon.component` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default function IconContainer(props) {\n * const { value, ...other } = props;\n * return <span {...other} />;\n * }\n */\n IconContainerComponent: PropTypes.elementType,\n /**\n * Maximum rating.\n * @default 5\n */\n max: PropTypes.number,\n /**\n * The name attribute of the radio `input` elements.\n * This input `name` should be unique within the page.\n * Being unique within a form is insufficient since the `name` is used to generate IDs.\n */\n name: PropTypes.string,\n /**\n * Callback fired when the value changes.\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {number|null} value The new value.\n */\n onChange: PropTypes.func,\n /**\n * Callback function that is fired when the hover state changes.\n * @param {React.SyntheticEvent} event The event source of the callback.\n * @param {number} value The new value.\n */\n onChangeActive: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * @ignore\n */\n onMouseMove: PropTypes.func,\n /**\n * The minimum increment value change allowed.\n * @default 1\n */\n precision: chainPropTypes(PropTypes.number, props => {\n if (props.precision < 0.1) {\n return new Error(['MUI: The prop `precision` should be above 0.1.', 'A value below this limit has an imperceptible impact.'].join('\\n'));\n }\n return null;\n }),\n /**\n * Removes all hover effects and pointer events.\n * @default false\n */\n readOnly: PropTypes.bool,\n /**\n * The size of the component.\n * @default 'medium'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n decimal: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n icon: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n label: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n decimal: PropTypes.elementType,\n icon: PropTypes.elementType,\n label: PropTypes.elementType,\n root: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The rating value.\n */\n value: PropTypes.number\n} : void 0;\nexport default Rating;","/**\n * Rating Component\n *\n * Rating component for the MRS Design System.\n * Wraps Material-UI Rating with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-rating/}\n */\n\nimport React from 'react';\nimport MuiRating from '@mui/material/Rating';\nimport type { RatingProps } from './Rating.types';\n\n/**\n * Rating component\n *\n * Ratings provide insight regarding others' opinions and experiences,\n * and can allow the user to submit a rating of their own.\n *\n * @param props - Rating component props\n * @returns Rating component\n */\nexport const Rating = React.forwardRef<HTMLSpanElement, RatingProps>(\n (\n {\n size = 'medium',\n max = 5,\n precision = 1,\n readOnly = false,\n disabled = false,\n highlightSelectedOnly = false,\n emptyIcon,\n icon,\n defaultValue,\n value,\n onChange,\n onChangeActive,\n name,\n id,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiRating\n ref={ref}\n size={size}\n max={max}\n precision={precision}\n readOnly={readOnly}\n disabled={disabled}\n highlightSelectedOnly={highlightSelectedOnly}\n emptyIcon={emptyIcon}\n icon={icon}\n defaultValue={defaultValue}\n value={value}\n onChange={onChange}\n onChangeActive={onChangeActive}\n name={name}\n id={id}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nRating.displayName = 'Rating';\n","/**\n * Sidenav Component\n *\n * Side navigation component for the MRS Design System.\n * Supports two variants: 'default' (256px) with full labels and 'slim' (72px) with icons only.\n *\n * @figma https://figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=13099-16347\n *\n * @example\n * ```tsx\n * import { Sidenav } from '@atipicus/mrs-ui';\n *\n * function App() {\n * return (\n * <Sidenav\n * variant=\"default\"\n * items={[\n * { label: 'Inicio', icon: 'home', selected: true },\n * { label: 'Citas', icon: 'event' },\n * {\n * header: 'Mi salud',\n * items: [\n * { label: 'Órdenes', icon: 'order_approve' },\n * { label: 'Recetas', icon: 'medication' },\n * ]\n * }\n * ]}\n * actionButton={{\n * label: 'Agendar',\n * icon: 'add',\n * onClick: () => console.log('Add clicked')\n * }}\n * />\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/react-drawer/}\n */\n\nimport React from 'react';\nimport Box from '@mui/material/Box';\nimport List from '@mui/material/List';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport Paper from '@mui/material/Paper';\nimport Divider from '@mui/material/Divider';\nimport Tooltip from '@mui/material/Tooltip';\nimport { useTheme } from '@mui/material/styles';\nimport { Button } from '../../atoms/Button';\nimport { IconButton } from '../../atoms/IconButton';\nimport { MaterialSymbol } from '../../atoms/MaterialSymbol';\nimport type { SidenavProps, SidenavItem, SidenavNavigationItem } from './Sidenav.types';\nimport * as tokens from '../../../tokens/generated/ts/tokens';\n\n// MRS Logo SVG component\nconst MRSLogo = ({ variant = 'default' }: { variant?: 'default' | 'slim' }) => {\n if (variant === 'slim') {\n // Slim variant - only show the \"Mi\" icon part\n return (\n <Box\n component=\"svg\"\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n sx={{ display: 'block' }}\n >\n <path\n d=\"M4 10.5C4 9.6 4.7 8.9 5.6 8.9H6C6.7 8.9 7.2 9.3 7.5 9.8L11.4 16.1L15.3 9.8C15.6 9.2 16.1 8.9 16.7 8.9H17.1C18 8.9 18.7 9.6 18.7 10.5V22.1C18.7 23 18 23.7 17.1 23.7C16.2 23.7 15.5 23 15.5 22.1V14.8L12.7 19.2C12.4 19.7 11.9 20 11.4 20C10.8 20 10.4 19.7 10 19.2L7.2 14.9V22.2C7.2 23.1 6.5 23.7 5.6 23.7C4.7 23.7 4 23 4 22.2V10.5Z\"\n fill=\"#99CC00\"\n />\n <path\n d=\"M20.5 9.7C20.5 8.8 21.3 8.2 22.3 8.2C23.3 8.2 24.1 8.8 24.1 9.7V9.7C24.1 10.6 23.3 11.2 22.3 11.2C21.3 11.2 20.5 10.6 20.5 9.7V9.7ZM20.7 13.8C20.7 13 21.4 12.3 22.3 12.3C23.2 12.3 23.9 13 23.9 13.8V22.1C23.9 23 23.2 23.7 22.3 23.7C21.4 23.7 20.7 23 20.7 22.1V13.8Z\"\n fill=\"#99CC00\"\n />\n <circle cx=\"26\" cy=\"10\" r=\"3\" fill=\"#009999\" />\n </Box>\n );\n }\n\n // Default variant - full logo\n return (\n <Box\n component=\"svg\"\n width=\"140\"\n height=\"16\"\n viewBox=\"0 0 140 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n sx={{ display: 'block' }}\n >\n <path\n d=\"M99.3289 15.5655H107.522C108.077 15.5655 108.527 15.1155 108.527 14.5621C108.527 14.0072 108.076 13.558 107.522 13.558H100.445C100.383 13.558 100.331 13.5066 100.331 13.4449V1.70999C100.331 1.07776 99.816 0.563799 99.1822 0.563799C98.5476 0.563799 98.0337 1.07776 98.0337 1.70999V14.2728C98.0337 14.9868 98.6131 15.5655 99.3289 15.5655Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M116.242 15.8079C120.637 15.8079 122.913 12.8298 122.913 9.3659V1.70998C122.913 1.07626 122.399 0.56304 121.765 0.56304C121.13 0.56304 120.617 1.077 120.617 1.70998V9.18962C120.617 11.7706 119.224 13.6673 116.242 13.6673C113.303 13.6673 111.934 11.903 111.934 9.21119V1.70998C111.934 1.07626 111.42 0.56304 110.786 0.56304C110.151 0.56304 109.638 1.077 109.638 1.70998V9.3659C109.636 13.1161 111.889 15.8079 116.242 15.8079Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M126.704 15.6599H131.505C135.947 15.6599 139.26 12.9956 139.26 8.13342C139.26 3.22733 135.946 0.586098 131.505 0.56304H126.704C125.989 0.56304 125.408 1.14543 125.408 1.86394V14.3583C125.408 15.0775 125.989 15.6599 126.704 15.6599ZM127.821 2.5832H131.417C134.621 2.60477 136.897 4.53641 136.897 8.13268C136.897 11.6858 134.621 13.639 131.417 13.639H127.821C127.758 13.639 127.708 13.5877 127.708 13.5252V2.69774C127.708 2.63452 127.758 2.5832 127.821 2.5832Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M49.8801 0.56304H40.67C39.9543 0.56304 39.3748 1.14172 39.3748 1.85651V14.272C39.3748 14.9868 39.9543 15.5655 40.67 15.5655H49.8801C50.7411 15.5655 51.4367 14.8693 51.4367 14.0109V13.9001C51.4367 13.0403 50.7403 12.3441 49.8801 12.3441H43.0176C42.958 12.3441 42.9103 12.2965 42.9103 12.237V9.58383C42.9103 9.52433 42.958 9.47672 43.0176 9.47672H48.2676C49.1286 9.47672 49.8257 8.78053 49.8257 7.9207C49.8257 7.06235 49.1286 6.36467 48.2676 6.36467H43.0176C42.958 6.36467 42.9103 6.31707 42.9103 6.25756V3.89154C42.9103 3.83203 42.958 3.78443 43.0176 3.78443H49.8801C50.7411 3.78443 51.4367 3.08824 51.4367 2.22989V2.11832C51.4367 1.25924 50.7411 0.56304 49.8801 0.56304Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M59.9668 0.56304H54.5231C53.8073 0.56304 53.2279 1.14172 53.2279 1.85651V14.272C53.2279 14.9868 53.8073 15.5655 54.5231 15.5655H59.9668C64.4072 15.5655 67.7208 12.9183 67.7208 8.08582C67.7208 3.21022 64.4072 0.585354 59.9668 0.56304ZM59.8119 12.3441H57.0479C56.9876 12.3441 56.9392 12.295 56.9392 12.237V3.89154C56.9392 3.83129 56.9869 3.78443 57.0479 3.78443H59.8119C62.2421 3.78443 63.8993 5.30624 63.8993 8.08507C63.8985 10.823 62.2414 12.3441 59.8119 12.3441Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M96.0538 14.5844C96.0538 14.426 96.018 14.2765 95.957 14.1403H95.9585L90.7948 1.70551C90.5081 1.01378 89.7745 0.56304 89.0245 0.56304H88.9872C88.2387 0.56304 87.5051 1.01378 87.2168 1.70551L82.0539 14.1403C81.9921 14.2765 81.9571 14.426 81.9571 14.5844C81.9571 15.1794 82.4405 15.6607 83.0363 15.6607C83.507 15.6607 83.9144 15.3654 84.0604 14.9451C84.0775 14.9027 84.0887 14.8745 84.1036 14.8403L85.1404 12.3337C85.1612 12.2868 85.2066 12.2563 85.258 12.2563H92.7551C92.8065 12.2563 92.8512 12.2868 92.872 12.3337L93.9088 14.8403C93.9237 14.8745 93.9364 14.9102 93.9498 14.9451C94.0972 15.3639 94.5061 15.6607 94.9761 15.6607C95.5704 15.6607 96.0538 15.1794 96.0538 14.5844ZM92.1265 10.5128H85.8837C85.8286 10.5128 85.7936 10.4578 85.8137 10.408L88.8882 3.16113C88.9098 3.10832 88.9567 3.08229 89.0051 3.08005C89.0542 3.08229 89.1012 3.10832 89.1228 3.16113L92.1965 10.408C92.2181 10.4585 92.1816 10.5128 92.1265 10.5128Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M36.6464 12.5709H36.5548C35.1933 12.5709 33.8959 11.3035 32.5783 10.0926C32.5403 10.0569 32.5575 9.99814 32.6066 9.98624C34.8216 9.48939 36.4229 7.8084 36.4229 5.48924C36.4229 1.98074 33.5726 0.546697 30.6568 0.546697H24.8161C24.1004 0.546697 23.5209 1.12537 23.5209 1.84016V13.9328C23.5209 14.9556 24.3521 15.7856 25.3769 15.7856C26.4025 15.7856 27.233 14.9556 27.233 13.9321L27.2315 13.9254V10.2592C27.2315 10.1967 27.2829 10.1447 27.3462 10.1447H27.8027C27.8802 10.1462 28.0843 10.1744 28.3412 10.3812C30.259 11.929 32.6923 15.77 35.9582 15.77C36.3082 15.77 36.6404 15.7343 36.9562 15.68L36.9778 15.6763C37.6876 15.5246 38.2179 14.8946 38.2179 14.1411C38.2194 13.2731 37.5148 12.5709 36.6464 12.5709ZM30.5912 7.49006H27.3402C27.2806 7.49006 27.233 7.44097 27.233 7.38295V3.89156C27.233 3.83206 27.2806 3.78445 27.3402 3.78445H30.5912C31.806 3.78445 32.5791 4.48957 32.5791 5.638C32.5783 6.74031 31.806 7.49006 30.5912 7.49006Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M76.891 7.12038L73.9088 6.326C72.6062 5.99501 71.8755 5.57179 71.8755 4.55651C71.8755 3.43114 72.951 2.22247 75.3448 2.4828C76.4329 2.60032 77.603 2.90081 78.5839 3.34486C78.6271 3.36569 78.7291 3.40511 78.8445 3.44155C78.9682 3.47726 79.0866 3.50924 79.2184 3.50924C79.7845 3.50924 80.2425 3.0518 80.2425 2.48726C80.2425 2.26933 80.174 2.0685 80.0586 1.90264C79.9439 1.73454 79.7696 1.58206 79.5149 1.46528C78.4282 1.00413 76.8954 0.455204 75.4334 0.363717C71.3773 0.112313 69.5131 2.39429 69.5131 4.73204C69.5131 6.69642 70.7278 7.99806 72.916 8.54922L75.9428 9.32054C77.6216 9.7393 78.5719 10.3135 78.5719 11.3727C78.5719 12.7628 77.1799 13.6673 74.9932 13.6673C73.7725 13.6673 72.5965 13.3579 71.6387 12.9674L71.5858 12.9466C71.4838 12.9064 71.3951 12.8804 71.2953 12.864C71.2953 12.864 71.1568 12.8447 71.0853 12.8447C70.7896 12.8447 70.523 12.9637 70.3286 13.157C70.1342 13.3497 70.0143 13.6182 70.0143 13.9135C70.0143 14.2021 70.1312 14.4646 70.3182 14.6588L70.3167 14.6603C70.4358 14.7889 70.5888 14.8923 70.7695 14.9615C71.851 15.3892 73.3763 15.7841 74.9485 15.7841C78.5057 15.7841 80.9583 13.8094 80.9583 11.029C80.956 8.91368 79.5409 7.84856 76.891 7.12038Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M0 2.25742C0 1.35892 0.711276 0.648588 1.61098 0.648588H1.96699C2.65742 0.648588 3.13855 1.00412 3.432 1.48462L7.32428 7.81657L11.2374 1.46379C11.5726 0.920818 12.0329 0.648588 12.6816 0.648588H13.0376C13.9373 0.648588 14.6486 1.35892 14.6486 2.25742V13.8763C14.6486 14.7748 13.9373 15.4851 13.0376 15.4851C12.1587 15.4851 11.4474 14.754 11.4474 13.8763V6.58261L8.62171 10.9301C8.28655 11.4314 7.86872 11.7453 7.28257 11.7453C6.69642 11.7453 6.27785 11.4322 5.94344 10.9301L3.16015 6.64583V13.918C3.16015 14.7956 2.44887 15.4851 1.57002 15.4851C0.691167 15.4851 0.000744809 14.7956 0.000744809 13.918L0 2.25742Z\"\n fill=\"#99CC00\"\n />\n <path\n d=\"M16.5315 1.48388C16.5315 0.564543 17.3061 0 18.3101 0C19.3148 0 20.0887 0.564543 20.0887 1.48388V1.52553C20.0887 2.44487 19.3141 3.03024 18.3101 3.03024C17.3054 3.03024 16.5315 2.44487 16.5315 1.52553V1.48388ZM16.72 5.62163C16.72 4.74395 17.4313 4.03362 18.3101 4.03362C19.189 4.03362 19.9002 4.74395 19.9002 5.62163V13.8971C19.9002 14.7748 19.189 15.4851 18.3101 15.4851C17.4313 15.4851 16.72 14.7748 16.72 13.8971V5.62163Z\"\n fill=\"#99CC00\"\n />\n </Box>\n );\n};\n\n/**\n * Check if item is a group with header\n */\nfunction isGroup(item: SidenavNavigationItem): item is { header: string; items: SidenavItem[] } {\n return 'header' in item && 'items' in item;\n}\n\n/**\n * Sidenav component\n *\n * Side navigation panel with support for default (256px) and slim (72px) variants.\n * Designed following MRS Design System specifications from Figma.\n *\n * Features:\n * - Two variants: default (with labels) and slim (icons only)\n * - Logo section with MRS branding\n * - Action button (Button in default, IconButton in slim)\n * - Navigation items with icons\n * - Group headers for organizing items\n * - Selected/active state highlighting\n * - Tooltips in slim mode for accessibility\n * - MRS design tokens (Nunito font, MRS colors)\n *\n * @param props - Sidenav component props\n * @returns Sidenav component\n */\nexport const Sidenav = React.forwardRef<HTMLDivElement, SidenavProps>(\n (\n {\n variant = 'default',\n logo = true,\n logoElement,\n items = [],\n actionButton,\n showActionButton = true,\n onItemClick,\n width,\n height = '100vh',\n sx,\n listSx,\n },\n ref\n ) => {\n const theme = useTheme();\n const mode = theme.palette.mode;\n\n // Determine width based on variant using tokens\n const sidenavWidth =\n width ??\n (variant === 'slim'\n ? tokens.ComponentSidenavWidthCollapsed\n : tokens.ComponentSidenavWidthExpanded);\n\n const handleItemClick = (item: SidenavItem) => {\n if (item.onClick) {\n item.onClick();\n }\n if (onItemClick) {\n onItemClick(item);\n }\n };\n\n // Render a navigation item\n const renderNavItem = (item: SidenavItem, index: number) => {\n const itemContent = (\n <ListItemButton\n key={item.id || `item-${index}`}\n selected={item.selected}\n onClick={() => handleItemClick(item)}\n sx={{\n borderRadius:\n mode === 'light'\n ? tokens.ComponentSidenavLightBorderRadius\n : tokens.ComponentSidenavDarkBorderRadius,\n mx: 1,\n px: variant === 'slim' ? 1.5 : 2,\n justifyContent: variant === 'slim' ? 'center' : 'flex-start',\n minHeight: 48,\n '&.Mui-selected': {\n backgroundColor:\n mode === 'light'\n ? tokens.ComponentSidenavLightItemSelectedBackground\n : tokens.ComponentSidenavDarkItemSelectedBackground,\n color:\n mode === 'light'\n ? tokens.ComponentSidenavLightItemSelectedForeground\n : tokens.ComponentSidenavDarkItemSelectedForeground,\n '&:hover': {\n backgroundColor:\n mode === 'light'\n ? tokens.ComponentSidenavLightItemHoverBackground\n : tokens.ComponentSidenavDarkItemHoverBackground,\n },\n },\n }}\n >\n {item.icon && (\n <ListItemIcon\n sx={{\n minWidth: variant === 'slim' ? 'auto' : 40,\n justifyContent: 'center',\n color: item.selected ? theme.palette.primary.dark : theme.palette.text.secondary,\n }}\n >\n <MaterialSymbol\n icon={item.icon}\n size=\"medium\"\n sx={{\n color: 'inherit',\n }}\n />\n </ListItemIcon>\n )}\n {variant === 'default' && (\n <ListItemText\n primary={item.label}\n primaryTypographyProps={{\n fontWeight: item.selected ? 600 : 400,\n color: item.selected ? theme.palette.primary.dark : theme.palette.text.primary,\n }}\n />\n )}\n </ListItemButton>\n );\n\n // Wrap in tooltip for slim variant\n if (variant === 'slim') {\n return (\n <Tooltip key={item.id || `item-${index}`} title={item.label} placement=\"right\" arrow>\n {itemContent}\n </Tooltip>\n );\n }\n\n return itemContent;\n };\n\n // Render a group with header\n const renderGroup = (group: { header: string; items: SidenavItem[] }, groupIndex: number) => {\n if (variant === 'slim') {\n // In slim mode, show divider instead of header\n return (\n <React.Fragment key={`group-${groupIndex}`}>\n <Divider sx={{ my: 1, mx: 1 }} />\n {group.items.map((item, index) => renderNavItem(item, groupIndex * 100 + index))}\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment key={`group-${groupIndex}`}>\n <ListSubheader\n component=\"div\"\n sx={{\n backgroundColor: 'transparent',\n color: theme.palette.text.secondary,\n fontWeight: 600,\n fontSize: '1rem',\n lineHeight: '48px',\n letterSpacing: '0.1px',\n px: 2,\n }}\n >\n {group.header}\n </ListSubheader>\n {group.items.map((item, index) => renderNavItem(item, groupIndex * 100 + index))}\n </React.Fragment>\n );\n };\n\n return (\n <Paper\n ref={ref}\n elevation={1}\n sx={{\n width: sidenavWidth,\n height,\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 0,\n overflow: 'hidden',\n ...sx,\n }}\n >\n {/* Logo Section */}\n {logo && (\n <Box\n sx={{\n height: 64,\n display: 'flex',\n alignItems: 'center',\n justifyContent: variant === 'slim' ? 'center' : 'flex-start',\n px: 2,\n }}\n >\n {logoElement ?? <MRSLogo variant={variant} />}\n </Box>\n )}\n\n {/* Spacing */}\n <Box sx={{ height: 8 }} />\n\n {/* Action Button Section */}\n {showActionButton && actionButton && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: variant === 'slim' ? 'center' : 'flex-start',\n px: 2,\n }}\n >\n {variant === 'slim' ? (\n <Tooltip title={actionButton.label || 'Add'} placement=\"right\" arrow>\n <IconButton\n color=\"primary\"\n size=\"large\"\n onClick={actionButton.onClick}\n sx={{\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n },\n }}\n >\n <MaterialSymbol icon={actionButton.icon || 'add'} size=\"medium\" />\n </IconButton>\n </Tooltip>\n ) : (\n <Button\n variant=\"contained\"\n color=\"primary\"\n fullWidth\n startIcon={\n actionButton.icon && <MaterialSymbol icon={actionButton.icon} size=\"small\" />\n }\n onClick={actionButton.onClick}\n >\n {actionButton.label || 'Agendar'}\n </Button>\n )}\n </Box>\n )}\n\n {/* Spacing */}\n <Box sx={{ height: 8 }} />\n\n {/* Navigation List */}\n <List\n sx={{\n flex: 1,\n overflow: 'auto',\n py: 1,\n ...listSx,\n }}\n >\n {items.map((item, index) => {\n if (isGroup(item)) {\n return renderGroup(item, index);\n }\n return renderNavItem(item as SidenavItem, index);\n })}\n </List>\n </Paper>\n );\n }\n);\n\nSidenav.displayName = 'Sidenav';\n\nexport type { SidenavProps, SidenavItem, SidenavNavigationItem };\nexport default Sidenav;\n","/**\n * Sidenav Component Types\n *\n * Type definitions for the Sidenav component in the MRS Design System.\n *\n * @figma https://figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=13099-16347\n */\n\nimport type { ReactNode } from 'react';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\n/**\n * Navigation item interface for sidenav items\n */\nexport interface SidenavItem {\n /** Unique identifier for the item */\n id?: string;\n /** Item label text */\n label: string;\n /** Icon name for MaterialSymbol */\n icon?: string;\n /** Whether this item is selected/active */\n selected?: boolean;\n /** Optional click handler */\n onClick?: () => void;\n /** Optional path for routing */\n path?: string;\n}\n\n/**\n * Navigation group interface for grouped items with subheaders\n */\nexport interface SidenavGroup {\n /** Unique identifier for the group */\n id?: string;\n /** Group header label */\n header: string;\n /** Items within this group */\n items: SidenavItem[];\n}\n\n/**\n * Combined navigation item type (can be simple item or group)\n */\nexport type SidenavNavigationItem = SidenavItem | SidenavGroup;\n\n/**\n * Type guard to check if navigation item is a group\n */\nexport function isSidenavGroup(item: SidenavNavigationItem): item is SidenavGroup {\n return 'header' in item && 'items' in item;\n}\n\n/**\n * Props for the Sidenav component\n */\nexport interface SidenavProps {\n /** Sidenav variant - 'default' (256px) or 'slim' (72px) */\n variant?: 'default' | 'slim';\n /** Whether to show the logo */\n logo?: boolean;\n /** Custom logo element (defaults to MRS logo) */\n logoElement?: ReactNode;\n /** Navigation items - can be simple items or groups with headers */\n items?: SidenavNavigationItem[];\n /** Action button configuration */\n actionButton?: {\n /** Button label (only shown in default variant) */\n label?: string;\n /** Icon name for the button */\n icon?: string;\n /** Click handler */\n onClick?: () => void;\n };\n /** Whether to show the action button */\n showActionButton?: boolean;\n /** Callback when a navigation item is clicked */\n onItemClick?: (item: SidenavItem) => void;\n /** Custom width (overrides variant width) */\n width?: number;\n /** Custom height */\n height?: number | string;\n /** Custom sx styles */\n sx?: SxProps<Theme>;\n /** Custom sx styles for the navigation list */\n listSx?: SxProps<Theme>;\n}\n","'use client';\n\nimport * as React from 'react';\nimport { unstable_useEventCallback as useEventCallback, unstable_useTimeout as useTimeout } from '@mui/utils';\nimport extractEventHandlers from '@mui/utils/extractEventHandlers';\n/**\n * The basic building block for creating custom snackbar.\n *\n * Demos:\n *\n * - [Snackbar](https://mui.com/base-ui/react-snackbar/#hook)\n *\n * API:\n *\n * - [useSnackbar API](https://mui.com/base-ui/react-snackbar/hooks-api/#use-snackbar)\n */\nfunction useSnackbar(parameters = {}) {\n const {\n autoHideDuration = null,\n disableWindowBlurListener = false,\n onClose,\n open,\n resumeHideDuration\n } = parameters;\n const timerAutoHide = useTimeout();\n React.useEffect(() => {\n if (!open) {\n return undefined;\n }\n\n /**\n * @param {KeyboardEvent} nativeEvent\n */\n function handleKeyDown(nativeEvent) {\n if (!nativeEvent.defaultPrevented) {\n if (nativeEvent.key === 'Escape') {\n // not calling `preventDefault` since we don't know if people may ignore this event e.g. a permanently open snackbar\n onClose?.(nativeEvent, 'escapeKeyDown');\n }\n }\n }\n document.addEventListener('keydown', handleKeyDown);\n return () => {\n document.removeEventListener('keydown', handleKeyDown);\n };\n }, [open, onClose]);\n const handleClose = useEventCallback((event, reason) => {\n onClose?.(event, reason);\n });\n const setAutoHideTimer = useEventCallback(autoHideDurationParam => {\n if (!onClose || autoHideDurationParam == null) {\n return;\n }\n timerAutoHide.start(autoHideDurationParam, () => {\n handleClose(null, 'timeout');\n });\n });\n React.useEffect(() => {\n if (open) {\n setAutoHideTimer(autoHideDuration);\n }\n return timerAutoHide.clear;\n }, [open, autoHideDuration, setAutoHideTimer, timerAutoHide]);\n const handleClickAway = event => {\n onClose?.(event, 'clickaway');\n };\n\n // Pause the timer when the user is interacting with the Snackbar\n // or when the user hide the window.\n const handlePause = timerAutoHide.clear;\n\n // Restart the timer when the user is no longer interacting with the Snackbar\n // or when the window is shown back.\n const handleResume = React.useCallback(() => {\n if (autoHideDuration != null) {\n setAutoHideTimer(resumeHideDuration != null ? resumeHideDuration : autoHideDuration * 0.5);\n }\n }, [autoHideDuration, resumeHideDuration, setAutoHideTimer]);\n const createHandleBlur = otherHandlers => event => {\n const onBlurCallback = otherHandlers.onBlur;\n onBlurCallback?.(event);\n handleResume();\n };\n const createHandleFocus = otherHandlers => event => {\n const onFocusCallback = otherHandlers.onFocus;\n onFocusCallback?.(event);\n handlePause();\n };\n const createMouseEnter = otherHandlers => event => {\n const onMouseEnterCallback = otherHandlers.onMouseEnter;\n onMouseEnterCallback?.(event);\n handlePause();\n };\n const createMouseLeave = otherHandlers => event => {\n const onMouseLeaveCallback = otherHandlers.onMouseLeave;\n onMouseLeaveCallback?.(event);\n handleResume();\n };\n React.useEffect(() => {\n // TODO: window global should be refactored here\n if (!disableWindowBlurListener && open) {\n window.addEventListener('focus', handleResume);\n window.addEventListener('blur', handlePause);\n return () => {\n window.removeEventListener('focus', handleResume);\n window.removeEventListener('blur', handlePause);\n };\n }\n return undefined;\n }, [disableWindowBlurListener, open, handleResume, handlePause]);\n const getRootProps = (externalProps = {}) => {\n const externalEventHandlers = {\n ...extractEventHandlers(parameters),\n ...extractEventHandlers(externalProps)\n };\n return {\n // ClickAwayListener adds an `onClick` prop which results in the alert not being announced.\n // See https://github.com/mui/material-ui/issues/29080\n role: 'presentation',\n ...externalProps,\n ...externalEventHandlers,\n onBlur: createHandleBlur(externalEventHandlers),\n onFocus: createHandleFocus(externalEventHandlers),\n onMouseEnter: createMouseEnter(externalEventHandlers),\n onMouseLeave: createMouseLeave(externalEventHandlers)\n };\n };\n return {\n getRootProps,\n onClickAway: handleClickAway\n };\n}\nexport default useSnackbar;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { elementAcceptingRef, exactProp, unstable_ownerDocument as ownerDocument, unstable_useForkRef as useForkRef, unstable_useEventCallback as useEventCallback } from '@mui/utils';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\n\n// TODO: return `EventHandlerName extends `on${infer EventName}` ? Lowercase<EventName> : never` once generatePropTypes runs with TS 4.1\nfunction mapEventPropToEvent(eventProp) {\n return eventProp.substring(2).toLowerCase();\n}\nfunction clickedRootScrollbar(event, doc) {\n return doc.documentElement.clientWidth < event.clientX || doc.documentElement.clientHeight < event.clientY;\n}\n/**\n * Listen for click events that occur somewhere in the document, outside of the element itself.\n * For instance, if you need to hide a menu when people click anywhere else on your page.\n *\n * Demos:\n *\n * - [Click-Away Listener](https://v6.mui.com/material-ui/react-click-away-listener/)\n * - [Menu](https://v6.mui.com/material-ui/react-menu/)\n *\n * API:\n *\n * - [ClickAwayListener API](https://v6.mui.com/material-ui/api/click-away-listener/)\n */\nfunction ClickAwayListener(props) {\n const {\n children,\n disableReactTree = false,\n mouseEvent = 'onClick',\n onClickAway,\n touchEvent = 'onTouchEnd'\n } = props;\n const movedRef = React.useRef(false);\n const nodeRef = React.useRef(null);\n const activatedRef = React.useRef(false);\n const syntheticEventRef = React.useRef(false);\n React.useEffect(() => {\n // Ensure that this component is not \"activated\" synchronously.\n // https://github.com/facebook/react/issues/20074\n setTimeout(() => {\n activatedRef.current = true;\n }, 0);\n return () => {\n activatedRef.current = false;\n };\n }, []);\n const handleRef = useForkRef(getReactElementRef(children), nodeRef);\n\n // The handler doesn't take event.defaultPrevented into account:\n //\n // event.preventDefault() is meant to stop default behaviors like\n // clicking a checkbox to check it, hitting a button to submit a form,\n // and hitting left arrow to move the cursor in a text input etc.\n // Only special HTML elements have these default behaviors.\n const handleClickAway = useEventCallback(event => {\n // Given developers can stop the propagation of the synthetic event,\n // we can only be confident with a positive value.\n const insideReactTree = syntheticEventRef.current;\n syntheticEventRef.current = false;\n const doc = ownerDocument(nodeRef.current);\n\n // 1. IE11 support, which trigger the handleClickAway even after the unbind\n // 2. The child might render null.\n // 3. Behave like a blur listener.\n if (!activatedRef.current || !nodeRef.current || 'clientX' in event && clickedRootScrollbar(event, doc)) {\n return;\n }\n\n // Do not act if user performed touchmove\n if (movedRef.current) {\n movedRef.current = false;\n return;\n }\n let insideDOM;\n\n // If not enough, can use https://github.com/DieterHolvoet/event-propagation-path/blob/master/propagationPath.js\n if (event.composedPath) {\n insideDOM = event.composedPath().includes(nodeRef.current);\n } else {\n insideDOM = !doc.documentElement.contains(\n // @ts-expect-error returns `false` as intended when not dispatched from a Node\n event.target) || nodeRef.current.contains(\n // @ts-expect-error returns `false` as intended when not dispatched from a Node\n event.target);\n }\n if (!insideDOM && (disableReactTree || !insideReactTree)) {\n onClickAway(event);\n }\n });\n\n // Keep track of mouse/touch events that bubbled up through the portal.\n const createHandleSynthetic = handlerName => event => {\n syntheticEventRef.current = true;\n const childrenPropsHandler = children.props[handlerName];\n if (childrenPropsHandler) {\n childrenPropsHandler(event);\n }\n };\n const childrenProps = {\n ref: handleRef\n };\n if (touchEvent !== false) {\n childrenProps[touchEvent] = createHandleSynthetic(touchEvent);\n }\n React.useEffect(() => {\n if (touchEvent !== false) {\n const mappedTouchEvent = mapEventPropToEvent(touchEvent);\n const doc = ownerDocument(nodeRef.current);\n const handleTouchMove = () => {\n movedRef.current = true;\n };\n doc.addEventListener(mappedTouchEvent, handleClickAway);\n doc.addEventListener('touchmove', handleTouchMove);\n return () => {\n doc.removeEventListener(mappedTouchEvent, handleClickAway);\n doc.removeEventListener('touchmove', handleTouchMove);\n };\n }\n return undefined;\n }, [handleClickAway, touchEvent]);\n if (mouseEvent !== false) {\n childrenProps[mouseEvent] = createHandleSynthetic(mouseEvent);\n }\n React.useEffect(() => {\n if (mouseEvent !== false) {\n const mappedMouseEvent = mapEventPropToEvent(mouseEvent);\n const doc = ownerDocument(nodeRef.current);\n doc.addEventListener(mappedMouseEvent, handleClickAway);\n return () => {\n doc.removeEventListener(mappedMouseEvent, handleClickAway);\n };\n }\n return undefined;\n }, [handleClickAway, mouseEvent]);\n return /*#__PURE__*/React.cloneElement(children, childrenProps);\n}\nprocess.env.NODE_ENV !== \"production\" ? ClickAwayListener.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The wrapped element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * If `true`, the React tree is ignored and only the DOM tree is considered.\n * This prop changes how portaled elements are handled.\n * @default false\n */\n disableReactTree: PropTypes.bool,\n /**\n * The mouse event to listen to. You can disable the listener by providing `false`.\n * @default 'onClick'\n */\n mouseEvent: PropTypes.oneOf(['onClick', 'onMouseDown', 'onMouseUp', 'onPointerDown', 'onPointerUp', false]),\n /**\n * Callback fired when a \"click away\" event is detected.\n */\n onClickAway: PropTypes.func.isRequired,\n /**\n * The touch event to listen to. You can disable the listener by providing `false`.\n * @default 'onTouchEnd'\n */\n touchEvent: PropTypes.oneOf(['onTouchEnd', 'onTouchStart', false])\n} : void 0;\nif (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line\n ClickAwayListener['propTypes' + ''] = exactProp(ClickAwayListener.propTypes);\n}\nexport { ClickAwayListener };","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarContentUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbarContent', slot);\n}\nconst snackbarContentClasses = generateUtilityClasses('MuiSnackbarContent', ['root', 'message', 'action']);\nexport default snackbarContentClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { emphasize } from '@mui/system/colorManipulator';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Paper from \"../Paper/index.js\";\nimport { getSnackbarContentUtilityClass } from \"./snackbarContentClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes\n } = ownerState;\n const slots = {\n root: ['root'],\n action: ['action'],\n message: ['message']\n };\n return composeClasses(slots, getSnackbarContentUtilityClass, classes);\n};\nconst SnackbarContentRoot = styled(Paper, {\n name: 'MuiSnackbarContent',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => {\n const emphasis = theme.palette.mode === 'light' ? 0.8 : 0.98;\n const backgroundColor = emphasize(theme.palette.background.default, emphasis);\n return {\n ...theme.typography.body2,\n color: theme.vars ? theme.vars.palette.SnackbarContent.color : theme.palette.getContrastText(backgroundColor),\n backgroundColor: theme.vars ? theme.vars.palette.SnackbarContent.bg : backgroundColor,\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n padding: '6px 16px',\n borderRadius: (theme.vars || theme).shape.borderRadius,\n flexGrow: 1,\n [theme.breakpoints.up('sm')]: {\n flexGrow: 'initial',\n minWidth: 288\n }\n };\n}));\nconst SnackbarContentMessage = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Message',\n overridesResolver: (props, styles) => styles.message\n})({\n padding: '8px 0'\n});\nconst SnackbarContentAction = styled('div', {\n name: 'MuiSnackbarContent',\n slot: 'Action',\n overridesResolver: (props, styles) => styles.action\n})({\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto',\n paddingLeft: 16,\n marginRight: -8\n});\nconst SnackbarContent = /*#__PURE__*/React.forwardRef(function SnackbarContent(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSnackbarContent'\n });\n const {\n action,\n className,\n message,\n role = 'alert',\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(SnackbarContentRoot, {\n role: role,\n square: true,\n elevation: 6,\n className: clsx(classes.root, className),\n ownerState: ownerState,\n ref: ref,\n ...other,\n children: [/*#__PURE__*/_jsx(SnackbarContentMessage, {\n className: classes.message,\n ownerState: ownerState,\n children: message\n }), action ? /*#__PURE__*/_jsx(SnackbarContentAction, {\n className: classes.action,\n ownerState: ownerState,\n children: action\n }) : null]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SnackbarContent.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * The ARIA role attribute of the element.\n * @default 'alert'\n */\n role: PropTypes /* @typescript-to-proptypes-ignore */.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default SnackbarContent;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSnackbarUtilityClass(slot) {\n return generateUtilityClass('MuiSnackbar', slot);\n}\nconst snackbarClasses = generateUtilityClasses('MuiSnackbar', ['root', 'anchorOriginTopCenter', 'anchorOriginBottomCenter', 'anchorOriginTopRight', 'anchorOriginBottomRight', 'anchorOriginTopLeft', 'anchorOriginBottomLeft']);\nexport default snackbarClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useSnackbar from \"./useSnackbar.js\";\nimport ClickAwayListener from \"../ClickAwayListener/index.js\";\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport Grow from \"../Grow/index.js\";\nimport SnackbarContent from \"../SnackbarContent/index.js\";\nimport { getSnackbarUtilityClass } from \"./snackbarClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n anchorOrigin\n } = ownerState;\n const slots = {\n root: ['root', `anchorOrigin${capitalize(anchorOrigin.vertical)}${capitalize(anchorOrigin.horizontal)}`]\n };\n return composeClasses(slots, getSnackbarUtilityClass, classes);\n};\nconst SnackbarRoot = styled('div', {\n name: 'MuiSnackbar',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`anchorOrigin${capitalize(ownerState.anchorOrigin.vertical)}${capitalize(ownerState.anchorOrigin.horizontal)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.snackbar,\n position: 'fixed',\n display: 'flex',\n left: 8,\n right: 8,\n justifyContent: 'center',\n alignItems: 'center',\n variants: [{\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical === 'top',\n style: {\n top: 8,\n [theme.breakpoints.up('sm')]: {\n top: 24\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.vertical !== 'top',\n style: {\n bottom: 8,\n [theme.breakpoints.up('sm')]: {\n bottom: 24\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.horizontal === 'left',\n style: {\n justifyContent: 'flex-start',\n [theme.breakpoints.up('sm')]: {\n left: 24,\n right: 'auto'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.horizontal === 'right',\n style: {\n justifyContent: 'flex-end',\n [theme.breakpoints.up('sm')]: {\n right: 24,\n left: 'auto'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.anchorOrigin.horizontal === 'center',\n style: {\n [theme.breakpoints.up('sm')]: {\n left: '50%',\n right: 'auto',\n transform: 'translateX(-50%)'\n }\n }\n }]\n})));\nconst Snackbar = /*#__PURE__*/React.forwardRef(function Snackbar(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSnackbar'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n action,\n anchorOrigin: {\n vertical,\n horizontal\n } = {\n vertical: 'bottom',\n horizontal: 'left'\n },\n autoHideDuration = null,\n children,\n className,\n ClickAwayListenerProps: ClickAwayListenerPropsProp,\n ContentProps: ContentPropsProp,\n disableWindowBlurListener = false,\n message,\n onBlur,\n onClose,\n onFocus,\n onMouseEnter,\n onMouseLeave,\n open,\n resumeHideDuration,\n slots = {},\n slotProps = {},\n TransitionComponent: TransitionComponentProp,\n transitionDuration = defaultTransitionDuration,\n TransitionProps: {\n onEnter,\n onExited,\n ...TransitionPropsProp\n } = {},\n ...other\n } = props;\n const ownerState = {\n ...props,\n anchorOrigin: {\n vertical,\n horizontal\n },\n autoHideDuration,\n disableWindowBlurListener,\n TransitionComponent: TransitionComponentProp,\n transitionDuration\n };\n const classes = useUtilityClasses(ownerState);\n const {\n getRootProps,\n onClickAway\n } = useSnackbar({\n ...ownerState\n });\n const [exited, setExited] = React.useState(true);\n const handleExited = node => {\n setExited(true);\n if (onExited) {\n onExited(node);\n }\n };\n const handleEnter = (node, isAppearing) => {\n setExited(false);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n };\n const externalForwardedProps = {\n slots: {\n transition: TransitionComponentProp,\n ...slots\n },\n slotProps: {\n content: ContentPropsProp,\n clickAwayListener: ClickAwayListenerPropsProp,\n transition: TransitionPropsProp,\n ...slotProps\n }\n };\n const [Root, rootProps] = useSlot('root', {\n ref,\n className: [classes.root, className],\n elementType: SnackbarRoot,\n getSlotProps: getRootProps,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState\n });\n const [ClickAwaySlot, {\n ownerState: clickAwayOwnerStateProp,\n ...clickAwayListenerProps\n }] = useSlot('clickAwayListener', {\n elementType: ClickAwayListener,\n externalForwardedProps,\n getSlotProps: handlers => ({\n onClickAway: (...params) => {\n handlers.onClickAway?.(...params);\n onClickAway(...params);\n }\n }),\n ownerState\n });\n const [ContentSlot, contentSlotProps] = useSlot('content', {\n elementType: SnackbarContent,\n shouldForwardComponentProp: true,\n externalForwardedProps,\n additionalProps: {\n message,\n action\n },\n ownerState\n });\n const [TransitionSlot, transitionProps] = useSlot('transition', {\n elementType: Grow,\n externalForwardedProps,\n getSlotProps: handlers => ({\n onEnter: (...params) => {\n handlers.onEnter?.(...params);\n handleEnter(...params);\n },\n onExited: (...params) => {\n handlers.onExited?.(...params);\n handleExited(...params);\n }\n }),\n additionalProps: {\n appear: true,\n in: open,\n timeout: transitionDuration,\n direction: vertical === 'top' ? 'down' : 'up'\n },\n ownerState\n });\n\n // So we only render active snackbars.\n if (!open && exited) {\n return null;\n }\n return /*#__PURE__*/_jsx(ClickAwaySlot, {\n ...clickAwayListenerProps,\n ...(slots.clickAwayListener && {\n ownerState: clickAwayOwnerStateProp\n }),\n children: /*#__PURE__*/_jsx(Root, {\n ...rootProps,\n children: /*#__PURE__*/_jsx(TransitionSlot, {\n ...transitionProps,\n children: children || /*#__PURE__*/_jsx(ContentSlot, {\n ...contentSlotProps\n })\n })\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Snackbar.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The action to display. It renders after the message, at the end of the snackbar.\n */\n action: PropTypes.node,\n /**\n * The anchor of the `Snackbar`.\n * On smaller screens, the component grows to occupy all the available width,\n * the horizontal alignment is ignored.\n * @default { vertical: 'bottom', horizontal: 'left' }\n */\n anchorOrigin: PropTypes.shape({\n horizontal: PropTypes.oneOf(['center', 'left', 'right']).isRequired,\n vertical: PropTypes.oneOf(['bottom', 'top']).isRequired\n }),\n /**\n * The number of milliseconds to wait before automatically calling the\n * `onClose` function. `onClose` should then set the state of the `open`\n * prop to hide the Snackbar. This behavior is disabled by default with\n * the `null` value.\n * @default null\n */\n autoHideDuration: PropTypes.number,\n /**\n * Replace the `SnackbarContent` component.\n */\n children: PropTypes.element,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Props applied to the `ClickAwayListener` element.\n * @deprecated Use `slotProps.clickAwayListener` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n ClickAwayListenerProps: PropTypes.object,\n /**\n * Props applied to the [`SnackbarContent`](https://mui.com/material-ui/api/snackbar-content/) element.\n * @deprecated Use `slotProps.content` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n ContentProps: PropTypes.object,\n /**\n * If `true`, the `autoHideDuration` timer will expire even if the window is not focused.\n * @default false\n */\n disableWindowBlurListener: PropTypes.bool,\n /**\n * When displaying multiple consecutive snackbars using a single parent-rendered\n * `<Snackbar/>`, add the `key` prop to ensure independent treatment of each message.\n * For instance, use `<Snackbar key={message} />`. Otherwise, messages might update\n * in place, and features like `autoHideDuration` could be affected.\n */\n key: () => null,\n /**\n * The message to display.\n */\n message: PropTypes.node,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n * Typically `onClose` is used to set state in the parent component,\n * which is used to control the `Snackbar` `open` prop.\n * The `reason` parameter can optionally be used to control the response to `onClose`,\n * for example ignoring `clickaway`.\n *\n * @param {React.SyntheticEvent<any> | Event} event The event source of the callback.\n * @param {string} reason Can be: `\"timeout\"` (`autoHideDuration` expired), `\"clickaway\"`, or `\"escapeKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onMouseEnter: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * The number of milliseconds to wait before dismissing after user interaction.\n * If `autoHideDuration` prop isn't specified, it does nothing.\n * If `autoHideDuration` prop is specified but `resumeHideDuration` isn't,\n * we default to `autoHideDuration / 2` ms.\n */\n resumeHideDuration: PropTypes.number,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n clickAwayListener: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({\n children: PropTypes.element.isRequired,\n disableReactTree: PropTypes.bool,\n mouseEvent: PropTypes.oneOf(['onClick', 'onMouseDown', 'onMouseUp', 'onPointerDown', 'onPointerUp', false]),\n onClickAway: PropTypes.func,\n touchEvent: PropTypes.oneOf(['onTouchEnd', 'onTouchStart', false])\n })]),\n content: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n clickAwayListener: PropTypes.elementType,\n content: PropTypes.elementType,\n root: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @deprecated Use `slots.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default Grow\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n * @default {}\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default Snackbar;","/**\n * Snackbar Component\n * @package @mrs/ui\n *\n * Temporary notification message shown at the bottom or top of the screen.\n * Provides brief feedback about an operation through a message at the bottom of the screen.\n *\n * @example\n * ```tsx\n * <Snackbar\n * open={open}\n * autoHideDuration={6000}\n * onClose={handleClose}\n * message=\"Item successfully saved\"\n * />\n * ```\n *\n * @example With severity\n * ```tsx\n * <Snackbar\n * open={open}\n * onClose={handleClose}\n * severity=\"success\"\n * >\n * Item successfully saved!\n * </Snackbar>\n * ```\n */\n\nimport React from 'react';\nimport MuiSnackbar from '@mui/material/Snackbar';\nimport Alert from '@mui/material/Alert';\nimport IconButton from '@mui/material/IconButton';\nimport { MaterialSymbol } from '../../atoms/MaterialSymbol';\nimport type { SnackbarProps } from './Snackbar.types';\n\nexport const Snackbar = React.forwardRef<HTMLDivElement, SnackbarProps>(\n (\n {\n open = false,\n autoHideDuration = 6000,\n onClose,\n message,\n anchorOrigin = { vertical: 'bottom', horizontal: 'left' },\n action,\n severity,\n variant = 'filled',\n showCloseButton = true,\n icon,\n children,\n ...props\n },\n ref\n ) => {\n const handleClose = (event: React.SyntheticEvent | Event, reason?: string) => {\n if (reason === 'clickaway') {\n return;\n }\n onClose?.(event, reason);\n };\n\n // Render as Alert if severity is provided\n if (severity) {\n return (\n <MuiSnackbar\n ref={ref}\n open={open}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n anchorOrigin={anchorOrigin}\n {...props}\n >\n <Alert\n severity={severity}\n variant={variant}\n icon={icon}\n onClose={showCloseButton ? (e) => handleClose(e) : undefined}\n sx={{ width: '100%' }}\n >\n {children || message}\n </Alert>\n </MuiSnackbar>\n );\n }\n\n // Default action (close button) if no action provided\n const defaultAction =\n action !== undefined ? (\n action\n ) : (\n <IconButton size=\"small\" aria-label=\"close\" color=\"inherit\" onClick={(e) => handleClose(e)}>\n <MaterialSymbol icon=\"close\" size=\"small\" />\n </IconButton>\n );\n\n // Render as simple Snackbar\n return (\n <MuiSnackbar\n ref={ref}\n open={open}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n message={children || message}\n action={defaultAction}\n anchorOrigin={anchorOrigin}\n {...props}\n />\n );\n }\n);\n\nSnackbar.displayName = 'Snackbar';\n\nexport default Snackbar;\n","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { Transition } from 'react-transition-group';\nimport elementAcceptingRef from '@mui/utils/elementAcceptingRef';\nimport getReactElementRef from '@mui/utils/getReactElementRef';\nimport { useTheme } from \"../zero-styled/index.js\";\nimport { reflow, getTransitionProps } from \"../transitions/utils.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst styles = {\n entering: {\n transform: 'none'\n },\n entered: {\n transform: 'none'\n }\n};\n\n/**\n * The Zoom transition can be used for the floating variant of the\n * [Button](/material-ui/react-button/#floating-action-buttons) component.\n * It uses [react-transition-group](https://github.com/reactjs/react-transition-group) internally.\n */\nconst Zoom = /*#__PURE__*/React.forwardRef(function Zoom(props, ref) {\n const theme = useTheme();\n const defaultTimeout = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n addEndListener,\n appear = true,\n children,\n easing,\n in: inProp,\n onEnter,\n onEntered,\n onEntering,\n onExit,\n onExited,\n onExiting,\n style,\n timeout = defaultTimeout,\n // eslint-disable-next-line react/prop-types\n TransitionComponent = Transition,\n ...other\n } = props;\n const nodeRef = React.useRef(null);\n const handleRef = useForkRef(nodeRef, getReactElementRef(children), ref);\n const normalizedTransitionCallback = callback => maybeIsAppearing => {\n if (callback) {\n const node = nodeRef.current;\n\n // onEnterXxx and onExitXxx callbacks have a different arguments.length value.\n if (maybeIsAppearing === undefined) {\n callback(node);\n } else {\n callback(node, maybeIsAppearing);\n }\n }\n };\n const handleEntering = normalizedTransitionCallback(onEntering);\n const handleEnter = normalizedTransitionCallback((node, isAppearing) => {\n reflow(node); // So the animation always start from the start.\n\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'enter'\n });\n node.style.webkitTransition = theme.transitions.create('transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n if (onEnter) {\n onEnter(node, isAppearing);\n }\n });\n const handleEntered = normalizedTransitionCallback(onEntered);\n const handleExiting = normalizedTransitionCallback(onExiting);\n const handleExit = normalizedTransitionCallback(node => {\n const transitionProps = getTransitionProps({\n style,\n timeout,\n easing\n }, {\n mode: 'exit'\n });\n node.style.webkitTransition = theme.transitions.create('transform', transitionProps);\n node.style.transition = theme.transitions.create('transform', transitionProps);\n if (onExit) {\n onExit(node);\n }\n });\n const handleExited = normalizedTransitionCallback(onExited);\n const handleAddEndListener = next => {\n if (addEndListener) {\n // Old call signature before `react-transition-group` implemented `nodeRef`\n addEndListener(nodeRef.current, next);\n }\n };\n return /*#__PURE__*/_jsx(TransitionComponent, {\n appear: appear,\n in: inProp,\n nodeRef: nodeRef,\n onEnter: handleEnter,\n onEntered: handleEntered,\n onEntering: handleEntering,\n onExit: handleExit,\n onExited: handleExited,\n onExiting: handleExiting,\n addEndListener: handleAddEndListener,\n timeout: timeout,\n ...other,\n children: (state, {\n ownerState,\n ...restChildProps\n }) => {\n return /*#__PURE__*/React.cloneElement(children, {\n style: {\n transform: 'scale(0)',\n visibility: state === 'exited' && !inProp ? 'hidden' : undefined,\n ...styles[state],\n ...style,\n ...children.props.style\n },\n ref: handleRef,\n ...restChildProps\n });\n }\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Zoom.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Add a custom transition end trigger. Called with the transitioning DOM\n * node and a done callback. Allows for more fine grained transition end\n * logic. Note: Timeouts are still used as a fallback if provided.\n */\n addEndListener: PropTypes.func,\n /**\n * Perform the enter transition when it first mounts if `in` is also `true`.\n * Set this to `false` to disable this behavior.\n * @default true\n */\n appear: PropTypes.bool,\n /**\n * A single child content element.\n */\n children: elementAcceptingRef.isRequired,\n /**\n * The transition timing function.\n * You may specify a single easing or a object containing enter and exit values.\n */\n easing: PropTypes.oneOfType([PropTypes.shape({\n enter: PropTypes.string,\n exit: PropTypes.string\n }), PropTypes.string]),\n /**\n * If `true`, the component will transition in.\n */\n in: PropTypes.bool,\n /**\n * @ignore\n */\n onEnter: PropTypes.func,\n /**\n * @ignore\n */\n onEntered: PropTypes.func,\n /**\n * @ignore\n */\n onEntering: PropTypes.func,\n /**\n * @ignore\n */\n onExit: PropTypes.func,\n /**\n * @ignore\n */\n onExited: PropTypes.func,\n /**\n * @ignore\n */\n onExiting: PropTypes.func,\n /**\n * @ignore\n */\n style: PropTypes.object,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n timeout: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })])\n} : void 0;\nexport default Zoom;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getFabUtilityClass(slot) {\n return generateUtilityClass('MuiFab', slot);\n}\nconst fabClasses = generateUtilityClasses('MuiFab', ['root', 'primary', 'secondary', 'extended', 'circular', 'focusVisible', 'disabled', 'colorInherit', 'sizeSmall', 'sizeMedium', 'sizeLarge', 'info', 'error', 'warning', 'success']);\nexport default fabClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport ButtonBase from \"../ButtonBase/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport fabClasses, { getFabUtilityClass } from \"./fabClasses.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport createSimplePaletteValueFilter from \"../utils/createSimplePaletteValueFilter.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n color,\n variant,\n classes,\n size\n } = ownerState;\n const slots = {\n root: ['root', variant, `size${capitalize(size)}`, color === 'inherit' ? 'colorInherit' : color]\n };\n const composedClasses = composeClasses(slots, getFabUtilityClass, classes);\n return {\n ...classes,\n // forward the focused, disabled, etc. classes to the ButtonBase\n ...composedClasses\n };\n};\nconst FabRoot = styled(ButtonBase, {\n name: 'MuiFab',\n slot: 'Root',\n shouldForwardProp: prop => rootShouldForwardProp(prop) || prop === 'classes',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.variant], styles[`size${capitalize(ownerState.size)}`], ownerState.color === 'inherit' && styles.colorInherit, styles[capitalize(ownerState.size)], styles[ownerState.color]];\n }\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.button,\n minHeight: 36,\n transition: theme.transitions.create(['background-color', 'box-shadow', 'border-color'], {\n duration: theme.transitions.duration.short\n }),\n borderRadius: '50%',\n padding: 0,\n minWidth: 0,\n width: 56,\n height: 56,\n zIndex: (theme.vars || theme).zIndex.fab,\n boxShadow: (theme.vars || theme).shadows[6],\n '&:active': {\n boxShadow: (theme.vars || theme).shadows[12]\n },\n color: theme.vars ? theme.vars.palette.text.primary : theme.palette.getContrastText?.(theme.palette.grey[300]),\n backgroundColor: (theme.vars || theme).palette.grey[300],\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette.grey.A100,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette.grey[300]\n },\n textDecoration: 'none'\n },\n [`&.${fabClasses.focusVisible}`]: {\n boxShadow: (theme.vars || theme).shadows[6]\n },\n variants: [{\n props: {\n size: 'small'\n },\n style: {\n width: 40,\n height: 40\n }\n }, {\n props: {\n size: 'medium'\n },\n style: {\n width: 48,\n height: 48\n }\n }, {\n props: {\n variant: 'extended'\n },\n style: {\n borderRadius: 48 / 2,\n padding: '0 16px',\n width: 'auto',\n minHeight: 'auto',\n minWidth: 48,\n height: 48\n }\n }, {\n props: {\n variant: 'extended',\n size: 'small'\n },\n style: {\n width: 'auto',\n padding: '0 8px',\n borderRadius: 34 / 2,\n minWidth: 34,\n height: 34\n }\n }, {\n props: {\n variant: 'extended',\n size: 'medium'\n },\n style: {\n width: 'auto',\n padding: '0 16px',\n borderRadius: 40 / 2,\n minWidth: 40,\n height: 40\n }\n }, {\n props: {\n color: 'inherit'\n },\n style: {\n color: 'inherit'\n }\n }]\n})), memoTheme(({\n theme\n}) => ({\n variants: [...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(['dark', 'contrastText'])) // check all the used fields in the style below\n .map(([color]) => ({\n props: {\n color\n },\n style: {\n color: (theme.vars || theme).palette[color].contrastText,\n backgroundColor: (theme.vars || theme).palette[color].main,\n '&:hover': {\n backgroundColor: (theme.vars || theme).palette[color].dark,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: (theme.vars || theme).palette[color].main\n }\n }\n }\n }))]\n})), memoTheme(({\n theme\n}) => ({\n [`&.${fabClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled,\n boxShadow: (theme.vars || theme).shadows[0],\n backgroundColor: (theme.vars || theme).palette.action.disabledBackground\n }\n})));\nconst Fab = /*#__PURE__*/React.forwardRef(function Fab(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiFab'\n });\n const {\n children,\n className,\n color = 'default',\n component = 'button',\n disabled = false,\n disableFocusRipple = false,\n focusVisibleClassName,\n size = 'large',\n variant = 'circular',\n ...other\n } = props;\n const ownerState = {\n ...props,\n color,\n component,\n disabled,\n disableFocusRipple,\n size,\n variant\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(FabRoot, {\n className: clsx(classes.root, className),\n component: component,\n disabled: disabled,\n focusRipple: !disableFocusRipple,\n focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),\n ownerState: ownerState,\n ref: ref,\n ...other,\n classes: classes,\n children: children\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Fab.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The content of the component.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The color of the component.\n * It supports both default and custom theme colors, which can be added as shown in the\n * [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).\n * @default 'default'\n */\n color: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['default', 'error', 'info', 'inherit', 'primary', 'secondary', 'success', 'warning']), PropTypes.string]),\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the component is disabled.\n * @default false\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the keyboard focus ripple is disabled.\n * @default false\n */\n disableFocusRipple: PropTypes.bool,\n /**\n * If `true`, the ripple effect is disabled.\n */\n disableRipple: PropTypes.bool,\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n /**\n * The URL to link to when the button is clicked.\n * If defined, an `a` element will be used as the root node.\n */\n href: PropTypes.string,\n /**\n * The size of the component.\n * `small` is equivalent to the dense button styling.\n * @default 'large'\n */\n size: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['small', 'medium', 'large']), PropTypes.string]),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The variant to use.\n * @default 'circular'\n */\n variant: PropTypes /* @typescript-to-proptypes-ignore */.oneOfType([PropTypes.oneOf(['circular', 'extended']), PropTypes.string])\n} : void 0;\nexport default Fab;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSpeedDialUtilityClass(slot) {\n return generateUtilityClass('MuiSpeedDial', slot);\n}\nconst speedDialClasses = generateUtilityClasses('MuiSpeedDial', ['root', 'fab', 'directionUp', 'directionDown', 'directionLeft', 'directionRight', 'actions', 'actionsClosed']);\nexport default speedDialClasses;","'use client';\n\nimport * as React from 'react';\nimport { isFragment } from 'react-is';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport useTimeout from '@mui/utils/useTimeout';\nimport clamp from '@mui/utils/clamp';\nimport { styled, useTheme } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Zoom from \"../Zoom/index.js\";\nimport Fab from \"../Fab/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport isMuiElement from \"../utils/isMuiElement.js\";\nimport useForkRef from \"../utils/useForkRef.js\";\nimport useControlled from \"../utils/useControlled.js\";\nimport speedDialClasses, { getSpeedDialUtilityClass } from \"./speedDialClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n open,\n direction\n } = ownerState;\n const slots = {\n root: ['root', `direction${capitalize(direction)}`],\n fab: ['fab'],\n actions: ['actions', !open && 'actionsClosed']\n };\n return composeClasses(slots, getSpeedDialUtilityClass, classes);\n};\nfunction getOrientation(direction) {\n if (direction === 'up' || direction === 'down') {\n return 'vertical';\n }\n if (direction === 'right' || direction === 'left') {\n return 'horizontal';\n }\n return undefined;\n}\nconst dialRadius = 32;\nconst spacingActions = 16;\nconst SpeedDialRoot = styled('div', {\n name: 'MuiSpeedDial',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[`direction${capitalize(ownerState.direction)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n zIndex: (theme.vars || theme).zIndex.speedDial,\n display: 'flex',\n alignItems: 'center',\n pointerEvents: 'none',\n variants: [{\n props: {\n direction: 'up'\n },\n style: {\n flexDirection: 'column-reverse',\n [`& .${speedDialClasses.actions}`]: {\n flexDirection: 'column-reverse',\n marginBottom: -dialRadius,\n paddingBottom: spacingActions + dialRadius\n }\n }\n }, {\n props: {\n direction: 'down'\n },\n style: {\n flexDirection: 'column',\n [`& .${speedDialClasses.actions}`]: {\n flexDirection: 'column',\n marginTop: -dialRadius,\n paddingTop: spacingActions + dialRadius\n }\n }\n }, {\n props: {\n direction: 'left'\n },\n style: {\n flexDirection: 'row-reverse',\n [`& .${speedDialClasses.actions}`]: {\n flexDirection: 'row-reverse',\n marginRight: -dialRadius,\n paddingRight: spacingActions + dialRadius\n }\n }\n }, {\n props: {\n direction: 'right'\n },\n style: {\n flexDirection: 'row',\n [`& .${speedDialClasses.actions}`]: {\n flexDirection: 'row',\n marginLeft: -dialRadius,\n paddingLeft: spacingActions + dialRadius\n }\n }\n }]\n})));\nconst SpeedDialFab = styled(Fab, {\n name: 'MuiSpeedDial',\n slot: 'Fab',\n overridesResolver: (props, styles) => styles.fab\n})({\n pointerEvents: 'auto'\n});\nconst SpeedDialActions = styled('div', {\n name: 'MuiSpeedDial',\n slot: 'Actions',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.actions, !ownerState.open && styles.actionsClosed];\n }\n})({\n display: 'flex',\n pointerEvents: 'auto',\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.open,\n style: {\n transition: 'top 0s linear 0.2s',\n pointerEvents: 'none'\n }\n }]\n});\nconst SpeedDial = /*#__PURE__*/React.forwardRef(function SpeedDial(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSpeedDial'\n });\n const theme = useTheme();\n const defaultTransitionDuration = {\n enter: theme.transitions.duration.enteringScreen,\n exit: theme.transitions.duration.leavingScreen\n };\n const {\n ariaLabel,\n FabProps: {\n ref: origDialButtonRef,\n ...FabProps\n } = {},\n children: childrenProp,\n className,\n direction = 'up',\n hidden = false,\n icon,\n onBlur,\n onClose,\n onFocus,\n onKeyDown,\n onMouseEnter,\n onMouseLeave,\n onOpen,\n open: openProp,\n openIcon,\n slots = {},\n slotProps = {},\n TransitionComponent: TransitionComponentProp,\n TransitionProps: TransitionPropsProp,\n transitionDuration = defaultTransitionDuration,\n ...other\n } = props;\n const [open, setOpenState] = useControlled({\n controlled: openProp,\n default: false,\n name: 'SpeedDial',\n state: 'open'\n });\n const ownerState = {\n ...props,\n open,\n direction\n };\n const classes = useUtilityClasses(ownerState);\n const eventTimer = useTimeout();\n\n /**\n * an index in actions.current\n */\n const focusedAction = React.useRef(0);\n\n /**\n * pressing this key while the focus is on a child SpeedDialAction focuses\n * the next SpeedDialAction.\n * It is equal to the first arrow key pressed while focus is on the SpeedDial\n * that is not orthogonal to the direction.\n * @type {utils.ArrowKey?}\n */\n const nextItemArrowKey = React.useRef();\n\n /**\n * refs to the Button that have an action associated to them in this SpeedDial\n * [Fab, ...(SpeedDialActions > Button)]\n * @type {HTMLButtonElement[]}\n */\n const actions = React.useRef([]);\n actions.current = [actions.current[0]];\n const handleOwnFabRef = React.useCallback(fabFef => {\n actions.current[0] = fabFef;\n }, []);\n const handleFabRef = useForkRef(origDialButtonRef, handleOwnFabRef);\n\n /**\n * creates a ref callback for the Button in a SpeedDialAction\n * Is called before the original ref callback for Button that was set in buttonProps\n *\n * @param dialActionIndex {number}\n * @param origButtonRef {React.RefObject?}\n */\n const createHandleSpeedDialActionButtonRef = (dialActionIndex, origButtonRef) => {\n return buttonRef => {\n actions.current[dialActionIndex + 1] = buttonRef;\n if (origButtonRef) {\n origButtonRef(buttonRef);\n }\n };\n };\n const handleKeyDown = event => {\n if (onKeyDown) {\n onKeyDown(event);\n }\n const key = event.key.replace('Arrow', '').toLowerCase();\n const {\n current: nextItemArrowKeyCurrent = key\n } = nextItemArrowKey;\n if (event.key === 'Escape') {\n setOpenState(false);\n actions.current[0].focus();\n if (onClose) {\n onClose(event, 'escapeKeyDown');\n }\n return;\n }\n if (getOrientation(key) === getOrientation(nextItemArrowKeyCurrent) && getOrientation(key) !== undefined) {\n event.preventDefault();\n const actionStep = key === nextItemArrowKeyCurrent ? 1 : -1;\n\n // stay within array indices\n const nextAction = clamp(focusedAction.current + actionStep, 0, actions.current.length - 1);\n actions.current[nextAction].focus();\n focusedAction.current = nextAction;\n nextItemArrowKey.current = nextItemArrowKeyCurrent;\n }\n };\n React.useEffect(() => {\n // actions were closed while navigation state was not reset\n if (!open) {\n focusedAction.current = 0;\n nextItemArrowKey.current = undefined;\n }\n }, [open]);\n const handleClose = event => {\n if (event.type === 'mouseleave' && onMouseLeave) {\n onMouseLeave(event);\n }\n if (event.type === 'blur' && onBlur) {\n onBlur(event);\n }\n eventTimer.clear();\n if (event.type === 'blur') {\n eventTimer.start(0, () => {\n setOpenState(false);\n if (onClose) {\n onClose(event, 'blur');\n }\n });\n } else {\n setOpenState(false);\n if (onClose) {\n onClose(event, 'mouseLeave');\n }\n }\n };\n const handleClick = event => {\n if (FabProps.onClick) {\n FabProps.onClick(event);\n }\n eventTimer.clear();\n if (open) {\n setOpenState(false);\n if (onClose) {\n onClose(event, 'toggle');\n }\n } else {\n setOpenState(true);\n if (onOpen) {\n onOpen(event, 'toggle');\n }\n }\n };\n const handleOpen = event => {\n if (event.type === 'mouseenter' && onMouseEnter) {\n onMouseEnter(event);\n }\n if (event.type === 'focus' && onFocus) {\n onFocus(event);\n }\n\n // When moving the focus between two items,\n // a chain if blur and focus event is triggered.\n // We only handle the last event.\n eventTimer.clear();\n if (!open) {\n // Wait for a future focus or click event\n eventTimer.start(0, () => {\n setOpenState(true);\n if (onOpen) {\n const eventMap = {\n focus: 'focus',\n mouseenter: 'mouseEnter'\n };\n onOpen(event, eventMap[event.type]);\n }\n });\n }\n };\n\n // Filter the label for valid id characters.\n const id = ariaLabel.replace(/^[^a-z]+|[^\\w:.-]+/gi, '');\n const allItems = React.Children.toArray(childrenProp).filter(child => {\n if (process.env.NODE_ENV !== 'production') {\n if (isFragment(child)) {\n console.error([\"MUI: The SpeedDial component doesn't accept a Fragment as a child.\", 'Consider providing an array instead.'].join('\\n'));\n }\n }\n return /*#__PURE__*/React.isValidElement(child);\n });\n const children = allItems.map((child, index) => {\n const {\n FabProps: {\n ref: origButtonRef,\n ...ChildFabProps\n } = {},\n tooltipPlacement: tooltipPlacementProp\n } = child.props;\n const tooltipPlacement = tooltipPlacementProp || (getOrientation(direction) === 'vertical' ? 'left' : 'top');\n return /*#__PURE__*/React.cloneElement(child, {\n FabProps: {\n ...ChildFabProps,\n ref: createHandleSpeedDialActionButtonRef(index, origButtonRef)\n },\n delay: 30 * (open ? index : allItems.length - index),\n open,\n tooltipPlacement,\n id: `${id}-action-${index}`\n });\n });\n const backwardCompatibleSlots = {\n transition: TransitionComponentProp,\n ...slots\n };\n const backwardCompatibleSlotProps = {\n transition: TransitionPropsProp,\n ...slotProps\n };\n const externalForwardedProps = {\n slots: backwardCompatibleSlots,\n slotProps: backwardCompatibleSlotProps\n };\n const [RootSlot, rootSlotProps] = useSlot('root', {\n elementType: SpeedDialRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n ref,\n className: clsx(classes.root, className),\n additionalProps: {\n role: 'presentation'\n },\n getSlotProps: handlers => ({\n ...handlers,\n onKeyDown: event => {\n handlers.onKeyDown?.(event);\n handleKeyDown(event);\n },\n onBlur: event => {\n handlers.onBlur?.(event);\n handleClose(event);\n },\n onFocus: event => {\n handlers.onFocus?.(event);\n handleOpen(event);\n },\n onMouseEnter: event => {\n handlers.onMouseEnter?.(event);\n handleOpen(event);\n },\n onMouseLeave: event => {\n handlers.onMouseLeave?.(event);\n handleClose(event);\n }\n })\n });\n const [TransitionSlot, transitionProps] = useSlot('transition', {\n elementType: Zoom,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootSlotProps,\n children: [/*#__PURE__*/_jsx(TransitionSlot, {\n in: !hidden,\n timeout: transitionDuration,\n unmountOnExit: true,\n ...transitionProps,\n children: /*#__PURE__*/_jsx(SpeedDialFab, {\n color: \"primary\",\n \"aria-label\": ariaLabel,\n \"aria-haspopup\": \"true\",\n \"aria-expanded\": open,\n \"aria-controls\": `${id}-actions`,\n ...FabProps,\n onClick: handleClick,\n className: clsx(classes.fab, FabProps.className),\n ref: handleFabRef,\n ownerState: ownerState,\n children: /*#__PURE__*/React.isValidElement(icon) && isMuiElement(icon, ['SpeedDialIcon']) ? /*#__PURE__*/React.cloneElement(icon, {\n open\n }) : icon\n })\n }), /*#__PURE__*/_jsx(SpeedDialActions, {\n id: `${id}-actions`,\n role: \"menu\",\n \"aria-orientation\": getOrientation(direction),\n className: clsx(classes.actions, !open && classes.actionsClosed),\n ownerState: ownerState,\n children: children\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SpeedDial.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * The aria-label of the button element.\n * Also used to provide the `id` for the `SpeedDial` element and its children.\n */\n ariaLabel: PropTypes.string.isRequired,\n /**\n * SpeedDialActions to display when the SpeedDial is `open`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The direction the actions open relative to the floating action button.\n * @default 'up'\n */\n direction: PropTypes.oneOf(['down', 'left', 'right', 'up']),\n /**\n * Props applied to the [`Fab`](https://mui.com/material-ui/api/fab/) element.\n * @default {}\n */\n FabProps: PropTypes.object,\n /**\n * If `true`, the SpeedDial is hidden.\n * @default false\n */\n hidden: PropTypes.bool,\n /**\n * The icon to display in the SpeedDial Fab. The `SpeedDialIcon` component\n * provides a default Icon with animation.\n */\n icon: PropTypes.node,\n /**\n * @ignore\n */\n onBlur: PropTypes.func,\n /**\n * Callback fired when the component requests to be closed.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"toggle\"`, `\"blur\"`, `\"mouseLeave\"`, `\"escapeKeyDown\"`.\n */\n onClose: PropTypes.func,\n /**\n * @ignore\n */\n onFocus: PropTypes.func,\n /**\n * @ignore\n */\n onKeyDown: PropTypes.func,\n /**\n * @ignore\n */\n onMouseEnter: PropTypes.func,\n /**\n * @ignore\n */\n onMouseLeave: PropTypes.func,\n /**\n * Callback fired when the component requests to be open.\n *\n * @param {object} event The event source of the callback.\n * @param {string} reason Can be: `\"toggle\"`, `\"focus\"`, `\"mouseEnter\"`.\n */\n onOpen: PropTypes.func,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * The icon to display in the SpeedDial Fab when the SpeedDial is open.\n */\n openIcon: PropTypes.node,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n transition: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n root: PropTypes.elementType,\n transition: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * The component used for the transition.\n * [Follow this guide](https://mui.com/material-ui/transitions/#transitioncomponent-prop) to learn more about the requirements for this component.\n * @default Zoom\n * * @deprecated Use `slots.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)\n */\n TransitionComponent: PropTypes.elementType,\n /**\n * The duration for the transition, in milliseconds.\n * You may specify a single timeout for all transitions, or individually with an object.\n * @default {\n * enter: theme.transitions.duration.enteringScreen,\n * exit: theme.transitions.duration.leavingScreen,\n * }\n */\n transitionDuration: PropTypes.oneOfType([PropTypes.number, PropTypes.shape({\n appear: PropTypes.number,\n enter: PropTypes.number,\n exit: PropTypes.number\n })]),\n /**\n * Props applied to the transition element.\n * By default, the element is based on this [`Transition`](https://reactcommunity.org/react-transition-group/transition/) component.\n * @deprecated Use `slotProps.transition` instead. This prop will be removed in v7. [How to migrate](/material-ui/migration/migrating-from-deprecated-apis/)\n */\n TransitionProps: PropTypes.object\n} : void 0;\nexport default SpeedDial;","/**\n * SpeedDial Component\n *\n * SpeedDial component for the MRS Design System.\n * Wraps Material-UI SpeedDial with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-speed-dial/}\n */\n\nimport React from 'react';\nimport MuiSpeedDial from '@mui/material/SpeedDial';\nimport type { SpeedDialProps } from './SpeedDial.types';\n\n/**\n * SpeedDial component\n *\n * When pressed, a floating action button can display three to six related actions in the form of a Speed Dial.\n *\n * @param props - SpeedDial component props\n * @returns SpeedDial component\n */\nexport const SpeedDial = React.forwardRef<HTMLDivElement, SpeedDialProps>((props, ref) => {\n return <MuiSpeedDial ref={ref} {...props} />;\n});\n\nSpeedDial.displayName = 'SpeedDial';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSpeedDialActionUtilityClass(slot) {\n return generateUtilityClass('MuiSpeedDialAction', slot);\n}\nconst speedDialActionClasses = generateUtilityClasses('MuiSpeedDialAction', ['fab', 'fabClosed', 'staticTooltip', 'staticTooltipClosed', 'staticTooltipLabel', 'tooltipPlacementLeft', 'tooltipPlacementRight']);\nexport default speedDialActionClasses;","'use client';\n\n// @inheritedComponent Tooltip\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { emphasize } from '@mui/system/colorManipulator';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport Fab from \"../Fab/index.js\";\nimport Tooltip from \"../Tooltip/index.js\";\nimport capitalize from \"../utils/capitalize.js\";\nimport speedDialActionClasses, { getSpeedDialActionUtilityClass } from \"./speedDialActionClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { mergeSlotProps } from \"../utils/index.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n open,\n tooltipPlacement,\n classes\n } = ownerState;\n const slots = {\n fab: ['fab', !open && 'fabClosed'],\n staticTooltip: ['staticTooltip', `tooltipPlacement${capitalize(tooltipPlacement)}`, !open && 'staticTooltipClosed'],\n staticTooltipLabel: ['staticTooltipLabel']\n };\n return composeClasses(slots, getSpeedDialActionUtilityClass, classes);\n};\nconst SpeedDialActionFab = styled(Fab, {\n name: 'MuiSpeedDialAction',\n slot: 'Fab',\n skipVariantsResolver: false,\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.fab, !ownerState.open && styles.fabClosed];\n }\n})(memoTheme(({\n theme\n}) => ({\n margin: 8,\n color: (theme.vars || theme).palette.text.secondary,\n backgroundColor: (theme.vars || theme).palette.background.paper,\n '&:hover': {\n backgroundColor: theme.vars ? theme.vars.palette.SpeedDialAction.fabHoverBg : emphasize(theme.palette.background.paper, 0.15)\n },\n transition: `${theme.transitions.create('transform', {\n duration: theme.transitions.duration.shorter\n })}, opacity 0.8s`,\n opacity: 1,\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.open,\n style: {\n opacity: 0,\n transform: 'scale(0)'\n }\n }]\n})));\nconst SpeedDialActionStaticTooltip = styled('span', {\n name: 'MuiSpeedDialAction',\n slot: 'StaticTooltip',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.staticTooltip, !ownerState.open && styles.staticTooltipClosed, styles[`tooltipPlacement${capitalize(ownerState.tooltipPlacement)}`]];\n }\n})(memoTheme(({\n theme\n}) => ({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n [`& .${speedDialActionClasses.staticTooltipLabel}`]: {\n transition: theme.transitions.create(['transform', 'opacity'], {\n duration: theme.transitions.duration.shorter\n }),\n opacity: 1\n },\n variants: [{\n props: ({\n ownerState\n }) => !ownerState.open,\n style: {\n [`& .${speedDialActionClasses.staticTooltipLabel}`]: {\n opacity: 0,\n transform: 'scale(0.5)'\n }\n }\n }, {\n props: {\n tooltipPlacement: 'left'\n },\n style: {\n [`& .${speedDialActionClasses.staticTooltipLabel}`]: {\n transformOrigin: '100% 50%',\n right: '100%',\n marginRight: 8\n }\n }\n }, {\n props: {\n tooltipPlacement: 'right'\n },\n style: {\n [`& .${speedDialActionClasses.staticTooltipLabel}`]: {\n transformOrigin: '0% 50%',\n left: '100%',\n marginLeft: 8\n }\n }\n }]\n})));\nconst SpeedDialActionStaticTooltipLabel = styled('span', {\n name: 'MuiSpeedDialAction',\n slot: 'StaticTooltipLabel',\n overridesResolver: (props, styles) => styles.staticTooltipLabel\n})(memoTheme(({\n theme\n}) => ({\n position: 'absolute',\n ...theme.typography.body1,\n backgroundColor: (theme.vars || theme).palette.background.paper,\n borderRadius: (theme.vars || theme).shape.borderRadius,\n boxShadow: (theme.vars || theme).shadows[1],\n color: (theme.vars || theme).palette.text.secondary,\n padding: '4px 16px',\n wordBreak: 'keep-all'\n})));\nconst SpeedDialAction = /*#__PURE__*/React.forwardRef(function SpeedDialAction(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSpeedDialAction'\n });\n const {\n className,\n delay = 0,\n FabProps = {},\n icon,\n id,\n open,\n TooltipClasses,\n tooltipOpen: tooltipOpenProp = false,\n tooltipPlacement = 'left',\n tooltipTitle,\n slots = {},\n slotProps = {},\n ...other\n } = props;\n const ownerState = {\n ...props,\n tooltipPlacement\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps: {\n fab: FabProps,\n ...slotProps,\n tooltip: mergeSlotProps(typeof slotProps.tooltip === 'function' ? slotProps.tooltip(ownerState) : slotProps.tooltip, {\n title: tooltipTitle,\n open: tooltipOpenProp,\n placement: tooltipPlacement,\n classes: TooltipClasses\n })\n }\n };\n const [tooltipOpen, setTooltipOpen] = React.useState(externalForwardedProps.slotProps.tooltip?.open);\n const handleTooltipClose = () => {\n setTooltipOpen(false);\n };\n const handleTooltipOpen = () => {\n setTooltipOpen(true);\n };\n const transitionStyle = {\n transitionDelay: `${delay}ms`\n };\n const [FabSlot, fabSlotProps] = useSlot('fab', {\n elementType: SpeedDialActionFab,\n externalForwardedProps,\n ownerState,\n shouldForwardComponentProp: true,\n className: clsx(classes.fab, className),\n additionalProps: {\n style: transitionStyle,\n tabIndex: -1,\n role: 'menuitem',\n size: 'small'\n }\n });\n const [TooltipSlot, tooltipSlotProps] = useSlot('tooltip', {\n elementType: Tooltip,\n externalForwardedProps,\n shouldForwardComponentProp: true,\n ref,\n additionalProps: {\n id\n },\n ownerState,\n getSlotProps: handlers => ({\n ...handlers,\n onClose: event => {\n handlers.onClose?.(event);\n handleTooltipClose();\n },\n onOpen: event => {\n handlers.onOpen?.(event);\n handleTooltipOpen();\n }\n })\n });\n const [StaticTooltipSlot, staticTooltipSlotProps] = useSlot('staticTooltip', {\n elementType: SpeedDialActionStaticTooltip,\n externalForwardedProps,\n ownerState,\n ref,\n className: classes.staticTooltip,\n additionalProps: {\n id\n }\n });\n const [StaticTooltipLabelSlot, staticTooltipLabelSlotProps] = useSlot('staticTooltipLabel', {\n elementType: SpeedDialActionStaticTooltipLabel,\n externalForwardedProps,\n ownerState,\n className: classes.staticTooltipLabel,\n additionalProps: {\n style: transitionStyle,\n id: `${id}-label`\n }\n });\n const fab = /*#__PURE__*/_jsx(FabSlot, {\n ...fabSlotProps,\n children: icon\n });\n if (tooltipSlotProps.open) {\n return /*#__PURE__*/_jsxs(StaticTooltipSlot, {\n ...staticTooltipSlotProps,\n ...other,\n children: [/*#__PURE__*/_jsx(StaticTooltipLabelSlot, {\n ...staticTooltipLabelSlotProps,\n children: tooltipSlotProps.title\n }), /*#__PURE__*/React.cloneElement(fab, {\n 'aria-labelledby': `${id}-label`\n })]\n });\n }\n if (!open && tooltipOpen) {\n setTooltipOpen(false);\n }\n return /*#__PURE__*/_jsx(TooltipSlot, {\n ...tooltipSlotProps,\n title: tooltipSlotProps.title,\n open: open && tooltipOpen,\n placement: tooltipSlotProps.placement,\n classes: tooltipSlotProps.classes,\n ...other,\n children: fab\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SpeedDialAction.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Adds a transition delay, to allow a series of SpeedDialActions to be animated.\n * @default 0\n */\n delay: PropTypes.number,\n /**\n * Props applied to the [`Fab`](https://mui.com/material-ui/api/fab/) component.\n * @default {}\n * @deprecated Use `slotProps.fab` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n FabProps: PropTypes.object,\n /**\n * The icon to display in the SpeedDial Fab.\n */\n icon: PropTypes.node,\n /**\n * This prop is used to help implement the accessibility logic.\n * If you don't provide this prop. It falls back to a randomly generated id.\n */\n id: PropTypes.string,\n /**\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n fab: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n staticTooltip: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n staticTooltipLabel: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n tooltip: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n fab: PropTypes.elementType,\n staticTooltip: PropTypes.elementType,\n staticTooltipLabel: PropTypes.elementType,\n tooltip: PropTypes.elementType\n }),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object]),\n /**\n * `classes` prop applied to the [`Tooltip`](https://mui.com/material-ui/api/tooltip/) element.\n * @deprecated Use `slotProps.tooltip.classes` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n TooltipClasses: PropTypes.object,\n /**\n * Make the tooltip always visible when the SpeedDial is open.\n * @default false\n * @deprecated Use `slotProps.tooltip.open` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n tooltipOpen: PropTypes.bool,\n /**\n * Placement of the tooltip.\n * @default 'left'\n * @deprecated Use `slotProps.tooltip.placement` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n tooltipPlacement: PropTypes.oneOf(['auto-end', 'auto-start', 'auto', 'bottom-end', 'bottom-start', 'bottom', 'left-end', 'left-start', 'left', 'right-end', 'right-start', 'right', 'top-end', 'top-start', 'top']),\n /**\n * Label to display in the tooltip.\n * @deprecated Use `slotProps.tooltip.title` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n tooltipTitle: PropTypes.node\n} : void 0;\nexport default SpeedDialAction;","/**\n * SpeedDialAction Component\n *\n * SpeedDialAction component for the MRS Design System.\n * Wraps Material-UI SpeedDialAction with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-speed-dial/}\n */\n\nimport React from 'react';\nimport MuiSpeedDialAction from '@mui/material/SpeedDialAction';\nimport type { SpeedDialActionProps } from './SpeedDial.types';\n\n/**\n * SpeedDialAction component\n *\n * Individual action button for SpeedDial.\n *\n * @param props - SpeedDialAction component props\n * @returns SpeedDialAction component\n */\nexport const SpeedDialAction = React.forwardRef<HTMLDivElement, SpeedDialActionProps>(\n (props, ref) => {\n return <MuiSpeedDialAction ref={ref} {...props} />;\n }\n);\n\nSpeedDialAction.displayName = 'SpeedDialAction';\n","'use client';\n\nimport * as React from 'react';\nimport { createSvgIcon } from \"../../utils/index.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z\"\n}), 'Add');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getSpeedDialIconUtilityClass(slot) {\n return generateUtilityClass('MuiSpeedDialIcon', slot);\n}\nconst speedDialIconClasses = generateUtilityClasses('MuiSpeedDialIcon', ['root', 'icon', 'iconOpen', 'iconWithOpenIconOpen', 'openIcon', 'openIconOpen']);\nexport default speedDialIconClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport AddIcon from \"../internal/svg-icons/Add.js\";\nimport speedDialIconClasses, { getSpeedDialIconUtilityClass } from \"./speedDialIconClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n open,\n openIcon\n } = ownerState;\n const slots = {\n root: ['root'],\n icon: ['icon', open && 'iconOpen', openIcon && open && 'iconWithOpenIconOpen'],\n openIcon: ['openIcon', open && 'openIconOpen']\n };\n return composeClasses(slots, getSpeedDialIconUtilityClass, classes);\n};\nconst SpeedDialIconRoot = styled('span', {\n name: 'MuiSpeedDialIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [{\n [`& .${speedDialIconClasses.icon}`]: styles.icon\n }, {\n [`& .${speedDialIconClasses.icon}`]: ownerState.open && styles.iconOpen\n }, {\n [`& .${speedDialIconClasses.icon}`]: ownerState.open && ownerState.openIcon && styles.iconWithOpenIconOpen\n }, {\n [`& .${speedDialIconClasses.openIcon}`]: styles.openIcon\n }, {\n [`& .${speedDialIconClasses.openIcon}`]: ownerState.open && styles.openIconOpen\n }, styles.root];\n }\n})(memoTheme(({\n theme\n}) => ({\n height: 24,\n [`& .${speedDialIconClasses.icon}`]: {\n transition: theme.transitions.create(['transform', 'opacity'], {\n duration: theme.transitions.duration.short\n })\n },\n [`& .${speedDialIconClasses.openIcon}`]: {\n position: 'absolute',\n transition: theme.transitions.create(['transform', 'opacity'], {\n duration: theme.transitions.duration.short\n }),\n opacity: 0,\n transform: 'rotate(-45deg)'\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.open,\n style: {\n [`& .${speedDialIconClasses.icon}`]: {\n transform: 'rotate(45deg)'\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.open && ownerState.openIcon,\n style: {\n [`& .${speedDialIconClasses.icon}`]: {\n opacity: 0\n }\n }\n }, {\n props: ({\n ownerState\n }) => ownerState.open,\n style: {\n [`& .${speedDialIconClasses.openIcon}`]: {\n transform: 'rotate(0deg)',\n opacity: 1\n }\n }\n }]\n})));\nconst SpeedDialIcon = /*#__PURE__*/React.forwardRef(function SpeedDialIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiSpeedDialIcon'\n });\n const {\n className,\n icon: iconProp,\n open,\n openIcon: openIconProp,\n ...other\n } = props;\n const ownerState = props;\n const classes = useUtilityClasses(ownerState);\n function formatIcon(icon, newClassName) {\n if (/*#__PURE__*/React.isValidElement(icon)) {\n return /*#__PURE__*/React.cloneElement(icon, {\n className: newClassName\n });\n }\n return icon;\n }\n return /*#__PURE__*/_jsxs(SpeedDialIconRoot, {\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other,\n children: [openIconProp ? formatIcon(openIconProp, classes.openIcon) : null, iconProp ? formatIcon(iconProp, classes.icon) : /*#__PURE__*/_jsx(AddIcon, {\n className: classes.icon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? SpeedDialIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The icon to display.\n */\n icon: PropTypes.node,\n /**\n * @ignore\n * If `true`, the component is shown.\n */\n open: PropTypes.bool,\n /**\n * The icon to display in the SpeedDial Floating Action Button when the SpeedDial is open.\n */\n openIcon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nSpeedDialIcon.muiName = 'SpeedDialIcon';\nexport default SpeedDialIcon;","/**\n * SpeedDialIcon Component\n *\n * SpeedDialIcon component for the MRS Design System.\n * Wraps Material-UI SpeedDialIcon with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-speed-dial/}\n */\n\nimport React from 'react';\nimport MuiSpeedDialIcon from '@mui/material/SpeedDialIcon';\nimport type { SpeedDialIconProps } from './SpeedDial.types';\n\n/**\n * SpeedDialIcon component\n *\n * Icon for the SpeedDial Floating Action Button that animates when opened/closed.\n *\n * @param props - SpeedDialIcon component props\n * @returns SpeedDialIcon component\n */\nexport const SpeedDialIcon = React.forwardRef<HTMLSpanElement, SpeedDialIconProps>((props, ref) => {\n return <MuiSpeedDialIcon ref={ref} {...props} />;\n});\n\nSpeedDialIcon.displayName = 'SpeedDialIcon';\n","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getStepperUtilityClass(slot) {\n return generateUtilityClass('MuiStepper', slot);\n}\nconst stepperClasses = generateUtilityClasses('MuiStepper', ['root', 'horizontal', 'vertical', 'nonLinear', 'alternativeLabel']);\nexport default stepperClasses;","'use client';\n\nimport * as React from 'react';\n/**\n * Provides information about the current step in Stepper.\n */\nconst StepperContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n StepperContext.displayName = 'StepperContext';\n}\n\n/**\n * Returns the current StepperContext or an empty object if no StepperContext\n * has been defined in the component tree.\n */\nexport function useStepperContext() {\n return React.useContext(StepperContext);\n}\nexport default StepperContext;","'use client';\n\nimport * as React from 'react';\n/**\n * Provides information about the current step in Stepper.\n */\nconst StepContext = /*#__PURE__*/React.createContext({});\nif (process.env.NODE_ENV !== 'production') {\n StepContext.displayName = 'StepContext';\n}\n\n/**\n * Returns the current StepContext or an empty object if no StepContext\n * has been defined in the component tree.\n */\nexport function useStepContext() {\n return React.useContext(StepContext);\n}\nexport default StepContext;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getStepConnectorUtilityClass(slot) {\n return generateUtilityClass('MuiStepConnector', slot);\n}\nconst stepConnectorClasses = generateUtilityClasses('MuiStepConnector', ['root', 'horizontal', 'vertical', 'alternativeLabel', 'active', 'completed', 'disabled', 'line', 'lineHorizontal', 'lineVertical']);\nexport default stepConnectorClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport StepperContext from \"../Stepper/StepperContext.js\";\nimport StepContext from \"../Step/StepContext.js\";\nimport { getStepConnectorUtilityClass } from \"./stepConnectorClasses.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n alternativeLabel,\n active,\n completed,\n disabled\n } = ownerState;\n const slots = {\n root: ['root', orientation, alternativeLabel && 'alternativeLabel', active && 'active', completed && 'completed', disabled && 'disabled'],\n line: ['line', `line${capitalize(orientation)}`]\n };\n return composeClasses(slots, getStepConnectorUtilityClass, classes);\n};\nconst StepConnectorRoot = styled('div', {\n name: 'MuiStepConnector',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.orientation], ownerState.alternativeLabel && styles.alternativeLabel, ownerState.completed && styles.completed];\n }\n})({\n flex: '1 1 auto',\n variants: [{\n props: {\n orientation: 'vertical'\n },\n style: {\n marginLeft: 12 // half icon\n }\n }, {\n props: {\n alternativeLabel: true\n },\n style: {\n position: 'absolute',\n top: 8 + 4,\n left: 'calc(-50% + 20px)',\n right: 'calc(50% + 20px)'\n }\n }]\n});\nconst StepConnectorLine = styled('span', {\n name: 'MuiStepConnector',\n slot: 'Line',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.line, styles[`line${capitalize(ownerState.orientation)}`]];\n }\n})(memoTheme(({\n theme\n}) => {\n const borderColor = theme.palette.mode === 'light' ? theme.palette.grey[400] : theme.palette.grey[600];\n return {\n display: 'block',\n borderColor: theme.vars ? theme.vars.palette.StepConnector.border : borderColor,\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n borderTopStyle: 'solid',\n borderTopWidth: 1\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n borderLeftStyle: 'solid',\n borderLeftWidth: 1,\n minHeight: 24\n }\n }]\n };\n}));\nconst StepConnector = /*#__PURE__*/React.forwardRef(function StepConnector(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiStepConnector'\n });\n const {\n className,\n ...other\n } = props;\n const {\n alternativeLabel,\n orientation = 'horizontal'\n } = React.useContext(StepperContext);\n const {\n active,\n disabled,\n completed\n } = React.useContext(StepContext);\n const ownerState = {\n ...props,\n alternativeLabel,\n orientation,\n active,\n completed,\n disabled\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsx(StepConnectorRoot, {\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other,\n children: /*#__PURE__*/_jsx(StepConnectorLine, {\n className: classes.line,\n ownerState: ownerState\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? StepConnector.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default StepConnector;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getStepperUtilityClass } from \"./stepperClasses.js\";\nimport StepConnector from \"../StepConnector/index.js\";\nimport StepperContext from \"./StepperContext.js\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n orientation,\n nonLinear,\n alternativeLabel,\n classes\n } = ownerState;\n const slots = {\n root: ['root', orientation, nonLinear && 'nonLinear', alternativeLabel && 'alternativeLabel']\n };\n return composeClasses(slots, getStepperUtilityClass, classes);\n};\nconst StepperRoot = styled('div', {\n name: 'MuiStepper',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.orientation], ownerState.alternativeLabel && styles.alternativeLabel, ownerState.nonLinear && styles.nonLinear];\n }\n})({\n display: 'flex',\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n flexDirection: 'row',\n alignItems: 'center'\n }\n }, {\n props: {\n orientation: 'vertical'\n },\n style: {\n flexDirection: 'column'\n }\n }, {\n props: {\n alternativeLabel: true\n },\n style: {\n alignItems: 'flex-start'\n }\n }]\n});\nconst defaultConnector = /*#__PURE__*/_jsx(StepConnector, {});\nconst Stepper = /*#__PURE__*/React.forwardRef(function Stepper(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiStepper'\n });\n const {\n activeStep = 0,\n alternativeLabel = false,\n children,\n className,\n component = 'div',\n connector = defaultConnector,\n nonLinear = false,\n orientation = 'horizontal',\n ...other\n } = props;\n const ownerState = {\n ...props,\n nonLinear,\n alternativeLabel,\n orientation,\n component\n };\n const classes = useUtilityClasses(ownerState);\n const childrenArray = React.Children.toArray(children).filter(Boolean);\n const steps = childrenArray.map((step, index) => {\n return /*#__PURE__*/React.cloneElement(step, {\n index,\n last: index + 1 === childrenArray.length,\n ...step.props\n });\n });\n const contextValue = React.useMemo(() => ({\n activeStep,\n alternativeLabel,\n connector,\n nonLinear,\n orientation\n }), [activeStep, alternativeLabel, connector, nonLinear, orientation]);\n return /*#__PURE__*/_jsx(StepperContext.Provider, {\n value: contextValue,\n children: /*#__PURE__*/_jsx(StepperRoot, {\n as: component,\n ownerState: ownerState,\n className: clsx(classes.root, className),\n ref: ref,\n ...other,\n children: steps\n })\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Stepper.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Set the active step (zero based index).\n * Set to -1 to disable all the steps.\n * @default 0\n */\n activeStep: integerPropType,\n /**\n * If set to 'true' and orientation is horizontal,\n * then the step label will be positioned under the icon.\n * @default false\n */\n alternativeLabel: PropTypes.bool,\n /**\n * Two or more `<Step />` components.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * An element to be placed between each step.\n * @default <StepConnector />\n */\n connector: PropTypes.element,\n /**\n * If set the `Stepper` will not assist in controlling steps for linear flow.\n * @default false\n */\n nonLinear: PropTypes.bool,\n /**\n * The component orientation (layout flow direction).\n * @default 'horizontal'\n */\n orientation: PropTypes.oneOf(['horizontal', 'vertical']),\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Stepper;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getStepUtilityClass(slot) {\n return generateUtilityClass('MuiStep', slot);\n}\nconst stepClasses = generateUtilityClasses('MuiStep', ['root', 'horizontal', 'vertical', 'alternativeLabel', 'completed']);\nexport default stepClasses;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport integerPropType from '@mui/utils/integerPropType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport StepperContext from \"../Stepper/StepperContext.js\";\nimport StepContext from \"./StepContext.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport { getStepUtilityClass } from \"./stepClasses.js\";\nimport { jsxs as _jsxs, jsx as _jsx } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n alternativeLabel,\n completed\n } = ownerState;\n const slots = {\n root: ['root', orientation, alternativeLabel && 'alternativeLabel', completed && 'completed']\n };\n return composeClasses(slots, getStepUtilityClass, classes);\n};\nconst StepRoot = styled('div', {\n name: 'MuiStep',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.orientation], ownerState.alternativeLabel && styles.alternativeLabel, ownerState.completed && styles.completed];\n }\n})({\n variants: [{\n props: {\n orientation: 'horizontal'\n },\n style: {\n paddingLeft: 8,\n paddingRight: 8\n }\n }, {\n props: {\n alternativeLabel: true\n },\n style: {\n flex: 1,\n position: 'relative'\n }\n }]\n});\nconst Step = /*#__PURE__*/React.forwardRef(function Step(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiStep'\n });\n const {\n active: activeProp,\n children,\n className,\n component = 'div',\n completed: completedProp,\n disabled: disabledProp,\n expanded = false,\n index,\n last,\n ...other\n } = props;\n const {\n activeStep,\n connector,\n alternativeLabel,\n orientation,\n nonLinear\n } = React.useContext(StepperContext);\n let [active = false, completed = false, disabled = false] = [activeProp, completedProp, disabledProp];\n if (activeStep === index) {\n active = activeProp !== undefined ? activeProp : true;\n } else if (!nonLinear && activeStep > index) {\n completed = completedProp !== undefined ? completedProp : true;\n } else if (!nonLinear && activeStep < index) {\n disabled = disabledProp !== undefined ? disabledProp : true;\n }\n const contextValue = React.useMemo(() => ({\n index,\n last,\n expanded,\n icon: index + 1,\n active,\n completed,\n disabled\n }), [index, last, expanded, active, completed, disabled]);\n const ownerState = {\n ...props,\n active,\n orientation,\n alternativeLabel,\n completed,\n disabled,\n expanded,\n component\n };\n const classes = useUtilityClasses(ownerState);\n const newChildren = /*#__PURE__*/_jsxs(StepRoot, {\n as: component,\n className: clsx(classes.root, className),\n ref: ref,\n ownerState: ownerState,\n ...other,\n children: [connector && alternativeLabel && index !== 0 ? connector : null, children]\n });\n return /*#__PURE__*/_jsx(StepContext.Provider, {\n value: contextValue,\n children: connector && !alternativeLabel && index !== 0 ? /*#__PURE__*/_jsxs(React.Fragment, {\n children: [connector, newChildren]\n }) : newChildren\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? Step.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Sets the step as active. Is passed to child components.\n */\n active: PropTypes.bool,\n /**\n * Should be `Step` sub-components such as `StepLabel`, `StepContent`.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Mark the step as completed. Is passed to child components.\n */\n completed: PropTypes.bool,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * If `true`, the step is disabled, will also disable the button if\n * `StepButton` is a child of `Step`. Is passed to child components.\n */\n disabled: PropTypes.bool,\n /**\n * Expand the step.\n * @default false\n */\n expanded: PropTypes.bool,\n /**\n * The position of the step.\n * The prop defaults to the value inherited from the parent Stepper component.\n */\n index: integerPropType,\n /**\n * If `true`, the Step is displayed as rendered last.\n * The prop defaults to the value inherited from the parent Stepper component.\n */\n last: PropTypes.bool,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Step;","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z\"\n}), 'CheckCircle');","'use client';\n\nimport * as React from 'react';\nimport createSvgIcon from \"../../utils/createSvgIcon.js\";\n\n/**\n * @ignore - internal component.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z\"\n}), 'Warning');","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getStepIconUtilityClass(slot) {\n return generateUtilityClass('MuiStepIcon', slot);\n}\nconst stepIconClasses = generateUtilityClasses('MuiStepIcon', ['root', 'active', 'completed', 'error', 'text']);\nexport default stepIconClasses;","'use client';\n\nvar _circle;\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport composeClasses from '@mui/utils/composeClasses';\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport CheckCircle from \"../internal/svg-icons/CheckCircle.js\";\nimport Warning from \"../internal/svg-icons/Warning.js\";\nimport SvgIcon from \"../SvgIcon/index.js\";\nimport stepIconClasses, { getStepIconUtilityClass } from \"./stepIconClasses.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n active,\n completed,\n error\n } = ownerState;\n const slots = {\n root: ['root', active && 'active', completed && 'completed', error && 'error'],\n text: ['text']\n };\n return composeClasses(slots, getStepIconUtilityClass, classes);\n};\nconst StepIconRoot = styled(SvgIcon, {\n name: 'MuiStepIcon',\n slot: 'Root',\n overridesResolver: (props, styles) => styles.root\n})(memoTheme(({\n theme\n}) => ({\n display: 'block',\n transition: theme.transitions.create('color', {\n duration: theme.transitions.duration.shortest\n }),\n color: (theme.vars || theme).palette.text.disabled,\n [`&.${stepIconClasses.completed}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${stepIconClasses.active}`]: {\n color: (theme.vars || theme).palette.primary.main\n },\n [`&.${stepIconClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n})));\nconst StepIconText = styled('text', {\n name: 'MuiStepIcon',\n slot: 'Text',\n overridesResolver: (props, styles) => styles.text\n})(memoTheme(({\n theme\n}) => ({\n fill: (theme.vars || theme).palette.primary.contrastText,\n fontSize: theme.typography.caption.fontSize,\n fontFamily: theme.typography.fontFamily\n})));\nconst StepIcon = /*#__PURE__*/React.forwardRef(function StepIcon(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiStepIcon'\n });\n const {\n active = false,\n className: classNameProp,\n completed = false,\n error = false,\n icon,\n ...other\n } = props;\n const ownerState = {\n ...props,\n active,\n completed,\n error\n };\n const classes = useUtilityClasses(ownerState);\n if (typeof icon === 'number' || typeof icon === 'string') {\n const className = clsx(classNameProp, classes.root);\n if (error) {\n return /*#__PURE__*/_jsx(StepIconRoot, {\n as: Warning,\n className: className,\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n }\n if (completed) {\n return /*#__PURE__*/_jsx(StepIconRoot, {\n as: CheckCircle,\n className: className,\n ref: ref,\n ownerState: ownerState,\n ...other\n });\n }\n return /*#__PURE__*/_jsxs(StepIconRoot, {\n className: className,\n ref: ref,\n ownerState: ownerState,\n ...other,\n children: [_circle || (_circle = /*#__PURE__*/_jsx(\"circle\", {\n cx: \"12\",\n cy: \"12\",\n r: \"12\"\n })), /*#__PURE__*/_jsx(StepIconText, {\n className: classes.text,\n x: \"12\",\n y: \"12\",\n textAnchor: \"middle\",\n dominantBaseline: \"central\",\n ownerState: ownerState,\n children: icon\n })]\n });\n }\n return icon;\n});\nprocess.env.NODE_ENV !== \"production\" ? StepIcon.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * Whether this step is active.\n * @default false\n */\n active: PropTypes.bool,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * Mark the step as completed. Is passed to child components.\n * @default false\n */\n completed: PropTypes.bool,\n /**\n * If `true`, the step is marked as failed.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * The label displayed in the step icon.\n */\n icon: PropTypes.node,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default StepIcon;","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nimport generateUtilityClass from '@mui/utils/generateUtilityClass';\nexport function getStepLabelUtilityClass(slot) {\n return generateUtilityClass('MuiStepLabel', slot);\n}\nconst stepLabelClasses = generateUtilityClasses('MuiStepLabel', ['root', 'horizontal', 'vertical', 'label', 'active', 'completed', 'error', 'disabled', 'iconContainer', 'alternativeLabel', 'labelContainer']);\nexport default stepLabelClasses;","'use client';\n\nimport composeClasses from '@mui/utils/composeClasses';\nimport clsx from 'clsx';\nimport PropTypes from 'prop-types';\nimport * as React from 'react';\nimport StepContext from \"../Step/StepContext.js\";\nimport StepIcon from \"../StepIcon/index.js\";\nimport StepperContext from \"../Stepper/StepperContext.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport memoTheme from \"../utils/memoTheme.js\";\nimport { useDefaultProps } from \"../DefaultPropsProvider/index.js\";\nimport stepLabelClasses, { getStepLabelUtilityClass } from \"./stepLabelClasses.js\";\nimport useSlot from \"../utils/useSlot.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n orientation,\n active,\n completed,\n error,\n disabled,\n alternativeLabel\n } = ownerState;\n const slots = {\n root: ['root', orientation, error && 'error', disabled && 'disabled', alternativeLabel && 'alternativeLabel'],\n label: ['label', active && 'active', completed && 'completed', error && 'error', disabled && 'disabled', alternativeLabel && 'alternativeLabel'],\n iconContainer: ['iconContainer', active && 'active', completed && 'completed', error && 'error', disabled && 'disabled', alternativeLabel && 'alternativeLabel'],\n labelContainer: ['labelContainer', alternativeLabel && 'alternativeLabel']\n };\n return composeClasses(slots, getStepLabelUtilityClass, classes);\n};\nconst StepLabelRoot = styled('span', {\n name: 'MuiStepLabel',\n slot: 'Root',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.root, styles[ownerState.orientation]];\n }\n})({\n display: 'flex',\n alignItems: 'center',\n [`&.${stepLabelClasses.alternativeLabel}`]: {\n flexDirection: 'column'\n },\n [`&.${stepLabelClasses.disabled}`]: {\n cursor: 'default'\n },\n variants: [{\n props: {\n orientation: 'vertical'\n },\n style: {\n textAlign: 'left',\n padding: '8px 0'\n }\n }]\n});\nconst StepLabelLabel = styled('span', {\n name: 'MuiStepLabel',\n slot: 'Label',\n overridesResolver: (props, styles) => styles.label\n})(memoTheme(({\n theme\n}) => ({\n ...theme.typography.body2,\n display: 'block',\n transition: theme.transitions.create('color', {\n duration: theme.transitions.duration.shortest\n }),\n [`&.${stepLabelClasses.active}`]: {\n color: (theme.vars || theme).palette.text.primary,\n fontWeight: 500\n },\n [`&.${stepLabelClasses.completed}`]: {\n color: (theme.vars || theme).palette.text.primary,\n fontWeight: 500\n },\n [`&.${stepLabelClasses.alternativeLabel}`]: {\n marginTop: 16\n },\n [`&.${stepLabelClasses.error}`]: {\n color: (theme.vars || theme).palette.error.main\n }\n})));\nconst StepLabelIconContainer = styled('span', {\n name: 'MuiStepLabel',\n slot: 'IconContainer',\n overridesResolver: (props, styles) => styles.iconContainer\n})({\n flexShrink: 0,\n display: 'flex',\n paddingRight: 8,\n [`&.${stepLabelClasses.alternativeLabel}`]: {\n paddingRight: 0\n }\n});\nconst StepLabelLabelContainer = styled('span', {\n name: 'MuiStepLabel',\n slot: 'LabelContainer',\n overridesResolver: (props, styles) => styles.labelContainer\n})(memoTheme(({\n theme\n}) => ({\n width: '100%',\n color: (theme.vars || theme).palette.text.secondary,\n [`&.${stepLabelClasses.alternativeLabel}`]: {\n textAlign: 'center'\n }\n})));\nconst StepLabel = /*#__PURE__*/React.forwardRef(function StepLabel(inProps, ref) {\n const props = useDefaultProps({\n props: inProps,\n name: 'MuiStepLabel'\n });\n const {\n children,\n className,\n componentsProps = {},\n error = false,\n icon: iconProp,\n optional,\n slots = {},\n slotProps = {},\n StepIconComponent: StepIconComponentProp,\n StepIconProps,\n ...other\n } = props;\n const {\n alternativeLabel,\n orientation\n } = React.useContext(StepperContext);\n const {\n active,\n disabled,\n completed,\n icon: iconContext\n } = React.useContext(StepContext);\n const icon = iconProp || iconContext;\n let StepIconComponent = StepIconComponentProp;\n if (icon && !StepIconComponent) {\n StepIconComponent = StepIcon;\n }\n const ownerState = {\n ...props,\n active,\n alternativeLabel,\n completed,\n disabled,\n error,\n orientation\n };\n const classes = useUtilityClasses(ownerState);\n const externalForwardedProps = {\n slots,\n slotProps: {\n stepIcon: StepIconProps,\n ...componentsProps,\n ...slotProps\n }\n };\n const [RootSlot, rootProps] = useSlot('root', {\n elementType: StepLabelRoot,\n externalForwardedProps: {\n ...externalForwardedProps,\n ...other\n },\n ownerState,\n ref,\n className: clsx(classes.root, className)\n });\n const [LabelSlot, labelProps] = useSlot('label', {\n elementType: StepLabelLabel,\n externalForwardedProps,\n ownerState\n });\n const [StepIconSlot, stepIconProps] = useSlot('stepIcon', {\n elementType: StepIconComponent,\n externalForwardedProps,\n ownerState\n });\n return /*#__PURE__*/_jsxs(RootSlot, {\n ...rootProps,\n children: [icon || StepIconSlot ? /*#__PURE__*/_jsx(StepLabelIconContainer, {\n className: classes.iconContainer,\n ownerState: ownerState,\n children: /*#__PURE__*/_jsx(StepIconSlot, {\n completed: completed,\n active: active,\n error: error,\n icon: icon,\n ...stepIconProps\n })\n }) : null, /*#__PURE__*/_jsxs(StepLabelLabelContainer, {\n className: classes.labelContainer,\n ownerState: ownerState,\n children: [children ? /*#__PURE__*/_jsx(LabelSlot, {\n ...labelProps,\n className: clsx(classes.label, labelProps?.className),\n children: children\n }) : null, optional]\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? StepLabel.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * In most cases will simply be a string containing a title for the label.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * @ignore\n */\n className: PropTypes.string,\n /**\n * The props used for each slot inside.\n * @default {}\n * @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.\n */\n componentsProps: PropTypes.shape({\n label: PropTypes.object\n }),\n /**\n * If `true`, the step is marked as failed.\n * @default false\n */\n error: PropTypes.bool,\n /**\n * Override the default label of the step icon.\n */\n icon: PropTypes.node,\n /**\n * The optional node to display.\n */\n optional: PropTypes.node,\n /**\n * The props used for each slot inside.\n * @default {}\n */\n slotProps: PropTypes.shape({\n label: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n root: PropTypes.oneOfType([PropTypes.func, PropTypes.object]),\n stepIcon: PropTypes.oneOfType([PropTypes.func, PropTypes.object])\n }),\n /**\n * The components used for each slot inside.\n * @default {}\n */\n slots: PropTypes.shape({\n label: PropTypes.elementType,\n root: PropTypes.elementType,\n stepIcon: PropTypes.elementType\n }),\n /**\n * The component to render in place of the [`StepIcon`](https://mui.com/material-ui/api/step-icon/).\n * @deprecated Use `slots.stepIcon` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n StepIconComponent: PropTypes.elementType,\n /**\n * Props applied to the [`StepIcon`](https://mui.com/material-ui/api/step-icon/) element.\n * @deprecated Use `slotProps.stepIcon` instead. This prop will be removed in v7. See [Migrating from deprecated APIs](/material-ui/migration/migrating-from-deprecated-apis/) for more details.\n */\n StepIconProps: PropTypes.object,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nStepLabel.muiName = 'StepLabel';\nexport default StepLabel;","/**\n * Stepper Component\n * @package @mrs/ui\n */\n\nimport React from 'react';\nimport MuiStepper from '@mui/material/Stepper';\nimport MuiStep from '@mui/material/Step';\nimport MuiStepLabel from '@mui/material/StepLabel';\nimport type { StepperProps, StepProps, StepLabelProps } from './Stepper.types';\n\nexport const Stepper = React.forwardRef<HTMLDivElement, StepperProps>(\n (\n {\n children,\n activeStep = 0,\n orientation = 'horizontal',\n alternativeLabel = false,\n nonLinear = false,\n ...props\n },\n ref\n ) => {\n return (\n <MuiStepper\n ref={ref}\n activeStep={activeStep}\n orientation={orientation}\n alternativeLabel={alternativeLabel}\n nonLinear={nonLinear}\n {...props}\n >\n {children}\n </MuiStepper>\n );\n }\n);\n\nStepper.displayName = 'Stepper';\n\nexport const Step = React.forwardRef<HTMLDivElement, StepProps>(\n ({ children, active, completed, disabled, ...props }, ref) => {\n return (\n <MuiStep ref={ref} active={active} completed={completed} disabled={disabled} {...props}>\n {children}\n </MuiStep>\n );\n }\n);\n\nStep.displayName = 'Step';\n\nexport const StepLabel = React.forwardRef<HTMLLabelElement, StepLabelProps>(\n ({ children, error, optional, icon, ...props }, ref) => {\n return (\n <MuiStepLabel ref={ref} error={error} optional={optional} icon={icon} {...props}>\n {children}\n </MuiStepLabel>\n );\n }\n);\n\nStepLabel.displayName = 'StepLabel';\n\nexport default Stepper;\n","/**\n * Tabs Component\n * @package @mrs/ui\n *\n * Navigation component that organizes content into separate views.\n * Only one view is visible at a time, with tabs allowing users to switch between them.\n *\n * @example\n * ```tsx\n * const [value, setValue] = useState(0);\n *\n * <Tabs value={value} onChange={(e, newValue) => setValue(newValue)}>\n * <Tab label=\"Tab 1\" />\n * <Tab label=\"Tab 2\" />\n * <Tab label=\"Tab 3\" />\n * </Tabs>\n * ```\n */\n\nimport React from 'react';\nimport MuiTabs from '@mui/material/Tabs';\nimport MuiTab from '@mui/material/Tab';\nimport type { TabsProps, TabProps } from './Tabs.types';\n\n/**\n * Tabs component for navigation between different views\n */\nexport const Tabs = React.forwardRef<HTMLDivElement, TabsProps>(\n (\n {\n value,\n onChange,\n children,\n variant = 'standard',\n indicatorColor = 'primary',\n textColor = 'primary',\n centered = false,\n scrollButtons = 'auto',\n allowScrollButtonsMobile = false,\n orientation = 'horizontal',\n TabIndicatorProps,\n ScrollButtonComponent,\n ...props\n },\n ref\n ) => {\n return (\n <MuiTabs\n ref={ref}\n value={value}\n onChange={onChange}\n variant={variant}\n indicatorColor={indicatorColor}\n textColor={textColor}\n centered={centered}\n scrollButtons={scrollButtons}\n allowScrollButtonsMobile={allowScrollButtonsMobile}\n orientation={orientation}\n TabIndicatorProps={TabIndicatorProps}\n ScrollButtonComponent={ScrollButtonComponent}\n {...props}\n >\n {children}\n </MuiTabs>\n );\n }\n);\n\nTabs.displayName = 'Tabs';\n\n/**\n * Tab component for individual tab item\n */\nexport const Tab = React.forwardRef<HTMLDivElement, TabProps>(\n (\n { label, value, icon, disabled = false, wrapped = false, iconPosition = 'top', ...props },\n ref\n ) => {\n return (\n <MuiTab\n ref={ref}\n label={label}\n value={value}\n icon={icon}\n disabled={disabled}\n wrapped={wrapped}\n iconPosition={iconPosition}\n {...props}\n />\n );\n }\n);\n\nTab.displayName = 'Tab';\n\nexport default Tabs;\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_weekOfYear=t()}(this,(function(){\"use strict\";var e=\"week\",t=\"year\";return function(i,n,r){var f=n.prototype;f.week=function(i){if(void 0===i&&(i=null),null!==i)return this.add(7*(i-this.week()),\"day\");var n=this.$locale().yearStart||1;if(11===this.month()&&this.date()>25){var f=r(this).startOf(t).add(1,t).date(n),s=r(this).endOf(e);if(f.isBefore(s))return 1}var a=r(this).startOf(t).date(n).startOf(e).subtract(1,\"millisecond\"),o=this.diff(a,e,!0);return o<0?r(this).startOf(\"week\").week():Math.ceil(o)},f.weeks=function(e){return void 0===e&&(e=null),this.week(e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_customParseFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"},t=/(\\[[^[]*\\])|([-_:/.,()\\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\\d/,r=/\\d\\d/,i=/\\d\\d?/,o=/\\d*[^-_:/,()\\s\\d]+/,s={},a=function(e){return(e=+e)+(e>68?1900:2e3)};var f=function(e){return function(t){this[e]=+t}},h=[/[+-]\\d\\d:?(\\d\\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if(\"Z\"===e)return 0;var t=e.match(/([+-]|\\d\\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:\"+\"===t[0]?-n:n}(e)}],u=function(e){var t=s[e];return t&&(t.indexOf?t:t.s.concat(t.f))},d=function(e,t){var n,r=s.meridiem;if(r){for(var i=1;i<=24;i+=1)if(e.indexOf(r(i,0,t))>-1){n=i>12;break}}else n=e===(t?\"pm\":\"PM\");return n},c={A:[o,function(e){this.afternoon=d(e,!1)}],a:[o,function(e){this.afternoon=d(e,!0)}],Q:[n,function(e){this.month=3*(e-1)+1}],S:[n,function(e){this.milliseconds=100*+e}],SS:[r,function(e){this.milliseconds=10*+e}],SSS:[/\\d{3}/,function(e){this.milliseconds=+e}],s:[i,f(\"seconds\")],ss:[i,f(\"seconds\")],m:[i,f(\"minutes\")],mm:[i,f(\"minutes\")],H:[i,f(\"hours\")],h:[i,f(\"hours\")],HH:[i,f(\"hours\")],hh:[i,f(\"hours\")],D:[i,f(\"day\")],DD:[r,f(\"day\")],Do:[o,function(e){var t=s.ordinal,n=e.match(/\\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\\[|\\]/g,\"\")===e&&(this.day=r)}],w:[i,f(\"week\")],ww:[r,f(\"week\")],M:[i,f(\"month\")],MM:[r,f(\"month\")],MMM:[o,function(e){var t=u(\"months\"),n=(u(\"monthsShort\")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=u(\"months\").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\\d+/,f(\"year\")],YY:[r,function(e){this.year=a(e)}],YYYY:[/\\d{4}/,f(\"year\")],Z:h,ZZ:h};function l(n){var r,i;r=n,i=s&&s.formats;for(var o=(n=r.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var o=r&&r.toUpperCase();return n||i[r]||e[r]||i[o].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),a=o.length,f=0;f<a;f+=1){var h=o[f],u=c[h],d=u&&u[0],l=u&&u[1];o[f]=l?{regex:d,parser:l}:h.replace(/^\\[|\\]$/g,\"\")}return function(e){for(var t={},n=0,r=0;n<a;n+=1){var i=o[n];if(\"string\"==typeof i)r+=i.length;else{var s=i.regex,f=i.parser,h=e.slice(r),u=s.exec(h)[0];f.call(t,u),e=e.replace(u,\"\")}}return function(e){var t=e.afternoon;if(void 0!==t){var n=e.hours;t?n<12&&(e.hours+=12):12===n&&(e.hours=0),delete e.afternoon}}(t),t}}return function(e,t,n){n.p.customParseFormat=!0,e&&e.parseTwoDigitYear&&(a=e.parseTwoDigitYear);var r=t.prototype,i=r.parse;r.parse=function(e){var t=e.date,r=e.utc,o=e.args;this.$u=r;var a=o[1];if(\"string\"==typeof a){var f=!0===o[2],h=!0===o[3],u=f||h,d=o[2];h&&(d=o[2]),s=this.$locale(),!f&&d&&(s=n.Ls[d]),this.$d=function(e,t,n,r){try{if([\"x\",\"X\"].indexOf(t)>-1)return new Date((\"X\"===t?1e3:1)*e);var i=l(t)(e),o=i.year,s=i.month,a=i.day,f=i.hours,h=i.minutes,u=i.seconds,d=i.milliseconds,c=i.zone,m=i.week,M=new Date,Y=a||(o||s?1:M.getDate()),p=o||M.getFullYear(),v=0;o&&!s||(v=s>0?s-1:M.getMonth());var D,w=f||0,g=h||0,y=u||0,L=d||0;return c?new Date(Date.UTC(p,v,Y,w,g,y,L+60*c.offset*1e3)):n?new Date(Date.UTC(p,v,Y,w,g,y,L)):(D=new Date(p,v,Y,w,g,y,L),m&&(D=r(D).week(m).toDate()),D)}catch(e){return new Date(\"\")}}(t,a,r,n),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),u&&t!=this.format(a)&&(this.$d=new Date(\"\")),s={}}else if(a instanceof Array)for(var c=a.length,m=1;m<=c;m+=1){o[1]=a[m-1];var M=n.apply(this,o);if(M.isValid()){this.$d=M.$d,this.$L=M.$L,this.init();break}m===c&&(this.$d=new Date(\"\"))}else i.call(this,e)}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_localizedFormat=t()}(this,(function(){\"use strict\";var e={LTS:\"h:mm:ss A\",LT:\"h:mm A\",L:\"MM/DD/YYYY\",LL:\"MMMM D, YYYY\",LLL:\"MMMM D, YYYY h:mm A\",LLLL:\"dddd, MMMM D, YYYY h:mm A\"};return function(t,o,n){var r=o.prototype,i=r.format;n.en.formats=e,r.format=function(t){void 0===t&&(t=\"YYYY-MM-DDTHH:mm:ssZ\");var o=this.$locale().formats,n=function(t,o){return t.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,o){return t||o.slice(1)}))}))}(t,void 0===o?{}:o);return i.call(this,n)}}}));","!function(e,i){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=i():\"function\"==typeof define&&define.amd?define(i):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_isBetween=i()}(this,(function(){\"use strict\";return function(e,i,t){i.prototype.isBetween=function(e,i,s,f){var n=t(e),o=t(i),r=\"(\"===(f=f||\"()\")[0],u=\")\"===f[1];return(r?this.isAfter(n,s):!this.isBefore(n,s))&&(u?this.isBefore(o,s):!this.isAfter(o,s))||(r?this.isBefore(n,s):!this.isAfter(n,s))&&(u?this.isAfter(o,s):!this.isBefore(o,s))}}}));","!function(e,t){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define(t):(e=\"undefined\"!=typeof globalThis?globalThis:e||self).dayjs_plugin_advancedFormat=t()}(this,(function(){\"use strict\";return function(e,t){var r=t.prototype,n=r.format;r.format=function(e){var t=this,r=this.$locale();if(!this.isValid())return n.bind(this)(e);var s=this.$utils(),a=(e||\"YYYY-MM-DDTHH:mm:ssZ\").replace(/\\[([^\\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,(function(e){switch(e){case\"Q\":return Math.ceil((t.$M+1)/3);case\"Do\":return r.ordinal(t.$D);case\"gggg\":return t.weekYear();case\"GGGG\":return t.isoWeekYear();case\"wo\":return r.ordinal(t.week(),\"W\");case\"w\":case\"ww\":return s.s(t.week(),\"w\"===e?1:2,\"0\");case\"W\":case\"WW\":return s.s(t.isoWeek(),\"W\"===e?1:2,\"0\");case\"k\":case\"kk\":return s.s(String(0===t.$H?24:t.$H),\"k\"===e?1:2,\"0\");case\"X\":return Math.floor(t.$d.getTime()/1e3);case\"x\":return t.$d.getTime();case\"z\":return\"[\"+t.offsetName()+\"]\";case\"zzz\":return\"[\"+t.offsetName(\"long\")+\"]\";default:return e}}));return n.bind(this)(a)}}}));","import _extends from \"@babel/runtime/helpers/esm/extends\";\n/* v8 ignore start */\nimport dayjs from 'dayjs';\n// dayjs has no exports field defined\n// See https://github.com/iamkun/dayjs/issues/2562\n/* eslint-disable import/extensions */\nimport weekOfYearPlugin from 'dayjs/plugin/weekOfYear.js';\nimport customParseFormatPlugin from 'dayjs/plugin/customParseFormat.js';\nimport localizedFormatPlugin from 'dayjs/plugin/localizedFormat.js';\nimport isBetweenPlugin from 'dayjs/plugin/isBetween.js';\nimport advancedFormatPlugin from 'dayjs/plugin/advancedFormat.js';\n/* v8 ignore stop */\n/* eslint-enable import/extensions */\nimport { warnOnce } from '@mui/x-internals/warning';\ndayjs.extend(localizedFormatPlugin);\ndayjs.extend(weekOfYearPlugin);\ndayjs.extend(isBetweenPlugin);\ndayjs.extend(advancedFormatPlugin);\nconst formatTokenMap = {\n // Year\n YY: 'year',\n YYYY: {\n sectionType: 'year',\n contentType: 'digit',\n maxLength: 4\n },\n // Month\n M: {\n sectionType: 'month',\n contentType: 'digit',\n maxLength: 2\n },\n MM: 'month',\n MMM: {\n sectionType: 'month',\n contentType: 'letter'\n },\n MMMM: {\n sectionType: 'month',\n contentType: 'letter'\n },\n // Day of the month\n D: {\n sectionType: 'day',\n contentType: 'digit',\n maxLength: 2\n },\n DD: 'day',\n Do: {\n sectionType: 'day',\n contentType: 'digit-with-letter'\n },\n // Day of the week\n d: {\n sectionType: 'weekDay',\n contentType: 'digit',\n maxLength: 2\n },\n dd: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n ddd: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n dddd: {\n sectionType: 'weekDay',\n contentType: 'letter'\n },\n // Meridiem\n A: 'meridiem',\n a: 'meridiem',\n // Hours\n H: {\n sectionType: 'hours',\n contentType: 'digit',\n maxLength: 2\n },\n HH: 'hours',\n h: {\n sectionType: 'hours',\n contentType: 'digit',\n maxLength: 2\n },\n hh: 'hours',\n // Minutes\n m: {\n sectionType: 'minutes',\n contentType: 'digit',\n maxLength: 2\n },\n mm: 'minutes',\n // Seconds\n s: {\n sectionType: 'seconds',\n contentType: 'digit',\n maxLength: 2\n },\n ss: 'seconds'\n};\nconst defaultFormats = {\n year: 'YYYY',\n month: 'MMMM',\n monthShort: 'MMM',\n dayOfMonth: 'D',\n dayOfMonthFull: 'Do',\n weekday: 'dddd',\n weekdayShort: 'dd',\n hours24h: 'HH',\n hours12h: 'hh',\n meridiem: 'A',\n minutes: 'mm',\n seconds: 'ss',\n fullDate: 'll',\n keyboardDate: 'L',\n shortDate: 'MMM D',\n normalDate: 'D MMMM',\n normalDateWithWeekday: 'ddd, MMM D',\n fullTime12h: 'hh:mm A',\n fullTime24h: 'HH:mm',\n keyboardDateTime12h: 'L hh:mm A',\n keyboardDateTime24h: 'L HH:mm'\n};\nconst MISSING_UTC_PLUGIN = ['Missing UTC plugin', 'To be able to use UTC or timezones, you have to enable the `utc` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-utc'].join('\\n');\nconst MISSING_TIMEZONE_PLUGIN = ['Missing timezone plugin', 'To be able to use timezones, you have to enable both the `utc` and the `timezone` plugin', 'Find more information on https://mui.com/x/react-date-pickers/timezone/#day-js-and-timezone'].join('\\n');\n/**\n * Based on `@date-io/dayjs`\n *\n * MIT License\n *\n * Copyright (c) 2017 Dmitriy Kovalenko\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the \"Software\"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in all\n * copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n * SOFTWARE.\n */\nexport class AdapterDayjs {\n isMUIAdapter = true;\n isTimezoneCompatible = true;\n lib = 'dayjs';\n escapedCharacters = {\n start: '[',\n end: ']'\n };\n formatTokenMap = (() => formatTokenMap)();\n constructor({\n locale,\n formats\n } = {}) {\n this.locale = locale;\n this.formats = _extends({}, defaultFormats, formats);\n\n // Moved plugins to the constructor to allow for users to use options on the library\n // for reference: https://github.com/mui/mui-x/pull/11151\n dayjs.extend(customParseFormatPlugin);\n }\n setLocaleToValue = value => {\n const expectedLocale = this.getCurrentLocaleCode();\n if (expectedLocale === value.locale()) {\n return value;\n }\n return value.locale(expectedLocale);\n };\n hasUTCPlugin = () => typeof dayjs.utc !== 'undefined';\n hasTimezonePlugin = () => typeof dayjs.tz !== 'undefined';\n isSame = (value, comparing, comparisonTemplate) => {\n const comparingInValueTimezone = this.setTimezone(comparing, this.getTimezone(value));\n return value.format(comparisonTemplate) === comparingInValueTimezone.format(comparisonTemplate);\n };\n\n /**\n * Replaces \"default\" by undefined and \"system\" by the system timezone before passing it to `dayjs`.\n */\n cleanTimezone = timezone => {\n switch (timezone) {\n case 'default':\n {\n return undefined;\n }\n case 'system':\n {\n return dayjs.tz.guess();\n }\n default:\n {\n return timezone;\n }\n }\n };\n createSystemDate = value => {\n let date;\n if (this.hasUTCPlugin() && this.hasTimezonePlugin()) {\n const timezone = dayjs.tz.guess();\n if (timezone === 'UTC') {\n date = dayjs(value);\n } /* v8 ignore next 3 */else {\n // We can't change the system timezone in the tests\n date = dayjs.tz(value, timezone);\n }\n } else {\n date = dayjs(value);\n }\n return this.setLocaleToValue(date);\n };\n createUTCDate = value => {\n /* v8 ignore next 3 */\n if (!this.hasUTCPlugin()) {\n throw new Error(MISSING_UTC_PLUGIN);\n }\n return this.setLocaleToValue(dayjs.utc(value));\n };\n createTZDate = (value, timezone) => {\n /* v8 ignore next 3 */\n if (!this.hasUTCPlugin()) {\n throw new Error(MISSING_UTC_PLUGIN);\n }\n\n /* v8 ignore next 3 */\n if (!this.hasTimezonePlugin()) {\n throw new Error(MISSING_TIMEZONE_PLUGIN);\n }\n const keepLocalTime = value !== undefined && !value.endsWith('Z');\n return this.setLocaleToValue(dayjs(value).tz(this.cleanTimezone(timezone), keepLocalTime));\n };\n getLocaleFormats = () => {\n const locales = dayjs.Ls;\n const locale = this.locale || 'en';\n let localeObject = locales[locale];\n if (localeObject === undefined) {\n /* v8 ignore start */\n if (process.env.NODE_ENV !== 'production') {\n warnOnce(['MUI X: Your locale has not been found.', 'Either the locale key is not a supported one. Locales supported by dayjs are available here: https://github.com/iamkun/dayjs/tree/dev/src/locale.', \"Or you forget to import the locale from 'dayjs/locale/{localeUsed}'\", 'fallback on English locale.']);\n }\n /* v8 ignore stop */\n localeObject = locales.en;\n }\n return localeObject.formats;\n };\n\n /**\n * If the new day does not have the same offset as the old one (when switching to summer day time for example),\n * Then dayjs will not automatically adjust the offset (moment does).\n * We have to parse again the value to make sure the `fixOffset` method is applied.\n * See https://github.com/iamkun/dayjs/blob/b3624de619d6e734cd0ffdbbd3502185041c1b60/src/plugin/timezone/index.js#L72\n */\n adjustOffset = value => {\n if (!this.hasTimezonePlugin()) {\n return value;\n }\n const timezone = this.getTimezone(value);\n if (timezone !== 'UTC') {\n const fixedValue = value.tz(this.cleanTimezone(timezone), true);\n // TODO: Simplify the case when we raise the `dayjs` peer dep to 1.11.12 (https://github.com/iamkun/dayjs/releases/tag/v1.11.12)\n /* v8 ignore next 3 */\n // @ts-ignore\n if (fixedValue.$offset === (value.$offset ?? 0)) {\n return value;\n }\n // Change only what is needed to avoid creating a new object with unwanted data\n // Especially important when used in an environment where utc or timezone dates are used only in some places\n // Reference: https://github.com/mui/mui-x/issues/13290\n // @ts-ignore\n value.$offset = fixedValue.$offset;\n }\n return value;\n };\n date = (value, timezone = 'default') => {\n if (value === null) {\n return null;\n }\n if (timezone === 'UTC') {\n return this.createUTCDate(value);\n }\n if (timezone === 'system' || timezone === 'default' && !this.hasTimezonePlugin()) {\n return this.createSystemDate(value);\n }\n return this.createTZDate(value, timezone);\n };\n getInvalidDate = () => dayjs(new Date('Invalid date'));\n getTimezone = value => {\n if (this.hasTimezonePlugin()) {\n // @ts-ignore\n const zone = value.$x?.$timezone;\n if (zone) {\n return zone;\n }\n }\n if (this.hasUTCPlugin() && value.isUTC()) {\n return 'UTC';\n }\n return 'system';\n };\n setTimezone = (value, timezone) => {\n if (this.getTimezone(value) === timezone) {\n return value;\n }\n if (timezone === 'UTC') {\n /* v8 ignore next 3 */\n if (!this.hasUTCPlugin()) {\n throw new Error(MISSING_UTC_PLUGIN);\n }\n return value.utc();\n }\n\n // We know that we have the UTC plugin.\n // Otherwise, the value timezone would always equal \"system\".\n // And it would be caught by the first \"if\" of this method.\n if (timezone === 'system') {\n return value.local();\n }\n if (!this.hasTimezonePlugin()) {\n if (timezone === 'default') {\n return value;\n }\n\n /* v8 ignore next */\n throw new Error(MISSING_TIMEZONE_PLUGIN);\n }\n return this.setLocaleToValue(dayjs.tz(value, this.cleanTimezone(timezone)));\n };\n toJsDate = value => {\n return value.toDate();\n };\n parse = (value, format) => {\n if (value === '') {\n return null;\n }\n return dayjs(value, format, this.locale, true);\n };\n getCurrentLocaleCode = () => {\n return this.locale || 'en';\n };\n is12HourCycleInCurrentLocale = () => {\n /* v8 ignore next */\n return /A|a/.test(this.getLocaleFormats().LT || '');\n };\n expandFormat = format => {\n const localeFormats = this.getLocaleFormats();\n\n // @see https://github.com/iamkun/dayjs/blob/dev/src/plugin/localizedFormat/index.js\n const t = formatBis => formatBis.replace(/(\\[[^\\]]+])|(MMMM|MM|DD|dddd)/g, (_, a, b) => a || b.slice(1));\n return format.replace(/(\\[[^\\]]+])|(LTS?|l{1,4}|L{1,4})/g, (_, a, b) => {\n const B = b && b.toUpperCase();\n return a || localeFormats[b] || t(localeFormats[B]);\n });\n };\n isValid = value => {\n if (value == null) {\n return false;\n }\n return value.isValid();\n };\n format = (value, formatKey) => {\n return this.formatByString(value, this.formats[formatKey]);\n };\n formatByString = (value, formatString) => {\n return this.setLocaleToValue(value).format(formatString);\n };\n formatNumber = numberToFormat => {\n return numberToFormat;\n };\n isEqual = (value, comparing) => {\n if (value === null && comparing === null) {\n return true;\n }\n if (value === null || comparing === null) {\n return false;\n }\n return value.toDate().getTime() === comparing.toDate().getTime();\n };\n isSameYear = (value, comparing) => {\n return this.isSame(value, comparing, 'YYYY');\n };\n isSameMonth = (value, comparing) => {\n return this.isSame(value, comparing, 'YYYY-MM');\n };\n isSameDay = (value, comparing) => {\n return this.isSame(value, comparing, 'YYYY-MM-DD');\n };\n isSameHour = (value, comparing) => {\n return value.isSame(comparing, 'hour');\n };\n isAfter = (value, comparing) => {\n return value > comparing;\n };\n isAfterYear = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isAfter(comparing, 'year');\n }\n return !this.isSameYear(value, comparing) && value.utc() > comparing.utc();\n };\n isAfterDay = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isAfter(comparing, 'day');\n }\n return !this.isSameDay(value, comparing) && value.utc() > comparing.utc();\n };\n isBefore = (value, comparing) => {\n return value < comparing;\n };\n isBeforeYear = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isBefore(comparing, 'year');\n }\n return !this.isSameYear(value, comparing) && value.utc() < comparing.utc();\n };\n isBeforeDay = (value, comparing) => {\n if (!this.hasUTCPlugin()) {\n return value.isBefore(comparing, 'day');\n }\n return !this.isSameDay(value, comparing) && value.utc() < comparing.utc();\n };\n isWithinRange = (value, [start, end]) => {\n return value >= start && value <= end;\n };\n startOfYear = value => {\n return this.adjustOffset(value.startOf('year'));\n };\n startOfMonth = value => {\n return this.adjustOffset(value.startOf('month'));\n };\n startOfWeek = value => {\n return this.adjustOffset(this.setLocaleToValue(value).startOf('week'));\n };\n startOfDay = value => {\n return this.adjustOffset(value.startOf('day'));\n };\n endOfYear = value => {\n return this.adjustOffset(value.endOf('year'));\n };\n endOfMonth = value => {\n return this.adjustOffset(value.endOf('month'));\n };\n endOfWeek = value => {\n return this.adjustOffset(this.setLocaleToValue(value).endOf('week'));\n };\n endOfDay = value => {\n return this.adjustOffset(value.endOf('day'));\n };\n addYears = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'year'));\n };\n addMonths = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'month'));\n };\n addWeeks = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'week'));\n };\n addDays = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'day'));\n };\n addHours = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'hour'));\n };\n addMinutes = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'minute'));\n };\n addSeconds = (value, amount) => {\n return this.adjustOffset(value.add(amount, 'second'));\n };\n getYear = value => {\n return value.year();\n };\n getMonth = value => {\n return value.month();\n };\n getDate = value => {\n return value.date();\n };\n getHours = value => {\n return value.hour();\n };\n getMinutes = value => {\n return value.minute();\n };\n getSeconds = value => {\n return value.second();\n };\n getMilliseconds = value => {\n return value.millisecond();\n };\n setYear = (value, year) => {\n return this.adjustOffset(value.set('year', year));\n };\n setMonth = (value, month) => {\n return this.adjustOffset(value.set('month', month));\n };\n setDate = (value, date) => {\n return this.adjustOffset(value.set('date', date));\n };\n setHours = (value, hours) => {\n return this.adjustOffset(value.set('hour', hours));\n };\n setMinutes = (value, minutes) => {\n return this.adjustOffset(value.set('minute', minutes));\n };\n setSeconds = (value, seconds) => {\n return this.adjustOffset(value.set('second', seconds));\n };\n setMilliseconds = (value, milliseconds) => {\n return this.adjustOffset(value.set('millisecond', milliseconds));\n };\n getDaysInMonth = value => {\n return value.daysInMonth();\n };\n getWeekArray = value => {\n const start = this.startOfWeek(this.startOfMonth(value));\n const end = this.endOfWeek(this.endOfMonth(value));\n let count = 0;\n let current = start;\n const nestedWeeks = [];\n while (current < end) {\n const weekNumber = Math.floor(count / 7);\n nestedWeeks[weekNumber] = nestedWeeks[weekNumber] || [];\n nestedWeeks[weekNumber].push(current);\n current = this.addDays(current, 1);\n count += 1;\n }\n return nestedWeeks;\n };\n getWeekNumber = value => {\n return value.week();\n };\n getDayOfWeek(value) {\n return value.day() + 1;\n }\n getYearRange = ([start, end]) => {\n const startDate = this.startOfYear(start);\n const endDate = this.endOfYear(end);\n const years = [];\n let current = startDate;\n while (this.isBefore(current, endDate)) {\n years.push(current);\n current = this.addYears(current, 1);\n }\n return years;\n };\n}","/**\n * LocalizationProvider Component\n *\n * Provides localization context for MUI X Date Pickers\n * Uses dayjs as the date library adapter\n */\n\nimport React from 'react';\nimport { LocalizationProvider as MuiLocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\n\nexport interface LocalizationProviderProps {\n /**\n * The content to wrap with localization context\n */\n children: React.ReactNode;\n\n /**\n * The locale string to use for date formatting\n * @default 'en'\n */\n locale?: string;\n}\n\n/**\n * LocalizationProvider wraps MUI X LocalizationProvider with dayjs adapter\n * Use this to wrap your app or component tree that uses date pickers\n */\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({\n children,\n locale = 'en',\n}) => {\n return (\n <MuiLocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={locale}>\n {children}\n </MuiLocalizationProvider>\n );\n};\n\nLocalizationProvider.displayName = 'LocalizationProvider';\n\nexport default LocalizationProvider;\n","import type { MouseEvent } from 'react';\nimport { useState, useCallback } from 'react';\nimport { PrimitivesMotionDurationFast } from '../../tokens/generated/ts/tokens';\n\ninterface Ripple {\n x: number;\n y: number;\n size: number;\n id: number;\n}\n\n/**\n * useRipple Hook\n *\n * Creates Material Design ripple effect on click\n *\n * @example\n * ```tsx\n * const { ripples, createRipple, clearRipples } = useRipple();\n *\n * <button onClick={createRipple}>\n * {ripples.map(ripple => (\n * <span key={ripple.id} className=\"ripple\" style={{...}} />\n * ))}\n * Click me\n * </button>\n * ```\n */\nexport const useRipple = () => {\n const [ripples, setRipples] = useState<Ripple[]>([]);\n\n const createRipple = useCallback((event: MouseEvent<HTMLElement>) => {\n const button = event.currentTarget;\n const rect = button.getBoundingClientRect();\n const size = Math.max(rect.width, rect.height);\n const x = event.clientX - rect.left - size / 2;\n const y = event.clientY - rect.top - size / 2;\n\n const newRipple: Ripple = {\n x,\n y,\n size,\n id: Date.now(),\n };\n\n setRipples((prev) => [...prev, newRipple]);\n\n // Remove ripple after animation\n const duration = parseInt(PrimitivesMotionDurationFast) * 6; // 600ms\n setTimeout(() => {\n setRipples((prev) => prev.filter((ripple) => ripple.id !== newRipple.id));\n }, duration);\n }, []);\n\n const clearRipples = useCallback(() => {\n setRipples([]);\n }, []);\n\n return { ripples, createRipple, clearRipples };\n};\n","import { useEffect, useRef } from 'react';\n\ninterface UsePulseOptions {\n duration?: number;\n scale?: number;\n enabled?: boolean;\n}\n\n/**\n * usePulse Hook\n *\n * Creates a pulsing animation effect\n *\n * @param options - Configuration options\n * @param options.duration - Animation duration in ms (default: 1000)\n * @param options.scale - Scale factor (default: 1.05)\n * @param options.enabled - Whether animation is enabled (default: true)\n *\n * @example\n * ```tsx\n * const pulseRef = usePulse({ duration: 1000, scale: 1.1 });\n *\n * <div ref={pulseRef}>Pulsing element</div>\n * ```\n */\nexport const usePulse = <T extends HTMLElement>(\n options: UsePulseOptions = {}\n): React.RefObject<T> => {\n const { duration = 1000, scale = 1.05, enabled = true } = options;\n const ref = useRef<T>(null);\n\n useEffect(() => {\n if (!enabled || !ref.current) return;\n\n const element = ref.current;\n const keyframes = [\n { transform: 'scale(1)' },\n { transform: `scale(${scale})` },\n { transform: 'scale(1)' },\n ];\n\n const animation = element.animate(keyframes, {\n duration,\n iterations: Infinity,\n easing: 'ease-in-out',\n });\n\n return () => {\n animation.cancel();\n };\n }, [duration, scale, enabled]);\n\n return ref;\n};\n","import { useCallback, useRef } from 'react';\nimport { PrimitivesMotionDurationBase } from '../../tokens/generated/ts/tokens';\n\ninterface UseShakeOptions {\n duration?: number;\n distance?: number;\n}\n\n/**\n * useShake Hook\n *\n * Triggers a shake animation (useful for errors, invalid inputs)\n *\n * @param options - Configuration options\n * @param options.duration - Animation duration in ms (default: 200ms from tokens)\n * @param options.distance - Shake distance in pixels (default: 10)\n *\n * @example\n * ```tsx\n * const { ref, shake } = useShake<HTMLInputElement>();\n *\n * <input\n * ref={ref}\n * onError={() => shake()}\n * />\n * ```\n */\nexport const useShake = <T extends HTMLElement>(options: UseShakeOptions = {}) => {\n const { duration = parseInt(PrimitivesMotionDurationBase), distance = 10 } = options;\n const ref = useRef<T>(null);\n\n const shake = useCallback(() => {\n if (!ref.current) return;\n\n const element = ref.current;\n const keyframes = [\n { transform: 'translateX(0)' },\n { transform: `translateX(-${distance}px)` },\n { transform: `translateX(${distance}px)` },\n { transform: `translateX(-${distance}px)` },\n { transform: `translateX(${distance}px)` },\n { transform: 'translateX(0)' },\n ];\n\n element.animate(keyframes, {\n duration,\n easing: 'ease-in-out',\n });\n }, [duration, distance]);\n\n return { ref, shake };\n};\n","import { useCallback, useRef } from 'react';\nimport { PrimitivesMotionDurationModerate } from '../../tokens/generated/ts/tokens';\n\ninterface UseBounceOptions {\n duration?: number;\n scale?: number;\n}\n\n/**\n * useBounce Hook\n *\n * Triggers a bounce animation effect\n *\n * @param options - Configuration options\n * @param options.duration - Animation duration in ms (default: 300ms from tokens)\n * @param options.scale - Bounce scale factor (default: 1.2)\n *\n * @example\n * ```tsx\n * const { ref, bounce } = useBounce<HTMLButtonElement>();\n *\n * <button ref={ref} onClick={bounce}>\n * Bounce on click\n * </button>\n * ```\n */\nexport const useBounce = <T extends HTMLElement>(options: UseBounceOptions = {}) => {\n const { duration = parseInt(PrimitivesMotionDurationModerate), scale = 1.2 } = options;\n const ref = useRef<T>(null);\n\n const bounce = useCallback(() => {\n if (!ref.current) return;\n\n const element = ref.current;\n const keyframes = [\n { transform: 'scale(1)' },\n { transform: `scale(${scale})` },\n { transform: 'scale(0.9)' },\n { transform: `scale(${scale * 0.95})` },\n { transform: 'scale(1)' },\n ];\n\n element.animate(keyframes, {\n duration,\n easing: 'ease-out',\n });\n }, [duration, scale]);\n\n return { ref, bounce };\n};\n","import { useState, useCallback } from 'react';\nimport {\n PrimitivesMotionDurationFast,\n PrimitivesMotionEasingStandard,\n} from '../../tokens/generated/ts/tokens';\n\ninterface UseHoverScaleOptions {\n scale?: number;\n duration?: string;\n easing?: string;\n}\n\n/**\n * useHoverScale Hook\n *\n * Provides hover scale animation state and handlers\n *\n * @param options - Configuration options\n * @param options.scale - Scale factor on hover (default: 1.05)\n * @param options.duration - Transition duration (default: from tokens)\n * @param options.easing - Easing function (default: from tokens)\n *\n * @example\n * ```tsx\n * const { isHovered, onMouseEnter, onMouseLeave, style } = useHoverScale({\n * scale: 1.1\n * });\n *\n * <div\n * onMouseEnter={onMouseEnter}\n * onMouseLeave={onMouseLeave}\n * style={style}\n * >\n * Hover me\n * </div>\n * ```\n */\nexport const useHoverScale = (options: UseHoverScaleOptions = {}) => {\n const {\n scale = 1.05,\n duration = PrimitivesMotionDurationFast,\n easing = PrimitivesMotionEasingStandard,\n } = options;\n\n const [isHovered, setIsHovered] = useState(false);\n\n const onMouseEnter = useCallback(() => setIsHovered(true), []);\n const onMouseLeave = useCallback(() => setIsHovered(false), []);\n\n const style = {\n transform: isHovered ? `scale(${scale})` : 'scale(1)',\n transition: `transform ${duration} ${easing}`,\n cursor: 'pointer',\n };\n\n return {\n isHovered,\n onMouseEnter,\n onMouseLeave,\n style,\n };\n};\n","import React, { forwardRef } from 'react';\nimport type { ButtonProps } from '@mui/material/Button';\nimport Button from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\nimport { useRipple } from '../../../hooks/animations';\nimport { PrimitivesMotionDurationFast } from '../../../tokens/generated/ts/tokens';\n\nconst RippleContainer = styled('span')({\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n borderRadius: 'inherit',\n});\n\nconst RippleSpan = styled('span')<{ x: number; y: number; size: number }>(({ x, y, size }) => ({\n position: 'absolute',\n left: x,\n top: y,\n width: size,\n height: size,\n borderRadius: '50%',\n backgroundColor: 'currentColor',\n opacity: 0.3,\n animation: `ripple ${parseInt(PrimitivesMotionDurationFast) * 6}ms ease-out`,\n '@keyframes ripple': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.6,\n },\n '100%': {\n transform: 'scale(4)',\n opacity: 0,\n },\n },\n}));\n\nexport interface RippleButtonProps extends ButtonProps {\n /**\n * If true, ripple effect is disabled\n * @default false\n */\n disableRipple?: boolean;\n}\n\n/**\n * RippleButton Component\n *\n * Enhanced Material-UI Button with custom ripple effect\n *\n * @example\n * ```tsx\n * <RippleButton variant=\"contained\" color=\"primary\">\n * Click me for ripple effect\n * </RippleButton>\n * ```\n */\nexport const RippleButton = forwardRef<HTMLButtonElement, RippleButtonProps>(\n ({ children, disableRipple = false, onClick, ...props }, ref) => {\n const { ripples, createRipple } = useRipple();\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!disableRipple) {\n createRipple(event);\n }\n onClick?.(event);\n };\n\n return (\n <Button ref={ref} onClick={handleClick} sx={{ position: 'relative' }} {...props}>\n {!disableRipple && (\n <RippleContainer>\n {ripples.map((ripple) => (\n <RippleSpan key={ripple.id} x={ripple.x} y={ripple.y} size={ripple.size} />\n ))}\n </RippleContainer>\n )}\n {children}\n </Button>\n );\n }\n);\n\nRippleButton.displayName = 'RippleButton';\n","import React, { useEffect, useState } from 'react';\nimport type { BadgeProps } from '@mui/material/Badge';\nimport Badge from '@mui/material/Badge';\nimport { styled, keyframes } from '@mui/material/styles';\nimport { PrimitivesMotionDurationBase } from '../../../tokens/generated/ts/tokens';\n\nconst bounce = keyframes`\n 0%, 100% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.3);\n }\n`;\n\nconst pulse = keyframes`\n 0% {\n box-shadow: 0 0 0 0 rgba(244, 67, 54, 0.7);\n }\n 70% {\n box-shadow: 0 0 0 10px rgba(244, 67, 54, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(244, 67, 54, 0);\n }\n`;\n\nconst AnimatedBadgeRoot = styled(Badge)<{\n animate?: boolean;\n animationvariant?: 'bounce' | 'pulse';\n}>(({ animate, animationvariant }) => {\n if (!animate) return {};\n\n if (animationvariant === 'bounce') {\n return {\n '& .MuiBadge-badge': {\n animation: `${bounce} ${parseInt(PrimitivesMotionDurationBase) * 3}ms ease-in-out`,\n },\n };\n }\n\n if (animationvariant === 'pulse') {\n return {\n '& .MuiBadge-badge': {\n animation: `${pulse} 2s infinite`,\n },\n };\n }\n\n return {};\n});\n\nexport interface AnimatedBadgeProps extends BadgeProps {\n /**\n * Animation variant\n * @default 'bounce'\n */\n animationVariant?: 'bounce' | 'pulse' | 'none';\n /**\n * If true, animation plays once when badge appears\n * @default true\n */\n animateOnChange?: boolean;\n}\n\n/**\n * AnimatedBadge Component\n *\n * Badge component with entrance animations\n *\n * @example\n * ```tsx\n * <AnimatedBadge badgeContent={4} color=\"error\" animationVariant=\"bounce\">\n * <MailIcon />\n * </AnimatedBadge>\n * ```\n */\nexport const AnimatedBadge: React.FC<AnimatedBadgeProps> = ({\n animationVariant = 'bounce',\n animateOnChange = true,\n badgeContent,\n children,\n ...props\n}) => {\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [prevBadgeContent, setPrevBadgeContent] = useState(badgeContent);\n\n useEffect(() => {\n if (!animateOnChange || badgeContent === prevBadgeContent) {\n return;\n }\n\n setShouldAnimate(true);\n setPrevBadgeContent(badgeContent);\n\n const timer = setTimeout(\n () => {\n setShouldAnimate(false);\n },\n parseInt(PrimitivesMotionDurationBase) * 3\n );\n\n return () => clearTimeout(timer);\n }, [badgeContent, prevBadgeContent, animateOnChange]);\n\n const isPulse = animationVariant === 'pulse';\n const animate = isPulse || shouldAnimate;\n\n return (\n <AnimatedBadgeRoot\n badgeContent={badgeContent}\n animate={animate}\n animationvariant={animationVariant === 'none' ? undefined : animationVariant}\n {...props}\n >\n {children}\n </AnimatedBadgeRoot>\n );\n};\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport { styled, keyframes } from '@mui/material/styles';\nimport { PrimitivesMotionDurationBase } from '../../../tokens/generated/ts/tokens';\n\nconst bounce = keyframes`\n 0%, 80%, 100% {\n transform: scale(0);\n opacity: 0.5;\n }\n 40% {\n transform: scale(1);\n opacity: 1;\n }\n`;\n\nconst Dot = styled('span')<{ delay: number }>(({ theme, delay }) => ({\n width: 12,\n height: 12,\n borderRadius: '50%',\n backgroundColor: theme.palette.primary.main,\n display: 'inline-block',\n margin: '0 4px',\n animation: `${bounce} ${parseInt(PrimitivesMotionDurationBase) * 7}ms infinite ease-in-out`,\n animationDelay: `${delay}ms`,\n}));\n\nexport interface LoadingDotsProps {\n /**\n * Color of the dots\n * @default 'primary'\n */\n color?: 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success';\n /**\n * Size of the dots\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n}\n\n/**\n * LoadingDots Component\n *\n * Three-dot loading animation\n *\n * @example\n * ```tsx\n * <LoadingDots color=\"primary\" size=\"medium\" />\n * ```\n */\nexport const LoadingDots: React.FC<LoadingDotsProps> = ({ color = 'primary', size = 'medium' }) => {\n const sizeMap = {\n small: 8,\n medium: 12,\n large: 16,\n };\n\n const dotSize = sizeMap[size];\n\n return (\n <Box\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 0.5,\n }}\n >\n <Dot\n delay={0}\n sx={{\n width: dotSize,\n height: dotSize,\n bgcolor: `${color}.main`,\n }}\n />\n <Dot\n delay={160}\n sx={{\n width: dotSize,\n height: dotSize,\n bgcolor: `${color}.main`,\n }}\n />\n <Dot\n delay={320}\n sx={{\n width: dotSize,\n height: dotSize,\n bgcolor: `${color}.main`,\n }}\n />\n </Box>\n );\n};\n"],"names":["tokens.PrimitivesTypographyFontFamilyStack","tokens.PrimitivesTypographyFontWeightLight","tokens.PrimitivesTypographyFontWeightRegular","tokens.PrimitivesTypographyFontWeightMedium","tokens.PrimitivesTypographyFontWeightSemibold","tokens.PrimitivesTypographyFontWeightBold","tokens.PrimitivesTypographyFontSize4xl","tokens.PrimitivesTypographyLineHeightTight","tokens.PrimitivesTypographyFontSize3xl","tokens.PrimitivesTypographyFontSize2xl","tokens.PrimitivesTypographyFontSizeXl","tokens.PrimitivesTypographyFontSizeLg","tokens.PrimitivesTypographyFontSizeMd","tokens.PrimitivesTypographyLineHeightNormal","tokens.PrimitivesTypographyFontSizeSm","tokens.PrimitivesTypographyLineHeightSnug","tokens.PrimitivesTypographyLineHeightLoose","tokens.PrimitivesTypographyFontSizeXs","tokens.PrimitivesTypographyLineHeightRelaxed","tokens.SemanticColorLightPrimaryMain","tokens.SemanticColorLightPrimaryDark","tokens.SemanticColorLightPrimaryLight","tokens.SemanticColorLightPrimaryContrastText","tokens.SemanticColorLightSecondaryMain","tokens.SemanticColorLightSecondaryDark","tokens.SemanticColorLightSecondaryLight","tokens.SemanticColorLightSecondaryContrastText","tokens.SemanticColorLightErrorMain","tokens.SemanticColorLightErrorDark","tokens.SemanticColorLightErrorLight","tokens.SemanticColorLightErrorContrastText","tokens.SemanticColorLightWarningMain","tokens.SemanticColorLightWarningDark","tokens.SemanticColorLightWarningLight","tokens.SemanticColorLightWarningContrastText","tokens.SemanticColorLightInfoMain","tokens.SemanticColorLightInfoDark","tokens.SemanticColorLightInfoLight","tokens.SemanticColorLightInfoContrastText","tokens.SemanticColorLightSuccessMain","tokens.SemanticColorLightSuccessDark","tokens.SemanticColorLightSuccessLight","tokens.SemanticColorLightSuccessContrastText","tokens.SemanticColorLightBackgroundDefault","tokens.SemanticColorLightBackgroundPaper","tokens.SemanticColorLightTextPrimary","tokens.SemanticColorLightTextSecondary","tokens.SemanticColorLightTextDisabled","tokens.SemanticColorLightActionActive","tokens.SemanticColorLightActionHover","tokens.SemanticColorLightActionSelected","tokens.SemanticColorLightActionDisabled","tokens.SemanticColorLightActionDisabledBackground","tokens.SemanticColorLightDivider","tokens.ComponentAlertLightBorderRadius","tokens.ComponentAlertLightErrorFilledBackground","tokens.ComponentAlertLightErrorFilledForeground","tokens.ComponentAlertLightErrorOutlinedBackground","tokens.ComponentAlertLightErrorOutlinedForeground","tokens.ComponentAlertLightErrorOutlinedBorder","tokens.ComponentAlertLightErrorStandardBackground","tokens.ComponentAlertLightErrorStandardForeground","tokens.ComponentAlertLightWarningFilledBackground","tokens.ComponentAlertLightWarningFilledForeground","tokens.ComponentAlertLightWarningOutlinedBackground","tokens.ComponentAlertLightWarningOutlinedForeground","tokens.ComponentAlertLightWarningOutlinedBorder","tokens.ComponentAlertLightWarningStandardBackground","tokens.ComponentAlertLightWarningStandardForeground","tokens.ComponentAlertLightInfoFilledBackground","tokens.ComponentAlertLightInfoFilledForeground","tokens.ComponentAlertLightInfoOutlinedBackground","tokens.ComponentAlertLightInfoOutlinedForeground","tokens.ComponentAlertLightInfoOutlinedBorder","tokens.ComponentAlertLightInfoStandardBackground","tokens.ComponentAlertLightInfoStandardForeground","tokens.ComponentAlertLightSuccessFilledBackground","tokens.ComponentAlertLightSuccessFilledForeground","tokens.ComponentAlertLightSuccessOutlinedBackground","tokens.ComponentAlertLightSuccessOutlinedForeground","tokens.ComponentAlertLightSuccessOutlinedBorder","tokens.ComponentAlertLightSuccessStandardBackground","tokens.ComponentAlertLightSuccessStandardForeground","tokens.ComponentInputLightBorderRadius","tokens.ComponentInputLightStandardEnabledBorder","tokens.ComponentInputLightFilledEnabledFill","tokens.ComponentInputLightOutlinedEnabledBorder","tokens.ComponentPaperLightElevation0","tokens.ComponentPaperLightElevation1","tokens.ComponentPaperLightElevation2","tokens.ComponentChipDefaultCloseFill","tokens.ComponentChipDefaultEnabledBorder","tokens.ComponentButtonBorderRadius","tokens.ComponentCardLightBorderRadius","tokens.ComponentDialogLightBorderRadius","tokens.ComponentTableLightBorder","tokens.ComponentTableLightHeaderBackground","tokens.ComponentRatingActiveFill","tokens.ComponentRatingEnabledBorder","tokens.SemanticColorDarkPrimaryMain","tokens.SemanticColorDarkPrimaryDark","tokens.SemanticColorDarkPrimaryLight","tokens.SemanticColorDarkPrimaryContrastText","tokens.SemanticColorDarkSecondaryMain","tokens.SemanticColorDarkSecondaryDark","tokens.SemanticColorDarkSecondaryLight","tokens.SemanticColorDarkSecondaryContrastText","tokens.SemanticColorDarkErrorMain","tokens.SemanticColorDarkErrorDark","tokens.SemanticColorDarkErrorLight","tokens.SemanticColorDarkErrorContrastText","tokens.SemanticColorDarkWarningMain","tokens.SemanticColorDarkWarningDark","tokens.SemanticColorDarkWarningLight","tokens.SemanticColorDarkWarningContrastText","tokens.SemanticColorDarkInfoMain","tokens.SemanticColorDarkInfoDark","tokens.SemanticColorDarkInfoLight","tokens.SemanticColorDarkInfoContrastText","tokens.SemanticColorDarkSuccessMain","tokens.SemanticColorDarkSuccessDark","tokens.SemanticColorDarkSuccessLight","tokens.SemanticColorDarkSuccessContrastText","tokens.SemanticColorDarkBackgroundDefault","tokens.SemanticColorDarkBackgroundPaper","tokens.SemanticColorDarkTextPrimary","tokens.SemanticColorDarkTextSecondary","tokens.SemanticColorDarkTextDisabled","tokens.SemanticColorDarkActionActive","tokens.SemanticColorDarkActionHover","tokens.SemanticColorDarkActionSelected","tokens.SemanticColorDarkActionDisabled","tokens.SemanticColorDarkActionDisabledBackground","tokens.SemanticColorDarkDivider","tokens.ComponentAlertDarkBorderRadius","tokens.ComponentAlertDarkErrorFilledBackground","tokens.ComponentAlertDarkErrorFilledForeground","tokens.ComponentAlertDarkErrorOutlinedBackground","tokens.ComponentAlertDarkErrorOutlinedForeground","tokens.ComponentAlertDarkErrorOutlinedBorder","tokens.ComponentAlertDarkErrorStandardBackground","tokens.ComponentAlertDarkErrorStandardForeground","tokens.ComponentAlertDarkWarningFilledBackground","tokens.ComponentAlertDarkWarningFilledForeground","tokens.ComponentAlertDarkWarningOutlinedBackground","tokens.ComponentAlertDarkWarningOutlinedForeground","tokens.ComponentAlertDarkWarningOutlinedBorder","tokens.ComponentAlertDarkWarningStandardBackground","tokens.ComponentAlertDarkWarningStandardForeground","tokens.ComponentAlertDarkInfoFilledBackground","tokens.ComponentAlertDarkInfoFilledForeground","tokens.ComponentAlertDarkInfoOutlinedBackground","tokens.ComponentAlertDarkInfoOutlinedForeground","tokens.ComponentAlertDarkInfoOutlinedBorder","tokens.ComponentAlertDarkInfoStandardBackground","tokens.ComponentAlertDarkInfoStandardForeground","tokens.ComponentAlertDarkSuccessFilledBackground","tokens.ComponentAlertDarkSuccessFilledForeground","tokens.ComponentAlertDarkSuccessOutlinedBackground","tokens.ComponentAlertDarkSuccessOutlinedForeground","tokens.ComponentAlertDarkSuccessOutlinedBorder","tokens.ComponentAlertDarkSuccessStandardBackground","tokens.ComponentAlertDarkSuccessStandardForeground","tokens.ComponentInputDarkBorderRadius","tokens.ComponentInputDarkStandardEnabledBorder","tokens.ComponentInputDarkFilledEnabledFill","tokens.ComponentInputDarkOutlinedEnabledBorder","tokens.ComponentPaperDarkElevation0","tokens.ComponentPaperDarkElevation1","tokens.ComponentPaperDarkElevation2","tokens.ComponentPaperDarkElevation4","tokens.ComponentPaperDarkElevation6","tokens.ComponentPaperDarkElevation8","tokens.ComponentPaperDarkElevation12","tokens.ComponentPaperDarkElevation16","tokens.ComponentPaperDarkElevation24","tokens.PrimitivesColorsNeutralWhite","tokens.PrimitivesColorsNeutralGray600","tokens.ComponentCardDarkBorderRadius","tokens.ComponentDialogDarkBorderRadius","tokens.ComponentTableDarkBorder","tokens.ComponentTableDarkHeaderBackground","tokens.PrimitivesColorsAlphaWhite30","spacing","shape","typography","React","MuiBox","Stack","styles","MuiStack","_jsx","useUtilityClasses","theme","Avatar","tokens.ComponentAvatarSmall","tokens.ComponentAvatarMedium","MuiAvatar","tokens.ComponentAvatarBorderRadius","tokens.PrimitivesRadiusSm","Badge","components","_jsxs","MuiBadge","MuiTypography","MuiButton","SwitchBase","defaultCheckedIcon","defaultIcon","Checkbox","MuiCheckbox","MuiChip","Box","MuiCircularProgress","Typography","Container","MuiContainer","MuiDivider","FormControlLabel","MuiFormControlLabel","FormGroup","MuiFormGroup","createGrid2","MuiGrid","Icon","MuiIcon","MuiIconButton","LinearProgress","MuiLinearProgress","Link","MuiLink","MuiMenuItem","MuiPaper","a","b","Radio","MuiRadio","RadioGroup","MuiRadioGroup","MuiSelect","Skeleton","MuiSkeleton","getDecimalPrecision","Identity","SliderValueLabel","BaseSliderValueLabel","Slider","axisProps","MuiSlider","Switch","MuiSwitch","MuiTextField","Toolbar","MuiToolbar","Tooltip","childrenProps","MuiTooltip","tokens.ComponentTooltipLightBackground","tokens.ComponentTooltipDarkBackground","tokens.ComponentTooltipLightForeground","tokens.ComponentTooltipDarkForeground","tokens.ComponentTooltipLightBorderRadius","tokens.ComponentTooltipDarkBorderRadius","tokens.PrimitivesSpacing05","tokens.PrimitivesSpacing1","Paper","Accordion","isFragment","MuiAccordion","AccordionSummary","MuiAccordionSummary","AccordionDetails","MuiAccordionDetails","AccordionActions","MuiAccordionActions","Alert","IconButton","CloseIcon","tokens","MuiAlert","AppBar","MuiAppBar","value","ListSubheader","Autocomplete","Chip","MuiAutocomplete","TextField","BottomNavigation","MuiBottomNavigation","BottomNavigationAction","MuiBottomNavigationAction","overridesResolver","ButtonGroup","MuiButtonGroup","Card","MuiCard","CardActionArea","MuiCardActionArea","CardActions","MuiCardActions","CardContent","MuiCardContent","CardHeader","MuiCardHeader","CardMedia","MuiCardMedia","MuiList","MuiListItem","MuiListItemButton","MuiMenu","PaginationItem","Pagination","MuiPagination","Rating","_createElement","MuiRating","tokens.ComponentSidenavWidthCollapsed","tokens.ComponentSidenavWidthExpanded","tokens.ComponentSidenavLightBorderRadius","tokens.ComponentSidenavDarkBorderRadius","tokens.ComponentSidenavLightItemSelectedBackground","tokens.ComponentSidenavDarkItemSelectedBackground","tokens.ComponentSidenavLightItemSelectedForeground","tokens.ComponentSidenavDarkItemSelectedForeground","tokens.ComponentSidenavLightItemHoverBackground","tokens.ComponentSidenavDarkItemHoverBackground","Divider","List","SnackbarContent","Snackbar","MuiSnackbar","e","Zoom","Fab","SpeedDial","MuiSpeedDial","SpeedDialAction","MuiSpeedDialAction","SpeedDialIcon","MuiSpeedDialIcon","StepConnector","Stepper","Step","StepIcon","StepLabel","MuiStepper","MuiStep","MuiStepLabel","MuiTabs","MuiTab","this","c","f","d","t","n","r","i","s","u","D","O","M","m","l","$","y","v","g","o","h","MuiLocalizationProvider","keyframes","bounce","Button"],"mappings":"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","x_google_ignoreList":[5,7,8,9,11,12,13,19,20,21,22,23,24,25,29,32,33,35,36,38,40,41,44,45,47,48,49,53,54,55,56,57,58,59,61,62,65,66,68,69,70,71,72,73,75,76,79,80,82,83,85,86,87,89,90,92,93,95,96,98,99,100,101,102,103,104,106,107,109,110,111,112,113,115,116,118,119,121,122,124,125,127,128,130,131,133,134,136,137,139,140,145,146,147,148,149,150,151,152,153,155,156,157,158,162,163,164,165,166,167,169,170,171,172,173,175,176,178,179,180,182,183,184,185,186,187,188,189,190,191,192,193,194,195,198,199,200,201,202,203,204]}
1
+ {"version":3,"file":"index.mjs","sources":["../src/tokens/generated/ts/tokens.js","../src/theme/tokens-import.ts","../src/theme/theme.ts","../src/theme/tokens.ts","../src/components/atoms/Box/Box.tsx","../src/components/atoms/Stack/Stack.tsx","../src/components/atoms/Avatar/Avatar.tsx","../src/components/atoms/Badge/Badge.tsx","../src/components/atoms/Typography/Typography.tsx","../src/components/atoms/AccountStack/AccountStack.tsx","../src/types/theme-helpers.ts","../src/components/atoms/Button/Button.tsx","../src/components/atoms/Checkbox/Checkbox.tsx","../src/components/atoms/Chip/Chip.tsx","../src/components/atoms/CircularProgress/CircularProgress.tsx","../src/components/atoms/Container/Container.tsx","../src/components/atoms/Divider/Divider.tsx","../src/components/atoms/FormControlLabel/FormControlLabel.tsx","../src/components/atoms/FormGroup/FormGroup.tsx","../src/components/atoms/Grid/Grid.tsx","../src/components/atoms/Icon/Icon.tsx","../src/components/atoms/IconButton/IconButton.tsx","../src/components/atoms/LinearProgress/LinearProgress.tsx","../src/components/atoms/Link/Link.tsx","../src/components/atoms/MaterialSymbol/MaterialSymbol.tsx","../src/components/atoms/MenuItem/MenuItem.tsx","../src/components/atoms/Paper/Paper.tsx","../src/components/atoms/Radio/Radio.tsx","../src/components/atoms/RadioGroup/RadioGroup.tsx","../src/components/atoms/Select/Select.tsx","../src/components/atoms/Skeleton/Skeleton.tsx","../src/components/atoms/Slider/Slider.tsx","../src/components/atoms/Switch/Switch.tsx","../src/components/atoms/TextField/TextField.tsx","../src/components/atoms/Toolbar/Toolbar.tsx","../src/components/atoms/Tooltip/Tooltip.tsx","../src/components/molecules/Accordion/Accordion.tsx","../src/components/molecules/Accordion/AccordionSummary.tsx","../src/components/molecules/Accordion/AccordionDetails.tsx","../src/components/molecules/Accordion/AccordionActions.tsx","../src/components/molecules/Alert/Alert.tsx","../src/components/molecules/AppBar/AppBar.tsx","../src/components/molecules/Autocomplete/Autocomplete.tsx","../src/components/molecules/BottomNavigation/BottomNavigation.tsx","../src/components/molecules/BottomNavigation/BottomNavigationAction.tsx","../src/components/molecules/ButtonGroup/ButtonGroup.tsx","../src/components/molecules/Card/Card.tsx","../src/components/molecules/Card/CardActionArea.tsx","../src/components/molecules/Card/CardActions.tsx","../src/components/molecules/Card/CardContent.tsx","../src/components/molecules/Card/CardHeader.tsx","../src/components/molecules/Card/CardMedia.tsx","../src/components/molecules/ExpandableNavItem/ExpandableNavItem.tsx","../src/components/molecules/DrawerNavigation/DrawerNavigation.tsx","../src/components/molecules/List/List.tsx","../src/components/molecules/ListItem/ListItem.tsx","../src/components/molecules/Menu/Menu.tsx","../src/components/molecules/Pagination/Pagination.tsx","../src/components/molecules/Rating/Rating.tsx","../src/components/molecules/Sidenav/Sidenav.tsx","../src/components/molecules/Sidenav/Sidenav.types.ts","../src/components/molecules/Snackbar/Snackbar.tsx","../src/components/molecules/SpeedDial/SpeedDial.tsx","../src/components/molecules/SpeedDial/SpeedDialAction.tsx","../src/components/molecules/SpeedDial/SpeedDialIcon.tsx","../src/components/molecules/Stepper/Stepper.tsx","../src/components/molecules/Tabs/Tabs.tsx","../src/components/providers/LocalizationProvider.tsx","../src/hooks/animations/useRipple.ts","../src/hooks/animations/usePulse.ts","../src/hooks/animations/useShake.ts","../src/hooks/animations/useBounce.ts","../src/hooks/animations/useHoverScale.ts","../src/components/effects/RippleButton/RippleButton.tsx","../src/components/effects/AnimatedBadge/AnimatedBadge.tsx","../src/components/effects/LoadingDots/LoadingDots.tsx"],"sourcesContent":["/**\n * Do not edit directly, this file was auto-generated.\n */\n\nexport const ComponentAlertLightBorderRadius = \"8px\";\nexport const ComponentAlertLightErrorFilledBackground = \"#ab1a1a\";\nexport const ComponentAlertLightErrorFilledForeground = \"#ffffff\";\nexport const ComponentAlertLightErrorOutlinedBackground = \"#fdeded\";\nexport const ComponentAlertLightErrorOutlinedForeground = \"#5f2120\";\nexport const ComponentAlertLightErrorOutlinedBorder = \"#ab1a1a\";\nexport const ComponentAlertLightErrorStandardBackground = \"#fdeded\";\nexport const ComponentAlertLightErrorStandardForeground = \"#5f2120\";\nexport const ComponentAlertLightWarningFilledBackground = \"#dfa00a\";\nexport const ComponentAlertLightWarningFilledForeground = \"#000000de\";\nexport const ComponentAlertLightWarningOutlinedBackground = \"#fff4e5\";\nexport const ComponentAlertLightWarningOutlinedForeground = \"#3e2410\";\nexport const ComponentAlertLightWarningOutlinedBorder = \"#dfa00a\";\nexport const ComponentAlertLightWarningStandardBackground = \"#fff4e5\";\nexport const ComponentAlertLightWarningStandardForeground = \"#3e2410\";\nexport const ComponentAlertLightInfoFilledBackground = \"#125c87\";\nexport const ComponentAlertLightInfoFilledForeground = \"#ffffff\";\nexport const ComponentAlertLightInfoOutlinedBackground = \"#e5f6fd\";\nexport const ComponentAlertLightInfoOutlinedForeground = \"#014361\";\nexport const ComponentAlertLightInfoOutlinedBorder = \"#125c87\";\nexport const ComponentAlertLightInfoStandardBackground = \"#e5f6fd\";\nexport const ComponentAlertLightInfoStandardForeground = \"#014361\";\nexport const ComponentAlertLightSuccessFilledBackground = \"#2e7d32\";\nexport const ComponentAlertLightSuccessFilledForeground = \"#ffffff\";\nexport const ComponentAlertLightSuccessOutlinedBackground = \"#edf7ed\";\nexport const ComponentAlertLightSuccessOutlinedForeground = \"#1e4620\";\nexport const ComponentAlertLightSuccessOutlinedBorder = \"#2e7d32\";\nexport const ComponentAlertLightSuccessStandardBackground = \"#edf7ed\";\nexport const ComponentAlertLightSuccessStandardForeground = \"#1e4620\";\nexport const ComponentAlertDarkBorderRadius = \"8px\";\nexport const ComponentAlertDarkErrorFilledBackground = \"#f48282\";\nexport const ComponentAlertDarkErrorFilledForeground = \"#000000\";\nexport const ComponentAlertDarkErrorOutlinedBackground = \"#f482821f\";\nexport const ComponentAlertDarkErrorOutlinedForeground = \"#f48282\";\nexport const ComponentAlertDarkErrorOutlinedBorder = \"#f48282\";\nexport const ComponentAlertDarkErrorStandardBackground = \"#f482821f\";\nexport const ComponentAlertDarkErrorStandardForeground = \"#f48282\";\nexport const ComponentAlertDarkWarningFilledBackground = \"#ffb74d\";\nexport const ComponentAlertDarkWarningFilledForeground = \"#000000\";\nexport const ComponentAlertDarkWarningOutlinedBackground = \"#ffb74d1f\";\nexport const ComponentAlertDarkWarningOutlinedForeground = \"#ffb74d\";\nexport const ComponentAlertDarkWarningOutlinedBorder = \"#ffb74d\";\nexport const ComponentAlertDarkWarningStandardBackground = \"#ffb74d1f\";\nexport const ComponentAlertDarkWarningStandardForeground = \"#ffb74d\";\nexport const ComponentAlertDarkInfoFilledBackground = \"#64b5f6\";\nexport const ComponentAlertDarkInfoFilledForeground = \"#000000\";\nexport const ComponentAlertDarkInfoOutlinedBackground = \"#64b5f61f\";\nexport const ComponentAlertDarkInfoOutlinedForeground = \"#64b5f6\";\nexport const ComponentAlertDarkInfoOutlinedBorder = \"#64b5f6\";\nexport const ComponentAlertDarkInfoStandardBackground = \"#64b5f61f\";\nexport const ComponentAlertDarkInfoStandardForeground = \"#64b5f6\";\nexport const ComponentAlertDarkSuccessFilledBackground = \"#81c784\";\nexport const ComponentAlertDarkSuccessFilledForeground = \"#000000\";\nexport const ComponentAlertDarkSuccessOutlinedBackground = \"#81c7841f\";\nexport const ComponentAlertDarkSuccessOutlinedForeground = \"#81c784\";\nexport const ComponentAlertDarkSuccessOutlinedBorder = \"#81c784\";\nexport const ComponentAlertDarkSuccessStandardBackground = \"#81c7841f\";\nexport const ComponentAlertDarkSuccessStandardForeground = \"#81c784\";\nexport const ComponentButtonTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Button default transition - color, background, border\nexport const ComponentButtonTransitionElevation =\n \"box-shadow 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Button elevation transition on hover\nexport const ComponentButtonBorderRadius = \"8px\";\nexport const ComponentButtonFontWeight = \"600\";\nexport const ComponentButtonSmallFontSize = \"0.8125rem\";\nexport const ComponentButtonSmallHeight = \"30px\";\nexport const ComponentButtonMediumFontSize = \"0.875rem\";\nexport const ComponentButtonMediumHeight = \"36px\";\nexport const ComponentButtonLargeFontSize = \"1rem\";\nexport const ComponentButtonLargeHeight = \"42px\";\nexport const ComponentDialogTransitionEnter =\n \"opacity 300ms cubic-bezier(0, 0, 0.2, 1), transform 300ms cubic-bezier(0, 0, 0.2, 1)\"; // Dialog enter transition - fade + scale\nexport const ComponentDialogTransitionExit =\n \"opacity 200ms cubic-bezier(0.4, 0, 1, 1), transform 200ms cubic-bezier(0.4, 0, 1, 1)\"; // Dialog exit transition\nexport const ComponentDialogLightBorderRadius = \"12px\";\nexport const ComponentDialogDarkBorderRadius = \"12px\";\nexport const ComponentDrawerTransitionEnter =\n \"transform 300ms cubic-bezier(0, 0, 0.2, 1)\"; // Drawer slide in transition\nexport const ComponentDrawerTransitionExit =\n \"transform 300ms cubic-bezier(0.4, 0, 1, 1)\"; // Drawer slide out transition\nexport const ComponentDrawerLightBackground = \"#ffffff\";\nexport const ComponentDrawerLightBorderRadius = \"0px\";\nexport const ComponentDrawerDarkBackground = \"#1e1e1e\";\nexport const ComponentDrawerDarkBorderRadius = \"0px\";\nexport const ComponentSnackbarTransitionEnter =\n \"transform 300ms cubic-bezier(0.2, 0, 0, 1), opacity 200ms cubic-bezier(0.4, 0, 1, 1)\"; // Snackbar enter transition - slide up + fade\nexport const ComponentSnackbarTransitionExit =\n \"opacity 200ms cubic-bezier(0, 0, 0.2, 1)\"; // Snackbar exit transition - fade out\nexport const ComponentSnackbarLightBackground = \"#424242\";\nexport const ComponentSnackbarLightForeground = \"#ffffff\";\nexport const ComponentSnackbarLightBorderRadius = \"4px\";\nexport const ComponentSnackbarDarkBackground = \"#eeeeee\";\nexport const ComponentSnackbarDarkForeground = \"#000000\";\nexport const ComponentSnackbarDarkBorderRadius = \"4px\";\nexport const ComponentTooltipTransitionEnter =\n \"opacity 100ms cubic-bezier(0.4, 0, 1, 1)\"; // Tooltip fade in\nexport const ComponentTooltipTransitionExit =\n \"opacity 100ms cubic-bezier(0, 0, 0.2, 1)\"; // Tooltip fade out\nexport const ComponentTooltipLightBackground = \"#000000de\";\nexport const ComponentTooltipLightForeground = \"#ffffff\";\nexport const ComponentTooltipLightBorderRadius = \"4px\";\nexport const ComponentTooltipDarkBackground = \"#616161\";\nexport const ComponentTooltipDarkForeground = \"#ffffff\";\nexport const ComponentTooltipDarkBorderRadius = \"4px\";\nexport const ComponentMenuTransitionEnter =\n \"opacity 200ms cubic-bezier(0.4, 0, 1, 1), transform 200ms cubic-bezier(0, 0, 0.2, 1)\"; // Menu enter transition - fade + scale\nexport const ComponentMenuTransitionExit =\n \"opacity 100ms cubic-bezier(0, 0, 0.2, 1)\"; // Menu exit transition - fade\nexport const ComponentMenuLightBackground = \"#ffffff\";\nexport const ComponentMenuLightBorderRadius = \"8px\";\nexport const ComponentMenuDarkBackground = \"#1e1e1e\";\nexport const ComponentMenuDarkBorderRadius = \"8px\";\nexport const ComponentCollapseTransitionEnter =\n \"height 300ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Collapse expand transition\nexport const ComponentCollapseTransitionExit =\n \"height 200ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Collapse contract transition\nexport const ComponentFabTransitionDefault =\n \"all 200ms cubic-bezier(0.4, 0, 0.2, 1)\"; // FAB default transition\nexport const ComponentFabTransitionElevation =\n \"box-shadow 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // FAB elevation on hover\nexport const ComponentFabBorderRadius = \"9999px\";\nexport const ComponentChipTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Chip hover/focus transition\nexport const ComponentChipDefaultCloseFill = \"#000000\";\nexport const ComponentChipDefaultEnabledBorder = \"#bdbdbd\";\nexport const ComponentChipBorderRadius = \"9999px\";\nexport const ComponentSwitchTransitionThumb =\n \"transform 100ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Switch thumb movement\nexport const ComponentSwitchTransitionTrack =\n \"background-color 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Switch track color change\nexport const ComponentCheckboxTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Checkbox state transition\nexport const ComponentRadioTransitionDefault =\n \"all 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Radio button state transition\nexport const ComponentAccordionTransitionExpand =\n \"all 300ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Accordion panel expand\nexport const ComponentAccordionTransitionCollapse =\n \"all 200ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Accordion panel collapse\nexport const ComponentAccordionLightBackground = \"#ffffff\";\nexport const ComponentAccordionLightBorder = \"#0000001f\";\nexport const ComponentAccordionLightBorderRadius = \"8px\";\nexport const ComponentAccordionDarkBackground = \"#1e1e1e\";\nexport const ComponentAccordionDarkBorder = \"#ffffff1f\";\nexport const ComponentAccordionDarkBorderRadius = \"8px\";\nexport const ComponentSkeletonAnimationPulseDuration = \"1500ms\"; // Skeleton pulse animation duration\nexport const ComponentSkeletonAnimationPulseEasing =\n \"cubic-bezier(0.4, 0, 0.2, 1)\"; // Skeleton pulse easing\nexport const ComponentSkeletonAnimationWaveDuration = \"1600ms\"; // Skeleton wave animation duration\nexport const ComponentSkeletonAnimationWaveEasing = \"cubic-bezier(0, 0, 1, 1)\"; // Skeleton wave easing\nexport const ComponentSkeletonLightBackground = \"#0000001f\";\nexport const ComponentSkeletonLightBorderRadius = \"4px\";\nexport const ComponentSkeletonDarkBackground = \"#ffffff1f\";\nexport const ComponentSkeletonDarkBorderRadius = \"4px\";\nexport const ComponentProgressAnimationIndeterminateDuration = \"2000ms\"; // Progress indeterminate animation duration\nexport const ComponentProgressAnimationIndeterminateEasing =\n \"cubic-bezier(0, 0, 1, 1)\"; // Progress animation easing\nexport const ComponentProgressAnimationCircularDuration = \"1400ms\"; // Circular progress rotation duration\nexport const ComponentProgressAnimationCircularEasing =\n \"cubic-bezier(0, 0, 1, 1)\"; // Circular progress easing\nexport const ComponentProgressLightBackground = \"#00999929\";\nexport const ComponentProgressLightForeground = \"#00686f\";\nexport const ComponentProgressDarkBackground = \"#0099993d\";\nexport const ComponentProgressDarkForeground = \"#66b2b2\";\nexport const ComponentProgressThickness = \"4px\";\nexport const ComponentIconButtonBorderRadius = \"9999px\";\nexport const ComponentIconButtonSmallSize = \"34px\";\nexport const ComponentIconButtonSmallIconSize = \"20px\";\nexport const ComponentIconButtonMediumSize = \"40px\";\nexport const ComponentIconButtonMediumIconSize = \"24px\";\nexport const ComponentIconButtonLargeSize = \"48px\";\nexport const ComponentIconButtonLargeIconSize = \"28px\";\nexport const ComponentListLightBackground = \"#ffffff\";\nexport const ComponentListLightItemDefaultBackground = \"#00000000\";\nexport const ComponentListLightItemDefaultForeground = \"#000000de\";\nexport const ComponentListLightItemHoverBackground = \"#00000014\";\nexport const ComponentListLightItemSelectedBackground = \"#0000001f\";\nexport const ComponentListLightDivider = \"#0000001f\";\nexport const ComponentListLightBorderRadius = \"8px\";\nexport const ComponentListDarkBackground = \"#1e1e1e\";\nexport const ComponentListDarkItemDefaultBackground = \"#00000000\";\nexport const ComponentListDarkItemDefaultForeground = \"#ffffff\";\nexport const ComponentListDarkItemHoverBackground = \"#ffffff14\";\nexport const ComponentListDarkItemSelectedBackground = \"#ffffff29\";\nexport const ComponentListDarkDivider = \"#ffffff1f\";\nexport const ComponentListDarkBorderRadius = \"8px\";\nexport const ComponentAvatarBorderRadius = \"9999px\";\nexport const ComponentAvatarSmall = \"24px\";\nexport const ComponentAvatarMedium = \"40px\";\nexport const ComponentAvatarLarge = \"56px\";\nexport const ComponentBadgeBorderRadius = \"9999px\";\nexport const ComponentBadgeLightBackground = \"#ab1a1a\";\nexport const ComponentBadgeLightForeground = \"#ffffff\";\nexport const ComponentBadgeDarkBackground = \"#f48282\";\nexport const ComponentBadgeDarkForeground = \"#000000\";\nexport const ComponentInputLightStandardEnabledBorder = \"#0000006b\";\nexport const ComponentInputLightFilledEnabledFill = \"#0000000a\";\nexport const ComponentInputLightOutlinedEnabledBorder = \"#0000003b\";\nexport const ComponentInputLightBorderRadius = \"4px\";\nexport const ComponentInputDarkBorderRadius = \"8px\";\nexport const ComponentInputDarkStandardEnabledBorder = \"#ffffff6b\";\nexport const ComponentInputDarkFilledEnabledFill = \"#ffffff14\";\nexport const ComponentInputDarkOutlinedEnabledBorder = \"#ffffff3b\";\nexport const ComponentInputDarkValueFontSize = \"1rem\";\nexport const ComponentRatingActiveFill = \"#ffb400\";\nexport const ComponentRatingEnabledBorder = \"#0000003b\";\nexport const ComponentStepperLightConnector = \"#bdbdbd\";\nexport const ComponentStepperLightStepDefaultBackground = \"#e0e0e0\";\nexport const ComponentStepperLightStepDefaultForeground = \"#000000de\";\nexport const ComponentStepperLightStepActiveBackground = \"#00686f\";\nexport const ComponentStepperLightStepActiveForeground = \"#ffffff\";\nexport const ComponentStepperLightStepCompletedBackground = \"#00686f\";\nexport const ComponentStepperLightStepCompletedForeground = \"#ffffff\";\nexport const ComponentStepperDarkConnector = \"#616161\";\nexport const ComponentStepperDarkStepDefaultBackground = \"#616161\";\nexport const ComponentStepperDarkStepDefaultForeground = \"#ffffff\";\nexport const ComponentStepperDarkStepActiveBackground = \"#66b2b2\";\nexport const ComponentStepperDarkStepActiveForeground = \"#000000\";\nexport const ComponentStepperDarkStepCompletedBackground = \"#66b2b2\";\nexport const ComponentStepperDarkStepCompletedForeground = \"#000000\";\nexport const ComponentTabsLightIndicator = \"#00686f\";\nexport const ComponentTabsLightTabDefaultForeground = \"#00000099\";\nexport const ComponentTabsLightTabActiveForeground = \"#00686f\";\nexport const ComponentTabsLightTabHoverBackground = \"#00000014\";\nexport const ComponentTabsLightBorderRadius = \"0px\";\nexport const ComponentTabsDarkIndicator = \"#66b2b2\";\nexport const ComponentTabsDarkTabDefaultForeground = \"#ffffffb3\";\nexport const ComponentTabsDarkTabActiveForeground = \"#66b2b2\";\nexport const ComponentTabsDarkTabHoverBackground = \"#ffffff14\";\nexport const ComponentTabsDarkBorderRadius = \"0px\";\nexport const ComponentTimelineLightConnector = \"#bdbdbd\";\nexport const ComponentTimelineLightDotDefault = \"#bdbdbd\";\nexport const ComponentTimelineLightDotPrimary = \"#00686f\";\nexport const ComponentTimelineLightDotSecondary = \"#99cc00\";\nexport const ComponentTimelineDarkConnector = \"#616161\";\nexport const ComponentTimelineDarkDotDefault = \"#616161\";\nexport const ComponentTimelineDarkDotPrimary = \"#66b2b2\";\nexport const ComponentTimelineDarkDotSecondary = \"#b3e600\";\nexport const ComponentPaginationLightItemDefaultBackground = \"#00000000\";\nexport const ComponentPaginationLightItemDefaultForeground = \"#000000de\";\nexport const ComponentPaginationLightItemHoverBackground = \"#00000014\";\nexport const ComponentPaginationLightItemSelectedBackground = \"#00686f\";\nexport const ComponentPaginationLightItemSelectedForeground = \"#ffffff\";\nexport const ComponentPaginationLightBorderRadius = \"9999px\";\nexport const ComponentPaginationDarkItemDefaultBackground = \"#00000000\";\nexport const ComponentPaginationDarkItemDefaultForeground = \"#ffffff\";\nexport const ComponentPaginationDarkItemHoverBackground = \"#ffffff14\";\nexport const ComponentPaginationDarkItemSelectedBackground = \"#66b2b2\";\nexport const ComponentPaginationDarkItemSelectedForeground = \"#000000\";\nexport const ComponentPaginationDarkBorderRadius = \"9999px\";\nexport const ComponentSidenavWidthCollapsed = \"64px\";\nexport const ComponentSidenavWidthExpanded = \"240px\";\nexport const ComponentSidenavLightBackground = \"#ffffff\";\nexport const ComponentSidenavLightBorder = \"#0000001f\";\nexport const ComponentSidenavLightItemDefaultBackground = \"#00000000\";\nexport const ComponentSidenavLightItemDefaultForeground = \"#000000de\";\nexport const ComponentSidenavLightItemHoverBackground = \"#00000014\";\nexport const ComponentSidenavLightItemHoverForeground = \"#000000de\";\nexport const ComponentSidenavLightItemSelectedBackground = \"#0099991f\";\nexport const ComponentSidenavLightItemSelectedForeground = \"#00686f\";\nexport const ComponentSidenavLightBorderRadius = \"8px\";\nexport const ComponentSidenavDarkBackground = \"#1e1e1e\";\nexport const ComponentSidenavDarkBorder = \"#ffffff1f\";\nexport const ComponentSidenavDarkItemDefaultBackground = \"#00000000\";\nexport const ComponentSidenavDarkItemDefaultForeground = \"#ffffff\";\nexport const ComponentSidenavDarkItemHoverBackground = \"#ffffff14\";\nexport const ComponentSidenavDarkItemHoverForeground = \"#ffffff\";\nexport const ComponentSidenavDarkItemSelectedBackground = \"#0099993d\";\nexport const ComponentSidenavDarkItemSelectedForeground = \"#66b2b2\";\nexport const ComponentSidenavDarkBorderRadius = \"8px\";\nexport const ComponentAppbarHeight = \"64px\";\nexport const ComponentAppbarLightBackground = \"#00686f\";\nexport const ComponentAppbarLightForeground = \"#ffffff\";\nexport const ComponentAppbarDarkBackground = \"#1e1e1e\";\nexport const ComponentAppbarDarkForeground = \"#ffffff\";\nexport const ComponentBottomNavigationHeight = \"56px\";\nexport const ComponentBottomNavigationLightBackground = \"#ffffff\";\nexport const ComponentBottomNavigationLightItemDefaultForeground = \"#00000099\";\nexport const ComponentBottomNavigationLightItemSelectedForeground = \"#00686f\";\nexport const ComponentBottomNavigationDarkBackground = \"#1e1e1e\";\nexport const ComponentBottomNavigationDarkItemDefaultForeground = \"#ffffffb3\";\nexport const ComponentBottomNavigationDarkItemSelectedForeground = \"#66b2b2\";\nexport const ComponentPaperLightElevation0 = \"#ffffff\";\nexport const ComponentPaperLightElevation1 = \"#ffffff\";\nexport const ComponentPaperLightElevation2 = \"#ffffff\";\nexport const ComponentPaperDarkElevation0 = \"#121212\"; // No elevation - matches background\nexport const ComponentPaperDarkElevation1 = \"#1e1e1e\"; // 1dp elevation\nexport const ComponentPaperDarkElevation2 = \"#232323\"; // 2dp elevation\nexport const ComponentPaperDarkElevation4 = \"#272727\"; // 4dp elevation\nexport const ComponentPaperDarkElevation6 = \"#2c2c2c\"; // 6dp elevation\nexport const ComponentPaperDarkElevation8 = \"#2e2e2e\"; // 8dp elevation\nexport const ComponentPaperDarkElevation12 = \"#333333\"; // 12dp elevation\nexport const ComponentPaperDarkElevation16 = \"#353535\"; // 16dp elevation\nexport const ComponentPaperDarkElevation24 = \"#383838\"; // 24dp elevation\nexport const ComponentTableLightBorder = \"#e0e0e0\";\nexport const ComponentTableLightHeaderBackground = \"#fafafa\";\nexport const ComponentTableDarkBorder = \"#ffffff1f\";\nexport const ComponentTableDarkHeaderBackground = \"#1e1e1e\";\nexport const ComponentCardLightBorderRadius = \"12px\";\nexport const ComponentCardDarkBorderRadius = \"12px\";\nexport const PrimitivesColorsBrandVerones = \"#00686f\"; // MRS Primary Brand Color - Teal\nexport const PrimitivesColorsBrandLima = \"#99cc00\"; // MRS Secondary Brand Color - Lime Green\nexport const PrimitivesColorsNeutralWhite = \"#ffffff\";\nexport const PrimitivesColorsNeutralBlack = \"#000000\";\nexport const PrimitivesColorsNeutralGray50 = \"#fafafa\";\nexport const PrimitivesColorsNeutralGray100 = \"#f5f5f5\";\nexport const PrimitivesColorsNeutralGray200 = \"#eeeeee\";\nexport const PrimitivesColorsNeutralGray300 = \"#e0e0e0\";\nexport const PrimitivesColorsNeutralGray400 = \"#bdbdbd\";\nexport const PrimitivesColorsNeutralGray500 = \"#9e9e9e\";\nexport const PrimitivesColorsNeutralGray600 = \"#757575\";\nexport const PrimitivesColorsNeutralGray700 = \"#616161\";\nexport const PrimitivesColorsNeutralGray800 = \"#424242\";\nexport const PrimitivesColorsNeutralGray900 = \"#212121\";\nexport const PrimitivesColorsStatusError50 = \"#fdeded\";\nexport const PrimitivesColorsStatusError100 = \"#f8b8b8\";\nexport const PrimitivesColorsStatusError500 = \"#ab1a1a\";\nexport const PrimitivesColorsStatusError600 = \"#8b1515\";\nexport const PrimitivesColorsStatusError700 = \"#5f2120\";\nexport const PrimitivesColorsStatusWarning50 = \"#fff4e5\";\nexport const PrimitivesColorsStatusWarning500 = \"#dfa00a\";\nexport const PrimitivesColorsStatusWarning600 = \"#b88308\";\nexport const PrimitivesColorsStatusWarning700 = \"#3e2410\";\nexport const PrimitivesColorsStatusInfo50 = \"#e5f6fd\";\nexport const PrimitivesColorsStatusInfo100 = \"#d1daf0\";\nexport const PrimitivesColorsStatusInfo500 = \"#125c87\";\nexport const PrimitivesColorsStatusInfo600 = \"#143996\";\nexport const PrimitivesColorsStatusInfo700 = \"#014361\";\nexport const PrimitivesColorsStatusInfo800 = \"#0c225a\";\nexport const PrimitivesColorsStatusSuccess50 = \"#edf7ed\";\nexport const PrimitivesColorsStatusSuccess100 = \"#b3d1c7\";\nexport const PrimitivesColorsStatusSuccess500 = \"#2e7d32\";\nexport const PrimitivesColorsStatusSuccess600 = \"#036642\";\nexport const PrimitivesColorsStatusSuccess700 = \"#1e4620\";\nexport const PrimitivesColorsStatusSuccess800 = \"#023321\";\nexport const PrimitivesColorsAlphaBlack4 = \"#0000000a\";\nexport const PrimitivesColorsAlphaBlack8 = \"#00000014\";\nexport const PrimitivesColorsAlphaBlack12 = \"#0000001f\";\nexport const PrimitivesColorsAlphaBlack23 = \"#0000003b\";\nexport const PrimitivesColorsAlphaBlack26 = \"#00000042\";\nexport const PrimitivesColorsAlphaBlack38 = \"#00000061\";\nexport const PrimitivesColorsAlphaBlack42 = \"#0000006b\";\nexport const PrimitivesColorsAlphaBlack56 = \"#0000008f\";\nexport const PrimitivesColorsAlphaBlack60 = \"#00000099\";\nexport const PrimitivesColorsAlphaBlack87 = \"#000000de\";\nexport const PrimitivesColorsAlphaWhite8 = \"#ffffff14\";\nexport const PrimitivesColorsAlphaWhite12 = \"#ffffff1f\";\nexport const PrimitivesColorsAlphaWhite16 = \"#ffffff29\";\nexport const PrimitivesColorsAlphaWhite23 = \"#ffffff3b\";\nexport const PrimitivesColorsAlphaWhite26 = \"#ffffff42\";\nexport const PrimitivesColorsAlphaWhite30 = \"#ffffff4d\";\nexport const PrimitivesColorsAlphaWhite42 = \"#ffffff6b\";\nexport const PrimitivesColorsAlphaWhite50 = \"#ffffff80\";\nexport const PrimitivesColorsAlphaWhite70 = \"#ffffffb3\";\nexport const PrimitivesColorsAlphaWhite100 = \"#ffffff\";\nexport const PrimitivesColorsAlphaPrimary8 = \"#00999914\";\nexport const PrimitivesColorsAlphaPrimary12 = \"#0099991f\";\nexport const PrimitivesColorsAlphaPrimary16 = \"#00999929\";\nexport const PrimitivesColorsAlphaPrimary25 = \"#00999940\";\nexport const PrimitivesColorsAlphaPrimary24Dark = \"#0099993d\";\nexport const PrimitivesColorsAlphaPrimary32Dark = \"#00999952\";\nexport const PrimitivesColorsAlphaPrimary40Dark = \"#00999966\";\nexport const PrimitivesColorsSpecialRating = \"#ffb400\";\nexport const PrimitivesMotionDurationInstant = \"0ms\"; // Instant transition - no delay\nexport const PrimitivesMotionDurationFast = \"100ms\"; // Fast transitions - micro-interactions, toggles, checkboxes\nexport const PrimitivesMotionDurationBase = \"200ms\"; // Base transition duration - most UI elements\nexport const PrimitivesMotionDurationModerate = \"300ms\"; // Moderate transitions - drawers, dialogs, larger elements\nexport const PrimitivesMotionDurationSlow = \"400ms\"; // Slow transitions - page transitions, large content shifts\nexport const PrimitivesMotionDurationSlower = \"500ms\"; // Very slow transitions - complex animations\nexport const PrimitivesMotionEasingLinear = \"cubic-bezier(0, 0, 1, 1)\"; // Linear easing - constant speed, use sparingly\nexport const PrimitivesMotionEasingStandard = \"cubic-bezier(0.4, 0, 0.2, 1)\"; // Standard easing - most common, smooth acceleration and deceleration\nexport const PrimitivesMotionEasingEmphasized = \"cubic-bezier(0.2, 0, 0, 1)\"; // Emphasized easing - Material Design emphasized motion\nexport const PrimitivesMotionEasingDecelerate = \"cubic-bezier(0, 0, 0.2, 1)\"; // Decelerate easing - elements entering the screen\nexport const PrimitivesMotionEasingAccelerate = \"cubic-bezier(0.4, 0, 1, 1)\"; // Accelerate easing - elements leaving the screen\nexport const PrimitivesMotionEasingSharp = \"cubic-bezier(0.4, 0, 0.6, 1)\"; // Sharp easing - quick, focused transitions\nexport const PrimitivesMotionEasingEaseIn = \"cubic-bezier(0.4, 0, 1, 1)\"; // Ease in - gradual acceleration\nexport const PrimitivesMotionEasingEaseOut = \"cubic-bezier(0, 0, 0.2, 1)\"; // Ease out - gradual deceleration\nexport const PrimitivesMotionEasingEaseInOut = \"cubic-bezier(0.4, 0, 0.2, 1)\"; // Ease in-out - smooth start and end\nexport const PrimitivesRadiusNone = \"0px\";\nexport const PrimitivesRadiusSm = \"4px\";\nexport const PrimitivesRadiusMd = \"8px\"; // Default border radius\nexport const PrimitivesRadiusLg = \"12px\";\nexport const PrimitivesRadiusXl = \"24px\";\nexport const PrimitivesRadiusFull = \"9999px\"; // Pill shape / circular\nexport const PrimitivesSpacing0 = \"0px\";\nexport const PrimitivesSpacing1 = \"8px\";\nexport const PrimitivesSpacing2 = \"16px\";\nexport const PrimitivesSpacing3 = \"24px\";\nexport const PrimitivesSpacing4 = \"32px\";\nexport const PrimitivesSpacing5 = \"40px\";\nexport const PrimitivesSpacing6 = \"48px\";\nexport const PrimitivesSpacing7 = \"56px\";\nexport const PrimitivesSpacing8 = \"64px\";\nexport const PrimitivesSpacing9 = \"72px\";\nexport const PrimitivesSpacing10 = \"80px\";\nexport const PrimitivesSpacing11 = \"88px\";\nexport const PrimitivesSpacing12 = \"96px\";\nexport const PrimitivesSpacing05 = \"4px\";\nexport const PrimitivesSpacing15 = \"12px\";\nexport const PrimitivesTypographyFontFamilyBrand = \"Nunito\"; // Primary brand font\nexport const PrimitivesTypographyFontFamilyFallback =\n \"Helvetica, Arial, sans-serif\";\nexport const PrimitivesTypographyFontFamilyStack =\n \"Nunito, Helvetica, Arial, sans-serif\";\nexport const PrimitivesTypographyFontSizeXs = \"0.75rem\";\nexport const PrimitivesTypographyFontSizeSm = \"0.875rem\";\nexport const PrimitivesTypographyFontSizeMd = \"1rem\";\nexport const PrimitivesTypographyFontSizeLg = \"1.25rem\";\nexport const PrimitivesTypographyFontSizeXl = \"1.5rem\";\nexport const PrimitivesTypographyFontSize2xl = \"2.125rem\";\nexport const PrimitivesTypographyFontSize3xl = \"3rem\";\nexport const PrimitivesTypographyFontSize4xl = \"3.75rem\";\nexport const PrimitivesTypographyFontWeightLight = \"300\";\nexport const PrimitivesTypographyFontWeightRegular = \"400\";\nexport const PrimitivesTypographyFontWeightMedium = \"500\";\nexport const PrimitivesTypographyFontWeightSemibold = \"600\";\nexport const PrimitivesTypographyFontWeightBold = \"700\";\nexport const PrimitivesTypographyLineHeightTight = \"1.2\";\nexport const PrimitivesTypographyLineHeightSnug = \"1.43\";\nexport const PrimitivesTypographyLineHeightNormal = \"1.5\";\nexport const PrimitivesTypographyLineHeightRelaxed = \"1.66\";\nexport const PrimitivesTypographyLineHeightLoose = \"1.75\";\nexport const SemanticColorLightPrimaryMain = \"#00686f\";\nexport const SemanticColorLightPrimaryDark = \"#004e53\";\nexport const SemanticColorLightPrimaryLight = \"#009999\";\nexport const SemanticColorLightPrimaryContrastText = \"#ffffff\";\nexport const SemanticColorLightSecondaryMain = \"#99cc00\";\nexport const SemanticColorLightSecondaryDark = \"#7aa300\";\nexport const SemanticColorLightSecondaryLight = \"#b3d633\";\nexport const SemanticColorLightSecondaryContrastText = \"#000000de\";\nexport const SemanticColorLightErrorMain = \"#ab1a1a\";\nexport const SemanticColorLightErrorDark = \"#8b1515\";\nexport const SemanticColorLightErrorLight = \"#d32f2f\";\nexport const SemanticColorLightErrorContrastText = \"#ffffff\";\nexport const SemanticColorLightWarningMain = \"#dfa00a\";\nexport const SemanticColorLightWarningDark = \"#b88308\";\nexport const SemanticColorLightWarningLight = \"#f5b642\";\nexport const SemanticColorLightWarningContrastText = \"#000000de\";\nexport const SemanticColorLightInfoMain = \"#143996\";\nexport const SemanticColorLightInfoDark = \"#0c225a\";\nexport const SemanticColorLightInfoLight = \"#d1daf0\";\nexport const SemanticColorLightInfoContrastText = \"#ffffff\";\nexport const SemanticColorLightSuccessMain = \"#036642\";\nexport const SemanticColorLightSuccessDark = \"#023321\";\nexport const SemanticColorLightSuccessLight = \"#b3d1c7\";\nexport const SemanticColorLightSuccessContrastText = \"#ffffff\";\nexport const SemanticColorLightBackgroundDefault = \"#ffffff\";\nexport const SemanticColorLightBackgroundPaper = \"#ffffff\";\nexport const SemanticColorLightTextPrimary = \"#000000de\";\nexport const SemanticColorLightTextSecondary = \"#00000099\";\nexport const SemanticColorLightTextDisabled = \"#00000061\";\nexport const SemanticColorLightActionActive = \"#0000008f\";\nexport const SemanticColorLightActionHover = \"#00000014\";\nexport const SemanticColorLightActionSelected = \"#0000001f\";\nexport const SemanticColorLightActionDisabled = \"#00000042\";\nexport const SemanticColorLightActionDisabledBackground = \"#0000001f\";\nexport const SemanticColorLightDivider = \"#0000001f\";\nexport const SemanticColorDarkPrimaryMain = \"#66b2b2\"; // Lighter primary for dark mode\nexport const SemanticColorDarkPrimaryDark = \"#00686f\";\nexport const SemanticColorDarkPrimaryLight = \"#99cccc\";\nexport const SemanticColorDarkPrimaryContrastText = \"#000000\";\nexport const SemanticColorDarkSecondaryMain = \"#b3e600\"; // Lighter secondary for dark mode\nexport const SemanticColorDarkSecondaryDark = \"#99cc00\";\nexport const SemanticColorDarkSecondaryLight = \"#ccff33\";\nexport const SemanticColorDarkSecondaryContrastText = \"#000000\";\nexport const SemanticColorDarkErrorMain = \"#f48282\"; // Lighter error for dark mode\nexport const SemanticColorDarkErrorDark = \"#ab1a1a\";\nexport const SemanticColorDarkErrorLight = \"#f8b8b8\";\nexport const SemanticColorDarkErrorContrastText = \"#000000\";\nexport const SemanticColorDarkWarningMain = \"#ffb74d\"; // Lighter warning for dark mode\nexport const SemanticColorDarkWarningDark = \"#dfa00a\";\nexport const SemanticColorDarkWarningLight = \"#fff4e5\";\nexport const SemanticColorDarkWarningContrastText = \"#000000\";\nexport const SemanticColorDarkInfoMain = \"#64b5f6\"; // Lighter info for dark mode\nexport const SemanticColorDarkInfoDark = \"#125c87\";\nexport const SemanticColorDarkInfoLight = \"#e5f6fd\";\nexport const SemanticColorDarkInfoContrastText = \"#000000\";\nexport const SemanticColorDarkSuccessMain = \"#81c784\"; // Lighter success for dark mode\nexport const SemanticColorDarkSuccessDark = \"#2e7d32\";\nexport const SemanticColorDarkSuccessLight = \"#edf7ed\";\nexport const SemanticColorDarkSuccessContrastText = \"#000000\";\nexport const SemanticColorDarkBackgroundDefault = \"#121212\"; // Material Design dark background\nexport const SemanticColorDarkBackgroundPaper = \"#1e1e1e\"; // Elevated surface in dark mode\nexport const SemanticColorDarkTextPrimary = \"#ffffff\";\nexport const SemanticColorDarkTextSecondary = \"#ffffffb3\";\nexport const SemanticColorDarkTextDisabled = \"#ffffff80\";\nexport const SemanticColorDarkActionActive = \"#ffffff\";\nexport const SemanticColorDarkActionHover = \"#ffffff14\";\nexport const SemanticColorDarkActionSelected = \"#ffffff29\";\nexport const SemanticColorDarkActionDisabled = \"#ffffff4d\";\nexport const SemanticColorDarkActionDisabledBackground = \"#ffffff1f\";\nexport const SemanticColorDarkDivider = \"#ffffff1f\";\nexport const SemanticTransitionFadeIn =\n \"opacity 200ms cubic-bezier(0.4, 0, 1, 1)\"; // Fade in transition\nexport const SemanticTransitionFadeOut =\n \"opacity 200ms cubic-bezier(0, 0, 0.2, 1)\"; // Fade out transition\nexport const SemanticTransitionSlideIn =\n \"transform 300ms cubic-bezier(0, 0, 0.2, 1)\"; // Slide in transition - elements entering\nexport const SemanticTransitionSlideOut =\n \"transform 300ms cubic-bezier(0.4, 0, 1, 1)\"; // Slide out transition - elements leaving\nexport const SemanticTransitionExpandIn =\n \"all 300ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Expand transition - collapsible content opening\nexport const SemanticTransitionExpandOut =\n \"all 200ms cubic-bezier(0.4, 0, 0.6, 1)\"; // Collapse transition - collapsible content closing\nexport const SemanticTransitionElevation =\n \"box-shadow 100ms cubic-bezier(0.4, 0, 0.2, 1)\"; // Elevation change transition\n","/**\n * Design Tokens Import - Generated by Style Dictionary\n *\n * This file re-exports design tokens organized by mode (light/dark)\n * for easier consumption in theme.ts\n *\n * @since 0.12.0 - Complete migration to generated tokens (no more theme.json dependency)\n */\n\nimport * as tokens from '../tokens/generated/ts/tokens';\n\n// ============================================================================\n// TYPOGRAPHY TOKENS\n// ============================================================================\nexport const typographyTokens = {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontSize: 16, // base font size in pixels (from 1rem)\n fontWeightLight: Number(tokens.PrimitivesTypographyFontWeightLight),\n fontWeightRegular: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontWeightMedium: Number(tokens.PrimitivesTypographyFontWeightMedium),\n fontWeightSemiBold: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontWeightBold: Number(tokens.PrimitivesTypographyFontWeightBold),\n // Typography variants (MUI compatible)\n h1: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSize4xl, // 3.75rem (60px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '-0.01562em',\n },\n h2: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSize3xl, // 3rem (48px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '-0.00833em',\n },\n h3: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSize2xl, // 2.125rem (34px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0em',\n },\n h4: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeXl, // 1.5rem (24px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0.00735em',\n },\n h5: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeLg, // 1.25rem (20px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0em',\n },\n h6: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeMd, // 1rem (16px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightTight), // 1.2\n letterSpacing: '0.0075em',\n },\n body1: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeMd, // 1rem (16px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightNormal), // 1.5\n letterSpacing: '0.00938em',\n },\n body2: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeSm, // 0.875rem (14px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightSnug), // 1.43\n letterSpacing: '0.01071em',\n },\n subtitle1: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightMedium),\n fontSize: tokens.PrimitivesTypographyFontSizeMd, // 1rem (16px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightLoose), // 1.75\n letterSpacing: '0.00938em',\n },\n subtitle2: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightMedium),\n fontSize: tokens.PrimitivesTypographyFontSizeSm, // 0.875rem (14px)\n lineHeight: 1.57,\n letterSpacing: '0.00714em',\n },\n button: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightSemibold),\n fontSize: tokens.PrimitivesTypographyFontSizeSm, // 0.875rem (14px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightLoose), // 1.75\n letterSpacing: '0.02857em',\n textTransform: 'none' as const,\n },\n caption: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeXs, // 0.75rem (12px)\n lineHeight: Number(tokens.PrimitivesTypographyLineHeightRelaxed), // 1.66\n letterSpacing: '0.03333em',\n },\n overline: {\n fontFamily: tokens.PrimitivesTypographyFontFamilyStack,\n fontWeight: Number(tokens.PrimitivesTypographyFontWeightRegular),\n fontSize: tokens.PrimitivesTypographyFontSizeXs, // 0.75rem (12px)\n lineHeight: 2.66,\n letterSpacing: '0.08333em',\n textTransform: 'uppercase' as const,\n },\n};\n\n// ============================================================================\n// SHAPE TOKENS (Border Radius)\n// ============================================================================\nexport const shapeTokens = {\n borderRadius: 8, // default MUI border radius (maps to md)\n sm: 4,\n md: 8,\n lg: 12,\n xl: 24,\n rounded: 9999, // pill shape\n};\n\n// ============================================================================\n// SPACING TOKENS\n// ============================================================================\n// Note: MUI uses a spacing function that multiplies by 8\n// We provide the raw array for compatibility\nexport const spacingArray = [0, 4, 8, 12, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96];\n\n// ============================================================================\n// LIGHT MODE TOKENS\n// ============================================================================\nexport const lightTokens = {\n colors: {\n primary: {\n main: tokens.SemanticColorLightPrimaryMain,\n dark: tokens.SemanticColorLightPrimaryDark,\n light: tokens.SemanticColorLightPrimaryLight,\n contrastText: tokens.SemanticColorLightPrimaryContrastText,\n },\n secondary: {\n main: tokens.SemanticColorLightSecondaryMain,\n dark: tokens.SemanticColorLightSecondaryDark,\n light: tokens.SemanticColorLightSecondaryLight,\n contrastText: tokens.SemanticColorLightSecondaryContrastText,\n },\n error: {\n main: tokens.SemanticColorLightErrorMain,\n dark: tokens.SemanticColorLightErrorDark,\n light: tokens.SemanticColorLightErrorLight,\n contrastText: tokens.SemanticColorLightErrorContrastText,\n },\n warning: {\n main: tokens.SemanticColorLightWarningMain,\n dark: tokens.SemanticColorLightWarningDark,\n light: tokens.SemanticColorLightWarningLight,\n contrastText: tokens.SemanticColorLightWarningContrastText,\n },\n info: {\n main: tokens.SemanticColorLightInfoMain,\n dark: tokens.SemanticColorLightInfoDark,\n light: tokens.SemanticColorLightInfoLight,\n contrastText: tokens.SemanticColorLightInfoContrastText,\n },\n success: {\n main: tokens.SemanticColorLightSuccessMain,\n dark: tokens.SemanticColorLightSuccessDark,\n light: tokens.SemanticColorLightSuccessLight,\n contrastText: tokens.SemanticColorLightSuccessContrastText,\n },\n background: {\n default: tokens.SemanticColorLightBackgroundDefault,\n paper: tokens.SemanticColorLightBackgroundPaper,\n },\n text: {\n primary: tokens.SemanticColorLightTextPrimary,\n secondary: tokens.SemanticColorLightTextSecondary,\n disabled: tokens.SemanticColorLightTextDisabled,\n },\n action: {\n active: tokens.SemanticColorLightActionActive,\n hover: tokens.SemanticColorLightActionHover,\n selected: tokens.SemanticColorLightActionSelected,\n disabled: tokens.SemanticColorLightActionDisabled,\n disabledBackground: tokens.SemanticColorLightActionDisabledBackground,\n },\n divider: tokens.SemanticColorLightDivider,\n },\n components: {\n alert: {\n borderRadius: tokens.ComponentAlertLightBorderRadius,\n error: {\n filled: {\n background: tokens.ComponentAlertLightErrorFilledBackground,\n foreground: tokens.ComponentAlertLightErrorFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightErrorOutlinedBackground,\n foreground: tokens.ComponentAlertLightErrorOutlinedForeground,\n border: tokens.ComponentAlertLightErrorOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightErrorStandardBackground,\n foreground: tokens.ComponentAlertLightErrorStandardForeground,\n },\n },\n warning: {\n filled: {\n background: tokens.ComponentAlertLightWarningFilledBackground,\n foreground: tokens.ComponentAlertLightWarningFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightWarningOutlinedBackground,\n foreground: tokens.ComponentAlertLightWarningOutlinedForeground,\n border: tokens.ComponentAlertLightWarningOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightWarningStandardBackground,\n foreground: tokens.ComponentAlertLightWarningStandardForeground,\n },\n },\n info: {\n filled: {\n background: tokens.ComponentAlertLightInfoFilledBackground,\n foreground: tokens.ComponentAlertLightInfoFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightInfoOutlinedBackground,\n foreground: tokens.ComponentAlertLightInfoOutlinedForeground,\n border: tokens.ComponentAlertLightInfoOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightInfoStandardBackground,\n foreground: tokens.ComponentAlertLightInfoStandardForeground,\n },\n },\n success: {\n filled: {\n background: tokens.ComponentAlertLightSuccessFilledBackground,\n foreground: tokens.ComponentAlertLightSuccessFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertLightSuccessOutlinedBackground,\n foreground: tokens.ComponentAlertLightSuccessOutlinedForeground,\n border: tokens.ComponentAlertLightSuccessOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertLightSuccessStandardBackground,\n foreground: tokens.ComponentAlertLightSuccessStandardForeground,\n },\n },\n },\n input: {\n borderRadius: tokens.ComponentInputLightBorderRadius,\n standard: {\n enabledBorder: tokens.ComponentInputLightStandardEnabledBorder,\n },\n filled: {\n enabledFill: tokens.ComponentInputLightFilledEnabledFill,\n },\n outlined: {\n enabledBorder: tokens.ComponentInputLightOutlinedEnabledBorder,\n },\n },\n paper: {\n elevation0: tokens.ComponentPaperLightElevation0,\n elevation1: tokens.ComponentPaperLightElevation1,\n elevation2: tokens.ComponentPaperLightElevation2,\n },\n chip: {\n defaultCloseFill: tokens.ComponentChipDefaultCloseFill,\n defaultEnabledBorder: tokens.ComponentChipDefaultEnabledBorder,\n },\n button: {\n borderRadius: tokens.ComponentButtonBorderRadius,\n },\n card: {\n borderRadius: tokens.ComponentCardLightBorderRadius,\n },\n dialog: {\n borderRadius: tokens.ComponentDialogLightBorderRadius,\n },\n table: {\n border: tokens.ComponentTableLightBorder,\n header: {\n background: tokens.ComponentTableLightHeaderBackground,\n },\n },\n rating: {\n activeFill: tokens.ComponentRatingActiveFill,\n enabledBorder: tokens.ComponentRatingEnabledBorder,\n },\n },\n};\n\n// ============================================================================\n// DARK MODE TOKENS\n// ============================================================================\nexport const darkTokens = {\n colors: {\n primary: {\n main: tokens.SemanticColorDarkPrimaryMain,\n dark: tokens.SemanticColorDarkPrimaryDark,\n light: tokens.SemanticColorDarkPrimaryLight,\n contrastText: tokens.SemanticColorDarkPrimaryContrastText,\n },\n secondary: {\n main: tokens.SemanticColorDarkSecondaryMain,\n dark: tokens.SemanticColorDarkSecondaryDark,\n light: tokens.SemanticColorDarkSecondaryLight,\n contrastText: tokens.SemanticColorDarkSecondaryContrastText,\n },\n error: {\n main: tokens.SemanticColorDarkErrorMain,\n dark: tokens.SemanticColorDarkErrorDark,\n light: tokens.SemanticColorDarkErrorLight,\n contrastText: tokens.SemanticColorDarkErrorContrastText,\n },\n warning: {\n main: tokens.SemanticColorDarkWarningMain,\n dark: tokens.SemanticColorDarkWarningDark,\n light: tokens.SemanticColorDarkWarningLight,\n contrastText: tokens.SemanticColorDarkWarningContrastText,\n },\n info: {\n main: tokens.SemanticColorDarkInfoMain,\n dark: tokens.SemanticColorDarkInfoDark,\n light: tokens.SemanticColorDarkInfoLight,\n contrastText: tokens.SemanticColorDarkInfoContrastText,\n },\n success: {\n main: tokens.SemanticColorDarkSuccessMain,\n dark: tokens.SemanticColorDarkSuccessDark,\n light: tokens.SemanticColorDarkSuccessLight,\n contrastText: tokens.SemanticColorDarkSuccessContrastText,\n },\n background: {\n default: tokens.SemanticColorDarkBackgroundDefault,\n paper: tokens.SemanticColorDarkBackgroundPaper,\n },\n text: {\n primary: tokens.SemanticColorDarkTextPrimary,\n secondary: tokens.SemanticColorDarkTextSecondary,\n disabled: tokens.SemanticColorDarkTextDisabled,\n },\n action: {\n active: tokens.SemanticColorDarkActionActive,\n hover: tokens.SemanticColorDarkActionHover,\n selected: tokens.SemanticColorDarkActionSelected,\n disabled: tokens.SemanticColorDarkActionDisabled,\n disabledBackground: tokens.SemanticColorDarkActionDisabledBackground,\n },\n divider: tokens.SemanticColorDarkDivider,\n },\n components: {\n alert: {\n borderRadius: tokens.ComponentAlertDarkBorderRadius,\n error: {\n filled: {\n background: tokens.ComponentAlertDarkErrorFilledBackground,\n foreground: tokens.ComponentAlertDarkErrorFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkErrorOutlinedBackground,\n foreground: tokens.ComponentAlertDarkErrorOutlinedForeground,\n border: tokens.ComponentAlertDarkErrorOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkErrorStandardBackground,\n foreground: tokens.ComponentAlertDarkErrorStandardForeground,\n },\n },\n warning: {\n filled: {\n background: tokens.ComponentAlertDarkWarningFilledBackground,\n foreground: tokens.ComponentAlertDarkWarningFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkWarningOutlinedBackground,\n foreground: tokens.ComponentAlertDarkWarningOutlinedForeground,\n border: tokens.ComponentAlertDarkWarningOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkWarningStandardBackground,\n foreground: tokens.ComponentAlertDarkWarningStandardForeground,\n },\n },\n info: {\n filled: {\n background: tokens.ComponentAlertDarkInfoFilledBackground,\n foreground: tokens.ComponentAlertDarkInfoFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkInfoOutlinedBackground,\n foreground: tokens.ComponentAlertDarkInfoOutlinedForeground,\n border: tokens.ComponentAlertDarkInfoOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkInfoStandardBackground,\n foreground: tokens.ComponentAlertDarkInfoStandardForeground,\n },\n },\n success: {\n filled: {\n background: tokens.ComponentAlertDarkSuccessFilledBackground,\n foreground: tokens.ComponentAlertDarkSuccessFilledForeground,\n },\n outlined: {\n background: tokens.ComponentAlertDarkSuccessOutlinedBackground,\n foreground: tokens.ComponentAlertDarkSuccessOutlinedForeground,\n border: tokens.ComponentAlertDarkSuccessOutlinedBorder,\n },\n standard: {\n background: tokens.ComponentAlertDarkSuccessStandardBackground,\n foreground: tokens.ComponentAlertDarkSuccessStandardForeground,\n },\n },\n },\n input: {\n borderRadius: tokens.ComponentInputDarkBorderRadius,\n standard: {\n enabledBorder: tokens.ComponentInputDarkStandardEnabledBorder,\n },\n filled: {\n enabledFill: tokens.ComponentInputDarkFilledEnabledFill,\n },\n outlined: {\n enabledBorder: tokens.ComponentInputDarkOutlinedEnabledBorder,\n },\n },\n paper: {\n elevation0: tokens.ComponentPaperDarkElevation0,\n elevation1: tokens.ComponentPaperDarkElevation1,\n elevation2: tokens.ComponentPaperDarkElevation2,\n elevation4: tokens.ComponentPaperDarkElevation4,\n elevation6: tokens.ComponentPaperDarkElevation6,\n elevation8: tokens.ComponentPaperDarkElevation8,\n elevation12: tokens.ComponentPaperDarkElevation12,\n elevation16: tokens.ComponentPaperDarkElevation16,\n elevation24: tokens.ComponentPaperDarkElevation24,\n },\n chip: {\n defaultCloseFill: tokens.PrimitivesColorsNeutralWhite,\n defaultEnabledBorder: tokens.PrimitivesColorsNeutralGray600,\n },\n button: {\n borderRadius: tokens.ComponentButtonBorderRadius,\n },\n card: {\n borderRadius: tokens.ComponentCardDarkBorderRadius,\n },\n dialog: {\n borderRadius: tokens.ComponentDialogDarkBorderRadius,\n },\n table: {\n border: tokens.ComponentTableDarkBorder,\n header: {\n background: tokens.ComponentTableDarkHeaderBackground,\n },\n },\n rating: {\n activeFill: tokens.ComponentRatingActiveFill,\n enabledBorder: tokens.PrimitivesColorsAlphaWhite30,\n },\n },\n};\n","/**\n * MRS Design System Theme Configuration\n * Material-UI v6.5.0 theme with centralized component overrides\n *\n * This theme uses:\n * 1. Design tokens generated by Style Dictionary (single source of truth)\n * 2. Component overrides for consistent styling across all components\n *\n * @version 0.12.0 - Migrated to 100% generated tokens (no theme.json dependency)\n * @see https://mui.com/material-ui/customization/theme-components/\n */\n\n/// <reference path=\"../types/theme.d.ts\" />\n\nimport type { Theme, ThemeOptions } from '@mui/material/styles';\nimport { createTheme } from '@mui/material/styles';\n\nimport { lightTokens, darkTokens, typographyTokens, shapeTokens } from './tokens-import';\n\n/**\n * Spacing function for MUI\n * Multiplies the base unit (8px) by the given factor\n */\nconst spacing = (factor: number): number => {\n const baseUnit = 8;\n return baseUnit * factor;\n};\n\n/**\n * Shared component overrides\n * These apply consistent styling across all components using theme tokens\n *\n * Benefits:\n * - Single place to manage component styles\n * - No need for sx prop overrides in individual components\n * - Consistent with MUI best practices\n * - 100% generated tokens (v0.12.0+)\n */\nconst getComponentOverrides = (mode: 'light' | 'dark'): ThemeOptions['components'] => {\n const modeTokens = mode === 'light' ? lightTokens : darkTokens;\n const shape = shapeTokens;\n const typography = typographyTokens;\n\n return {\n // =========================================================================\n // GLOBAL BASELINE\n // =========================================================================\n MuiCssBaseline: {\n styleOverrides: {\n body: {\n fontFamily: typography.fontFamily,\n },\n // Apply Nunito font globally\n '*': {\n fontFamily: 'inherit',\n },\n },\n },\n\n // =========================================================================\n // BUTTONS\n // =========================================================================\n MuiButton: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: shape.md,\n textTransform: 'none' as const,\n fontWeight: typography.fontWeightSemiBold,\n fontFamily: typography.fontFamily,\n },\n sizeSmall: {\n fontSize: '0.8125rem',\n padding: '4px 10px',\n },\n sizeMedium: {\n fontSize: '0.875rem',\n padding: '6px 16px',\n },\n sizeLarge: {\n fontSize: '1rem',\n padding: '8px 22px',\n },\n },\n },\n\n MuiIconButton: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiToggleButton: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n textTransform: 'none' as const,\n },\n },\n },\n\n MuiButtonGroup: {\n defaultProps: {\n disableElevation: true,\n },\n styleOverrides: {\n root: {\n borderRadius: shape.md,\n },\n },\n },\n\n MuiFab: {\n styleOverrides: {\n root: {\n borderRadius: shape.rounded,\n textTransform: 'none' as const,\n },\n },\n },\n\n // =========================================================================\n // INPUTS\n // =========================================================================\n MuiTextField: {\n defaultProps: {\n variant: 'outlined',\n },\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiOutlinedInput: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: shape.sm,\n },\n notchedOutline: {\n borderColor: modeTokens.components.input.outlined.enabledBorder,\n },\n },\n },\n\n MuiFilledInput: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n backgroundColor: modeTokens.components.input.filled.enabledFill,\n borderRadius: `${shape.sm}px ${shape.sm}px 0 0`,\n },\n },\n },\n\n MuiInput: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n underline: {\n '&:before': {\n borderBottomColor: modeTokens.components.input.standard.enabledBorder,\n },\n },\n },\n },\n\n MuiInputLabel: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiSelect: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiAutocomplete: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // SELECTION CONTROLS\n // =========================================================================\n MuiCheckbox: {\n styleOverrides: {\n root: {\n '&.Mui-checked': {\n color: modeTokens.colors.primary.main,\n },\n },\n },\n },\n\n MuiRadio: {\n styleOverrides: {\n root: {\n '&.Mui-checked': {\n color: modeTokens.colors.primary.main,\n },\n },\n },\n },\n\n MuiSwitch: {\n styleOverrides: {\n root: {\n '& .MuiSwitch-switchBase.Mui-checked': {\n color: modeTokens.colors.primary.main,\n },\n '& .MuiSwitch-switchBase.Mui-checked + .MuiSwitch-track': {\n backgroundColor: modeTokens.colors.primary.main,\n },\n },\n },\n },\n\n // =========================================================================\n // CHIPS\n // =========================================================================\n MuiChip: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: shape.rounded,\n },\n outlined: {\n borderColor: modeTokens.components.chip.defaultEnabledBorder,\n },\n deleteIcon: {\n color: modeTokens.components.chip.defaultCloseFill,\n },\n },\n },\n\n // =========================================================================\n // ALERTS & FEEDBACK\n // =========================================================================\n MuiAlert: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: `${shape.md}px`,\n },\n // Filled variants\n filledError: {\n backgroundColor: modeTokens.components.alert.error.filled.background,\n color: modeTokens.components.alert.error.filled.foreground,\n },\n filledWarning: {\n backgroundColor: modeTokens.components.alert.warning.filled.background,\n color: modeTokens.components.alert.warning.filled.foreground,\n },\n filledInfo: {\n backgroundColor: modeTokens.components.alert.info.filled.background,\n color: modeTokens.components.alert.info.filled.foreground,\n },\n filledSuccess: {\n backgroundColor: modeTokens.components.alert.success.filled.background,\n color: modeTokens.components.alert.success.filled.foreground,\n },\n // Outlined variants\n outlinedError: {\n backgroundColor: modeTokens.components.alert.error.outlined.background,\n color: modeTokens.components.alert.error.outlined.foreground,\n borderColor: modeTokens.components.alert.error.outlined.border,\n },\n outlinedWarning: {\n backgroundColor: modeTokens.components.alert.warning.outlined.background,\n color: modeTokens.components.alert.warning.outlined.foreground,\n borderColor: modeTokens.components.alert.warning.outlined.border,\n },\n outlinedInfo: {\n backgroundColor: modeTokens.components.alert.info.outlined.background,\n color: modeTokens.components.alert.info.outlined.foreground,\n borderColor: modeTokens.components.alert.info.outlined.border,\n },\n outlinedSuccess: {\n backgroundColor: modeTokens.components.alert.success.outlined.background,\n color: modeTokens.components.alert.success.outlined.foreground,\n borderColor: modeTokens.components.alert.success.outlined.border,\n },\n // Standard variants\n standardError: {\n backgroundColor: modeTokens.components.alert.error.standard.background,\n color: modeTokens.components.alert.error.standard.foreground,\n },\n standardWarning: {\n backgroundColor: modeTokens.components.alert.warning.standard.background,\n color: modeTokens.components.alert.warning.standard.foreground,\n },\n standardInfo: {\n backgroundColor: modeTokens.components.alert.info.standard.background,\n color: modeTokens.components.alert.info.standard.foreground,\n },\n standardSuccess: {\n backgroundColor: modeTokens.components.alert.success.standard.background,\n color: modeTokens.components.alert.success.standard.foreground,\n },\n },\n },\n\n MuiSnackbar: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // SURFACES\n // =========================================================================\n MuiPaper: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n rounded: {\n borderRadius: shape.md,\n },\n elevation0: {\n backgroundColor: modeTokens.components.paper.elevation0,\n },\n elevation1: {\n backgroundColor: modeTokens.components.paper.elevation1,\n },\n elevation2: {\n backgroundColor: modeTokens.components.paper.elevation2,\n },\n },\n },\n\n MuiCard: {\n styleOverrides: {\n root: {\n borderRadius: shape.lg,\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiDialog: {\n styleOverrides: {\n paper: {\n borderRadius: shape.lg,\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiDrawer: {\n styleOverrides: {\n paper: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiAppBar: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // TABLES\n // =========================================================================\n MuiTable: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiTableCell: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderBottomColor: modeTokens.components.table.border,\n },\n head: {\n fontWeight: typography.fontWeightMedium,\n },\n },\n },\n\n // =========================================================================\n // LISTS & MENUS\n // =========================================================================\n MuiList: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiListItem: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiListItemButton: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n borderRadius: shape.sm,\n '&.Mui-selected': {\n backgroundColor: modeTokens.colors.action.selected,\n },\n '&.Mui-selected:hover': {\n backgroundColor: modeTokens.colors.action.hover,\n },\n },\n },\n },\n\n MuiListItemText: {\n styleOverrides: {\n primary: {\n fontFamily: typography.fontFamily,\n },\n secondary: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiMenu: {\n styleOverrides: {\n paper: {\n borderRadius: shape.md,\n },\n },\n },\n\n MuiMenuItem: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // NAVIGATION\n // =========================================================================\n MuiTabs: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiTab: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n textTransform: 'none' as const,\n },\n },\n },\n\n MuiBreadcrumbs: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiPagination: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiStepper: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // TYPOGRAPHY\n // =========================================================================\n MuiTypography: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiLink: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // DATA DISPLAY\n // =========================================================================\n MuiAvatar: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiBadge: {\n styleOverrides: {\n badge: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiTooltip: {\n styleOverrides: {\n tooltip: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiDivider: {\n styleOverrides: {\n root: {\n borderColor: modeTokens.colors.divider,\n },\n },\n },\n\n // =========================================================================\n // FORMS\n // =========================================================================\n MuiFormControlLabel: {\n styleOverrides: {\n label: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiFormHelperText: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n MuiFormLabel: {\n styleOverrides: {\n root: {\n fontFamily: typography.fontFamily,\n },\n },\n },\n\n // =========================================================================\n // PROGRESS\n // =========================================================================\n MuiLinearProgress: {\n styleOverrides: {\n root: {\n borderRadius: shape.sm,\n },\n },\n },\n };\n};\n\n/**\n * Light theme configuration\n * Uses 100% generated tokens from Style Dictionary\n */\nexport const lightTheme: Theme = createTheme({\n palette: {\n mode: 'light',\n primary: lightTokens.colors.primary,\n secondary: lightTokens.colors.secondary,\n error: lightTokens.colors.error,\n warning: lightTokens.colors.warning,\n info: lightTokens.colors.info,\n success: lightTokens.colors.success,\n background: lightTokens.colors.background,\n text: lightTokens.colors.text,\n action: lightTokens.colors.action,\n divider: lightTokens.colors.divider,\n _components: lightTokens.components,\n },\n typography: {\n ...typographyTokens,\n },\n shape: {\n ...shapeTokens,\n },\n spacing,\n components: getComponentOverrides('light'),\n});\n\n/**\n * Dark theme configuration\n * Uses 100% generated tokens from Style Dictionary\n */\nexport const darkTheme: Theme = createTheme({\n palette: {\n mode: 'dark',\n primary: darkTokens.colors.primary,\n secondary: darkTokens.colors.secondary,\n error: darkTokens.colors.error,\n warning: darkTokens.colors.warning,\n info: darkTokens.colors.info,\n success: darkTokens.colors.success,\n background: darkTokens.colors.background,\n text: darkTokens.colors.text,\n action: darkTokens.colors.action,\n divider: darkTokens.colors.divider,\n _components: darkTokens.components,\n },\n typography: {\n ...typographyTokens,\n },\n shape: {\n ...shapeTokens,\n },\n spacing,\n components: getComponentOverrides('dark'),\n});\n\n/**\n * Default theme export (light mode)\n */\nexport const theme = lightTheme;\n\n/**\n * Export both themes for theme switching\n */\nexport default {\n light: lightTheme,\n dark: darkTheme,\n};\n","/**\n * Design tokens exports\n * Re-exports from generated tokens (Style Dictionary)\n *\n * @version 0.12.0 - Migrated to 100% generated tokens\n * @deprecated Direct theme.json dependency removed - use generated tokens\n */\n\nimport {\n lightTokens,\n darkTokens,\n typographyTokens,\n shapeTokens,\n spacingArray,\n} from './tokens-import';\n\n/**\n * Color tokens (organized by light/dark mode)\n */\nexport const colors = {\n light: lightTokens.colors,\n dark: darkTokens.colors,\n};\n\n/**\n * Typography tokens\n * Includes font family, sizes, weights, and variant definitions\n */\nexport const typography = typographyTokens;\n\n/**\n * Shape tokens (border radius values)\n */\nexport const shape = shapeTokens;\n\n/**\n * Spacing scale (8px base grid system)\n * Array format: [0, 4, 8, 12, 16, 24, 32, 40, 48, 56, 64, 72, 80, 88, 96]\n */\nexport const spacing = spacingArray;\n\n/**\n * Component-specific tokens\n */\nexport const components = {\n light: lightTokens.components,\n dark: darkTokens.components,\n};\n\n/**\n * Full tokens object (for backwards compatibility)\n * @deprecated Use named exports (colors, typography, shape, etc.) instead\n */\nexport const tokens = {\n colorSchemes: {\n light: {\n palette: lightTokens.colors,\n _components: lightTokens.components,\n },\n dark: {\n palette: darkTokens.colors,\n _components: darkTokens.components,\n },\n },\n typography: typographyTokens,\n shape: shapeTokens,\n spacing: spacingArray,\n};\n\n/**\n * Type definitions for tokens\n */\nexport type ColorScheme = typeof lightTokens.colors;\nexport type ComponentTokens = typeof lightTokens.components;\nexport type TypographyScale = typeof typographyTokens;\nexport type ShapeTokens = typeof shapeTokens;\nexport type SpacingScale = typeof spacingArray;\n","/**\n * Box component\n * Wraps Material-UI Box with design system theme\n */\n\nimport React from 'react';\nimport MuiBox from '@mui/material/Box';\nimport type { BoxProps } from './Box.types';\n\n/**\n * Box component - the most fundamental layout component\n * A utility component that serves as a wrapper with access to theme and sx prop\n *\n * @example\n * ```tsx\n * <Box sx={{ padding: 2, backgroundColor: 'primary.main' }}>\n * Content\n * </Box>\n * ```\n */\nexport const Box = React.forwardRef<HTMLDivElement, BoxProps>(({ children, ...props }, ref) => {\n return (\n <MuiBox ref={ref} {...props}>\n {children}\n </MuiBox>\n );\n});\n\nBox.displayName = 'Box';\n\nexport default Box;\n","/**\n * Stack component\n * Wraps Material-UI Stack with design system theme\n */\n\nimport React from 'react';\nimport MuiStack from '@mui/material/Stack';\nimport type { StackProps } from './Stack.types';\n\n/**\n * Stack component - manages layout of immediate children along vertical or horizontal axis\n * Provides spacing between children with optional dividers\n *\n * @example\n * ```tsx\n * <Stack spacing={2} direction=\"row\">\n * <Item>Item 1</Item>\n * <Item>Item 2</Item>\n * </Stack>\n * ```\n */\nexport const Stack = React.forwardRef<HTMLDivElement, StackProps>(\n ({ children, direction = 'column', spacing = 0, ...props }, ref) => {\n return (\n <MuiStack ref={ref} direction={direction} spacing={spacing} {...props}>\n {children}\n </MuiStack>\n );\n }\n);\n\nStack.displayName = 'Stack';\n\nexport default Stack;\n","/**\n * Avatar Component\n *\n * Avatar component for the MRS Design System.\n * Wraps Material-UI Avatar with custom theme tokens and sizing.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6587:47403\n * @see {@link https://mui.com/material-ui/react-avatar/}\n */\n\nimport React from 'react';\nimport MuiAvatar from '@mui/material/Avatar';\nimport { useTheme } from '@mui/material/styles';\nimport type { AvatarProps } from './Avatar.types';\nimport * as tokens from '../../../tokens/generated/ts/tokens';\n\n/**\n * Avatar component\n *\n * Avatars are found throughout material design with uses in everything from tables to dialog menus.\n *\n * @param props - Avatar component props\n * @returns Avatar component\n */\nexport const Avatar = React.forwardRef<HTMLDivElement, AvatarProps>(\n ({ children, size = 40, variant = 'circular', sx, ...props }, ref) => {\n const theme = useTheme();\n\n // Map size to predefined token sizes\n const getSizeToken = (): string => {\n if (size === 24) return tokens.ComponentAvatarSmall;\n if (size === 40) return tokens.ComponentAvatarMedium;\n // Default for sizes not in predefined tokens\n return `${size}px`;\n };\n\n // Calculate font size based on avatar size\n const getFontSize = (): string => {\n if (size === 18) return tokens.PrimitivesTypographyFontSizeXs;\n if (size === 24 || size === 32) return tokens.PrimitivesTypographyFontSizeSm;\n return tokens.PrimitivesTypographyFontSizeLg;\n };\n\n const avatarSize = getSizeToken();\n\n return (\n <MuiAvatar\n ref={ref}\n variant={variant}\n {...props}\n sx={{\n width: avatarSize,\n height: avatarSize,\n fontSize: getFontSize(),\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightRegular,\n borderRadius:\n variant === 'circular' ? tokens.ComponentAvatarBorderRadius : tokens.PrimitivesRadiusSm,\n ...sx,\n }}\n >\n {children}\n </MuiAvatar>\n );\n }\n);\n\nAvatar.displayName = 'Avatar';\n","/**\n * Badge Component\n *\n * Badge component for the MRS Design System.\n * Wraps Material-UI Badge with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6587:47500\n * @see {@link https://mui.com/material-ui/react-badge/}\n */\n\nimport React from 'react';\nimport MuiBadge from '@mui/material/Badge';\nimport { useTheme } from '@mui/material/styles';\nimport type { BadgeProps } from './Badge.types';\n\n/**\n * Badge component\n *\n * Generates a small badge to the top-right of its child(ren).\n * Typically used to display notification counts or status indicators.\n *\n * @param props - Badge component props\n * @returns Badge component\n */\nexport const Badge = React.forwardRef<HTMLSpanElement, BadgeProps>(\n ({ children, color = 'default', variant = 'standard', sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiBadge\n ref={ref}\n color={color}\n variant={variant}\n {...props}\n sx={{\n // Badge styling\n '& .MuiBadge-badge': {\n fontFamily: theme.typography.fontFamily,\n fontWeight: theme.typography.fontWeightMedium,\n },\n ...sx,\n }}\n >\n {children}\n </MuiBadge>\n );\n }\n);\n\nBadge.displayName = 'Badge';\n","/**\n * Typography Component\n *\n * Text display component for the MRS Design System.\n * Wraps Material-UI Typography with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=11609:174872\n * @see {@link https://mui.com/material-ui/react-typography/}\n */\n\nimport React from 'react';\nimport MuiTypography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport type { TypographyProps } from './Typography.types';\n\n/**\n * Typography component\n *\n * Displays text content with predefined typography styles from the theme.\n * Supports all standard MUI typography variants (h1-h6, body1-body2, subtitle1-subtitle2, caption, overline).\n *\n * @param props - Typography component props\n * @returns Typography component\n */\nexport const Typography = React.forwardRef<HTMLElement, TypographyProps>(\n ({ children, variant = 'body1', gutterBottom = false, sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiTypography\n ref={ref}\n variant={variant}\n gutterBottom={gutterBottom}\n {...props}\n sx={{\n // Use theme typography tokens\n fontFamily: theme.typography.fontFamily,\n // Allow custom sx to override defaults\n ...sx,\n }}\n >\n {children}\n </MuiTypography>\n );\n }\n);\n\nTypography.displayName = 'Typography';\n","/**\n * AccountStack Component\n * Displays user account information with avatar, badge, and user details\n * Designed for use in AppBar/Toolbar components\n */\n\nimport React from 'react';\nimport { Box } from '../Box';\nimport { Stack } from '../Stack';\nimport { Avatar } from '../Avatar';\nimport { Badge } from '../Badge';\nimport { Typography } from '../Typography';\nimport type { AccountStackProps } from './AccountStack.types';\n\nexport const AccountStack = React.forwardRef<HTMLDivElement, AccountStackProps>(\n (\n {\n user = true,\n userAccountInfo = true,\n notifications = true,\n userName = 'John Doe',\n userEmail = 'john.doe@example.com',\n avatarSrc,\n avatarAlt = 'User avatar',\n notificationCount,\n avatarPosition = 'left',\n sx,\n ...props\n },\n ref\n ) => {\n const avatarElement = user && (\n <Badge\n overlap=\"circular\"\n anchorOrigin={{ vertical: 'bottom', horizontal: 'right' }}\n variant={notifications && !notificationCount ? 'dot' : 'standard'}\n invisible={!notifications}\n color=\"error\"\n badgeContent={notificationCount}\n >\n <Avatar src={avatarSrc} alt={avatarAlt} sx={{ width: 40, height: 40 }} />\n </Badge>\n );\n\n const userInfoElement = userAccountInfo && (\n <Stack direction=\"column\" spacing={0} sx={{ alignItems: 'flex-start' }}>\n <Typography variant=\"subtitle2\" sx={{ lineHeight: 1.2, fontWeight: 600 }}>\n {userName}\n </Typography>\n <Typography\n variant=\"subtitle2\"\n sx={{\n lineHeight: 1.2,\n fontWeight: 400,\n color: 'text.secondary',\n fontSize: '0.75rem',\n }}\n >\n {userEmail}\n </Typography>\n </Stack>\n );\n\n return (\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n height: 40, // spacing(5)\n gap: 2, // spacing(2) = 16px\n ...sx,\n }}\n {...props}\n >\n {avatarPosition === 'left' ? (\n <>\n {avatarElement}\n {userInfoElement}\n </>\n ) : (\n <>\n {userInfoElement}\n {avatarElement}\n </>\n )}\n </Box>\n );\n }\n);\n\nAccountStack.displayName = 'AccountStack';\n\nexport type { AccountStackProps };\nexport default AccountStack;\n","/**\n * Theme Helper Types\n * \n * Helper types and functions for working with the extended MUI theme.\n * Provides type-safe access to custom theme properties.\n */\n\nimport type { Theme } from '@mui/material/styles';\n\n/**\n * Extended Shape interface with custom border radius values\n */\nexport interface ExtendedShape {\n borderRadius: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n rounded: number;\n}\n\n/**\n * Get typed shape object from theme\n * \n * @param theme - MUI theme object\n * @returns Shape object with custom border radius values\n * \n * @example\n * ```tsx\n * const theme = useTheme();\n * const shape = getThemeShape(theme);\n * console.log(shape.rounded); // 9999\n * ```\n */\nexport const getThemeShape = (theme: Theme): ExtendedShape => {\n return theme.shape as unknown as ExtendedShape;\n};\n\n/**\n * Extended Palette Color interface with state tokens\n */\nexport interface ExtendedPaletteColor {\n main: string;\n dark: string;\n light: string;\n contrastText: string;\n _states?: {\n hover?: string;\n selected?: string;\n focus?: string;\n focusVisible?: string;\n };\n}\n\n/**\n * Get typed palette color with states\n * \n * @param color - Palette color object\n * @returns Color object with state tokens\n * \n * @example\n * ```tsx\n * const theme = useTheme();\n * const primaryColor = getExtendedColor(theme.palette.primary);\n * console.log(primaryColor._states?.hover); // hover color\n * ```\n */\nexport const getExtendedColor = (color: any): ExtendedPaletteColor => {\n return color as ExtendedPaletteColor;\n};\n","/**\n * Button Component\n *\n * Primary action component for the MRS Design System.\n * Wraps Material-UI Button with custom theme tokens.\n *\n * @figma https://figma.com/design/ESNP5KunFotGObfcuXZ9Op/MRS---Material-UI-v.7.2.0\n * @see {@link https://mui.com/material-ui/react-button/}\n */\n\nimport React from 'react';\nimport MuiButton from '@mui/material/Button';\nimport { useTheme } from '@mui/material/styles';\nimport type { ButtonProps } from './Button.types';\nimport { getThemeShape } from '../../../types/theme-helpers';\n\n/**\n * Button component\n *\n * @param props - Button component props\n * @returns Button component\n */\nexport const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ children, sx, ...props }, ref) => {\n const theme = useTheme();\n const shape = getThemeShape(theme);\n\n return (\n <MuiButton\n ref={ref}\n {...props}\n sx={{\n // Use theme tokens for consistent styling\n textTransform: 'none', // Override MUI default uppercase\n borderRadius: shape.rounded, // Use rounded shape token (9999 for pill shape)\n fontWeight: theme.typography.fontWeightSemiBold,\n // Allow custom sx to override defaults\n ...sx,\n }}\n >\n {children}\n </MuiButton>\n );\n }\n);\n\nButton.displayName = 'Button';\n","/**\n * Checkbox Component\n *\n * Checkbox component for the MRS Design System.\n * Wraps Material-UI Checkbox with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6543-43052&m=dev\n * @see {@link https://mui.com/material-ui/react-checkbox/}\n */\n\nimport React from 'react';\nimport MuiCheckbox from '@mui/material/Checkbox';\nimport type { CheckboxProps } from './Checkbox.types';\n\n/**\n * Checkbox component\n *\n * Checkboxes allow the user to select one or more items from a set.\n *\n * @param props - Checkbox component props\n * @returns Checkbox component\n */\nexport const Checkbox = React.forwardRef<HTMLButtonElement, CheckboxProps>(\n (\n {\n checked,\n indeterminate = false,\n size = 'medium',\n color = 'primary',\n disabled = false,\n disableRipple = false,\n id,\n inputProps,\n inputRef,\n onChange,\n required = false,\n value,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiCheckbox\n ref={ref}\n checked={checked}\n indeterminate={indeterminate}\n size={size}\n color={color}\n disabled={disabled}\n disableRipple={disableRipple}\n id={id}\n inputProps={inputProps}\n inputRef={inputRef}\n onChange={onChange}\n required={required}\n value={value}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nCheckbox.displayName = 'Checkbox';\n","/**\n * Chip Component\n *\n * Chip component for the MRS Design System.\n * Wraps Material-UI Chip with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6588:47683\n * @see {@link https://mui.com/material-ui/react-chip/}\n */\n\nimport React from 'react';\nimport MuiChip from '@mui/material/Chip';\nimport type { ChipProps } from './Chip.types';\n\n/**\n * Chip component\n *\n * Chips are compact elements that represent an input, attribute, or action.\n *\n * @param props - Chip component props\n * @returns Chip component\n */\nexport const Chip = React.forwardRef<HTMLDivElement, ChipProps>(\n (\n {\n label,\n size = 'medium',\n color = 'default',\n variant = 'filled',\n disabled = false,\n clickable = false,\n avatar,\n icon,\n onDelete,\n deleteIcon,\n onClick,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiChip\n ref={ref}\n label={label}\n size={size}\n color={color}\n variant={variant}\n disabled={disabled}\n clickable={clickable || !!onClick}\n avatar={avatar}\n icon={icon}\n onDelete={onDelete}\n deleteIcon={deleteIcon}\n onClick={onClick}\n sx={sx}\n {...props}\n />\n );\n }\n);\n\nChip.displayName = 'Chip';\n","/**\n * CircularProgress Component\n *\n * CircularProgress component for the MRS Design System.\n * Wraps Material-UI CircularProgress with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6586:47016\n * @see {@link https://mui.com/material-ui/react-progress/#circular}\n */\n\nimport React from 'react';\nimport MuiCircularProgress from '@mui/material/CircularProgress';\nimport { Box, Typography } from '@mui/material';\nimport type { CircularProgressProps } from './CircularProgress.types';\n\n/**\n * CircularProgress component\n *\n * Progress indicators commonly known as spinners, express an unspecified wait time\n * or display the length of a process.\n *\n * @param props - CircularProgress component props\n * @returns CircularProgress component\n */\nexport const CircularProgress = React.forwardRef<HTMLSpanElement, CircularProgressProps>(\n (\n {\n size = 32,\n color = 'primary',\n showLabel = false,\n value = 0,\n variant = 'indeterminate',\n ...props\n },\n ref\n ) => {\n if (showLabel && variant === 'determinate') {\n return (\n <Box\n ref={ref}\n sx={{\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <MuiCircularProgress\n variant={variant}\n color={color}\n size={size}\n value={value}\n {...props}\n />\n <Box\n sx={{\n position: 'absolute',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }}\n >\n <Typography\n variant=\"caption\"\n component=\"div\"\n sx={{\n fontSize: size === 16 ? '0.625rem' : '0.75rem',\n lineHeight: 1,\n }}\n >\n {`${Math.round(value)}%`}\n </Typography>\n </Box>\n </Box>\n );\n }\n\n return (\n <MuiCircularProgress\n ref={ref}\n variant={variant}\n color={color}\n size={size}\n value={value}\n {...props}\n />\n );\n }\n);\n\nCircularProgress.displayName = 'CircularProgress';\n","/**\n * Container component\n * Wraps Material-UI Container with design system theme\n */\n\nimport React from 'react';\nimport MuiContainer from '@mui/material/Container';\nimport type { ContainerProps } from './Container.types';\n\n/**\n * Container component - centers content horizontally with max-width constraints\n * The most basic layout element that provides responsive horizontal padding\n *\n * @example\n * ```tsx\n * <Container maxWidth=\"lg\">\n * <Typography>Content</Typography>\n * </Container>\n * ```\n */\nexport const Container = React.forwardRef<HTMLDivElement, ContainerProps>(\n ({ children, maxWidth = 'lg', ...props }, ref) => {\n return (\n <MuiContainer ref={ref} maxWidth={maxWidth} {...props}>\n {children}\n </MuiContainer>\n );\n }\n);\n\nContainer.displayName = 'Container';\n\nexport default Container;\n","/**\n * Divider Component\n *\n * Separator component for the MRS Design System.\n * Wraps Material-UI Divider with custom theme tokens.\n *\n * @figma Horizontal: https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6645:53005\n * @figma Vertical: https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6645:53007\n * @see {@link https://mui.com/material-ui/react-divider/}\n */\n\nimport React from 'react';\nimport MuiDivider from '@mui/material/Divider';\nimport { useTheme } from '@mui/material/styles';\nimport type { DividerProps } from './Divider.types';\n\n/**\n * Divider component\n *\n * A thin line that groups content in lists and layouts.\n * Supports both horizontal and vertical orientations.\n *\n * @param props - Divider component props\n * @returns Divider component\n */\nexport const Divider = React.forwardRef<HTMLHRElement, DividerProps>(\n ({ orientation = 'horizontal', sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiDivider\n ref={ref}\n orientation={orientation}\n {...props}\n sx={{\n // Use theme divider color token\n borderColor: theme.palette.divider,\n ...sx,\n }}\n />\n );\n }\n);\n\nDivider.displayName = 'Divider';\n","/**\n * FormControlLabel component\n * Wraps Material-UI FormControlLabel with design system theme\n */\n\nimport React from 'react';\nimport MuiFormControlLabel from '@mui/material/FormControlLabel';\nimport type { Theme } from '@mui/material/styles';\nimport type { FormControlLabelProps } from './FormControlLabel.types';\n\n/**\n * FormControlLabel component - label wrapper for form controls\n * Drop-in replacement for checkboxes, radio buttons, and switches\n *\n * @example\n * ```tsx\n * <FormControlLabel\n * control={<Checkbox />}\n * label=\"Remember me\"\n * />\n * ```\n */\nexport const FormControlLabel = React.forwardRef<HTMLLabelElement, FormControlLabelProps>(\n ({ control, label, sx, ...props }, ref) => {\n return (\n <MuiFormControlLabel\n ref={ref}\n control={control}\n label={label}\n sx={{\n '& .MuiFormControlLabel-label': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontSize: (theme: Theme) => theme.typography.body1.fontSize,\n lineHeight: (theme: Theme) => theme.typography.body1.lineHeight,\n },\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nFormControlLabel.displayName = 'FormControlLabel';\n\nexport default FormControlLabel;\n","/**\n * FormGroup component\n * Wraps Material-UI FormGroup with design system theme\n */\n\nimport React from 'react';\nimport MuiFormGroup from '@mui/material/FormGroup';\nimport type { FormGroupProps } from './FormGroup.types';\n\n/**\n * FormGroup component - groups form controls\n * Provides a helpful wrapper used to group selection control components\n *\n * @example\n * ```tsx\n * <FormGroup>\n * <FormControlLabel control={<Checkbox />} label=\"Option 1\" />\n * <FormControlLabel control={<Checkbox />} label=\"Option 2\" />\n * </FormGroup>\n * ```\n */\nexport const FormGroup = React.forwardRef<HTMLDivElement, FormGroupProps>(\n ({ children, ...props }, ref) => {\n return (\n <MuiFormGroup ref={ref} {...props}>\n {children}\n </MuiFormGroup>\n );\n }\n);\n\nFormGroup.displayName = 'FormGroup';\n\nexport default FormGroup;\n","/**\n * Grid component\n * Wraps Material-UI Grid2 with design system theme\n */\n\nimport React from 'react';\nimport MuiGrid from '@mui/material/Grid2';\nimport type { GridProps } from './Grid.types';\n\n/**\n * Grid component - responsive grid layout using CSS Grid\n * Uses the new Grid2 component from MUI for improved performance and flexibility\n *\n * @example\n * ```tsx\n * <Grid container spacing={2}>\n * <Grid size={{ xs: 12, md: 6 }}>\n * <Item>1</Item>\n * </Grid>\n * <Grid size={{ xs: 12, md: 6 }}>\n * <Item>2</Item>\n * </Grid>\n * </Grid>\n * ```\n */\nexport const Grid = React.forwardRef<HTMLDivElement, GridProps>(({ children, ...props }, ref) => {\n return (\n <MuiGrid ref={ref} {...props}>\n {children}\n </MuiGrid>\n );\n});\n\nGrid.displayName = 'Grid';\n\nexport default Grid;\n","/**\n * Icon Component\n *\n * Icon display component for the MRS Design System.\n * Supports both SVG icons from @mui/icons-material and Font icons.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6594:47648\n * @see {@link https://mui.com/material-ui/icons/}\n */\n\nimport React from 'react';\nimport MuiIcon from '@mui/material/Icon';\nimport type { IconProps, IconSvgProps, IconFontProps } from './Icon.types';\n\n/**\n * Type guard to check if props are for SVG icon\n */\nfunction isSvgIcon(props: IconProps): props is IconSvgProps {\n return !props.type || props.type === 'svg';\n}\n\n/**\n * Type guard to check if props are for Font icon\n */\nfunction isFontIcon(props: IconProps): props is IconFontProps {\n return props.type === 'font';\n}\n\n/**\n * Icon component\n *\n * Displays icons with predefined sizes from the theme.\n * Supports both SVG icons from @mui/icons-material and Font icons from Material Icons.\n *\n * @param props - Icon component props\n * @returns Icon component\n */\nexport const Icon = React.forwardRef<HTMLElement, IconProps>((props, ref) => {\n const { size = 'medium' } = props;\n\n // Map size to MUI fontSize\n const fontSize = size === 'inherit' ? 'inherit' : size;\n\n // Render SVG Icon\n if (isSvgIcon(props)) {\n const { icon: IconComponent, sx, ...svgProps } = props;\n\n return (\n <IconComponent\n ref={ref as React.Ref<SVGSVGElement>}\n fontSize={fontSize}\n {...svgProps}\n sx={{\n // Use theme color tokens\n color: 'inherit',\n ...sx,\n }}\n />\n );\n }\n\n // Render Font Icon\n if (isFontIcon(props)) {\n const { iconName, sx, ...fontProps } = props;\n\n return (\n <MuiIcon\n ref={ref}\n fontSize={fontSize}\n {...fontProps}\n sx={{\n // Use theme color tokens\n color: 'inherit',\n ...sx,\n }}\n >\n {iconName}\n </MuiIcon>\n );\n }\n\n return null;\n});\n\nIcon.displayName = 'Icon';\n","/**\n * IconButton Component\n *\n * Icon button component for the MRS Design System.\n * Wraps Material-UI IconButton with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6557:38545\n * @see {@link https://mui.com/material-ui/react-button/#icon-button}\n */\n\nimport React from 'react';\nimport MuiIconButton from '@mui/material/IconButton';\nimport { useTheme } from '@mui/material/styles';\nimport type { IconButtonProps } from './IconButton.types';\n\n/**\n * IconButton component\n *\n * Icon buttons are commonly found in app bars and toolbars.\n * Icons are also appropriate for toggle buttons that allow a single choice to be selected or deselected.\n *\n * @param props - IconButton component props\n * @returns IconButton component\n */\nexport const IconButton = React.forwardRef<HTMLButtonElement, IconButtonProps>(\n ({ children, color = 'default', size = 'medium', sx, ...props }, ref) => {\n const theme = useTheme();\n\n return (\n <MuiIconButton\n ref={ref}\n color={color}\n size={size}\n {...props}\n sx={{\n // Use theme tokens for consistency\n fontFamily: theme.typography.fontFamily,\n ...sx,\n }}\n >\n {children}\n </MuiIconButton>\n );\n }\n);\n\nIconButton.displayName = 'IconButton';\n","/**\n * LinearProgress Component\n *\n * LinearProgress component for the MRS Design System.\n * Wraps Material-UI LinearProgress with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6586:46855\n * @see {@link https://mui.com/material-ui/react-progress/#linear}\n */\n\nimport React from 'react';\nimport MuiLinearProgress from '@mui/material/LinearProgress';\nimport { Box, Typography } from '@mui/material';\nimport type { LinearProgressProps } from './LinearProgress.types';\n\n/**\n * LinearProgress component\n *\n * Progress indicators commonly known as spinners, express an unspecified wait time\n * or display the length of a process.\n *\n * @param props - LinearProgress component props\n * @returns LinearProgress component\n */\nexport const LinearProgress = React.forwardRef<HTMLSpanElement, LinearProgressProps>(\n (\n {\n color = 'primary',\n showLabel = false,\n value = 0,\n valueBuffer,\n variant = 'indeterminate',\n sx,\n ...props\n },\n ref\n ) => {\n if (showLabel && (variant === 'determinate' || variant === 'buffer')) {\n return (\n <Box\n ref={ref}\n sx={{\n display: 'flex',\n alignItems: 'center',\n gap: 1,\n minWidth: 200,\n ...sx,\n }}\n >\n <Box sx={{ flexGrow: 1 }}>\n <MuiLinearProgress\n variant={variant}\n color={color}\n value={value}\n valueBuffer={valueBuffer}\n {...props}\n />\n </Box>\n <Box sx={{ minWidth: 35 }}>\n <Typography variant=\"body2\" sx={{ color: 'text.primary' }}>\n {`${Math.round(value)}%`}\n </Typography>\n </Box>\n </Box>\n );\n }\n\n return (\n <MuiLinearProgress\n ref={ref}\n variant={variant}\n color={color}\n value={value}\n valueBuffer={valueBuffer}\n sx={{\n minWidth: 200,\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nLinearProgress.displayName = 'LinearProgress';\n","/**\n * Link component\n * Wraps Material-UI Link with design system theme\n */\n\nimport React from 'react';\nimport MuiLink from '@mui/material/Link';\nimport type { Theme } from '@mui/material/styles';\nimport type { LinkProps } from './Link.types';\n\n/**\n * Link component - accessible hyperlink\n * Wraps MUI Link with design system theme integration\n *\n * @example\n * ```tsx\n * <Link href=\"https://example.com\">Click here</Link>\n * <Link href=\"/about\" color=\"primary\" underline=\"hover\">About</Link>\n * ```\n */\nexport const Link = React.forwardRef<HTMLAnchorElement, LinkProps>(\n ({ color = 'primary', underline = 'hover', variant = 'body1', children, sx, ...props }, ref) => {\n return (\n <MuiLink\n ref={ref}\n color={color}\n underline={underline}\n variant={variant}\n sx={{\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n cursor: 'pointer',\n '&:focus-visible': {\n outline: (theme: Theme) => `2px solid ${theme.palette.primary.main}`,\n outlineOffset: '2px',\n borderRadius: '2px',\n },\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiLink>\n );\n }\n);\n\nLink.displayName = 'Link';\n\nexport default Link;\n","import React from 'react';\nimport type { SxProps, Theme } from '@mui/material/styles';\nimport { Box } from '@mui/material';\nimport '../../../styles/material-symbols.css';\n\nexport interface MaterialSymbolProps {\n /**\n * Icon name from Material Symbols library\n * Use snake_case format (e.g., \"home\", \"check_circle\", \"arrow_forward\")\n * Browse icons: https://fonts.google.com/icons\n *\n * @example \"close\"\n * @example \"check\"\n * @example \"settings\"\n * @example \"account_circle\"\n */\n icon: string;\n\n /**\n * Icon size\n * - 'small': 20px\n * - 'medium': 24px (default)\n * - 'large': 36px\n * - number: Custom size in pixels\n *\n * @default \"medium\"\n */\n size?: 'small' | 'medium' | 'large' | 'inherit' | number;\n\n /**\n * Fill style - controls whether icon is outlined or filled\n * - 0: Outlined (default)\n * - 1: Filled\n *\n * @default 0\n */\n fill?: 0 | 1;\n\n /**\n * Weight - thickness of icon strokes\n * - 100: Thin\n * - 200: Extra Light\n * - 300: Light (MRS default)\n * - 400: Regular\n * - 500: Medium\n * - 600: Semi Bold\n * - 700: Bold\n *\n * @default 300\n */\n weight?: 100 | 200 | 300 | 400 | 500 | 600 | 700;\n\n /**\n * Grade - visual weight adjustment without changing physical size\n * Range: -50 to 200\n * - Negative values: Lighter appearance\n * - Positive values: Heavier appearance\n *\n * @default 100\n */\n grade?: number;\n\n /**\n * Color - can be any valid CSS color or MUI theme path\n *\n * @example \"red\"\n * @example \"#00686f\"\n * @example \"primary.main\"\n */\n color?: string;\n\n /**\n * Additional CSS classes\n */\n className?: string;\n\n /**\n * MUI sx prop for custom styling\n */\n sx?: SxProps<Theme>;\n\n /**\n * ARIA label for accessibility\n * Recommended for icon-only buttons or when icon conveys meaning\n */\n ariaLabel?: string;\n\n /**\n * ARIA hidden - hides icon from screen readers\n * Use when icon is purely decorative\n *\n * @default false\n */\n ariaHidden?: boolean;\n\n /**\n * Click handler - makes icon clickable\n */\n onClick?: (event: React.MouseEvent<HTMLSpanElement>) => void;\n}\n\n/**\n * MaterialSymbol Component\n *\n * Renders icons from Google's Material Symbols library using variable font technology.\n * Provides customizable weight, fill, grade, and size properties.\n *\n * **MRS Design System Defaults:**\n * - Variant: Rounded\n * - Weight: 300 (Light)\n * - Fill: 0 (Outlined)\n * - Grade: 100 (Lighter visual weight)\n *\n * @example\n * Basic usage\n * ```tsx\n * <MaterialSymbol icon=\"home\" />\n * ```\n *\n * @example\n * With size and fill\n * ```tsx\n * <MaterialSymbol icon=\"favorite\" size=\"large\" fill={1} />\n * ```\n *\n * @example\n * With custom color and weight\n * ```tsx\n * <MaterialSymbol\n * icon=\"settings\"\n * color=\"primary.main\"\n * weight={500}\n * />\n * ```\n *\n * @example\n * Clickable icon\n * ```tsx\n * <MaterialSymbol\n * icon=\"close\"\n * onClick={() => console.log('clicked')}\n * ariaLabel=\"Close\"\n * />\n * ```\n */\nexport const MaterialSymbol = React.forwardRef<HTMLSpanElement, MaterialSymbolProps>(\n (\n {\n icon,\n size = 'medium',\n fill = 0,\n weight = 300,\n grade = 100,\n color,\n className = '',\n sx,\n ariaLabel,\n ariaHidden = false,\n onClick,\n ...props\n },\n ref\n ) => {\n // Calculate font size and optical size based on size prop\n let fontSize: number | string;\n let opticalSize: number;\n\n if (size === 'inherit') {\n fontSize = 'inherit';\n opticalSize = 24; // Default optical size for inherit\n } else if (typeof size === 'number') {\n fontSize = size;\n opticalSize = size;\n } else {\n const sizeMap = {\n small: { fontSize: 20, opsz: 20 },\n medium: { fontSize: 24, opsz: 24 },\n large: { fontSize: 36, opsz: 40 },\n };\n fontSize = sizeMap[size].fontSize;\n opticalSize = sizeMap[size].opsz;\n }\n\n // Construct font-variation-settings string\n const fontVariationSettings = `'FILL' ${fill}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' ${opticalSize}`;\n\n // Build class names\n const classNames = ['material-symbols-rounded', className].filter(Boolean).join(' ');\n\n // Determine if icon is clickable\n const isClickable = Boolean(onClick);\n\n return (\n <Box\n ref={ref}\n component=\"span\"\n className={classNames}\n aria-label={ariaLabel}\n aria-hidden={ariaHidden}\n role={ariaLabel && !ariaHidden ? 'img' : undefined}\n onClick={onClick}\n style={{\n // Use inline style for fontVariationSettings to ensure it renders properly\n fontVariationSettings,\n }}\n sx={{\n fontSize: typeof fontSize === 'number' ? `${fontSize}px` : fontSize,\n color: color || 'inherit',\n userSelect: 'none',\n cursor: isClickable ? 'pointer' : 'inherit',\n ...(isClickable && {\n transition: 'opacity 0.2s ease-in-out',\n '&:hover': {\n opacity: 0.7,\n },\n '&:active': {\n opacity: 0.5,\n },\n }),\n ...sx,\n }}\n {...props}\n >\n {icon}\n </Box>\n );\n }\n);\n\nMaterialSymbol.displayName = 'MaterialSymbol';\n\nexport default MaterialSymbol;\n","/**\n * MenuItem Component\n *\n * Menu item component for the MRS Design System.\n * Wraps Material-UI MenuItem with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-menu/}\n */\n\nimport React from 'react';\nimport MuiMenuItem from '@mui/material/MenuItem';\nimport type { Theme } from '@mui/material/styles';\nimport type { MenuItemProps } from './MenuItem.types';\n\n/**\n * MenuItem component\n *\n * Menu items are used in menus, selects, and other components\n * to display selectable options.\n *\n * @param props - MenuItem component props\n * @returns MenuItem component\n *\n * @example\n * ```tsx\n * // In a Select\n * <Select>\n * <MenuItem value=\"option1\">Option 1</MenuItem>\n * <MenuItem value=\"option2\">Option 2</MenuItem>\n * </Select>\n *\n * // Disabled\n * <MenuItem value=\"disabled\" disabled>\n * Disabled Option\n * </MenuItem>\n *\n * // Selected\n * <MenuItem value=\"selected\" selected>\n * Selected Option\n * </MenuItem>\n * ```\n */\nexport const MenuItem = React.forwardRef<HTMLLIElement, MenuItemProps>(\n ({ children, sx, ...props }, ref) => {\n return (\n <MuiMenuItem\n ref={ref}\n sx={{\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontSize: (theme: Theme) => theme.typography.body1.fontSize,\n fontWeight: (theme: Theme) => theme.typography.fontWeightRegular,\n lineHeight: (theme: Theme) => theme.typography.body1.lineHeight,\n // Hover state\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.hover,\n },\n // Selected state\n '&.Mui-selected': {\n backgroundColor: (theme: Theme) => theme.palette.action.selected,\n '&:hover': {\n backgroundColor: (theme: Theme) => theme.palette.action.selected,\n },\n },\n // Focus state\n '&.Mui-focusVisible': {\n backgroundColor: (theme: Theme) => theme.palette.action.hover,\n },\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiMenuItem>\n );\n }\n);\n\nMenuItem.displayName = 'MenuItem';\n\nexport default MenuItem;\n","/**\n * Paper Component\n *\n * Paper component for the MRS Design System.\n * Wraps Material-UI Paper with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6584:46711\n * @see {@link https://mui.com/material-ui/react-paper/}\n */\n\nimport React from 'react';\nimport MuiPaper from '@mui/material/Paper';\nimport type { PaperProps } from './Paper.types';\n\n/**\n * Paper component\n *\n * The Paper component is a container that displays content with elevation and optional borders.\n * The elevation can be used to establish a hierarchy between other content.\n *\n * @param props - Paper component props\n * @returns Paper component\n */\nexport const Paper = React.forwardRef<HTMLDivElement, PaperProps>(\n ({ children, variant = 'elevation', elevation = 1, square = false, sx, ...props }, ref) => {\n return (\n <MuiPaper\n ref={ref}\n variant={variant}\n elevation={variant === 'elevation' ? elevation : 0}\n square={square}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiPaper>\n );\n }\n);\n\nPaper.displayName = 'Paper';\n","/**\n * Radio Component\n *\n * Radio component for the MRS Design System.\n * Wraps Material-UI Radio with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6558-39273&m=dev\n * @see {@link https://mui.com/material-ui/react-radio/}\n */\n\nimport React from 'react';\nimport MuiRadio from '@mui/material/Radio';\nimport type { RadioProps } from './Radio.types';\n\n/**\n * Radio component\n *\n * Radio buttons allow the user to select one option from a set.\n * Use radio buttons when the user needs to see all available options.\n * If available options can be collapsed, consider using a Select component because it uses less space.\n *\n * @param props - Radio component props\n * @returns Radio component\n */\nexport const Radio = React.forwardRef<HTMLButtonElement, RadioProps>(\n (\n {\n checked,\n size = 'medium',\n color = 'primary',\n disabled = false,\n disableRipple = false,\n required = false,\n onChange,\n value,\n id,\n inputProps,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiRadio\n ref={ref}\n checked={checked}\n size={size}\n color={color}\n disabled={disabled}\n disableRipple={disableRipple}\n required={required}\n onChange={onChange}\n value={value}\n id={id}\n inputProps={inputProps}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nRadio.displayName = 'Radio';\n","/**\n * RadioGroup component\n * Wraps Material-UI RadioGroup with design system theme\n */\n\nimport React from 'react';\nimport MuiRadioGroup from '@mui/material/RadioGroup';\nimport type { RadioGroupProps } from './RadioGroup.types';\n\n/**\n * RadioGroup component - groups Radio buttons together\n * Provides a wrapper around a set of Radio components\n *\n * @example\n * ```tsx\n * <RadioGroup value={value} onChange={handleChange}>\n * <FormControlLabel value=\"option1\" control={<Radio />} label=\"Option 1\" />\n * <FormControlLabel value=\"option2\" control={<Radio />} label=\"Option 2\" />\n * </RadioGroup>\n * ```\n */\nexport const RadioGroup = React.forwardRef<HTMLDivElement, RadioGroupProps>(\n ({ children, ...props }, ref) => {\n return (\n <MuiRadioGroup ref={ref} {...props}>\n {children}\n </MuiRadioGroup>\n );\n }\n);\n\nRadioGroup.displayName = 'RadioGroup';\n\nexport default RadioGroup;\n","/**\n * Select Component\n *\n * Select component for the MRS Design System.\n * Wraps Material-UI Select with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-select/}\n */\n\nimport React from 'react';\nimport MuiSelect from '@mui/material/Select';\nimport type { Theme } from '@mui/material/styles';\nimport type { SelectProps } from './Select.types';\n\n/**\n * Select component\n *\n * Select components are used for collecting user provided information from a list of options.\n * Supports single and multiple selection, different variants, sizes, and states.\n *\n * @param props - Select component props\n * @returns Select component\n *\n * @example\n * ```tsx\n * // Basic usage\n * <Select value={age} onChange={handleChange}>\n * <MenuItem value={10}>Ten</MenuItem>\n * <MenuItem value={20}>Twenty</MenuItem>\n * <MenuItem value={30}>Thirty</MenuItem>\n * </Select>\n *\n * // With label (use FormControl)\n * <FormControl>\n * <InputLabel>Age</InputLabel>\n * <Select value={age} onChange={handleChange}>\n * <MenuItem value={10}>Ten</MenuItem>\n * <MenuItem value={20}>Twenty</MenuItem>\n * </Select>\n * </FormControl>\n *\n * // Multiple selection\n * <Select multiple value={values} onChange={handleChange}>\n * <MenuItem value=\"option1\">Option 1</MenuItem>\n * <MenuItem value=\"option2\">Option 2</MenuItem>\n * </Select>\n * ```\n */\nexport const Select = React.forwardRef<any, SelectProps>(\n (\n { variant = 'outlined', color = 'primary', size = 'medium', fullWidth = false, sx, ...props },\n ref\n ) => {\n return (\n <MuiSelect\n ref={ref}\n variant={variant}\n color={color}\n size={size}\n fullWidth={fullWidth}\n sx={{\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n // Outlined variant specific styles\n ...(variant === 'outlined' && {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: (theme: Theme) =>\n theme.palette._components?.input?.outlined?.enabledBorder || theme.palette.divider,\n },\n '&:hover .MuiOutlinedInput-notchedOutline': {\n borderColor: (theme: Theme) => theme.palette.text.primary,\n },\n '&.Mui-focused .MuiOutlinedInput-notchedOutline': {\n borderWidth: 2,\n },\n }),\n // Filled variant specific styles\n ...(variant === 'filled' && {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n '&:hover': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.09)',\n },\n '&.Mui-focused': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n },\n }),\n // Standard variant specific styles\n ...(variant === 'standard' && {\n '&:before': {\n borderBottomColor: (theme: Theme) =>\n theme.palette._components?.input?.standard?.enabledBorder || theme.palette.divider,\n },\n '&:hover:not(.Mui-disabled):before': {\n borderBottomColor: (theme: Theme) => theme.palette.text.primary,\n },\n }),\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nSelect.displayName = 'Select';\n\nexport default Select;\n","/**\n * Skeleton Component\n *\n * Skeleton component for the MRS Design System.\n * Wraps Material-UI Skeleton with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6596:49017\n * @see {@link https://mui.com/material-ui/react-skeleton/}\n */\n\nimport React from 'react';\nimport MuiSkeleton from '@mui/material/Skeleton';\nimport type { SkeletonProps } from './Skeleton.types';\n\n/**\n * Skeleton component\n *\n * Display a placeholder preview of your content before the data gets loaded\n * to reduce load-time frustration.\n *\n * @param props - Skeleton component props\n * @returns Skeleton component\n */\nexport const Skeleton = React.forwardRef<HTMLSpanElement, SkeletonProps>(\n ({ variant = 'text', width, height, animation = 'pulse', ...props }, ref) => {\n // Set default dimensions based on variant\n let defaultWidth = width;\n let defaultHeight = height;\n\n if (variant === 'text' && !width) {\n defaultWidth = 120;\n }\n if (variant === 'text' && !height) {\n defaultHeight = 12;\n }\n if (variant === 'circular' && !width && !height) {\n defaultWidth = 40;\n defaultHeight = 40;\n }\n if (variant === 'rectangular' && !width && !height) {\n defaultWidth = 120;\n defaultHeight = 120;\n }\n\n return (\n <MuiSkeleton\n ref={ref}\n variant={variant}\n width={defaultWidth}\n height={defaultHeight}\n animation={animation}\n {...props}\n />\n );\n }\n);\n\nSkeleton.displayName = 'Skeleton';\n","/**\n * Slider Component\n *\n * Slider component for the MRS Design System.\n * Wraps Material-UI Slider with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6562-39045&m=dev\n * @see {@link https://mui.com/material-ui/react-slider/}\n */\n\nimport React from 'react';\nimport MuiSlider from '@mui/material/Slider';\nimport type { SliderProps } from './Slider.types';\n\n/**\n * Slider component\n *\n * Sliders allow users to make selections from a range of values.\n * Sliders reflect a range of values along a bar, from which users may select a single value.\n * They are ideal for adjusting settings such as volume, brightness, or applying image filters.\n *\n * @param props - Slider component props\n * @returns Slider component\n */\nexport const Slider = React.forwardRef<HTMLSpanElement, SliderProps>(\n (\n {\n size = 'medium',\n color = 'primary',\n orientation = 'horizontal',\n disabled = false,\n marks = false,\n step = 1,\n min = 0,\n max = 100,\n valueLabelDisplay = 'off',\n track = 'normal',\n disableSwap = false,\n value,\n defaultValue,\n onChange,\n onChangeCommitted,\n valueLabelFormat,\n scale,\n getAriaValueText,\n name,\n id,\n component,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiSlider\n ref={ref}\n size={size}\n color={color}\n orientation={orientation}\n disabled={disabled}\n marks={marks}\n step={step}\n min={min}\n max={max}\n value={value}\n defaultValue={defaultValue}\n onChange={onChange}\n onChangeCommitted={onChangeCommitted}\n valueLabelDisplay={valueLabelDisplay}\n valueLabelFormat={valueLabelFormat}\n track={track}\n disableSwap={disableSwap}\n scale={scale}\n getAriaValueText={getAriaValueText}\n name={name}\n id={id}\n {...(component && { component })}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nSlider.displayName = 'Slider';\n","/**\n * Switch Component\n *\n * Switch component for the MRS Design System.\n * Wraps Material-UI Switch with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6564-39128&m=dev\n * @see {@link https://mui.com/material-ui/react-switch/}\n */\n\nimport React from 'react';\nimport MuiSwitch from '@mui/material/Switch';\nimport type { SwitchProps } from './Switch.types';\n\n/**\n * Switch component\n *\n * Switches toggle the state of a single setting on or off.\n *\n * @param props - Switch component props\n * @returns Switch component\n */\n// MUI Switch internally renders button element for accessibility\nexport const Switch = React.forwardRef<HTMLButtonElement, SwitchProps>(\n (\n {\n checked,\n color = 'primary',\n size = 'medium',\n disabled = false,\n disableRipple = false,\n id,\n inputProps,\n inputRef,\n onChange,\n required = false,\n value,\n sx,\n edge,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiSwitch\n ref={ref}\n checked={checked}\n color={color}\n size={size}\n disabled={disabled}\n disableRipple={disableRipple}\n id={id}\n inputProps={inputProps}\n inputRef={inputRef}\n onChange={onChange}\n required={required}\n value={value}\n sx={sx}\n edge={edge}\n {...restProps}\n />\n );\n }\n);\n\nSwitch.displayName = 'Switch';\n\nexport default Switch;\n","/**\n * TextField Component\n *\n * Text input component for the MRS Design System.\n * Wraps Material-UI TextField with custom theme tokens.\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=6570-48313&m=dev\n * @see {@link https://mui.com/material-ui/react-text-field/}\n */\n\nimport React from 'react';\nimport MuiTextField from '@mui/material/TextField';\nimport type { Theme } from '@mui/material/styles';\nimport type { TextFieldProps } from './TextField.types';\n\n/**\n * TextField component\n *\n * Text fields let users enter and edit text.\n * Supports multiple variants (outlined, filled, standard),\n * sizes (small, medium), and states (error, disabled, etc.).\n *\n * @param props - TextField component props\n * @returns TextField component\n *\n * @example\n * ```tsx\n * // Basic usage\n * <TextField label=\"Email\" placeholder=\"Enter your email\" />\n *\n * // With helper text and error\n * <TextField\n * label=\"Password\"\n * type=\"password\"\n * error\n * helperText=\"Password is required\"\n * />\n *\n * // Multiline\n * <TextField\n * label=\"Description\"\n * multiline\n * rows={4}\n * placeholder=\"Enter description\"\n * />\n * ```\n */\nexport const TextField = React.forwardRef<HTMLDivElement, TextFieldProps>(\n (\n { variant = 'outlined', color = 'primary', size = 'medium', fullWidth = false, sx, ...props },\n ref\n ) => {\n return (\n <MuiTextField\n ref={ref}\n variant={variant}\n color={color}\n size={size}\n fullWidth={fullWidth}\n sx={{\n // Custom styling can be added here if needed\n // Font family is inherited from theme\n '& .MuiInputBase-root': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n },\n '& .MuiInputLabel-root': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontWeight: (theme: Theme) => theme.typography.fontWeightRegular,\n },\n '& .MuiFormHelperText-root': {\n fontFamily: (theme: Theme) => theme.typography.fontFamily,\n fontSize: (theme: Theme) => theme.typography.caption.fontSize,\n },\n // Outlined variant specific styles\n ...(variant === 'outlined' && {\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: (theme: Theme) =>\n theme.palette._components?.input?.outlined?.enabledBorder ||\n theme.palette.divider,\n },\n '&:hover fieldset': {\n borderColor: (theme: Theme) => theme.palette.text.primary,\n },\n '&.Mui-focused fieldset': {\n borderWidth: 2,\n },\n },\n }),\n // Filled variant specific styles\n ...(variant === 'filled' && {\n '& .MuiFilledInput-root': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n '&:hover': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.09)',\n },\n '&.Mui-focused': {\n backgroundColor: (theme: Theme) =>\n theme.palette._components?.input?.filled?.enabledFill || 'rgba(0, 0, 0, 0.06)',\n },\n },\n }),\n // Standard variant specific styles\n ...(variant === 'standard' && {\n '& .MuiInput-root': {\n '&:before': {\n borderBottomColor: (theme: Theme) =>\n theme.palette._components?.input?.standard?.enabledBorder ||\n theme.palette.divider,\n },\n '&:hover:not(.Mui-disabled):before': {\n borderBottomColor: (theme: Theme) => theme.palette.text.primary,\n },\n },\n }),\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nTextField.displayName = 'TextField';\n\nexport default TextField;\n","/**\n * Toolbar Component\n *\n * A container component that provides layout for AppBar content.\n * Wraps Material-UI Toolbar with MRS Design System theming.\n *\n * @example\n * ```tsx\n * import { AppBar, Toolbar, Typography, IconButton } from '@atipicus/mrs-ui';\n * import MenuIcon from '@mui/icons-material/Menu';\n *\n * function MyToolbar() {\n * return (\n * <AppBar>\n * <Toolbar>\n * <IconButton edge=\"start\" color=\"inherit\">\n * <MenuIcon />\n * </IconButton>\n * <Typography variant=\"h6\">\n * My App\n * </Typography>\n * </Toolbar>\n * </AppBar>\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/api/toolbar/}\n */\n\nimport React from 'react';\nimport MuiToolbar from '@mui/material/Toolbar';\nimport type { ToolbarProps } from './Toolbar.types';\n\n/**\n * Toolbar component\n *\n * Container for AppBar content with flex layout and vertical centering.\n * Provides regular (56px) and dense (48px) height variants.\n *\n * @param props - Toolbar component props\n * @returns Toolbar component\n */\nexport const Toolbar = React.forwardRef<HTMLDivElement, ToolbarProps>(\n ({ children, variant = 'regular', disableGutters = false, sx, ...props }, ref) => {\n return (\n <MuiToolbar ref={ref} variant={variant} disableGutters={disableGutters} sx={sx} {...props}>\n {children}\n </MuiToolbar>\n );\n }\n);\n\nToolbar.displayName = 'Toolbar';\n\nexport default Toolbar;\n","/**\n * Tooltip Component\n *\n * Tooltip component for the MRS Design System.\n * Wraps Material-UI Tooltip with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6590:48770\n * @see {@link https://mui.com/material-ui/react-tooltip/}\n */\n\nimport React from 'react';\nimport MuiTooltip from '@mui/material/Tooltip';\nimport { styled } from '@mui/material/styles';\nimport type { TooltipProps } from './Tooltip.types';\n\nimport * as tokens from '../../../tokens/generated/ts/tokens';\n\n/**\n * Styled Tooltip with custom theme tokens\n */\nconst StyledTooltip = styled(\n React.forwardRef<HTMLDivElement, TooltipProps>(({ className, ...props }, ref) => (\n <MuiTooltip ref={ref} {...props} classes={{ popper: className }} />\n ))\n)(({ theme }) => {\n const mode = theme.palette.mode;\n const tooltipBackground =\n mode === 'light'\n ? tokens.ComponentTooltipLightBackground\n : tokens.ComponentTooltipDarkBackground;\n const tooltipForeground =\n mode === 'light'\n ? tokens.ComponentTooltipLightForeground\n : tokens.ComponentTooltipDarkForeground;\n const tooltipBorderRadius =\n mode === 'light'\n ? tokens.ComponentTooltipLightBorderRadius\n : tokens.ComponentTooltipDarkBorderRadius;\n\n return {\n '& .MuiTooltip-tooltip': {\n backgroundColor: tooltipBackground,\n color: tooltipForeground,\n fontSize: tokens.PrimitivesTypographyFontSizeXs,\n fontWeight: theme.typography.fontWeightMedium,\n lineHeight: '14px',\n padding: `${tokens.PrimitivesSpacing05} ${tokens.PrimitivesSpacing1}`,\n borderRadius: tooltipBorderRadius,\n fontFamily: theme.typography.fontFamily,\n },\n '& .MuiTooltip-arrow': {\n color: tooltipBackground,\n },\n };\n});\n\nStyledTooltip.displayName = 'StyledTooltip';\n\n/**\n * Tooltip component\n *\n * Tooltips display informative text when users hover over, focus on, or tap an element.\n *\n * @param props - Tooltip component props\n * @returns Tooltip component\n */\nexport const Tooltip = React.forwardRef<HTMLDivElement, TooltipProps>(\n ({ children, arrow = true, placement = 'bottom', ...props }, ref) => {\n return (\n <StyledTooltip ref={ref} arrow={arrow} placement={placement} {...props}>\n {children}\n </StyledTooltip>\n );\n }\n);\n\nTooltip.displayName = 'Tooltip';\n","/**\n * Accordion Component\n *\n * Accordion component for the MRS Design System.\n * Wraps Material-UI Accordion with custom theme tokens.\n *\n * Accordions contain creation flows and allow lightweight editing of an element.\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=10025-115758&m=dev\n * @see {@link https://v6.mui.com/material-ui/react-accordion/}\n */\n\nimport React from 'react';\nimport MuiAccordion from '@mui/material/Accordion';\nimport type { AccordionProps } from './Accordion.types';\n\n/**\n * Accordion component\n *\n * Accordions are commonly used for FAQ sections, settings panels, or anywhere\n * you need to progressively disclose information.\n *\n * @param props - Accordion component props\n * @returns Accordion component\n */\nexport const Accordion = React.forwardRef<HTMLDivElement, AccordionProps>(\n (\n {\n children,\n defaultExpanded = false,\n disabled = false,\n disableGutters = false,\n expanded,\n onChange,\n square = false,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiAccordion\n ref={ref}\n defaultExpanded={defaultExpanded}\n disabled={disabled}\n disableGutters={disableGutters}\n expanded={expanded}\n onChange={onChange}\n square={square}\n sx={{\n // Theme applies default styling\n // Custom overrides can be added here or via sx prop\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordion>\n );\n }\n);\n\nAccordion.displayName = 'Accordion';\n\nexport default Accordion;\n","/**\n * AccordionSummary Component\n *\n * AccordionSummary component for the MRS Design System.\n * Wraps Material-UI AccordionSummary - provides the header/clickable area for Accordion.\n *\n * @see {@link https://v6.mui.com/material-ui/api/accordion-summary/}\n */\n\nimport React from 'react';\nimport MuiAccordionSummary from '@mui/material/AccordionSummary';\nimport type { AccordionSummaryProps } from './Accordion.types';\n\n/**\n * AccordionSummary component\n *\n * The summary acts as the header for the accordion and controls the expand/collapse behavior.\n * It typically contains a title and an expand icon.\n *\n * @param props - AccordionSummary component props\n * @returns AccordionSummary component\n */\nexport const AccordionSummary = React.forwardRef<HTMLDivElement, AccordionSummaryProps>(\n ({ children, expandIcon, focusVisibleClassName, sx, ...props }, ref) => {\n return (\n <MuiAccordionSummary\n ref={ref}\n expandIcon={expandIcon}\n focusVisibleClassName={focusVisibleClassName}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordionSummary>\n );\n }\n);\n\nAccordionSummary.displayName = 'AccordionSummary';\n\nexport default AccordionSummary;\n","/**\n * AccordionDetails Component\n *\n * AccordionDetails component for the MRS Design System.\n * Wraps Material-UI AccordionDetails - provides the content area that expands/collapses.\n *\n * @see {@link https://v6.mui.com/material-ui/api/accordion-details/}\n */\n\nimport React from 'react';\nimport MuiAccordionDetails from '@mui/material/AccordionDetails';\nimport type { AccordionDetailsProps } from './Accordion.types';\n\n/**\n * AccordionDetails component\n *\n * Contains the content that is revealed when the accordion is expanded.\n * This component is wrapped in a Collapse transition.\n *\n * @param props - AccordionDetails component props\n * @returns AccordionDetails component\n */\nexport const AccordionDetails = React.forwardRef<HTMLDivElement, AccordionDetailsProps>(\n ({ children, sx, ...props }, ref) => {\n return (\n <MuiAccordionDetails\n ref={ref}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordionDetails>\n );\n }\n);\n\nAccordionDetails.displayName = 'AccordionDetails';\n\nexport default AccordionDetails;\n","/**\n * AccordionActions Component\n *\n * AccordionActions component for the MRS Design System.\n * Wraps Material-UI AccordionActions - provides an action area for accordion buttons.\n *\n * @see {@link https://v6.mui.com/material-ui/api/accordion-actions/}\n */\n\nimport React from 'react';\nimport MuiAccordionActions from '@mui/material/AccordionActions';\nimport type { AccordionActionsProps } from './Accordion.types';\n\n/**\n * AccordionActions component\n *\n * Provides an area for action buttons within an accordion.\n * Typically placed at the bottom of AccordionDetails.\n *\n * @param props - AccordionActions component props\n * @returns AccordionActions component\n */\nexport const AccordionActions = React.forwardRef<HTMLDivElement, AccordionActionsProps>(\n ({ children, disableSpacing = false, sx, ...props }, ref) => {\n return (\n <MuiAccordionActions\n ref={ref}\n disableSpacing={disableSpacing}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAccordionActions>\n );\n }\n);\n\nAccordionActions.displayName = 'AccordionActions';\n\nexport default AccordionActions;\n","/**\n * Alert Component\n *\n * Implements the MRS Alert using design tokens from the theme.\n * Supports severity (error, warning, info, success) and variants (filled, outlined, standard),\n * optional title/description, optional leading icon, custom action, and close button.\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=6595-48211\n * @see https://mui.com/material-ui/react-alert/\n */\n\n/// <reference path=\"../../../types/theme.d.ts\" />\n\nimport React from 'react';\nimport MuiAlert from '@mui/material/Alert';\nimport Stack from '@mui/material/Stack';\nimport Typography from '@mui/material/Typography';\nimport { useTheme } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport { MaterialSymbol } from '../../atoms/MaterialSymbol';\nimport type { AlertProps, AlertSeverity, AlertVariant } from './Alert.types';\n\ntype AlertColorTokens = {\n background: string;\n foreground: string;\n border?: string;\n};\n\n/**\n * Material Symbols icon names for each severity level\n * Icons use the same name for filled/outlined variants - fill prop controls appearance\n */\nconst severityIcons: Record<AlertSeverity, string> = {\n error: 'error',\n warning: 'error', // Material Symbols uses 'error' for warnings too\n info: 'info',\n success: 'check_circle',\n};\n\n/**\n * Returns token-based colors for a given severity and variant.\n */\nfunction useAlertColors(severity: AlertSeverity, variant: AlertVariant): AlertColorTokens {\n const theme = useTheme();\n const tokens = theme.palette._components.alert[severity][variant];\n return tokens;\n}\n\nexport const Alert = React.forwardRef<HTMLDivElement, AlertProps>(\n (\n {\n severity = 'error',\n variant = 'filled',\n title,\n description,\n icon = true,\n close = false,\n onClose,\n action,\n sx,\n children,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n const tokenColors = useAlertColors(severity, variant);\n\n // Use 16px for consistent border radius\n // Note: theme.shape has custom tokens - sm(4), md(8), lg(12), xl(24), rounded(9999)\n // IMPORTANT: Must use string with 'px' suffix - numbers are multiplied by spacing (8*8=64px)\n const shapeWithTokens = theme.shape as {\n borderRadius: number;\n sm: number;\n md: number;\n lg: number;\n xl: number;\n rounded: number;\n };\n const alertBorderRadius = '16px'; // explicit units prevent spacing multiplication\n\n // Debug: Log border radius in development\n // eslint-disable-next-line no-undef\n if (process.env.NODE_ENV === 'development') {\n console.log('[Alert] Using border radius:', alertBorderRadius, '(theme.shape.lg)');\n console.log('[Alert] Available shape tokens (raw values):', {\n sm: shapeWithTokens.sm,\n md: shapeWithTokens.md,\n lg: shapeWithTokens.lg,\n xl: shapeWithTokens.xl,\n rounded: shapeWithTokens.rounded,\n });\n console.log(\n '[Alert] Note: Values converted to px strings to prevent MUI spacing multiplication'\n );\n }\n\n // Determine icon name and fill based on severity and variant\n const iconName = severityIcons[severity];\n const iconFill = variant === 'filled' ? 1 : 0;\n\n const startIcon =\n icon === false\n ? false\n : React.isValidElement(icon)\n ? icon\n : iconName && (\n <MaterialSymbol\n icon={iconName}\n fill={iconFill}\n size=\"medium\"\n color={tokenColors.foreground}\n />\n );\n\n const closeButton = close && (\n <IconButton\n size=\"medium\"\n aria-label=\"close\"\n onClick={onClose}\n sx={{ color: tokenColors.foreground }}\n >\n <MaterialSymbol icon=\"close\" size=\"medium\" color={tokenColors.foreground} />\n </IconButton>\n );\n\n const actionContent = action ? (\n closeButton ? (\n <Stack direction=\"row\" spacing={1} alignItems=\"center\">\n {action}\n {closeButton}\n </Stack>\n ) : (\n action\n )\n ) : (\n closeButton || undefined\n );\n\n return (\n <MuiAlert\n ref={ref}\n severity={severity}\n variant=\"standard\"\n icon={startIcon}\n action={actionContent}\n sx={{\n borderRadius: alertBorderRadius,\n backgroundColor: tokenColors.background,\n color: tokenColors.foreground,\n alignItems: 'top',\n py: 1.2,\n px: 2,\n ...(variant === 'outlined' && {\n border: `1px solid ${tokenColors.border}`,\n }),\n '& .MuiAlert-icon': {\n color: tokenColors.foreground,\n padding: 0.25,\n marginRight: theme.spacing(1),\n mt: 0.25,\n },\n '& .MuiAlert-message': {\n padding: 1,\n width: '100%',\n },\n '& .MuiAlert-action': {\n padding: 0,\n marginLeft: theme.spacing(2),\n alignItems: 'top',\n },\n ...sx,\n }}\n {...props}\n >\n <Stack spacing={0.25}>\n {title && (\n <Typography\n variant=\"h5\"\n fontWeight={theme.typography.fontWeightMedium}\n lineHeight={1.2}\n >\n {title}\n </Typography>\n )}\n {description && (\n <Typography variant=\"body1\" lineHeight={1.5}>\n {description}\n </Typography>\n )}\n {children}\n </Stack>\n </MuiAlert>\n );\n }\n);\n\nAlert.displayName = 'Alert';\n\nexport default Alert;\n","/**\n * AppBar Component\n *\n * Top navigation bar component for the MRS Design System.\n * Wraps Material-UI AppBar with MRS theme tokens.\n *\n * @example\n * ```tsx\n * import { AppBar, Toolbar, IconButton, Typography, Button } from '@atipicus/mrs-ui';\n * import MenuIcon from '@mui/icons-material/Menu';\n *\n * function MyAppBar() {\n * return (\n * <AppBar position=\"fixed\" color=\"primary\">\n * <Toolbar>\n * <IconButton edge=\"start\" color=\"inherit\" aria-label=\"menu\">\n * <MenuIcon />\n * </IconButton>\n * <Typography variant=\"h6\" component=\"div\" sx={{ flexGrow: 1 }}>\n * MRS Design System\n * </Typography>\n * <Button color=\"inherit\">Login</Button>\n * </Toolbar>\n * </AppBar>\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/api/app-bar/}\n * @see {@link https://mui.com/material-ui/react-app-bar/}\n */\n\nimport React from 'react';\nimport MuiAppBar from '@mui/material/AppBar';\nimport { useTheme } from '@mui/material/styles';\nimport type { AppBarProps } from './AppBar.types';\n\n/**\n * AppBar component\n *\n * Primary navigation component that appears at the top of the application.\n * Supports multiple colors from the MRS palette, positioning options, and elevation levels.\n *\n * Features:\n * - MRS design tokens (Nunito font, MRS color palette)\n * - Multiple positioning options (fixed, static, sticky, absolute, relative)\n * - Elevation control (shadow depth 0-24)\n * - Light and dark mode support\n * - Responsive design ready\n *\n * @param props - AppBar component props\n * @returns AppBar component\n */\nexport const AppBar = React.forwardRef<HTMLDivElement, AppBarProps>(\n (\n {\n children,\n color = 'default',\n position = 'fixed',\n elevation = 4,\n enableColorOnDark = false,\n sx,\n ...props\n },\n ref\n ) => {\n const theme = useTheme();\n\n return (\n <MuiAppBar\n ref={ref}\n color={color}\n position={position}\n elevation={elevation}\n enableColorOnDark={enableColorOnDark}\n sx={{\n // Ensure Nunito font is applied\n fontFamily: theme.typography.fontFamily,\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiAppBar>\n );\n }\n);\n\nAppBar.displayName = 'AppBar';\n\nexport default AppBar;\n","/**\n * Autocomplete Component\n *\n * Autocomplete component for the MRS Design System.\n * Wraps Material-UI Autocomplete with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6570:49856\n * @see {@link https://mui.com/material-ui/react-autocomplete/}\n */\n\nimport React from 'react';\nimport MuiAutocomplete from '@mui/material/Autocomplete';\nimport TextField from '@mui/material/TextField';\nimport type { AutocompleteProps } from './Autocomplete.types';\nimport { Chip } from '../../atoms/Chip';\n\n/**\n * Autocomplete component\n *\n * The autocomplete is a normal text input enhanced by a panel of suggested options.\n * Supports both single and multiple selection modes.\n *\n * @param props - Autocomplete component props\n * @returns Autocomplete component\n */\nexport const Autocomplete = <\n T,\n Multiple extends boolean | undefined = undefined,\n DisableClearable extends boolean | undefined = undefined,\n FreeSolo extends boolean | undefined = undefined,\n>(\n props: AutocompleteProps<T, Multiple, DisableClearable, FreeSolo>\n): React.ReactElement => {\n const {\n options,\n label,\n placeholder = 'Select option',\n error = false,\n helperText,\n required = false,\n disabled = false,\n readOnly = false,\n size = 'medium',\n multiple = false as Multiple,\n disableClearable = false as DisableClearable,\n freeSolo = false as FreeSolo,\n fullWidth = false,\n sx,\n ...restProps\n } = props;\n\n return (\n <MuiAutocomplete\n {...(restProps as any)}\n options={options}\n multiple={multiple}\n disableClearable={disableClearable}\n freeSolo={freeSolo}\n disabled={disabled}\n readOnly={readOnly}\n fullWidth={fullWidth}\n size={size}\n renderInput={(params) => (\n <TextField\n {...params}\n label={label}\n placeholder={placeholder}\n error={error}\n helperText={helperText}\n required={required}\n variant=\"outlined\"\n />\n )}\n renderTags={(value: T[], getTagProps) =>\n value.map((option: T, index: number) => {\n const { key, ...tagProps } = getTagProps({ index });\n return <Chip key={key} label={String(option)} size=\"small\" {...tagProps} />;\n })\n }\n sx={{\n ...sx,\n }}\n />\n );\n};\n\nAutocomplete.displayName = 'Autocomplete';\n","/**\n * BottomNavigation Component\n *\n * BottomNavigation component for the MRS Design System.\n * Wraps Material-UI BottomNavigation with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-bottom-navigation/}\n */\n\nimport React from 'react';\nimport MuiBottomNavigation from '@mui/material/BottomNavigation';\nimport type { BottomNavigationProps } from './BottomNavigation.types';\n\n/**\n * BottomNavigation component\n *\n * Bottom navigation bars allow movement between primary destinations in an app.\n *\n * @param props - BottomNavigation component props\n * @returns BottomNavigation component\n */\nexport const BottomNavigation = React.forwardRef<HTMLDivElement, BottomNavigationProps>(\n (props, ref) => {\n return <MuiBottomNavigation ref={ref} {...props} />;\n }\n);\n\nBottomNavigation.displayName = 'BottomNavigation';\n","/**\n * BottomNavigationAction Component\n */\n\nimport React from 'react';\nimport MuiBottomNavigationAction from '@mui/material/BottomNavigationAction';\nimport type { BottomNavigationActionProps } from './BottomNavigation.types';\n\nexport const BottomNavigationAction = React.forwardRef<\n HTMLButtonElement,\n BottomNavigationActionProps\n>((props, ref) => {\n return <MuiBottomNavigationAction ref={ref} {...props} />;\n});\n\nBottomNavigationAction.displayName = 'BottomNavigationAction';\n","/**\n * ButtonGroup Component\n *\n * ButtonGroup component for the MRS Design System.\n * Wraps Material-UI ButtonGroup with custom theme tokens.\n *\n * @figma https://figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6543:39843\n * @see {@link https://mui.com/material-ui/react-button-group/}\n */\n\nimport React from 'react';\nimport MuiButtonGroup from '@mui/material/ButtonGroup';\nimport type { ButtonGroupProps } from './ButtonGroup.types';\n\n/**\n * ButtonGroup component\n *\n * The ButtonGroup component can be used to group related buttons.\n *\n * @param props - ButtonGroup component props\n * @returns ButtonGroup component\n */\nexport const ButtonGroup = React.forwardRef<HTMLDivElement, ButtonGroupProps>(\n (\n {\n children,\n variant = 'contained',\n color = 'primary',\n orientation = 'horizontal',\n size = 'medium',\n disabled = false,\n disableElevation = true,\n disableRipple = false,\n fullWidth = false,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiButtonGroup\n ref={ref}\n variant={variant}\n color={color}\n orientation={orientation}\n size={size}\n disabled={disabled}\n disableElevation={disableElevation}\n disableRipple={disableRipple}\n fullWidth={fullWidth}\n sx={{\n ...sx,\n }}\n {...restProps}\n >\n {children}\n </MuiButtonGroup>\n );\n }\n);\n\nButtonGroup.displayName = 'ButtonGroup';\n","/**\n * Card Component\n *\n * Card component for the MRS Design System.\n * Wraps Material-UI Card which is built on Paper with elevation and rounded corners.\n *\n * According to Figma specs:\n * - Uses Paper component as base (with elevation=1 by default)\n * - Uses shape.borderRadius token (from theme)\n * - Supports responsive width (600px default, 444px on small screens)\n *\n * @figma https://www.figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=11479-243797&m=dev\n * @see {@link https://v6.mui.com/material-ui/api/card/}\n */\n\nimport React from 'react';\nimport MuiCard from '@mui/material/Card';\nimport type { CardProps } from './Card.types';\n\n/**\n * Card component\n *\n * Cards contain content and actions about a single subject.\n * They should be easy to scan for relevant and actionable information.\n * Elements, like text and images, should be placed on them in a way that clearly indicates hierarchy.\n *\n * @param props - Card component props\n * @returns Card component\n */\nexport const Card = React.forwardRef<HTMLDivElement, CardProps>(\n (\n {\n children,\n variant = 'elevation',\n elevation = 1,\n square = false,\n raised = false,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiCard\n ref={ref}\n variant={variant}\n elevation={variant === 'elevation' ? (raised ? 8 : elevation) : 0}\n square={square}\n sx={{\n // Theme will apply borderRadius from shape.borderRadius token\n // No need to override unless square=true\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCard>\n );\n }\n);\n\nCard.displayName = 'Card';\n\nexport default Card;\n","/**\n * CardActionArea Component\n *\n * CardActionArea component for the MRS Design System.\n * Wraps Material-UI CardActionArea - provides an actionable area within a Card.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-action-area/}\n */\n\nimport React from 'react';\nimport MuiCardActionArea from '@mui/material/CardActionArea';\nimport type { CardActionAreaProps } from './Card.types';\n\n/**\n * CardActionArea component\n *\n * Provides an actionable area within a Card. It's typically used to wrap\n * the main content of a Card to make the entire Card clickable.\n *\n * @param props - CardActionArea component props\n * @returns CardActionArea component\n */\nexport const CardActionArea = React.forwardRef<HTMLButtonElement, CardActionAreaProps>(\n ({ children, disabled = false, sx, ...props }, ref) => {\n return (\n <MuiCardActionArea\n ref={ref}\n disabled={disabled}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCardActionArea>\n );\n }\n);\n\nCardActionArea.displayName = 'CardActionArea';\n\nexport default CardActionArea;\n","/**\n * CardActions Component\n *\n * CardActions component for the MRS Design System.\n * Wraps Material-UI CardActions - provides an action area for Card buttons/actions.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-actions/}\n */\n\nimport React from 'react';\nimport MuiCardActions from '@mui/material/CardActions';\nimport type { CardActionsProps } from './Card.types';\n\n/**\n * CardActions component\n *\n * Provides an area for action buttons or other interactive elements within a Card.\n * Typically placed at the bottom of a Card.\n *\n * @param props - CardActions component props\n * @returns CardActions component\n */\nexport const CardActions = React.forwardRef<HTMLDivElement, CardActionsProps>(\n ({ children, disableSpacing = false, sx, ...props }, ref) => {\n return (\n <MuiCardActions\n ref={ref}\n disableSpacing={disableSpacing}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCardActions>\n );\n }\n);\n\nCardActions.displayName = 'CardActions';\n\nexport default CardActions;\n","/**\n * CardContent Component\n *\n * CardContent component for the MRS Design System.\n * Wraps Material-UI CardContent - provides the main content area for a Card.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-content/}\n */\n\nimport React from 'react';\nimport MuiCardContent from '@mui/material/CardContent';\nimport type { CardContentProps } from './Card.types';\n\n/**\n * CardContent component\n *\n * Provides the main content area within a Card. Adds padding and spacing\n * according to Material Design specifications.\n *\n * @param props - CardContent component props\n * @returns CardContent component\n */\nexport const CardContent = React.forwardRef<HTMLDivElement, CardContentProps>(\n ({ children, component = 'div', sx, ...props }, ref) => {\n return (\n <MuiCardContent\n ref={ref}\n component={component}\n sx={{\n ...sx,\n }}\n {...props}\n >\n {children}\n </MuiCardContent>\n );\n }\n);\n\nCardContent.displayName = 'CardContent';\n\nexport default CardContent;\n","/**\n * CardHeader Component\n *\n * CardHeader component for the MRS Design System.\n * Wraps Material-UI CardHeader - provides a header area for a Card with avatar, title, subheader, and action.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-header/}\n */\n\nimport React from 'react';\nimport MuiCardHeader from '@mui/material/CardHeader';\nimport type { CardHeaderProps } from './Card.types';\n\n/**\n * CardHeader component\n *\n * Provides a header area within a Card. Supports an optional avatar,\n * title, subheader, and action elements.\n *\n * @param props - CardHeader component props\n * @returns CardHeader component\n */\nexport const CardHeader = React.forwardRef<HTMLDivElement, CardHeaderProps>(\n (\n {\n action,\n avatar,\n component = 'div',\n disableTypography = false,\n subheader,\n subheaderTypographyProps,\n title,\n titleTypographyProps,\n sx,\n ...props\n },\n ref\n ) => {\n return (\n <MuiCardHeader\n ref={ref}\n action={action}\n avatar={avatar}\n component={component}\n disableTypography={disableTypography}\n subheader={subheader}\n subheaderTypographyProps={subheaderTypographyProps}\n title={title}\n titleTypographyProps={titleTypographyProps}\n sx={{\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nCardHeader.displayName = 'CardHeader';\n\nexport default CardHeader;\n","/**\n * CardMedia Component\n *\n * CardMedia component for the MRS Design System.\n * Wraps Material-UI CardMedia - displays media (images, video, etc.) within a Card.\n *\n * @see {@link https://v6.mui.com/material-ui/api/card-media/}\n */\n\nimport React from 'react';\nimport MuiCardMedia from '@mui/material/CardMedia';\nimport type { CardMediaProps } from './Card.types';\n\n/**\n * CardMedia component\n *\n * Displays media content within a Card. Can be used for images, videos,\n * or other media types. Supports both background images and direct media elements.\n *\n * @param props - CardMedia component props\n * @returns CardMedia component\n */\nexport const CardMedia = React.forwardRef<HTMLDivElement, CardMediaProps>(\n ({ component = 'div', image, src, sx, ...props }, ref) => {\n return (\n <MuiCardMedia\n ref={ref}\n component={component}\n image={image}\n src={src}\n sx={{\n ...sx,\n }}\n {...props}\n />\n );\n }\n);\n\nCardMedia.displayName = 'CardMedia';\n\nexport default CardMedia;\n","/**\n * ExpandableNavItem Component\n *\n * Collapsible navigation item component for the MRS Design System.\n * Supports nested child items with expand/collapse functionality.\n *\n * @example\n * ```tsx\n * import { ExpandableNavItem } from '@atipicus/mrs-ui';\n * import InboxIcon from '@mui/icons-material/Inbox';\n *\n * function MyNav() {\n * const [open, setOpen] = React.useState(false);\n *\n * return (\n * <List>\n * <ExpandableNavItem\n * label=\"Products\"\n * icon={<InboxIcon />}\n * isOpen={open}\n * onToggle={() => setOpen(!open)}\n * children={[\n * { label: 'All Products', onClick: () => console.log('All') },\n * { label: 'Categories', onClick: () => console.log('Categories') }\n * ]}\n * />\n * </List>\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/api/list-item-button/}\n * @see {@link https://mui.com/material-ui/api/collapse/}\n */\n\nimport React from 'react';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Collapse from '@mui/material/Collapse';\nimport List from '@mui/material/List';\nimport { useTheme } from '@mui/material/styles';\nimport { MaterialSymbol } from '../../atoms/MaterialSymbol';\nimport type { ExpandableNavItemProps, NavItem } from './ExpandableNavItem.types';\n\n/**\n * ExpandableNavItem component\n *\n * Collapsible navigation item with support for nested child items.\n * Features expand/collapse animation and selected state support.\n *\n * Features:\n * - Expandable/collapsible with smooth animation\n * - Supports nested child items\n * - Icon support for parent and child items\n * - Selected/active state highlighting\n * - MRS design tokens (Nunito font, MRS colors)\n * - Full accessibility support (ARIA attributes)\n *\n * @param props - ExpandableNavItem component props\n * @returns ExpandableNavItem component\n */\nexport const ExpandableNavItem = React.forwardRef<HTMLDivElement, ExpandableNavItemProps>(\n (\n {\n label,\n icon,\n isOpen = false,\n onToggle,\n children = [],\n selected = false,\n onClick,\n ListItemButtonProps,\n childListItemButtonProps,\n },\n ref\n ) => {\n const theme = useTheme();\n\n const handleParentClick = () => {\n if (onToggle) {\n onToggle();\n }\n if (onClick) {\n onClick();\n }\n };\n\n return (\n <div ref={ref}>\n {/* Parent Item */}\n <ListItemButton\n selected={selected}\n onClick={handleParentClick}\n sx={{\n fontFamily: theme.typography.fontFamily,\n ...ListItemButtonProps?.sx,\n }}\n {...ListItemButtonProps}\n >\n {icon && <ListItemIcon sx={{ minWidth: 40 }}>{icon}</ListItemIcon>}\n <ListItemText\n primary={label}\n primaryTypographyProps={{\n fontFamily: theme.typography.fontFamily,\n fontWeight: selected ? 600 : 400,\n }}\n />\n {children.length > 0 && (\n <MaterialSymbol icon={isOpen ? 'expand_less' : 'expand_more'} size=\"medium\" />\n )}\n </ListItemButton>\n\n {/* Collapsible Child Items */}\n {children.length > 0 && (\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {children.map((child: NavItem, index: number) => (\n <ListItemButton\n key={index}\n selected={child.selected}\n onClick={child.onClick}\n sx={{\n pl: icon ? 9 : 4,\n fontFamily: theme.typography.fontFamily,\n ...childListItemButtonProps?.sx,\n }}\n {...childListItemButtonProps}\n >\n {child.icon && <ListItemIcon sx={{ minWidth: 40 }}>{child.icon}</ListItemIcon>}\n <ListItemText\n primary={child.label}\n primaryTypographyProps={{\n fontFamily: theme.typography.fontFamily,\n fontSize: '0.875rem',\n fontWeight: child.selected ? 600 : 400,\n }}\n />\n </ListItemButton>\n ))}\n </List>\n </Collapse>\n )}\n </div>\n );\n }\n);\n\nExpandableNavItem.displayName = 'ExpandableNavItem';\n\nexport type { ExpandableNavItemProps, NavItem };\nexport default ExpandableNavItem;\n","/**\n * DrawerNavigation Component\n *\n * Navigation component for Drawer with support for expandable items.\n * Built for the MRS Design System with Figma design specifications.\n *\n * @example\n * ```tsx\n * import { Drawer, DrawerNavigation } from '@atipicus/mrs-ui';\n * import HomeIcon from '@mui/icons-material/Home';\n * import InboxIcon from '@mui/icons-material/Inbox';\n * import SettingsIcon from '@mui/icons-material/Settings';\n *\n * function MyDrawer() {\n * const [open, setOpen] = React.useState(false);\n *\n * return (\n * <Drawer open={open} onClose={() => setOpen(false)}>\n * <DrawerNavigation\n * items={[\n * { label: 'Dashboard', icon: <HomeIcon />, path: '/' },\n * {\n * label: 'Products',\n * icon: <InboxIcon />,\n * expandable: true,\n * children: [\n * { label: 'All Products', path: '/products' },\n * { label: 'Categories', path: '/categories' }\n * ]\n * },\n * { label: 'Settings', icon: <SettingsIcon />, path: '/settings' }\n * ]}\n * />\n * </Drawer>\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/react-drawer/}\n */\n\nimport React, { useState } from 'react';\nimport Box from '@mui/material/Box';\nimport List from '@mui/material/List';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport Divider from '@mui/material/Divider';\nimport { useTheme } from '@mui/material/styles';\nimport { ExpandableNavItem } from '../ExpandableNavItem';\nimport type {\n DrawerNavigationProps,\n DrawerNavItem,\n ExpandableNavItem as ExpandableNavItemType,\n SimpleNavItem,\n} from './DrawerNavigation.types';\n\n/**\n * Type guard to check if an item is expandable\n */\nfunction isExpandableItem(item: DrawerNavItem): item is ExpandableNavItemType {\n return item.expandable === true;\n}\n\n/**\n * DrawerNavigation component\n *\n * Full-featured navigation component for use within Drawer.\n * Supports simple and expandable navigation items with icons.\n *\n * Features:\n * - Simple and expandable navigation items\n * - Icon support for all items\n * - Selected/active state highlighting\n * - Optional dividers between items\n * - Configurable width and padding (defaults from Figma)\n * - MRS design tokens (Nunito font, MRS colors)\n * - Full accessibility support\n *\n * @param props - DrawerNavigation component props\n * @returns DrawerNavigation component\n */\nexport const DrawerNavigation = React.forwardRef<HTMLDivElement, DrawerNavigationProps>(\n ({ items, width = 256, paddingTop = 32, paddingBottom = 32, sx, listSx, onItemClick }, ref) => {\n const theme = useTheme();\n\n // Track open state for expandable items\n const [openItems, setOpenItems] = useState<Record<string, boolean>>(() => {\n const initial: Record<string, boolean> = {};\n items.forEach((item, index) => {\n if (isExpandableItem(item)) {\n const key = item.id || `item-${index}`;\n initial[key] = item.defaultOpen || false;\n }\n });\n return initial;\n });\n\n const handleToggle = (itemId: string) => {\n setOpenItems((prev) => ({\n ...prev,\n [itemId]: !prev[itemId],\n }));\n };\n\n const handleItemClick = (item: DrawerNavItem) => {\n if (item.onClick) {\n item.onClick();\n }\n if (onItemClick) {\n onItemClick(item);\n }\n };\n\n return (\n <Box\n ref={ref}\n sx={{\n width,\n paddingTop: `${paddingTop}px`,\n paddingBottom: `${paddingBottom}px`,\n fontFamily: theme.typography.fontFamily,\n ...sx,\n }}\n >\n <List\n sx={{\n '& .MuiListItemButton-root': {\n fontFamily: theme.typography.fontFamily,\n },\n ...listSx,\n }}\n >\n {items.map((item, index) => {\n const itemId = item.id || `item-${index}`;\n const isLast = index === items.length - 1;\n\n if (isExpandableItem(item)) {\n return (\n <React.Fragment key={itemId}>\n <ExpandableNavItem\n label={item.label}\n icon={item.icon}\n isOpen={openItems[itemId]}\n onToggle={() => handleToggle(itemId)}\n selected={item.selected}\n onClick={() => handleItemClick(item)}\n children={item.children}\n />\n {(item.divider || (!isLast && items[index + 1]?.divider)) && (\n <Divider sx={{ my: 1 }} />\n )}\n </React.Fragment>\n );\n }\n\n // Simple nav item\n const simpleItem = item as SimpleNavItem;\n return (\n <React.Fragment key={itemId}>\n <ListItemButton\n selected={simpleItem.selected}\n onClick={() => handleItemClick(simpleItem)}\n sx={{\n fontFamily: theme.typography.fontFamily,\n }}\n >\n {simpleItem.icon && (\n <ListItemIcon sx={{ minWidth: 40 }}>{simpleItem.icon}</ListItemIcon>\n )}\n <ListItemText\n primary={simpleItem.label}\n primaryTypographyProps={{\n fontFamily: theme.typography.fontFamily,\n fontWeight: simpleItem.selected ? 600 : 400,\n }}\n />\n </ListItemButton>\n {(simpleItem.divider || (!isLast && items[index + 1]?.divider)) && (\n <Divider sx={{ my: 1 }} />\n )}\n </React.Fragment>\n );\n })}\n </List>\n </Box>\n );\n }\n);\n\nDrawerNavigation.displayName = 'DrawerNavigation';\n\nexport type { DrawerNavigationProps, DrawerNavItem };\nexport default DrawerNavigation;\n","/**\n * List Component\n *\n * List component for the MRS Design System.\n * Wraps Material-UI List with custom theme tokens.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=11566-157133&m=dev\n * @see {@link https://mui.com/material-ui/react-list/}\n */\n\nimport React from 'react';\nimport MuiList from '@mui/material/List';\nimport type { ListProps } from './List.types';\n\n/**\n * List component\n *\n * Lists are continuous, vertical indexes of text or images.\n * They are composed of items containing primary and supplemental actions.\n *\n * @param props - List component props\n * @returns List component\n */\nexport const List = React.forwardRef<HTMLUListElement, ListProps>(\n (\n {\n children,\n dense = false,\n disablePadding = false,\n subheader,\n component = 'ul',\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiList\n ref={ref}\n dense={dense}\n disablePadding={disablePadding}\n subheader={subheader}\n component={component}\n sx={sx}\n {...restProps}\n >\n {children}\n </MuiList>\n );\n }\n);\n\nList.displayName = 'List';\n","/**\n * ListItem Component\n *\n * ListItem component for the MRS Design System.\n * Wraps Material-UI ListItem and ListItemButton with custom theme tokens.\n *\n * Based on Figma design specifications with all variants and states.\n *\n * @figma https://www.figma.com/design/c4weC6RhdEd7c8B1GkCjTB/MRS---Material-UI-v.7.2.0?node-id=6591-48882&m=dev\n * @see {@link https://mui.com/material-ui/react-list/}\n */\n\nimport React from 'react';\nimport MuiListItem from '@mui/material/ListItem';\nimport MuiListItemButton from '@mui/material/ListItemButton';\nimport { alpha, useTheme } from '@mui/material/styles';\nimport type { ListItemProps } from './ListItem.types';\nimport { getThemeShape } from '../../../types/theme-helpers';\n\n/**\n * ListItem component\n *\n * ListItem is an interactive list item component by default.\n * When button prop is true (default), it wraps children with ListItemButton for interactivity.\n *\n * Key features:\n * - Interactive by default with hover, focus, and selected states\n * - Selected state uses SemiBold font and primary.dark color\n * - Dense mode for compact layouts\n * - Support for icons, secondary text, and actions\n *\n * @param props - ListItem component props\n * @returns ListItem component\n */\n// Use HTMLElement to remain compatible with polymorphic `component` prop.\nexport const ListItem = React.forwardRef<HTMLElement, ListItemProps>(\n (\n {\n children,\n button = true,\n dense = false,\n disableGutters = false,\n divider = false,\n disablePadding = false,\n secondaryAction,\n alignItems = 'center',\n selected = false,\n disabled = false,\n autoFocus = false,\n onClick,\n component,\n sx,\n ...restProps\n },\n ref\n ) => {\n const theme = useTheme();\n const shape = getThemeShape(theme);\n const hoverColor =\n theme.palette.primary._states?.hover ?? alpha(theme.palette.primary.main, 0.08);\n const focusColor =\n theme.palette.primary._states?.focus ?? alpha(theme.palette.primary.main, 0.12);\n const selectedColor =\n theme.palette.primary._states?.selected ?? alpha(theme.palette.primary.main, 0.12);\n\n // If button is true, use ListItemButton wrapper for interactivity\n if (button) {\n return (\n <MuiListItem\n ref={ref as React.Ref<HTMLLIElement>}\n dense={dense}\n disableGutters={disableGutters}\n divider={divider}\n disablePadding={disablePadding}\n secondaryAction={secondaryAction}\n {...(component && { component })}\n sx={sx}\n {...restProps}\n >\n <MuiListItemButton\n selected={selected}\n disabled={disabled}\n autoFocus={autoFocus}\n onClick={onClick}\n alignItems={alignItems}\n sx={{\n // Hover/press/focus styling aligned with tokens\n '&:hover': {\n backgroundColor: hoverColor,\n },\n '&:active': {\n backgroundColor: selectedColor,\n },\n '&.Mui-focusVisible': {\n outline: `3px solid ${focusColor}`,\n outlineOffset: 0,\n borderRadius: shape.sm, // Use type-safe helper (4px)\n },\n // Selected state: Apply SemiBold weight and primary.dark color to text\n '&.Mui-selected': {\n backgroundColor: selectedColor,\n '&:hover': {\n backgroundColor: hoverColor,\n },\n },\n ...(selected && {\n '& .MuiListItemText-primary': {\n fontFamily: theme.typography.subtitle1.fontFamily,\n fontWeight: theme.typography.subtitle1.fontWeight,\n color: theme.palette.primary.dark,\n },\n }),\n }}\n >\n {children}\n </MuiListItemButton>\n </MuiListItem>\n );\n }\n\n // Otherwise, use standard ListItem (static, non-interactive)\n return (\n <MuiListItem\n ref={ref as React.Ref<HTMLLIElement>}\n dense={dense}\n disableGutters={disableGutters}\n divider={divider}\n disablePadding={disablePadding}\n secondaryAction={secondaryAction}\n alignItems={alignItems}\n {...(component && { component })}\n sx={sx}\n {...restProps}\n >\n {children}\n </MuiListItem>\n );\n }\n);\n\nListItem.displayName = 'ListItem';\n","/**\n * Menu Component\n * @package @mrs/ui\n *\n * Displays a list of choices on temporary surfaces.\n * Menus appear when users interact with a button, action, or other control.\n *\n * @example\n * ```tsx\n * const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);\n *\n * <Button onClick={(e) => setAnchorEl(e.currentTarget)}>\n * Open Menu\n * </Button>\n * <Menu\n * open={Boolean(anchorEl)}\n * anchorEl={anchorEl}\n * onClose={() => setAnchorEl(null)}\n * >\n * <MenuItem onClick={() => setAnchorEl(null)}>Profile</MenuItem>\n * <MenuItem onClick={() => setAnchorEl(null)}>Settings</MenuItem>\n * </Menu>\n * ```\n */\n\nimport React from 'react';\nimport MuiMenu from '@mui/material/Menu';\nimport type { MenuProps } from './Menu.types';\n\nexport const Menu = React.forwardRef<HTMLDivElement, MenuProps>(\n (\n {\n open,\n anchorEl,\n onClose,\n children,\n anchorOrigin = { vertical: 'top', horizontal: 'left' },\n transformOrigin = { vertical: 'top', horizontal: 'left' },\n autoFocus = false,\n MenuListProps,\n variant = 'selectedMenu',\n ...props\n },\n ref\n ) => {\n return (\n <MuiMenu\n ref={ref}\n open={open}\n anchorEl={anchorEl}\n onClose={onClose}\n anchorOrigin={anchorOrigin}\n transformOrigin={transformOrigin}\n autoFocus={autoFocus}\n MenuListProps={MenuListProps}\n variant={variant}\n {...props}\n >\n {children}\n </MuiMenu>\n );\n }\n);\n\nMenu.displayName = 'Menu';\n\nexport default Menu;\n","/**\n * Pagination Component\n * @package @mrs/ui\n *\n * Enables navigation through paged content.\n * Pagination divides content into discrete pages with navigation controls.\n *\n * @example\n * ```tsx\n * const [page, setPage] = useState(1);\n *\n * <Pagination\n * count={10}\n * page={page}\n * onChange={(e, value) => setPage(value)}\n * />\n * ```\n */\n\nimport React from 'react';\nimport MuiPagination from '@mui/material/Pagination';\nimport type { PaginationProps } from './Pagination.types';\n\nexport const Pagination = React.forwardRef<HTMLElement, PaginationProps>(\n (\n {\n count,\n page = 1,\n onChange,\n variant = 'text',\n shape = 'circular',\n size = 'medium',\n color = 'standard',\n disabled = false,\n hideNextButton = false,\n hidePrevButton = false,\n showFirstButton = false,\n showLastButton = false,\n boundaryCount = 1,\n siblingCount = 1,\n ...props\n },\n ref\n ) => {\n return (\n <MuiPagination\n ref={ref}\n count={count}\n page={page}\n onChange={onChange}\n variant={variant}\n shape={shape}\n size={size}\n color={color}\n disabled={disabled}\n hideNextButton={hideNextButton}\n hidePrevButton={hidePrevButton}\n showFirstButton={showFirstButton}\n showLastButton={showLastButton}\n boundaryCount={boundaryCount}\n siblingCount={siblingCount}\n {...props}\n />\n );\n }\n);\n\nPagination.displayName = 'Pagination';\n\nexport default Pagination;\n","/**\n * Rating Component\n *\n * Rating component for the MRS Design System.\n * Wraps Material-UI Rating with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-rating/}\n */\n\nimport React from 'react';\nimport MuiRating from '@mui/material/Rating';\nimport type { RatingProps } from './Rating.types';\n\n/**\n * Rating component\n *\n * Ratings provide insight regarding others' opinions and experiences,\n * and can allow the user to submit a rating of their own.\n *\n * @param props - Rating component props\n * @returns Rating component\n */\nexport const Rating = React.forwardRef<HTMLSpanElement, RatingProps>(\n (\n {\n size = 'medium',\n max = 5,\n precision = 1,\n readOnly = false,\n disabled = false,\n highlightSelectedOnly = false,\n emptyIcon,\n icon,\n defaultValue,\n value,\n onChange,\n onChangeActive,\n name,\n id,\n sx,\n ...restProps\n },\n ref\n ) => {\n return (\n <MuiRating\n ref={ref}\n size={size}\n max={max}\n precision={precision}\n readOnly={readOnly}\n disabled={disabled}\n highlightSelectedOnly={highlightSelectedOnly}\n emptyIcon={emptyIcon}\n icon={icon}\n defaultValue={defaultValue}\n value={value}\n onChange={onChange}\n onChangeActive={onChangeActive}\n name={name}\n id={id}\n sx={sx}\n {...restProps}\n />\n );\n }\n);\n\nRating.displayName = 'Rating';\n","/**\n * Sidenav Component\n *\n * Side navigation component for the MRS Design System.\n * Supports two variants: 'default' (256px) with full labels and 'slim' (72px) with icons only.\n *\n * @figma https://figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=13099-16347\n *\n * @example\n * ```tsx\n * import { Sidenav } from '@atipicus/mrs-ui';\n *\n * function App() {\n * return (\n * <Sidenav\n * variant=\"default\"\n * items={[\n * { label: 'Inicio', icon: 'home', selected: true },\n * { label: 'Citas', icon: 'event' },\n * {\n * header: 'Mi salud',\n * items: [\n * { label: 'Órdenes', icon: 'order_approve' },\n * { label: 'Recetas', icon: 'medication' },\n * ]\n * }\n * ]}\n * actionButton={{\n * label: 'Agendar',\n * icon: 'add',\n * onClick: () => console.log('Add clicked')\n * }}\n * />\n * );\n * }\n * ```\n *\n * @see {@link https://mui.com/material-ui/react-drawer/}\n */\n\nimport React from 'react';\nimport Box from '@mui/material/Box';\nimport List from '@mui/material/List';\nimport ListItemButton from '@mui/material/ListItemButton';\nimport ListItemIcon from '@mui/material/ListItemIcon';\nimport ListItemText from '@mui/material/ListItemText';\nimport ListSubheader from '@mui/material/ListSubheader';\nimport Paper from '@mui/material/Paper';\nimport Divider from '@mui/material/Divider';\nimport Tooltip from '@mui/material/Tooltip';\nimport { useTheme } from '@mui/material/styles';\nimport { Button } from '../../atoms/Button';\nimport { IconButton } from '../../atoms/IconButton';\nimport { MaterialSymbol } from '../../atoms/MaterialSymbol';\nimport type { SidenavProps, SidenavItem, SidenavNavigationItem } from './Sidenav.types';\nimport * as tokens from '../../../tokens/generated/ts/tokens';\n\n// MRS Logo SVG component\nconst MRSLogo = ({ variant = 'default' }: { variant?: 'default' | 'slim' }) => {\n if (variant === 'slim') {\n // Slim variant - only show the \"Mi\" icon part\n return (\n <Box\n component=\"svg\"\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n sx={{ display: 'block' }}\n >\n <path\n d=\"M4 10.5C4 9.6 4.7 8.9 5.6 8.9H6C6.7 8.9 7.2 9.3 7.5 9.8L11.4 16.1L15.3 9.8C15.6 9.2 16.1 8.9 16.7 8.9H17.1C18 8.9 18.7 9.6 18.7 10.5V22.1C18.7 23 18 23.7 17.1 23.7C16.2 23.7 15.5 23 15.5 22.1V14.8L12.7 19.2C12.4 19.7 11.9 20 11.4 20C10.8 20 10.4 19.7 10 19.2L7.2 14.9V22.2C7.2 23.1 6.5 23.7 5.6 23.7C4.7 23.7 4 23 4 22.2V10.5Z\"\n fill=\"#99CC00\"\n />\n <path\n d=\"M20.5 9.7C20.5 8.8 21.3 8.2 22.3 8.2C23.3 8.2 24.1 8.8 24.1 9.7V9.7C24.1 10.6 23.3 11.2 22.3 11.2C21.3 11.2 20.5 10.6 20.5 9.7V9.7ZM20.7 13.8C20.7 13 21.4 12.3 22.3 12.3C23.2 12.3 23.9 13 23.9 13.8V22.1C23.9 23 23.2 23.7 22.3 23.7C21.4 23.7 20.7 23 20.7 22.1V13.8Z\"\n fill=\"#99CC00\"\n />\n <circle cx=\"26\" cy=\"10\" r=\"3\" fill=\"#009999\" />\n </Box>\n );\n }\n\n // Default variant - full logo\n return (\n <Box\n component=\"svg\"\n width=\"140\"\n height=\"16\"\n viewBox=\"0 0 140 16\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n sx={{ display: 'block' }}\n >\n <path\n d=\"M99.3289 15.5655H107.522C108.077 15.5655 108.527 15.1155 108.527 14.5621C108.527 14.0072 108.076 13.558 107.522 13.558H100.445C100.383 13.558 100.331 13.5066 100.331 13.4449V1.70999C100.331 1.07776 99.816 0.563799 99.1822 0.563799C98.5476 0.563799 98.0337 1.07776 98.0337 1.70999V14.2728C98.0337 14.9868 98.6131 15.5655 99.3289 15.5655Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M116.242 15.8079C120.637 15.8079 122.913 12.8298 122.913 9.3659V1.70998C122.913 1.07626 122.399 0.56304 121.765 0.56304C121.13 0.56304 120.617 1.077 120.617 1.70998V9.18962C120.617 11.7706 119.224 13.6673 116.242 13.6673C113.303 13.6673 111.934 11.903 111.934 9.21119V1.70998C111.934 1.07626 111.42 0.56304 110.786 0.56304C110.151 0.56304 109.638 1.077 109.638 1.70998V9.3659C109.636 13.1161 111.889 15.8079 116.242 15.8079Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M126.704 15.6599H131.505C135.947 15.6599 139.26 12.9956 139.26 8.13342C139.26 3.22733 135.946 0.586098 131.505 0.56304H126.704C125.989 0.56304 125.408 1.14543 125.408 1.86394V14.3583C125.408 15.0775 125.989 15.6599 126.704 15.6599ZM127.821 2.5832H131.417C134.621 2.60477 136.897 4.53641 136.897 8.13268C136.897 11.6858 134.621 13.639 131.417 13.639H127.821C127.758 13.639 127.708 13.5877 127.708 13.5252V2.69774C127.708 2.63452 127.758 2.5832 127.821 2.5832Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M49.8801 0.56304H40.67C39.9543 0.56304 39.3748 1.14172 39.3748 1.85651V14.272C39.3748 14.9868 39.9543 15.5655 40.67 15.5655H49.8801C50.7411 15.5655 51.4367 14.8693 51.4367 14.0109V13.9001C51.4367 13.0403 50.7403 12.3441 49.8801 12.3441H43.0176C42.958 12.3441 42.9103 12.2965 42.9103 12.237V9.58383C42.9103 9.52433 42.958 9.47672 43.0176 9.47672H48.2676C49.1286 9.47672 49.8257 8.78053 49.8257 7.9207C49.8257 7.06235 49.1286 6.36467 48.2676 6.36467H43.0176C42.958 6.36467 42.9103 6.31707 42.9103 6.25756V3.89154C42.9103 3.83203 42.958 3.78443 43.0176 3.78443H49.8801C50.7411 3.78443 51.4367 3.08824 51.4367 2.22989V2.11832C51.4367 1.25924 50.7411 0.56304 49.8801 0.56304Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M59.9668 0.56304H54.5231C53.8073 0.56304 53.2279 1.14172 53.2279 1.85651V14.272C53.2279 14.9868 53.8073 15.5655 54.5231 15.5655H59.9668C64.4072 15.5655 67.7208 12.9183 67.7208 8.08582C67.7208 3.21022 64.4072 0.585354 59.9668 0.56304ZM59.8119 12.3441H57.0479C56.9876 12.3441 56.9392 12.295 56.9392 12.237V3.89154C56.9392 3.83129 56.9869 3.78443 57.0479 3.78443H59.8119C62.2421 3.78443 63.8993 5.30624 63.8993 8.08507C63.8985 10.823 62.2414 12.3441 59.8119 12.3441Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M96.0538 14.5844C96.0538 14.426 96.018 14.2765 95.957 14.1403H95.9585L90.7948 1.70551C90.5081 1.01378 89.7745 0.56304 89.0245 0.56304H88.9872C88.2387 0.56304 87.5051 1.01378 87.2168 1.70551L82.0539 14.1403C81.9921 14.2765 81.9571 14.426 81.9571 14.5844C81.9571 15.1794 82.4405 15.6607 83.0363 15.6607C83.507 15.6607 83.9144 15.3654 84.0604 14.9451C84.0775 14.9027 84.0887 14.8745 84.1036 14.8403L85.1404 12.3337C85.1612 12.2868 85.2066 12.2563 85.258 12.2563H92.7551C92.8065 12.2563 92.8512 12.2868 92.872 12.3337L93.9088 14.8403C93.9237 14.8745 93.9364 14.9102 93.9498 14.9451C94.0972 15.3639 94.5061 15.6607 94.9761 15.6607C95.5704 15.6607 96.0538 15.1794 96.0538 14.5844ZM92.1265 10.5128H85.8837C85.8286 10.5128 85.7936 10.4578 85.8137 10.408L88.8882 3.16113C88.9098 3.10832 88.9567 3.08229 89.0051 3.08005C89.0542 3.08229 89.1012 3.10832 89.1228 3.16113L92.1965 10.408C92.2181 10.4585 92.1816 10.5128 92.1265 10.5128Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M36.6464 12.5709H36.5548C35.1933 12.5709 33.8959 11.3035 32.5783 10.0926C32.5403 10.0569 32.5575 9.99814 32.6066 9.98624C34.8216 9.48939 36.4229 7.8084 36.4229 5.48924C36.4229 1.98074 33.5726 0.546697 30.6568 0.546697H24.8161C24.1004 0.546697 23.5209 1.12537 23.5209 1.84016V13.9328C23.5209 14.9556 24.3521 15.7856 25.3769 15.7856C26.4025 15.7856 27.233 14.9556 27.233 13.9321L27.2315 13.9254V10.2592C27.2315 10.1967 27.2829 10.1447 27.3462 10.1447H27.8027C27.8802 10.1462 28.0843 10.1744 28.3412 10.3812C30.259 11.929 32.6923 15.77 35.9582 15.77C36.3082 15.77 36.6404 15.7343 36.9562 15.68L36.9778 15.6763C37.6876 15.5246 38.2179 14.8946 38.2179 14.1411C38.2194 13.2731 37.5148 12.5709 36.6464 12.5709ZM30.5912 7.49006H27.3402C27.2806 7.49006 27.233 7.44097 27.233 7.38295V3.89156C27.233 3.83206 27.2806 3.78445 27.3402 3.78445H30.5912C31.806 3.78445 32.5791 4.48957 32.5791 5.638C32.5783 6.74031 31.806 7.49006 30.5912 7.49006Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M76.891 7.12038L73.9088 6.326C72.6062 5.99501 71.8755 5.57179 71.8755 4.55651C71.8755 3.43114 72.951 2.22247 75.3448 2.4828C76.4329 2.60032 77.603 2.90081 78.5839 3.34486C78.6271 3.36569 78.7291 3.40511 78.8445 3.44155C78.9682 3.47726 79.0866 3.50924 79.2184 3.50924C79.7845 3.50924 80.2425 3.0518 80.2425 2.48726C80.2425 2.26933 80.174 2.0685 80.0586 1.90264C79.9439 1.73454 79.7696 1.58206 79.5149 1.46528C78.4282 1.00413 76.8954 0.455204 75.4334 0.363717C71.3773 0.112313 69.5131 2.39429 69.5131 4.73204C69.5131 6.69642 70.7278 7.99806 72.916 8.54922L75.9428 9.32054C77.6216 9.7393 78.5719 10.3135 78.5719 11.3727C78.5719 12.7628 77.1799 13.6673 74.9932 13.6673C73.7725 13.6673 72.5965 13.3579 71.6387 12.9674L71.5858 12.9466C71.4838 12.9064 71.3951 12.8804 71.2953 12.864C71.2953 12.864 71.1568 12.8447 71.0853 12.8447C70.7896 12.8447 70.523 12.9637 70.3286 13.157C70.1342 13.3497 70.0143 13.6182 70.0143 13.9135C70.0143 14.2021 70.1312 14.4646 70.3182 14.6588L70.3167 14.6603C70.4358 14.7889 70.5888 14.8923 70.7695 14.9615C71.851 15.3892 73.3763 15.7841 74.9485 15.7841C78.5057 15.7841 80.9583 13.8094 80.9583 11.029C80.956 8.91368 79.5409 7.84856 76.891 7.12038Z\"\n fill=\"#009999\"\n />\n <path\n d=\"M0 2.25742C0 1.35892 0.711276 0.648588 1.61098 0.648588H1.96699C2.65742 0.648588 3.13855 1.00412 3.432 1.48462L7.32428 7.81657L11.2374 1.46379C11.5726 0.920818 12.0329 0.648588 12.6816 0.648588H13.0376C13.9373 0.648588 14.6486 1.35892 14.6486 2.25742V13.8763C14.6486 14.7748 13.9373 15.4851 13.0376 15.4851C12.1587 15.4851 11.4474 14.754 11.4474 13.8763V6.58261L8.62171 10.9301C8.28655 11.4314 7.86872 11.7453 7.28257 11.7453C6.69642 11.7453 6.27785 11.4322 5.94344 10.9301L3.16015 6.64583V13.918C3.16015 14.7956 2.44887 15.4851 1.57002 15.4851C0.691167 15.4851 0.000744809 14.7956 0.000744809 13.918L0 2.25742Z\"\n fill=\"#99CC00\"\n />\n <path\n d=\"M16.5315 1.48388C16.5315 0.564543 17.3061 0 18.3101 0C19.3148 0 20.0887 0.564543 20.0887 1.48388V1.52553C20.0887 2.44487 19.3141 3.03024 18.3101 3.03024C17.3054 3.03024 16.5315 2.44487 16.5315 1.52553V1.48388ZM16.72 5.62163C16.72 4.74395 17.4313 4.03362 18.3101 4.03362C19.189 4.03362 19.9002 4.74395 19.9002 5.62163V13.8971C19.9002 14.7748 19.189 15.4851 18.3101 15.4851C17.4313 15.4851 16.72 14.7748 16.72 13.8971V5.62163Z\"\n fill=\"#99CC00\"\n />\n </Box>\n );\n};\n\n/**\n * Check if item is a group with header\n */\nfunction isGroup(item: SidenavNavigationItem): item is { header: string; items: SidenavItem[] } {\n return 'header' in item && 'items' in item;\n}\n\n/**\n * Sidenav component\n *\n * Side navigation panel with support for default (256px) and slim (72px) variants.\n * Designed following MRS Design System specifications from Figma.\n *\n * Features:\n * - Two variants: default (with labels) and slim (icons only)\n * - Logo section with MRS branding\n * - Action button (Button in default, IconButton in slim)\n * - Navigation items with icons\n * - Group headers for organizing items\n * - Selected/active state highlighting\n * - Tooltips in slim mode for accessibility\n * - MRS design tokens (Nunito font, MRS colors)\n *\n * @param props - Sidenav component props\n * @returns Sidenav component\n */\nexport const Sidenav = React.forwardRef<HTMLDivElement, SidenavProps>(\n (\n {\n variant = 'default',\n logo = true,\n logoElement,\n items = [],\n actionButton,\n showActionButton = true,\n onItemClick,\n width,\n height = '100vh',\n sx,\n listSx,\n },\n ref\n ) => {\n const theme = useTheme();\n const mode = theme.palette.mode;\n\n // Determine width based on variant using tokens\n const sidenavWidth =\n width ??\n (variant === 'slim'\n ? tokens.ComponentSidenavWidthCollapsed\n : tokens.ComponentSidenavWidthExpanded);\n\n const handleItemClick = (item: SidenavItem) => {\n if (item.onClick) {\n item.onClick();\n }\n if (onItemClick) {\n onItemClick(item);\n }\n };\n\n // Render a navigation item\n const renderNavItem = (item: SidenavItem, index: number) => {\n const itemContent = (\n <ListItemButton\n key={item.id || `item-${index}`}\n selected={item.selected}\n onClick={() => handleItemClick(item)}\n sx={{\n borderRadius:\n mode === 'light'\n ? tokens.ComponentSidenavLightBorderRadius\n : tokens.ComponentSidenavDarkBorderRadius,\n mx: 1,\n px: variant === 'slim' ? 1.5 : 2,\n justifyContent: variant === 'slim' ? 'center' : 'flex-start',\n minHeight: 48,\n '&.Mui-selected': {\n backgroundColor:\n mode === 'light'\n ? tokens.ComponentSidenavLightItemSelectedBackground\n : tokens.ComponentSidenavDarkItemSelectedBackground,\n color:\n mode === 'light'\n ? tokens.ComponentSidenavLightItemSelectedForeground\n : tokens.ComponentSidenavDarkItemSelectedForeground,\n '&:hover': {\n backgroundColor:\n mode === 'light'\n ? tokens.ComponentSidenavLightItemHoverBackground\n : tokens.ComponentSidenavDarkItemHoverBackground,\n },\n },\n }}\n >\n {item.icon && (\n <ListItemIcon\n sx={{\n minWidth: variant === 'slim' ? 'auto' : 40,\n justifyContent: 'center',\n color: item.selected ? theme.palette.primary.dark : theme.palette.text.secondary,\n }}\n >\n <MaterialSymbol\n icon={item.icon}\n size=\"medium\"\n sx={{\n color: 'inherit',\n }}\n />\n </ListItemIcon>\n )}\n {variant === 'default' && (\n <ListItemText\n primary={item.label}\n primaryTypographyProps={{\n fontWeight: item.selected ? 600 : 400,\n color: item.selected ? theme.palette.primary.dark : theme.palette.text.primary,\n }}\n />\n )}\n </ListItemButton>\n );\n\n // Wrap in tooltip for slim variant\n if (variant === 'slim') {\n return (\n <Tooltip key={item.id || `item-${index}`} title={item.label} placement=\"right\" arrow>\n {itemContent}\n </Tooltip>\n );\n }\n\n return itemContent;\n };\n\n // Render a group with header\n const renderGroup = (group: { header: string; items: SidenavItem[] }, groupIndex: number) => {\n if (variant === 'slim') {\n // In slim mode, show divider instead of header\n return (\n <React.Fragment key={`group-${groupIndex}`}>\n <Divider sx={{ my: 1, mx: 1 }} />\n {group.items.map((item, index) => renderNavItem(item, groupIndex * 100 + index))}\n </React.Fragment>\n );\n }\n\n return (\n <React.Fragment key={`group-${groupIndex}`}>\n <ListSubheader\n component=\"div\"\n sx={{\n backgroundColor: 'transparent',\n color: theme.palette.text.secondary,\n fontWeight: 600,\n fontSize: '1rem',\n lineHeight: '48px',\n letterSpacing: '0.1px',\n px: 2,\n }}\n >\n {group.header}\n </ListSubheader>\n {group.items.map((item, index) => renderNavItem(item, groupIndex * 100 + index))}\n </React.Fragment>\n );\n };\n\n return (\n <Paper\n ref={ref}\n elevation={1}\n sx={{\n width: sidenavWidth,\n height,\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 0,\n overflow: 'hidden',\n ...sx,\n }}\n >\n {/* Logo Section */}\n {logo && (\n <Box\n sx={{\n height: 64,\n display: 'flex',\n alignItems: 'center',\n justifyContent: variant === 'slim' ? 'center' : 'flex-start',\n px: 2,\n }}\n >\n {logoElement ?? <MRSLogo variant={variant} />}\n </Box>\n )}\n\n {/* Spacing */}\n <Box sx={{ height: 8 }} />\n\n {/* Action Button Section */}\n {showActionButton && actionButton && (\n <Box\n sx={{\n display: 'flex',\n justifyContent: variant === 'slim' ? 'center' : 'flex-start',\n px: 2,\n }}\n >\n {variant === 'slim' ? (\n <Tooltip title={actionButton.label || 'Add'} placement=\"right\" arrow>\n <IconButton\n color=\"primary\"\n size=\"large\"\n onClick={actionButton.onClick}\n sx={{\n backgroundColor: theme.palette.primary.main,\n color: theme.palette.primary.contrastText,\n '&:hover': {\n backgroundColor: theme.palette.primary.dark,\n },\n }}\n >\n <MaterialSymbol icon={actionButton.icon || 'add'} size=\"medium\" />\n </IconButton>\n </Tooltip>\n ) : (\n <Button\n variant=\"contained\"\n color=\"primary\"\n fullWidth\n startIcon={\n actionButton.icon && <MaterialSymbol icon={actionButton.icon} size=\"small\" />\n }\n onClick={actionButton.onClick}\n >\n {actionButton.label || 'Agendar'}\n </Button>\n )}\n </Box>\n )}\n\n {/* Spacing */}\n <Box sx={{ height: 8 }} />\n\n {/* Navigation List */}\n <List\n sx={{\n flex: 1,\n overflow: 'auto',\n py: 1,\n ...listSx,\n }}\n >\n {items.map((item, index) => {\n if (isGroup(item)) {\n return renderGroup(item, index);\n }\n return renderNavItem(item as SidenavItem, index);\n })}\n </List>\n </Paper>\n );\n }\n);\n\nSidenav.displayName = 'Sidenav';\n\nexport type { SidenavProps, SidenavItem, SidenavNavigationItem };\nexport default Sidenav;\n","/**\n * Sidenav Component Types\n *\n * Type definitions for the Sidenav component in the MRS Design System.\n *\n * @figma https://figma.com/design/pWR8HIewAt87ZioeOSMoWM/MRS---Material-UI?node-id=13099-16347\n */\n\nimport type { ReactNode } from 'react';\nimport type { SxProps, Theme } from '@mui/material/styles';\n\n/**\n * Navigation item interface for sidenav items\n */\nexport interface SidenavItem {\n /** Unique identifier for the item */\n id?: string;\n /** Item label text */\n label: string;\n /** Icon name for MaterialSymbol */\n icon?: string;\n /** Whether this item is selected/active */\n selected?: boolean;\n /** Optional click handler */\n onClick?: () => void;\n /** Optional path for routing */\n path?: string;\n}\n\n/**\n * Navigation group interface for grouped items with subheaders\n */\nexport interface SidenavGroup {\n /** Unique identifier for the group */\n id?: string;\n /** Group header label */\n header: string;\n /** Items within this group */\n items: SidenavItem[];\n}\n\n/**\n * Combined navigation item type (can be simple item or group)\n */\nexport type SidenavNavigationItem = SidenavItem | SidenavGroup;\n\n/**\n * Type guard to check if navigation item is a group\n */\nexport function isSidenavGroup(item: SidenavNavigationItem): item is SidenavGroup {\n return 'header' in item && 'items' in item;\n}\n\n/**\n * Props for the Sidenav component\n */\nexport interface SidenavProps {\n /** Sidenav variant - 'default' (256px) or 'slim' (72px) */\n variant?: 'default' | 'slim';\n /** Whether to show the logo */\n logo?: boolean;\n /** Custom logo element (defaults to MRS logo) */\n logoElement?: ReactNode;\n /** Navigation items - can be simple items or groups with headers */\n items?: SidenavNavigationItem[];\n /** Action button configuration */\n actionButton?: {\n /** Button label (only shown in default variant) */\n label?: string;\n /** Icon name for the button */\n icon?: string;\n /** Click handler */\n onClick?: () => void;\n };\n /** Whether to show the action button */\n showActionButton?: boolean;\n /** Callback when a navigation item is clicked */\n onItemClick?: (item: SidenavItem) => void;\n /** Custom width (overrides variant width) */\n width?: number;\n /** Custom height */\n height?: number | string;\n /** Custom sx styles */\n sx?: SxProps<Theme>;\n /** Custom sx styles for the navigation list */\n listSx?: SxProps<Theme>;\n}\n","/**\n * Snackbar Component\n * @package @mrs/ui\n *\n * Temporary notification message shown at the bottom or top of the screen.\n * Provides brief feedback about an operation through a message at the bottom of the screen.\n *\n * @example\n * ```tsx\n * <Snackbar\n * open={open}\n * autoHideDuration={6000}\n * onClose={handleClose}\n * message=\"Item successfully saved\"\n * />\n * ```\n *\n * @example With severity\n * ```tsx\n * <Snackbar\n * open={open}\n * onClose={handleClose}\n * severity=\"success\"\n * >\n * Item successfully saved!\n * </Snackbar>\n * ```\n */\n\nimport React from 'react';\nimport MuiSnackbar from '@mui/material/Snackbar';\nimport Alert from '@mui/material/Alert';\nimport IconButton from '@mui/material/IconButton';\nimport { MaterialSymbol } from '../../atoms/MaterialSymbol';\nimport type { SnackbarProps } from './Snackbar.types';\n\nexport const Snackbar = React.forwardRef<HTMLDivElement, SnackbarProps>(\n (\n {\n open = false,\n autoHideDuration = 6000,\n onClose,\n message,\n anchorOrigin = { vertical: 'bottom', horizontal: 'left' },\n action,\n severity,\n variant = 'filled',\n showCloseButton = true,\n icon,\n children,\n ...props\n },\n ref\n ) => {\n const handleClose = (event: React.SyntheticEvent | Event, reason?: string) => {\n if (reason === 'clickaway') {\n return;\n }\n onClose?.(event, reason);\n };\n\n // Render as Alert if severity is provided\n if (severity) {\n return (\n <MuiSnackbar\n ref={ref}\n open={open}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n anchorOrigin={anchorOrigin}\n {...props}\n >\n <Alert\n severity={severity}\n variant={variant}\n icon={icon}\n onClose={showCloseButton ? (e) => handleClose(e) : undefined}\n sx={{ width: '100%' }}\n >\n {children || message}\n </Alert>\n </MuiSnackbar>\n );\n }\n\n // Default action (close button) if no action provided\n const defaultAction =\n action !== undefined ? (\n action\n ) : (\n <IconButton size=\"small\" aria-label=\"close\" color=\"inherit\" onClick={(e) => handleClose(e)}>\n <MaterialSymbol icon=\"close\" size=\"small\" />\n </IconButton>\n );\n\n // Render as simple Snackbar\n return (\n <MuiSnackbar\n ref={ref}\n open={open}\n autoHideDuration={autoHideDuration}\n onClose={handleClose}\n message={children || message}\n action={defaultAction}\n anchorOrigin={anchorOrigin}\n {...props}\n />\n );\n }\n);\n\nSnackbar.displayName = 'Snackbar';\n\nexport default Snackbar;\n","/**\n * SpeedDial Component\n *\n * SpeedDial component for the MRS Design System.\n * Wraps Material-UI SpeedDial with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-speed-dial/}\n */\n\nimport React from 'react';\nimport MuiSpeedDial from '@mui/material/SpeedDial';\nimport type { SpeedDialProps } from './SpeedDial.types';\n\n/**\n * SpeedDial component\n *\n * When pressed, a floating action button can display three to six related actions in the form of a Speed Dial.\n *\n * @param props - SpeedDial component props\n * @returns SpeedDial component\n */\nexport const SpeedDial = React.forwardRef<HTMLDivElement, SpeedDialProps>((props, ref) => {\n return <MuiSpeedDial ref={ref} {...props} />;\n});\n\nSpeedDial.displayName = 'SpeedDial';\n","/**\n * SpeedDialAction Component\n *\n * SpeedDialAction component for the MRS Design System.\n * Wraps Material-UI SpeedDialAction with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-speed-dial/}\n */\n\nimport React from 'react';\nimport MuiSpeedDialAction from '@mui/material/SpeedDialAction';\nimport type { SpeedDialActionProps } from './SpeedDial.types';\n\n/**\n * SpeedDialAction component\n *\n * Individual action button for SpeedDial.\n *\n * @param props - SpeedDialAction component props\n * @returns SpeedDialAction component\n */\nexport const SpeedDialAction = React.forwardRef<HTMLDivElement, SpeedDialActionProps>(\n (props, ref) => {\n return <MuiSpeedDialAction ref={ref} {...props} />;\n }\n);\n\nSpeedDialAction.displayName = 'SpeedDialAction';\n","/**\n * SpeedDialIcon Component\n *\n * SpeedDialIcon component for the MRS Design System.\n * Wraps Material-UI SpeedDialIcon with custom theme tokens.\n *\n * @see {@link https://mui.com/material-ui/react-speed-dial/}\n */\n\nimport React from 'react';\nimport MuiSpeedDialIcon from '@mui/material/SpeedDialIcon';\nimport type { SpeedDialIconProps } from './SpeedDial.types';\n\n/**\n * SpeedDialIcon component\n *\n * Icon for the SpeedDial Floating Action Button that animates when opened/closed.\n *\n * @param props - SpeedDialIcon component props\n * @returns SpeedDialIcon component\n */\nexport const SpeedDialIcon = React.forwardRef<HTMLSpanElement, SpeedDialIconProps>((props, ref) => {\n return <MuiSpeedDialIcon ref={ref} {...props} />;\n});\n\nSpeedDialIcon.displayName = 'SpeedDialIcon';\n","/**\n * Stepper Component\n * @package @mrs/ui\n */\n\nimport React from 'react';\nimport MuiStepper from '@mui/material/Stepper';\nimport MuiStep from '@mui/material/Step';\nimport MuiStepLabel from '@mui/material/StepLabel';\nimport type { StepperProps, StepProps, StepLabelProps } from './Stepper.types';\n\nexport const Stepper = React.forwardRef<HTMLDivElement, StepperProps>(\n (\n {\n children,\n activeStep = 0,\n orientation = 'horizontal',\n alternativeLabel = false,\n nonLinear = false,\n ...props\n },\n ref\n ) => {\n return (\n <MuiStepper\n ref={ref}\n activeStep={activeStep}\n orientation={orientation}\n alternativeLabel={alternativeLabel}\n nonLinear={nonLinear}\n {...props}\n >\n {children}\n </MuiStepper>\n );\n }\n);\n\nStepper.displayName = 'Stepper';\n\nexport const Step = React.forwardRef<HTMLDivElement, StepProps>(\n ({ children, active, completed, disabled, ...props }, ref) => {\n return (\n <MuiStep ref={ref} active={active} completed={completed} disabled={disabled} {...props}>\n {children}\n </MuiStep>\n );\n }\n);\n\nStep.displayName = 'Step';\n\nexport const StepLabel = React.forwardRef<HTMLLabelElement, StepLabelProps>(\n ({ children, error, optional, icon, ...props }, ref) => {\n return (\n <MuiStepLabel ref={ref} error={error} optional={optional} icon={icon} {...props}>\n {children}\n </MuiStepLabel>\n );\n }\n);\n\nStepLabel.displayName = 'StepLabel';\n\nexport default Stepper;\n","/**\n * Tabs Component\n * @package @mrs/ui\n *\n * Navigation component that organizes content into separate views.\n * Only one view is visible at a time, with tabs allowing users to switch between them.\n *\n * @example\n * ```tsx\n * const [value, setValue] = useState(0);\n *\n * <Tabs value={value} onChange={(e, newValue) => setValue(newValue)}>\n * <Tab label=\"Tab 1\" />\n * <Tab label=\"Tab 2\" />\n * <Tab label=\"Tab 3\" />\n * </Tabs>\n * ```\n */\n\nimport React from 'react';\nimport MuiTabs from '@mui/material/Tabs';\nimport MuiTab from '@mui/material/Tab';\nimport type { TabsProps, TabProps } from './Tabs.types';\n\n/**\n * Tabs component for navigation between different views\n */\nexport const Tabs = React.forwardRef<HTMLDivElement, TabsProps>(\n (\n {\n value,\n onChange,\n children,\n variant = 'standard',\n indicatorColor = 'primary',\n textColor = 'primary',\n centered = false,\n scrollButtons = 'auto',\n allowScrollButtonsMobile = false,\n orientation = 'horizontal',\n TabIndicatorProps,\n ScrollButtonComponent,\n ...props\n },\n ref\n ) => {\n return (\n <MuiTabs\n ref={ref}\n value={value}\n onChange={onChange}\n variant={variant}\n indicatorColor={indicatorColor}\n textColor={textColor}\n centered={centered}\n scrollButtons={scrollButtons}\n allowScrollButtonsMobile={allowScrollButtonsMobile}\n orientation={orientation}\n TabIndicatorProps={TabIndicatorProps}\n ScrollButtonComponent={ScrollButtonComponent}\n {...props}\n >\n {children}\n </MuiTabs>\n );\n }\n);\n\nTabs.displayName = 'Tabs';\n\n/**\n * Tab component for individual tab item\n */\nexport const Tab = React.forwardRef<HTMLDivElement, TabProps>(\n (\n { label, value, icon, disabled = false, wrapped = false, iconPosition = 'top', ...props },\n ref\n ) => {\n return (\n <MuiTab\n ref={ref}\n label={label}\n value={value}\n icon={icon}\n disabled={disabled}\n wrapped={wrapped}\n iconPosition={iconPosition}\n {...props}\n />\n );\n }\n);\n\nTab.displayName = 'Tab';\n\nexport default Tabs;\n","/**\n * LocalizationProvider Component\n *\n * Provides localization context for MUI X Date Pickers\n * Uses dayjs as the date library adapter\n */\n\nimport React from 'react';\nimport { LocalizationProvider as MuiLocalizationProvider } from '@mui/x-date-pickers/LocalizationProvider';\nimport { AdapterDayjs } from '@mui/x-date-pickers/AdapterDayjs';\n\nexport interface LocalizationProviderProps {\n /**\n * The content to wrap with localization context\n */\n children: React.ReactNode;\n\n /**\n * The locale string to use for date formatting\n * @default 'en'\n */\n locale?: string;\n}\n\n/**\n * LocalizationProvider wraps MUI X LocalizationProvider with dayjs adapter\n * Use this to wrap your app or component tree that uses date pickers\n */\nexport const LocalizationProvider: React.FC<LocalizationProviderProps> = ({\n children,\n locale = 'en',\n}) => {\n return (\n <MuiLocalizationProvider dateAdapter={AdapterDayjs} adapterLocale={locale}>\n {children}\n </MuiLocalizationProvider>\n );\n};\n\nLocalizationProvider.displayName = 'LocalizationProvider';\n\nexport default LocalizationProvider;\n","import type { MouseEvent } from 'react';\nimport { useState, useCallback } from 'react';\nimport { PrimitivesMotionDurationFast } from '../../tokens/generated/ts/tokens';\n\ninterface Ripple {\n x: number;\n y: number;\n size: number;\n id: number;\n}\n\n/**\n * useRipple Hook\n *\n * Creates Material Design ripple effect on click\n *\n * @example\n * ```tsx\n * const { ripples, createRipple, clearRipples } = useRipple();\n *\n * <button onClick={createRipple}>\n * {ripples.map(ripple => (\n * <span key={ripple.id} className=\"ripple\" style={{...}} />\n * ))}\n * Click me\n * </button>\n * ```\n */\nexport const useRipple = () => {\n const [ripples, setRipples] = useState<Ripple[]>([]);\n\n const createRipple = useCallback((event: MouseEvent<HTMLElement>) => {\n const button = event.currentTarget;\n const rect = button.getBoundingClientRect();\n const size = Math.max(rect.width, rect.height);\n const x = event.clientX - rect.left - size / 2;\n const y = event.clientY - rect.top - size / 2;\n\n const newRipple: Ripple = {\n x,\n y,\n size,\n id: Date.now(),\n };\n\n setRipples((prev) => [...prev, newRipple]);\n\n // Remove ripple after animation\n const duration = parseInt(PrimitivesMotionDurationFast) * 6; // 600ms\n setTimeout(() => {\n setRipples((prev) => prev.filter((ripple) => ripple.id !== newRipple.id));\n }, duration);\n }, []);\n\n const clearRipples = useCallback(() => {\n setRipples([]);\n }, []);\n\n return { ripples, createRipple, clearRipples };\n};\n","import { useEffect, useRef } from 'react';\n\ninterface UsePulseOptions {\n duration?: number;\n scale?: number;\n enabled?: boolean;\n}\n\n/**\n * usePulse Hook\n *\n * Creates a pulsing animation effect\n *\n * @param options - Configuration options\n * @param options.duration - Animation duration in ms (default: 1000)\n * @param options.scale - Scale factor (default: 1.05)\n * @param options.enabled - Whether animation is enabled (default: true)\n *\n * @example\n * ```tsx\n * const pulseRef = usePulse({ duration: 1000, scale: 1.1 });\n *\n * <div ref={pulseRef}>Pulsing element</div>\n * ```\n */\nexport const usePulse = <T extends HTMLElement>(\n options: UsePulseOptions = {}\n): React.RefObject<T> => {\n const { duration = 1000, scale = 1.05, enabled = true } = options;\n const ref = useRef<T>(null);\n\n useEffect(() => {\n if (!enabled || !ref.current) return;\n\n const element = ref.current;\n const keyframes = [\n { transform: 'scale(1)' },\n { transform: `scale(${scale})` },\n { transform: 'scale(1)' },\n ];\n\n const animation = element.animate(keyframes, {\n duration,\n iterations: Infinity,\n easing: 'ease-in-out',\n });\n\n return () => {\n animation.cancel();\n };\n }, [duration, scale, enabled]);\n\n return ref;\n};\n","import { useCallback, useRef } from 'react';\nimport { PrimitivesMotionDurationBase } from '../../tokens/generated/ts/tokens';\n\ninterface UseShakeOptions {\n duration?: number;\n distance?: number;\n}\n\n/**\n * useShake Hook\n *\n * Triggers a shake animation (useful for errors, invalid inputs)\n *\n * @param options - Configuration options\n * @param options.duration - Animation duration in ms (default: 200ms from tokens)\n * @param options.distance - Shake distance in pixels (default: 10)\n *\n * @example\n * ```tsx\n * const { ref, shake } = useShake<HTMLInputElement>();\n *\n * <input\n * ref={ref}\n * onError={() => shake()}\n * />\n * ```\n */\nexport const useShake = <T extends HTMLElement>(options: UseShakeOptions = {}) => {\n const { duration = parseInt(PrimitivesMotionDurationBase), distance = 10 } = options;\n const ref = useRef<T>(null);\n\n const shake = useCallback(() => {\n if (!ref.current) return;\n\n const element = ref.current;\n const keyframes = [\n { transform: 'translateX(0)' },\n { transform: `translateX(-${distance}px)` },\n { transform: `translateX(${distance}px)` },\n { transform: `translateX(-${distance}px)` },\n { transform: `translateX(${distance}px)` },\n { transform: 'translateX(0)' },\n ];\n\n element.animate(keyframes, {\n duration,\n easing: 'ease-in-out',\n });\n }, [duration, distance]);\n\n return { ref, shake };\n};\n","import { useCallback, useRef } from 'react';\nimport { PrimitivesMotionDurationModerate } from '../../tokens/generated/ts/tokens';\n\ninterface UseBounceOptions {\n duration?: number;\n scale?: number;\n}\n\n/**\n * useBounce Hook\n *\n * Triggers a bounce animation effect\n *\n * @param options - Configuration options\n * @param options.duration - Animation duration in ms (default: 300ms from tokens)\n * @param options.scale - Bounce scale factor (default: 1.2)\n *\n * @example\n * ```tsx\n * const { ref, bounce } = useBounce<HTMLButtonElement>();\n *\n * <button ref={ref} onClick={bounce}>\n * Bounce on click\n * </button>\n * ```\n */\nexport const useBounce = <T extends HTMLElement>(options: UseBounceOptions = {}) => {\n const { duration = parseInt(PrimitivesMotionDurationModerate), scale = 1.2 } = options;\n const ref = useRef<T>(null);\n\n const bounce = useCallback(() => {\n if (!ref.current) return;\n\n const element = ref.current;\n const keyframes = [\n { transform: 'scale(1)' },\n { transform: `scale(${scale})` },\n { transform: 'scale(0.9)' },\n { transform: `scale(${scale * 0.95})` },\n { transform: 'scale(1)' },\n ];\n\n element.animate(keyframes, {\n duration,\n easing: 'ease-out',\n });\n }, [duration, scale]);\n\n return { ref, bounce };\n};\n","import { useState, useCallback } from 'react';\nimport {\n PrimitivesMotionDurationFast,\n PrimitivesMotionEasingStandard,\n} from '../../tokens/generated/ts/tokens';\n\ninterface UseHoverScaleOptions {\n scale?: number;\n duration?: string;\n easing?: string;\n}\n\n/**\n * useHoverScale Hook\n *\n * Provides hover scale animation state and handlers\n *\n * @param options - Configuration options\n * @param options.scale - Scale factor on hover (default: 1.05)\n * @param options.duration - Transition duration (default: from tokens)\n * @param options.easing - Easing function (default: from tokens)\n *\n * @example\n * ```tsx\n * const { isHovered, onMouseEnter, onMouseLeave, style } = useHoverScale({\n * scale: 1.1\n * });\n *\n * <div\n * onMouseEnter={onMouseEnter}\n * onMouseLeave={onMouseLeave}\n * style={style}\n * >\n * Hover me\n * </div>\n * ```\n */\nexport const useHoverScale = (options: UseHoverScaleOptions = {}) => {\n const {\n scale = 1.05,\n duration = PrimitivesMotionDurationFast,\n easing = PrimitivesMotionEasingStandard,\n } = options;\n\n const [isHovered, setIsHovered] = useState(false);\n\n const onMouseEnter = useCallback(() => setIsHovered(true), []);\n const onMouseLeave = useCallback(() => setIsHovered(false), []);\n\n const style = {\n transform: isHovered ? `scale(${scale})` : 'scale(1)',\n transition: `transform ${duration} ${easing}`,\n cursor: 'pointer',\n };\n\n return {\n isHovered,\n onMouseEnter,\n onMouseLeave,\n style,\n };\n};\n","import React, { forwardRef } from 'react';\nimport type { ButtonProps } from '@mui/material/Button';\nimport Button from '@mui/material/Button';\nimport { styled } from '@mui/material/styles';\nimport { useRipple } from '../../../hooks/animations';\nimport { PrimitivesMotionDurationFast } from '../../../tokens/generated/ts/tokens';\n\nconst RippleContainer = styled('span')({\n position: 'absolute',\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n overflow: 'hidden',\n pointerEvents: 'none',\n borderRadius: 'inherit',\n});\n\nconst RippleSpan = styled('span')<{ x: number; y: number; size: number }>(({ x, y, size }) => ({\n position: 'absolute',\n left: x,\n top: y,\n width: size,\n height: size,\n borderRadius: '50%',\n backgroundColor: 'currentColor',\n opacity: 0.3,\n animation: `ripple ${parseInt(PrimitivesMotionDurationFast) * 6}ms ease-out`,\n '@keyframes ripple': {\n '0%': {\n transform: 'scale(0)',\n opacity: 0.6,\n },\n '100%': {\n transform: 'scale(4)',\n opacity: 0,\n },\n },\n}));\n\nexport interface RippleButtonProps extends ButtonProps {\n /**\n * If true, ripple effect is disabled\n * @default false\n */\n disableRipple?: boolean;\n}\n\n/**\n * RippleButton Component\n *\n * Enhanced Material-UI Button with custom ripple effect\n *\n * @example\n * ```tsx\n * <RippleButton variant=\"contained\" color=\"primary\">\n * Click me for ripple effect\n * </RippleButton>\n * ```\n */\nexport const RippleButton = forwardRef<HTMLButtonElement, RippleButtonProps>(\n ({ children, disableRipple = false, onClick, ...props }, ref) => {\n const { ripples, createRipple } = useRipple();\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n if (!disableRipple) {\n createRipple(event);\n }\n onClick?.(event);\n };\n\n return (\n <Button ref={ref} onClick={handleClick} sx={{ position: 'relative' }} {...props}>\n {!disableRipple && (\n <RippleContainer>\n {ripples.map((ripple) => (\n <RippleSpan key={ripple.id} x={ripple.x} y={ripple.y} size={ripple.size} />\n ))}\n </RippleContainer>\n )}\n {children}\n </Button>\n );\n }\n);\n\nRippleButton.displayName = 'RippleButton';\n","import React, { useEffect, useState } from 'react';\nimport type { BadgeProps } from '@mui/material/Badge';\nimport Badge from '@mui/material/Badge';\nimport { styled, keyframes } from '@mui/material/styles';\nimport { PrimitivesMotionDurationBase } from '../../../tokens/generated/ts/tokens';\n\nconst bounce = keyframes`\n 0%, 100% {\n transform: scale(1);\n }\n 50% {\n transform: scale(1.3);\n }\n`;\n\nconst pulse = keyframes`\n 0% {\n box-shadow: 0 0 0 0 rgba(244, 67, 54, 0.7);\n }\n 70% {\n box-shadow: 0 0 0 10px rgba(244, 67, 54, 0);\n }\n 100% {\n box-shadow: 0 0 0 0 rgba(244, 67, 54, 0);\n }\n`;\n\nconst AnimatedBadgeRoot = styled(Badge)<{\n animate?: boolean;\n animationvariant?: 'bounce' | 'pulse';\n}>(({ animate, animationvariant }) => {\n if (!animate) return {};\n\n if (animationvariant === 'bounce') {\n return {\n '& .MuiBadge-badge': {\n animation: `${bounce} ${parseInt(PrimitivesMotionDurationBase) * 3}ms ease-in-out`,\n },\n };\n }\n\n if (animationvariant === 'pulse') {\n return {\n '& .MuiBadge-badge': {\n animation: `${pulse} 2s infinite`,\n },\n };\n }\n\n return {};\n});\n\nexport interface AnimatedBadgeProps extends BadgeProps {\n /**\n * Animation variant\n * @default 'bounce'\n */\n animationVariant?: 'bounce' | 'pulse' | 'none';\n /**\n * If true, animation plays once when badge appears\n * @default true\n */\n animateOnChange?: boolean;\n}\n\n/**\n * AnimatedBadge Component\n *\n * Badge component with entrance animations\n *\n * @example\n * ```tsx\n * <AnimatedBadge badgeContent={4} color=\"error\" animationVariant=\"bounce\">\n * <MailIcon />\n * </AnimatedBadge>\n * ```\n */\nexport const AnimatedBadge: React.FC<AnimatedBadgeProps> = ({\n animationVariant = 'bounce',\n animateOnChange = true,\n badgeContent,\n children,\n ...props\n}) => {\n const [shouldAnimate, setShouldAnimate] = useState(false);\n const [prevBadgeContent, setPrevBadgeContent] = useState(badgeContent);\n\n useEffect(() => {\n if (!animateOnChange || badgeContent === prevBadgeContent) {\n return;\n }\n\n setShouldAnimate(true);\n setPrevBadgeContent(badgeContent);\n\n const timer = setTimeout(\n () => {\n setShouldAnimate(false);\n },\n parseInt(PrimitivesMotionDurationBase) * 3\n );\n\n return () => clearTimeout(timer);\n }, [badgeContent, prevBadgeContent, animateOnChange]);\n\n const isPulse = animationVariant === 'pulse';\n const animate = isPulse || shouldAnimate;\n\n return (\n <AnimatedBadgeRoot\n badgeContent={badgeContent}\n animate={animate}\n animationvariant={animationVariant === 'none' ? undefined : animationVariant}\n {...props}\n >\n {children}\n </AnimatedBadgeRoot>\n );\n};\n","import React from 'react';\nimport Box from '@mui/material/Box';\nimport { styled, keyframes } from '@mui/material/styles';\nimport { PrimitivesMotionDurationBase } from '../../../tokens/generated/ts/tokens';\n\nconst bounce = keyframes`\n 0%, 80%, 100% {\n transform: scale(0);\n opacity: 0.5;\n }\n 40% {\n transform: scale(1);\n opacity: 1;\n }\n`;\n\nconst Dot = styled('span')<{ delay: number }>(({ theme, delay }) => ({\n width: 12,\n height: 12,\n borderRadius: '50%',\n backgroundColor: theme.palette.primary.main,\n display: 'inline-block',\n margin: '0 4px',\n animation: `${bounce} ${parseInt(PrimitivesMotionDurationBase) * 7}ms infinite ease-in-out`,\n animationDelay: `${delay}ms`,\n}));\n\nexport interface LoadingDotsProps {\n /**\n * Color of the dots\n * @default 'primary'\n */\n color?: 'primary' | 'secondary' | 'error' | 'warning' | 'info' | 'success';\n /**\n * Size of the dots\n * @default 'medium'\n */\n size?: 'small' | 'medium' | 'large';\n}\n\n/**\n * LoadingDots Component\n *\n * Three-dot loading animation\n *\n * @example\n * ```tsx\n * <LoadingDots color=\"primary\" size=\"medium\" />\n * ```\n */\nexport const LoadingDots: React.FC<LoadingDotsProps> = ({ color = 'primary', size = 'medium' }) => {\n const sizeMap = {\n small: 8,\n medium: 12,\n large: 16,\n };\n\n const dotSize = sizeMap[size];\n\n return (\n <Box\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: 0.5,\n }}\n >\n <Dot\n delay={0}\n sx={{\n width: dotSize,\n height: dotSize,\n bgcolor: `${color}.main`,\n }}\n />\n <Dot\n delay={160}\n sx={{\n width: dotSize,\n height: dotSize,\n bgcolor: `${color}.main`,\n }}\n />\n <Dot\n delay={320}\n sx={{\n width: dotSize,\n height: dotSize,\n bgcolor: `${color}.main`,\n }}\n />\n </Box>\n );\n};\n"],"names":["tokens.PrimitivesTypographyFontFamilyStack","tokens.PrimitivesTypographyFontWeightLight","tokens.PrimitivesTypographyFontWeightRegular","tokens.PrimitivesTypographyFontWeightMedium","tokens.PrimitivesTypographyFontWeightSemibold","tokens.PrimitivesTypographyFontWeightBold","tokens.PrimitivesTypographyFontSize4xl","tokens.PrimitivesTypographyLineHeightTight","tokens.PrimitivesTypographyFontSize3xl","tokens.PrimitivesTypographyFontSize2xl","tokens.PrimitivesTypographyFontSizeXl","tokens.PrimitivesTypographyFontSizeLg","tokens.PrimitivesTypographyFontSizeMd","tokens.PrimitivesTypographyLineHeightNormal","tokens.PrimitivesTypographyFontSizeSm","tokens.PrimitivesTypographyLineHeightSnug","tokens.PrimitivesTypographyLineHeightLoose","tokens.PrimitivesTypographyFontSizeXs","tokens.PrimitivesTypographyLineHeightRelaxed","tokens.SemanticColorLightPrimaryMain","tokens.SemanticColorLightPrimaryDark","tokens.SemanticColorLightPrimaryLight","tokens.SemanticColorLightPrimaryContrastText","tokens.SemanticColorLightSecondaryMain","tokens.SemanticColorLightSecondaryDark","tokens.SemanticColorLightSecondaryLight","tokens.SemanticColorLightSecondaryContrastText","tokens.SemanticColorLightErrorMain","tokens.SemanticColorLightErrorDark","tokens.SemanticColorLightErrorLight","tokens.SemanticColorLightErrorContrastText","tokens.SemanticColorLightWarningMain","tokens.SemanticColorLightWarningDark","tokens.SemanticColorLightWarningLight","tokens.SemanticColorLightWarningContrastText","tokens.SemanticColorLightInfoMain","tokens.SemanticColorLightInfoDark","tokens.SemanticColorLightInfoLight","tokens.SemanticColorLightInfoContrastText","tokens.SemanticColorLightSuccessMain","tokens.SemanticColorLightSuccessDark","tokens.SemanticColorLightSuccessLight","tokens.SemanticColorLightSuccessContrastText","tokens.SemanticColorLightBackgroundDefault","tokens.SemanticColorLightBackgroundPaper","tokens.SemanticColorLightTextPrimary","tokens.SemanticColorLightTextSecondary","tokens.SemanticColorLightTextDisabled","tokens.SemanticColorLightActionActive","tokens.SemanticColorLightActionHover","tokens.SemanticColorLightActionSelected","tokens.SemanticColorLightActionDisabled","tokens.SemanticColorLightActionDisabledBackground","tokens.SemanticColorLightDivider","tokens.ComponentAlertLightBorderRadius","tokens.ComponentAlertLightErrorFilledBackground","tokens.ComponentAlertLightErrorFilledForeground","tokens.ComponentAlertLightErrorOutlinedBackground","tokens.ComponentAlertLightErrorOutlinedForeground","tokens.ComponentAlertLightErrorOutlinedBorder","tokens.ComponentAlertLightErrorStandardBackground","tokens.ComponentAlertLightErrorStandardForeground","tokens.ComponentAlertLightWarningFilledBackground","tokens.ComponentAlertLightWarningFilledForeground","tokens.ComponentAlertLightWarningOutlinedBackground","tokens.ComponentAlertLightWarningOutlinedForeground","tokens.ComponentAlertLightWarningOutlinedBorder","tokens.ComponentAlertLightWarningStandardBackground","tokens.ComponentAlertLightWarningStandardForeground","tokens.ComponentAlertLightInfoFilledBackground","tokens.ComponentAlertLightInfoFilledForeground","tokens.ComponentAlertLightInfoOutlinedBackground","tokens.ComponentAlertLightInfoOutlinedForeground","tokens.ComponentAlertLightInfoOutlinedBorder","tokens.ComponentAlertLightInfoStandardBackground","tokens.ComponentAlertLightInfoStandardForeground","tokens.ComponentAlertLightSuccessFilledBackground","tokens.ComponentAlertLightSuccessFilledForeground","tokens.ComponentAlertLightSuccessOutlinedBackground","tokens.ComponentAlertLightSuccessOutlinedForeground","tokens.ComponentAlertLightSuccessOutlinedBorder","tokens.ComponentAlertLightSuccessStandardBackground","tokens.ComponentAlertLightSuccessStandardForeground","tokens.ComponentInputLightBorderRadius","tokens.ComponentInputLightStandardEnabledBorder","tokens.ComponentInputLightFilledEnabledFill","tokens.ComponentInputLightOutlinedEnabledBorder","tokens.ComponentPaperLightElevation0","tokens.ComponentPaperLightElevation1","tokens.ComponentPaperLightElevation2","tokens.ComponentChipDefaultCloseFill","tokens.ComponentChipDefaultEnabledBorder","tokens.ComponentButtonBorderRadius","tokens.ComponentCardLightBorderRadius","tokens.ComponentDialogLightBorderRadius","tokens.ComponentTableLightBorder","tokens.ComponentTableLightHeaderBackground","tokens.ComponentRatingActiveFill","tokens.ComponentRatingEnabledBorder","tokens.SemanticColorDarkPrimaryMain","tokens.SemanticColorDarkPrimaryDark","tokens.SemanticColorDarkPrimaryLight","tokens.SemanticColorDarkPrimaryContrastText","tokens.SemanticColorDarkSecondaryMain","tokens.SemanticColorDarkSecondaryDark","tokens.SemanticColorDarkSecondaryLight","tokens.SemanticColorDarkSecondaryContrastText","tokens.SemanticColorDarkErrorMain","tokens.SemanticColorDarkErrorDark","tokens.SemanticColorDarkErrorLight","tokens.SemanticColorDarkErrorContrastText","tokens.SemanticColorDarkWarningMain","tokens.SemanticColorDarkWarningDark","tokens.SemanticColorDarkWarningLight","tokens.SemanticColorDarkWarningContrastText","tokens.SemanticColorDarkInfoMain","tokens.SemanticColorDarkInfoDark","tokens.SemanticColorDarkInfoLight","tokens.SemanticColorDarkInfoContrastText","tokens.SemanticColorDarkSuccessMain","tokens.SemanticColorDarkSuccessDark","tokens.SemanticColorDarkSuccessLight","tokens.SemanticColorDarkSuccessContrastText","tokens.SemanticColorDarkBackgroundDefault","tokens.SemanticColorDarkBackgroundPaper","tokens.SemanticColorDarkTextPrimary","tokens.SemanticColorDarkTextSecondary","tokens.SemanticColorDarkTextDisabled","tokens.SemanticColorDarkActionActive","tokens.SemanticColorDarkActionHover","tokens.SemanticColorDarkActionSelected","tokens.SemanticColorDarkActionDisabled","tokens.SemanticColorDarkActionDisabledBackground","tokens.SemanticColorDarkDivider","tokens.ComponentAlertDarkBorderRadius","tokens.ComponentAlertDarkErrorFilledBackground","tokens.ComponentAlertDarkErrorFilledForeground","tokens.ComponentAlertDarkErrorOutlinedBackground","tokens.ComponentAlertDarkErrorOutlinedForeground","tokens.ComponentAlertDarkErrorOutlinedBorder","tokens.ComponentAlertDarkErrorStandardBackground","tokens.ComponentAlertDarkErrorStandardForeground","tokens.ComponentAlertDarkWarningFilledBackground","tokens.ComponentAlertDarkWarningFilledForeground","tokens.ComponentAlertDarkWarningOutlinedBackground","tokens.ComponentAlertDarkWarningOutlinedForeground","tokens.ComponentAlertDarkWarningOutlinedBorder","tokens.ComponentAlertDarkWarningStandardBackground","tokens.ComponentAlertDarkWarningStandardForeground","tokens.ComponentAlertDarkInfoFilledBackground","tokens.ComponentAlertDarkInfoFilledForeground","tokens.ComponentAlertDarkInfoOutlinedBackground","tokens.ComponentAlertDarkInfoOutlinedForeground","tokens.ComponentAlertDarkInfoOutlinedBorder","tokens.ComponentAlertDarkInfoStandardBackground","tokens.ComponentAlertDarkInfoStandardForeground","tokens.ComponentAlertDarkSuccessFilledBackground","tokens.ComponentAlertDarkSuccessFilledForeground","tokens.ComponentAlertDarkSuccessOutlinedBackground","tokens.ComponentAlertDarkSuccessOutlinedForeground","tokens.ComponentAlertDarkSuccessOutlinedBorder","tokens.ComponentAlertDarkSuccessStandardBackground","tokens.ComponentAlertDarkSuccessStandardForeground","tokens.ComponentInputDarkBorderRadius","tokens.ComponentInputDarkStandardEnabledBorder","tokens.ComponentInputDarkFilledEnabledFill","tokens.ComponentInputDarkOutlinedEnabledBorder","tokens.ComponentPaperDarkElevation0","tokens.ComponentPaperDarkElevation1","tokens.ComponentPaperDarkElevation2","tokens.ComponentPaperDarkElevation4","tokens.ComponentPaperDarkElevation6","tokens.ComponentPaperDarkElevation8","tokens.ComponentPaperDarkElevation12","tokens.ComponentPaperDarkElevation16","tokens.ComponentPaperDarkElevation24","tokens.PrimitivesColorsNeutralWhite","tokens.PrimitivesColorsNeutralGray600","tokens.ComponentCardDarkBorderRadius","tokens.ComponentDialogDarkBorderRadius","tokens.ComponentTableDarkBorder","tokens.ComponentTableDarkHeaderBackground","tokens.PrimitivesColorsAlphaWhite30","spacing","shape","typography","MuiBox","MuiStack","theme","tokens.ComponentAvatarSmall","tokens.ComponentAvatarMedium","tokens.ComponentAvatarBorderRadius","tokens.PrimitivesRadiusSm","MuiTypography","Box","Typography","MuiDivider","MuiIconButton","MuiTooltip","tokens.ComponentTooltipLightBackground","tokens.ComponentTooltipDarkBackground","tokens.ComponentTooltipLightForeground","tokens.ComponentTooltipDarkForeground","tokens.ComponentTooltipLightBorderRadius","tokens.ComponentTooltipDarkBorderRadius","tokens.PrimitivesSpacing05","tokens.PrimitivesSpacing1","tokens","IconButton","Stack","TextField","List","Divider","MuiList","MuiListItemButton","tokens.ComponentSidenavWidthCollapsed","tokens.ComponentSidenavWidthExpanded","tokens.ComponentSidenavLightBorderRadius","tokens.ComponentSidenavDarkBorderRadius","tokens.ComponentSidenavLightItemSelectedBackground","tokens.ComponentSidenavDarkItemSelectedBackground","tokens.ComponentSidenavLightItemSelectedForeground","tokens.ComponentSidenavDarkItemSelectedForeground","tokens.ComponentSidenavLightItemHoverBackground","tokens.ComponentSidenavDarkItemHoverBackground","Tooltip","Paper","Alert","e","MuiLocalizationProvider","keyframes","bounce","Button","Badge"],"mappings":"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"}