UNPKG

@grafana/ui

Version:
1 lines 2.68 kB
{"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';\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,MAAmB,CAAA,MAAA,CAAO,EAAE,MAAA,EAAQ,CAAA;AAEvB,MAAA,iBAAA,GAAoB,CAAC,KAAkC,KAAA;AAClE,EAAA,MAAM,EAAE,WAAa,EAAA,OAAA,EAAS,OAAS,EAAA,GAAG,WAAc,GAAA,KAAA;AAExD,EAAA,MAAM,QAAQ,SAAU,EAAA;AACxB,EAAA,MAAM,mBAAsB,GAAA,WAAA;AAAA,IAC1B,CAACC,OAAmB,KAAA;AAClB,MAAcA,WAAAA,IAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,WAAAA,CAAAA,OAAAA,CAAAA;AAAA,KAChB;AAAA,IACA,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,YAAA,CAAa,QAAQ,KAAK,CAAA;AAAA,GAC5B,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EACE,uBAAA,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACE,GAAG,SAAA;AAAA,MACJ,OAAS,EAAA;AAAA,QACP,GAAG,OAAA;AAAA,QACH,UAAA,EAAY,KAAM,CAAA,UAAA,CAAW,IAAK,CAAA;AAAA,OACpC;AAAA,MACA,KAAA,EAAO,KAAM,CAAA,MAAA,GAAS,cAAiB,GAAA,eAAA;AAAA,MACvC,WAAa,EAAA,mBAAA;AAAA,MACb,OAAA,EAAS,CAAC,MAAA,EAAQA,OAAW,KAAA;AAI3B,QAAS,QAAA,CAAA,KAAA,CAAM,KAAM,CAAA,IAAA,CAAK,MAAM;AAC9B,UAAAA,OAAAA,CAAO,OAAO,cAAe,EAAA;AAAA,SAC9B,CAAA;AACD,QAAA,OAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,OAAA,CAAU,MAAQA,EAAAA,OAAAA,CAAAA;AAAA;AACpB;AAAA,GACF;AAEJ;;;;"}