{"version":3,"file":"ReactMonacoEditor.mjs","sources":["../../../../src/components/Monaco/ReactMonacoEditor.tsx"],"sourcesContent":["import Editor, { loader as monacoEditorLoader, Monaco } from '@monaco-editor/react';\nimport * as monaco from 'monaco-editor';\nimport { useCallback, useEffect } from 'react';\n\nimport { useTheme2 } from '../../themes/ThemeContext';\n\nimport defineThemes from './theme';\nimport type { ReactMonacoEditorProps } from './types';\n\n// pass the monaco editor to the loader to bypass requirejs\nmonacoEditorLoader.config({ monaco });\n\nexport const ReactMonacoEditor = (props: ReactMonacoEditorProps) => {\n  const { beforeMount, onMount, options, ...restProps } = props;\n\n  const theme = useTheme2();\n  const onMonacoBeforeMount = useCallback(\n    (monaco: Monaco) => {\n      beforeMount?.(monaco);\n    },\n    [beforeMount]\n  );\n\n  useEffect(() => {\n    defineThemes(monaco, theme);\n  }, [theme]);\n\n  return (\n    <Editor\n      {...restProps}\n      options={{\n        ...options,\n        fontFamily: theme.typography.code.fontFamily,\n      }}\n      theme={theme.isDark ? 'grafana-dark' : 'grafana-light'}\n      beforeMount={onMonacoBeforeMount}\n      onMount={(editor, monaco) => {\n        // we use a custom font in our monaco editor\n        // we need monaco to remeasure the fonts after they are loaded to prevent alignment issues\n        // see https://github.com/microsoft/monaco-editor/issues/648#issuecomment-564978560\n        document.fonts.ready.then(() => {\n          monaco.editor.remeasureFonts();\n        });\n        onMount?.(editor, monaco);\n      }}\n    />\n  );\n};\n"],"names":["monacoEditorLoader","monaco"],"mappings":";;;;;;;;AAUAA,MAAA,CAAmB,MAAA,CAAO,EAAE,MAAA,EAAQ,CAAA;AAE7B,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAkC;AAClE,EAAA,MAAM,EAAE,WAAA,EAAa,OAAA,EAAS,OAAA,EAAS,GAAG,WAAU,GAAI,KAAA;AAExD,EAAA,MAAM,QAAQ,SAAA,EAAU;AACxB,EAAA,MAAM,mBAAA,GAAsB,WAAA;AAAA,IAC1B,CAACC,OAAAA,KAAmB;AAClB,MAAA,WAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,WAAA,CAAcA,OAAAA,CAAAA;AAAA,IAChB,CAAA;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,YAAA,CAAa,QAAQ,KAAK,CAAA;AAAA,EAC5B,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,OAAA,EAAS;AAAA,QACP,GAAG,OAAA;AAAA,QACH,UAAA,EAAY,KAAA,CAAM,UAAA,CAAW,IAAA,CAAK;AAAA,OACpC;AAAA,MACA,KAAA,EAAO,KAAA,CAAM,MAAA,GAAS,cAAA,GAAiB,eAAA;AAAA,MACvC,WAAA,EAAa,mBAAA;AAAA,MACb,OAAA,EAAS,CAAC,MAAA,EAAQA,OAAAA,KAAW;AAI3B,QAAA,QAAA,CAAS,KAAA,CAAM,KAAA,CAAM,IAAA,CAAK,MAAM;AAC9B,UAAAA,OAAAA,CAAO,OAAO,cAAA,EAAe;AAAA,QAC/B,CAAC,CAAA;AACD,QAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAU,MAAA,EAAQA,OAAAA,CAAAA;AAAA,MACpB;AAAA;AAAA,GACF;AAEJ;;;;"}