import 'codemirror/theme/dracula.css' ; import 'codemirror/theme/eclipse.css' ; import { dracula , duotoneDark , duotoneLight , github , nightOwl , oceanicNext , shadesOfPurple , ultramin , vsDark , } from '@code-surfer/themes' ; import { CodeSurferStyles } from '@code-surfer/themes/dist/utils' ; import { WindowControlsPosition , WindowControlsType } from '@waves/shared' ; import { normalizeArray } from '../utils' ; export * from './windowControls' ; export type CodeTheme = { key : string ; name : string ; codeMirrorMap : string ; windowControlsType : WindowControlsType ; windowControlsPosition : WindowControlsPosition ; themeType : 'light' | 'dark' ; theme : { colors : { background : string ; primary : string ; text : string ; } ; styles : { CodeSurfer : CodeSurferStyles ; } ; } ; } ; export const CODE_THEMES = [ { key : 'dracula' , name : 'Dracula' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'dracula' , themeType : 'dark' , theme : dracula , } , { key : 'duotoneDark' , name : 'Duotone Dark' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'dracula' , themeType : 'dark' , theme : duotoneDark , } , { key : 'duotoneLight' , name : 'Duotone Light' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'eclipse' , themeType : 'light' , theme : duotoneLight , } , { key : 'github' , name : 'Github' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'eclipse' , themeType : 'light' , theme : github , } , { key : 'nightOwl' , name : 'Night Owl' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'dracula' , themeType : 'dark' , theme : nightOwl , } , { key : 'oceanicNext' , name : 'Oceanic Next' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'dracula' , themeType : 'dark' , theme : oceanicNext , } , { key : 'shadesOfPurple' , name : 'Shades of Purple' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'dracula' , themeType : 'dark' , theme : shadesOfPurple , } , { key : 'ultramin' , name : 'Ultramin' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'dracula' , themeType : 'dark' , theme : ultramin , } , { key : 'vsDark' , name : 'VS Code' , windowControlsType : 'rounded' , windowControlsPosition : 'left' , codeMirrorMap : 'dracula' , themeType : 'dark' , theme : vsDark , } , ] ; export const CODE_THEMES_DICT = normalizeArray ( CODE_THEMES , 'key' ) ;