{"ast":null,"code":"import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { getDynamicStyles } from 'jss';\nimport mergeClasses from '../mergeClasses';\nimport multiKeyStore from './multiKeyStore';\nimport useTheme from '../useTheme';\nimport { StylesContext } from '../StylesProvider';\nimport { increment } from './indexCounter';\nimport getStylesCreator from '../getStylesCreator';\nimport noopTheme from '../getStylesCreator/noopTheme';\n\nfunction getClasses(_ref, classes, Component) {\n var state = _ref.state,\n stylesOptions = _ref.stylesOptions;\n\n if (stylesOptions.disableGeneration) {\n return classes || {};\n }\n\n if (!state.cacheClasses) {\n state.cacheClasses = {\n // Cache for the finalized classes value.\n value: null,\n // Cache for the last used classes prop pointer.\n lastProp: null,\n // Cache for the last used rendered classes pointer.\n lastJSS: {}\n };\n } // Tracks if either the rendered classes or classes prop has changed,\n // requiring the generation of a new finalized classes object.\n\n\n var generate = false;\n\n if (state.classes !== state.cacheClasses.lastJSS) {\n state.cacheClasses.lastJSS = state.classes;\n generate = true;\n }\n\n if (classes !== state.cacheClasses.lastProp) {\n state.cacheClasses.lastProp = classes;\n generate = true;\n }\n\n if (generate) {\n state.cacheClasses.value = mergeClasses({\n baseClasses: state.cacheClasses.lastJSS,\n newClasses: classes,\n Component: Component\n });\n }\n\n return state.cacheClasses.value;\n}\n\nfunction attach(_ref2, props) {\n var state = _ref2.state,\n theme = _ref2.theme,\n stylesOptions = _ref2.stylesOptions,\n stylesCreator = _ref2.stylesCreator,\n name = _ref2.name;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n\n if (!sheetManager) {\n sheetManager = {\n refs: 0,\n staticSheet: null,\n dynamicStyles: null\n };\n multiKeyStore.set(stylesOptions.sheetsManager, stylesCreator, theme, sheetManager);\n }\n\n var options = _extends({}, stylesCreator.options, stylesOptions, {\n theme: theme,\n flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl'\n });\n\n options.generateId = options.serverGenerateClassName || options.generateClassName;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n var staticSheet;\n\n if (stylesOptions.sheetsCache) {\n staticSheet = multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme);\n }\n\n var styles = stylesCreator.create(theme, name);\n\n if (!staticSheet) {\n staticSheet = stylesOptions.jss.createStyleSheet(styles, _extends({\n link: false\n }, options));\n staticSheet.attach();\n\n if (stylesOptions.sheetsCache) {\n multiKeyStore.set(stylesOptions.sheetsCache, stylesCreator, theme, staticSheet);\n }\n }\n\n if (sheetsRegistry) {\n sheetsRegistry.add(staticSheet);\n }\n\n sheetManager.staticSheet = staticSheet;\n sheetManager.dynamicStyles = getDynamicStyles(styles);\n }\n\n if (sheetManager.dynamicStyles) {\n var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({\n link: true\n }, options));\n dynamicSheet.update(props);\n dynamicSheet.attach();\n state.dynamicSheet = dynamicSheet;\n state.classes = mergeClasses({\n baseClasses: sheetManager.staticSheet.classes,\n newClasses: dynamicSheet.classes\n });\n\n if (sheetsRegistry) {\n sheetsRegistry.add(dynamicSheet);\n }\n } else {\n state.classes = sheetManager.staticSheet.classes;\n }\n\n sheetManager.refs += 1;\n}\n\nfunction update(_ref3, props) {\n var state = _ref3.state;\n\n if (state.dynamicSheet) {\n state.dynamicSheet.update(props);\n }\n}\n\nfunction detach(_ref4) {\n var state = _ref4.state,\n theme = _ref4.theme,\n stylesOptions = _ref4.stylesOptions,\n stylesCreator = _ref4.stylesCreator;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n sheetManager.refs -= 1;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n multiKeyStore.delete(stylesOptions.sheetsManager, stylesCreator, theme);\n stylesOptions.jss.removeStyleSheet(sheetManager.staticSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(sheetManager.staticSheet);\n }\n }\n\n if (state.dynamicSheet) {\n stylesOptions.jss.removeStyleSheet(state.dynamicSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(state.dynamicSheet);\n }\n }\n}\n\nfunction useSynchronousEffect(func, values) {\n var key = React.useRef([]);\n var output; // Store \"generation\" key. Just returns a new object every time\n\n var currentKey = React.useMemo(function () {\n return {};\n }, values); // eslint-disable-line react-hooks/exhaustive-deps\n // \"the first render\", or \"memo dropped the value\"\n\n if (key.current !== currentKey) {\n key.current = currentKey;\n output = func();\n }\n\n React.useEffect(function () {\n return function () {\n if (output) {\n output();\n }\n };\n }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}\n\nexport default function makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n classNamePrefixOption = options.classNamePrefix,\n Component = options.Component,\n _options$defaultTheme = options.defaultTheme,\n defaultTheme = _options$defaultTheme === void 0 ? noopTheme : _options$defaultTheme,\n stylesOptions2 = _objectWithoutProperties(options, [\"name\", \"classNamePrefix\", \"Component\", \"defaultTheme\"]);\n\n var stylesCreator = getStylesCreator(stylesOrCreator);\n var classNamePrefix = name || classNamePrefixOption || 'makeStyles';\n stylesCreator.options = {\n index: increment(),\n name: name,\n meta: classNamePrefix,\n classNamePrefix: classNamePrefix\n };\n\n var useStyles = function useStyles() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var theme = useTheme() || defaultTheme;\n\n var stylesOptions = _extends({}, React.useContext(StylesContext), stylesOptions2);\n\n var instance = React.useRef();\n var shouldUpdate = React.useRef();\n useSynchronousEffect(function () {\n var current = {\n name: name,\n state: {},\n stylesCreator: stylesCreator,\n stylesOptions: stylesOptions,\n theme: theme\n };\n attach(current, props);\n shouldUpdate.current = false;\n instance.current = current;\n return function () {\n detach(current);\n };\n }, [theme, stylesCreator]);\n React.useEffect(function () {\n if (shouldUpdate.current) {\n update(instance.current, props);\n }\n\n shouldUpdate.current = true;\n });\n var classes = getClasses(instance.current, props.classes, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(classes);\n }\n\n return classes;\n };\n\n return useStyles;\n}","map":{"version":3,"sources":["/app/node_modules/@material-ui/styles/esm/makeStyles/makeStyles.js"],"names":["_objectWithoutProperties","_extends","React","getDynamicStyles","mergeClasses","multiKeyStore","useTheme","StylesContext","increment","getStylesCreator","noopTheme","getClasses","_ref","classes","Component","state","stylesOptions","disableGeneration","cacheClasses","value","lastProp","lastJSS","generate","baseClasses","newClasses","attach","_ref2","props","theme","stylesCreator","name","sheetManager","get","sheetsManager","refs","staticSheet","dynamicStyles","set","options","flip","direction","generateId","serverGenerateClassName","generateClassName","sheetsRegistry","sheetsCache","styles","create","jss","createStyleSheet","link","add","dynamicSheet","update","_ref3","detach","_ref4","delete","removeStyleSheet","remove","useSynchronousEffect","func","values","key","useRef","output","currentKey","useMemo","current","useEffect","makeStyles","stylesOrCreator","arguments","length","undefined","classNamePrefixOption","classNamePrefix","_options$defaultTheme","defaultTheme","stylesOptions2","index","meta","useStyles","useContext","instance","shouldUpdate","process","env","NODE_ENV","useDebugValue"],"mappings":"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","sourcesContent":["import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { getDynamicStyles } from 'jss';\nimport mergeClasses from '../mergeClasses';\nimport multiKeyStore from './multiKeyStore';\nimport useTheme from '../useTheme';\nimport { StylesContext } from '../StylesProvider';\nimport { increment } from './indexCounter';\nimport getStylesCreator from '../getStylesCreator';\nimport noopTheme from '../getStylesCreator/noopTheme';\n\nfunction getClasses(_ref, classes, Component) {\n var state = _ref.state,\n stylesOptions = _ref.stylesOptions;\n\n if (stylesOptions.disableGeneration) {\n return classes || {};\n }\n\n if (!state.cacheClasses) {\n state.cacheClasses = {\n // Cache for the finalized classes value.\n value: null,\n // Cache for the last used classes prop pointer.\n lastProp: null,\n // Cache for the last used rendered classes pointer.\n lastJSS: {}\n };\n } // Tracks if either the rendered classes or classes prop has changed,\n // requiring the generation of a new finalized classes object.\n\n\n var generate = false;\n\n if (state.classes !== state.cacheClasses.lastJSS) {\n state.cacheClasses.lastJSS = state.classes;\n generate = true;\n }\n\n if (classes !== state.cacheClasses.lastProp) {\n state.cacheClasses.lastProp = classes;\n generate = true;\n }\n\n if (generate) {\n state.cacheClasses.value = mergeClasses({\n baseClasses: state.cacheClasses.lastJSS,\n newClasses: classes,\n Component: Component\n });\n }\n\n return state.cacheClasses.value;\n}\n\nfunction attach(_ref2, props) {\n var state = _ref2.state,\n theme = _ref2.theme,\n stylesOptions = _ref2.stylesOptions,\n stylesCreator = _ref2.stylesCreator,\n name = _ref2.name;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n\n if (!sheetManager) {\n sheetManager = {\n refs: 0,\n staticSheet: null,\n dynamicStyles: null\n };\n multiKeyStore.set(stylesOptions.sheetsManager, stylesCreator, theme, sheetManager);\n }\n\n var options = _extends({}, stylesCreator.options, stylesOptions, {\n theme: theme,\n flip: typeof stylesOptions.flip === 'boolean' ? stylesOptions.flip : theme.direction === 'rtl'\n });\n\n options.generateId = options.serverGenerateClassName || options.generateClassName;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n var staticSheet;\n\n if (stylesOptions.sheetsCache) {\n staticSheet = multiKeyStore.get(stylesOptions.sheetsCache, stylesCreator, theme);\n }\n\n var styles = stylesCreator.create(theme, name);\n\n if (!staticSheet) {\n staticSheet = stylesOptions.jss.createStyleSheet(styles, _extends({\n link: false\n }, options));\n staticSheet.attach();\n\n if (stylesOptions.sheetsCache) {\n multiKeyStore.set(stylesOptions.sheetsCache, stylesCreator, theme, staticSheet);\n }\n }\n\n if (sheetsRegistry) {\n sheetsRegistry.add(staticSheet);\n }\n\n sheetManager.staticSheet = staticSheet;\n sheetManager.dynamicStyles = getDynamicStyles(styles);\n }\n\n if (sheetManager.dynamicStyles) {\n var dynamicSheet = stylesOptions.jss.createStyleSheet(sheetManager.dynamicStyles, _extends({\n link: true\n }, options));\n dynamicSheet.update(props);\n dynamicSheet.attach();\n state.dynamicSheet = dynamicSheet;\n state.classes = mergeClasses({\n baseClasses: sheetManager.staticSheet.classes,\n newClasses: dynamicSheet.classes\n });\n\n if (sheetsRegistry) {\n sheetsRegistry.add(dynamicSheet);\n }\n } else {\n state.classes = sheetManager.staticSheet.classes;\n }\n\n sheetManager.refs += 1;\n}\n\nfunction update(_ref3, props) {\n var state = _ref3.state;\n\n if (state.dynamicSheet) {\n state.dynamicSheet.update(props);\n }\n}\n\nfunction detach(_ref4) {\n var state = _ref4.state,\n theme = _ref4.theme,\n stylesOptions = _ref4.stylesOptions,\n stylesCreator = _ref4.stylesCreator;\n\n if (stylesOptions.disableGeneration) {\n return;\n }\n\n var sheetManager = multiKeyStore.get(stylesOptions.sheetsManager, stylesCreator, theme);\n sheetManager.refs -= 1;\n var sheetsRegistry = stylesOptions.sheetsRegistry;\n\n if (sheetManager.refs === 0) {\n multiKeyStore.delete(stylesOptions.sheetsManager, stylesCreator, theme);\n stylesOptions.jss.removeStyleSheet(sheetManager.staticSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(sheetManager.staticSheet);\n }\n }\n\n if (state.dynamicSheet) {\n stylesOptions.jss.removeStyleSheet(state.dynamicSheet);\n\n if (sheetsRegistry) {\n sheetsRegistry.remove(state.dynamicSheet);\n }\n }\n}\n\nfunction useSynchronousEffect(func, values) {\n var key = React.useRef([]);\n var output; // Store \"generation\" key. Just returns a new object every time\n\n var currentKey = React.useMemo(function () {\n return {};\n }, values); // eslint-disable-line react-hooks/exhaustive-deps\n // \"the first render\", or \"memo dropped the value\"\n\n if (key.current !== currentKey) {\n key.current = currentKey;\n output = func();\n }\n\n React.useEffect(function () {\n return function () {\n if (output) {\n output();\n }\n };\n }, [currentKey] // eslint-disable-line react-hooks/exhaustive-deps\n );\n}\n\nexport default function makeStyles(stylesOrCreator) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var name = options.name,\n classNamePrefixOption = options.classNamePrefix,\n Component = options.Component,\n _options$defaultTheme = options.defaultTheme,\n defaultTheme = _options$defaultTheme === void 0 ? noopTheme : _options$defaultTheme,\n stylesOptions2 = _objectWithoutProperties(options, [\"name\", \"classNamePrefix\", \"Component\", \"defaultTheme\"]);\n\n var stylesCreator = getStylesCreator(stylesOrCreator);\n var classNamePrefix = name || classNamePrefixOption || 'makeStyles';\n stylesCreator.options = {\n index: increment(),\n name: name,\n meta: classNamePrefix,\n classNamePrefix: classNamePrefix\n };\n\n var useStyles = function useStyles() {\n var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var theme = useTheme() || defaultTheme;\n\n var stylesOptions = _extends({}, React.useContext(StylesContext), stylesOptions2);\n\n var instance = React.useRef();\n var shouldUpdate = React.useRef();\n useSynchronousEffect(function () {\n var current = {\n name: name,\n state: {},\n stylesCreator: stylesCreator,\n stylesOptions: stylesOptions,\n theme: theme\n };\n attach(current, props);\n shouldUpdate.current = false;\n instance.current = current;\n return function () {\n detach(current);\n };\n }, [theme, stylesCreator]);\n React.useEffect(function () {\n if (shouldUpdate.current) {\n update(instance.current, props);\n }\n\n shouldUpdate.current = true;\n });\n var classes = getClasses(instance.current, props.classes, Component);\n\n if (process.env.NODE_ENV !== 'production') {\n // eslint-disable-next-line react-hooks/rules-of-hooks\n React.useDebugValue(classes);\n }\n\n return classes;\n };\n\n return useStyles;\n}"]},"metadata":{},"sourceType":"module"}