}> = ({ name, Component }) => {\n const [render, setRender] = useState(0);\n\n return (\n \n \n {render > 0 && {renderManyComponents(Component)}}\n
\n );\n};\n\nTestScenario.displayName = 'TestScenario';\n\nfunction renderManyComponents(Component: FC) {\n const elements: React.ReactNode[] = [];\n\n for (let i = 0; i < 5000; i++) {\n elements.push();\n }\n\n return {elements}
;\n}\n\ninterface TestComponentProps {\n index: number;\n}\n\nfunction UseStylesNoCX({ index }: TestComponentProps) {\n const styles = useStyles2(getStyles);\n return (\n \n );\n}\n\nfunction UseStylesWithConditionalCX({ index }: TestComponentProps) {\n const styles = useStyles2(getStyles);\n const mainStyles = cx(styles.main, { [styles.large]: index > 10, [styles.disabed]: index % 10 === 0 });\n\n return (\n \n );\n}\n\nfunction UseStylesWithConditionalClassNames({ index }: TestComponentProps) {\n const styles = useStyles2(getStyles);\n const mainStyles = classnames(styles.main, { [styles.large]: index > 10, [styles.disabed]: index % 10 === 0 });\n\n return (\n \n );\n}\n\nfunction UseStylesWithCSSProp({ index }: TestComponentProps) {\n const styles = useStyles2(getStylesObjects);\n\n return (\n \n );\n}\n\nfunction UseStylesWithConditionalCSS({ index }: TestComponentProps) {\n const styles = useStyles2(getStylesObjects);\n const mainStyles = [styles.main, index > 10 && styles.large, index % 10 === 0 && styles.disabed];\n return (\n \n );\n}\n\nfunction InlineEmotionCSS({ index }: TestComponentProps) {\n const theme = useTheme2();\n const styles = getStyles(theme);\n\n return (\n \n );\n}\n\nfunction NoStyles({ index }: TestComponentProps) {\n return (\n \n );\n}\n\nfunction MeasureRender({ children, id }: { children: React.ReactNode; id: string }) {\n const onRender: ProfilerOnRenderCallback = (id, phase, actualDuration, baseDuration, startTime, commitTime) => {\n console.log('Profile ' + id, actualDuration);\n };\n\n return (\n \n {children}\n \n );\n}\n\nconst getStyles = (theme: GrafanaTheme2) => {\n return {\n main: css(getStylesObjectMain(theme)),\n large: css({\n fontSize: '20px',\n color: 'red',\n }),\n disabed: css({\n fontSize: '10px',\n color: 'gray',\n }),\n child: css(getStylesObjectChild(theme)),\n };\n};\n\nconst getStylesObjects = (theme: GrafanaTheme2) => {\n return {\n main: getStylesObjectMain(theme),\n large: {\n fontSize: '20px',\n color: 'red',\n },\n disabed: {\n fontSize: '10px',\n color: 'gray',\n },\n child: getStylesObjectChild(theme),\n };\n};\n\nfunction getStylesObjectMain(theme: GrafanaTheme2) {\n return {\n background: 'blue',\n border: '1px solid red',\n color: 'white',\n padding: theme.spacing(1),\n shadow: theme.shadows.z1,\n ':hover': {\n background: theme.colors.background.primary,\n },\n };\n}\n\nfunction getStylesObjectChild(theme: GrafanaTheme2) {\n return {\n padding: '2px',\n fontSize: '10px',\n boxShadow: 'none',\n textAlign: 'center',\n textDecoration: 'none',\n } as const;\n}\n","import React from 'react';\n\nimport { VerticalGroup } from '@grafana/ui';\nimport { EmotionPerfTest } from '@grafana/ui/src/components/ThemeDemos/EmotionPerfTest';\n\nexport const BenchmarksPage = () => {\n return (\n \n \n \n );\n};\n\nexport default BenchmarksPage;\n"],"names":["EmotionPerfTest","TestScenario","NoStyles","InlineEmotionCSS","UseStylesNoCX","UseStylesWithConditionalCX","UseStylesWithCSSProp","UseStylesWithConditionalCSS","UseStylesWithConditionalClassNames","name","Component","render","setRender","Button","MeasureRender","renderManyComponents","elements","i","index","styles","getStyles","mainStyles","getStylesObjects","theme","children","id","onRender","phase","actualDuration","baseDuration","startTime","commitTime","getStylesObjectMain","getStylesObjectChild","BenchmarksPage"],"sourceRoot":""}