{"version":3,"file":"code-editor.mjs","sources":["../../../../../../../packages/components/code-editor/src/config/code-editor.ts"],"sourcesContent":["import { buildProps, definePropType } from '@ll-plus/utils'\r\n\r\nimport type { ExtractPropTypes } from 'vue'\r\nexport type Theme =\r\n  | 'vs'\r\n  | 'hc-black'\r\n  | 'vs-dark'\r\n  | 'AtlanticNight'\r\n  | 'AtomOneDark'\r\n  | 'AuroraX'\r\n  | 'AyuDark'\r\n  | 'AyuLight'\r\n  | 'BlulocoLight'\r\n  | 'CodeSandBox'\r\n  | 'Darktooth'\r\n  | 'Dracula'\r\n  | 'EvaLight'\r\n  | 'FlatUI'\r\n  | 'Hopscotch'\r\n  | 'HorlaLightTheme'\r\n  | 'HybridNext'\r\n  | 'KimbieDark'\r\n  | 'Lucario'\r\n  | 'MonokaiDimmed'\r\n  | 'MonokaiPro'\r\n  | 'Nebula'\r\n  | 'NoctisAzureus'\r\n  | 'NoctisBordo'\r\n  | 'NoctisLux'\r\n  | 'OneDarkPro'\r\n  | 'OneMonokai'\r\n  | 'Panda'\r\n  | 'RemedyDark'\r\n  | 'ReUI'\r\n  | 'ShadesOfPurple'\r\n  | 'SnazzyLight'\r\n  | 'SnazzyOperator'\r\n  | 'SublimeMaterialThemeDark'\r\n  | 'SynthWave84'\r\n  | 'TokyoNightStorm'\r\n  | 'TomorrowNightBlue'\r\n  | 'Twilight'\r\nexport type FoldingStrategy = 'auto' | 'indentation'\r\nexport type RenderLineHighlight = 'all' | 'line' | 'none' | 'gutter'\r\nexport type Language = 'javascript' | 'typescript' | 'html' | 'css' | 'json'\r\nimport type CodeEditor from '../code-editor.vue'\r\nexport interface Options {\r\n  automaticLayout?: boolean // 自适应布局\r\n  foldingStrategy?: FoldingStrategy // 折叠方式  auto | indentation\r\n  renderLineHighlight?: RenderLineHighlight // 行亮\r\n  selectOnLineNumbers?: boolean // 显示行号\r\n  minimap?: {\r\n    // 关闭小地图\r\n    enabled: boolean\r\n  }\r\n  readOnly?: boolean // 只读\r\n  fontSize?: number // 字体大小\r\n  scrollBeyondLastLine?: boolean // 取消代码后面一大段空白\r\n  overviewRulerBorder?: boolean // 不要滚动条的边框\r\n}\r\nexport const defaultOptions = {\r\n  automaticLayout: true,\r\n  foldingStrategy: 'indentation',\r\n  renderLineHighlight: 'all',\r\n  selectOnLineNumbers: true,\r\n  minimap: {\r\n    enabled: true,\r\n  },\r\n  readOnly: false,\r\n  fontSize: 16,\r\n  scrollBeyondLastLine: false,\r\n  overviewRulerBorder: false,\r\n} as Options\r\n\r\nexport const codeEditorProps = buildProps({\r\n  value: {\r\n    type: String,\r\n    default: null,\r\n  },\r\n  disabled: {\r\n    type: Boolean,\r\n    default: () => false,\r\n  },\r\n  width: {\r\n    type: [String, Number],\r\n    default: '100%',\r\n  },\r\n  height: {\r\n    type: [String, Number],\r\n    default: '100%',\r\n  },\r\n  language: {\r\n    type: definePropType<Language>(String),\r\n    default: 'javascript',\r\n  },\r\n  theme: {\r\n    type: definePropType<Theme>(String),\r\n    default: 'vs',\r\n  },\r\n  options: {\r\n    type: definePropType<Options>(Object),\r\n    default: () => ({} as Options),\r\n  },\r\n} as const)\r\n\r\nexport const codeEditorEmits = {\r\n  'update:value': (value: string) => !!value,\r\n  change: (value: string) => !!value,\r\n  'editor-mounted': (editor: any) => !!editor,\r\n}\r\n\r\n// props\r\nexport type CodeEditorProps = ExtractPropTypes<typeof codeEditorProps>\r\n\r\n// emits\r\nexport type CodeEditorEmits = typeof codeEditorEmits\r\n\r\n// instance\r\nexport type CodeEditorInstance = InstanceType<typeof CodeEditor>\r\n"],"names":[],"mappings":";;;;AA4DO,MAAM,cAAA,GAAiB;AAAA,EAC5B,eAAA,EAAiB,IAAA;AAAA,EACjB,eAAA,EAAiB,aAAA;AAAA,EACjB,mBAAA,EAAqB,KAAA;AAAA,EACrB,mBAAA,EAAqB,IAAA;AAAA,EACrB,OAAA,EAAS;AAAA,IACP,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU,KAAA;AAAA,EACV,QAAA,EAAU,EAAA;AAAA,EACV,oBAAA,EAAsB,KAAA;AAAA,EACtB,mBAAA,EAAqB;AACvB;AAEO,MAAM,kBAAkB,UAAA,CAAW;AAAA,EACxC,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,MAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,OAAA;AAAA,IACN,SAAS,MAAM;AAAA,GACjB;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,IAAA,EAAM,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,IACrB,OAAA,EAAS;AAAA,GACX;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM,eAAyB,MAAM,CAAA;AAAA,IACrC,OAAA,EAAS;AAAA,GACX;AAAA,EACA,KAAA,EAAO;AAAA,IACL,IAAA,EAAM,eAAsB,MAAM,CAAA;AAAA,IAClC,OAAA,EAAS;AAAA,GACX;AAAA,EACA,OAAA,EAAS;AAAA,IACP,IAAA,EAAM,eAAwB,MAAM,CAAA;AAAA,IACpC,OAAA,EAAS,OAAO,EAAC;AAAA;AAErB,CAAU;AAEH,MAAM,eAAA,GAAkB;AAAA,EAC7B,cAAA,EAAgB,CAAC,KAAA,KAAkB,CAAC,CAAC,KAAA;AAAA,EACrC,MAAA,EAAQ,CAAC,KAAA,KAAkB,CAAC,CAAC,KAAA;AAAA,EAC7B,gBAAA,EAAkB,CAAC,MAAA,KAAgB,CAAC,CAAC;AACvC;;;;"}