@next-bricks/vs 1.14.13 → 1.14.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/7242.978767ea.js +2 -0
- package/dist/chunks/7242.978767ea.js.map +1 -0
- package/dist/chunks/code-editor.2665f247.js +2 -0
- package/dist/chunks/code-editor.2665f247.js.map +1 -0
- package/dist/chunks/{main.ba8763bc.js → main.98ec566d.js} +2 -2
- package/dist/chunks/{main.ba8763bc.js.map → main.98ec566d.js.map} +1 -1
- package/dist/{index.1d20d908.js → index.9f3463d2.js} +2 -2
- package/dist/{index.1d20d908.js.map → index.9f3463d2.js.map} +1 -1
- package/package.json +2 -2
- package/dist/chunks/7242.7eaeafb6.js +0 -2
- package/dist/chunks/7242.7eaeafb6.js.map +0 -1
- package/dist/chunks/code-editor.4d9b5ee2.js +0 -2
- package/dist/chunks/code-editor.4d9b5ee2.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/code-editor.4d9b5ee2.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport {\n AdvancedCompleterMap,\n ExtraLib,\n type MixedCompleter,\n} from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport { addExtraLibs } from \"./utils/addExtraLibs.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\nimport { getRemoteYamlLinterWorker } from \"./workers/yamlLinter.js\";\nimport { register as registerCel } from \"./languages/cel.js\";\nimport { register as registerCelYaml } from \"./languages/cel-yaml.js\";\nimport { register as registerCelStr } from \"./languages/cel-str.js\";\nimport {\n provideEmbeddedCelCompletionItems,\n celCommonCompletionProviderFactory,\n celSpecificCompletionProviderFactory,\n} from \"./utils/celCompletionProvider.js\";\n\ninitializeReactI18n(NS, locales);\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\nregisterCel(monaco);\nregisterCelYaml(monaco);\nregisterCelStr(monaco);\n\nconst EMBEDDED_CEL = [\"cel_yaml\", \"cel_str\"];\nconst CEL_FAMILY = [\"cel\", ...EMBEDDED_CEL];\nfor (const lang of EMBEDDED_CEL) {\n monaco.languages.registerCompletionItemProvider(lang, {\n triggerCharacters: [\"<\"],\n provideCompletionItems: provideEmbeddedCelCompletionItems,\n });\n}\n\nfor (const lang of CEL_FAMILY) {\n monaco.languages.registerCompletionItemProvider(\n lang,\n celCommonCompletionProviderFactory(lang)\n );\n}\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n placeholder?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap | MixedCompleter[];\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\n lineNumbers?: monaco.editor.LineNumbersType;\n glyphMargin?: boolean;\n validateState?: string;\n customValidationInBrickNextYaml?: boolean;\n fixedOverflowWidgets?: boolean;\n}\n\nexport interface Marker {\n token: string;\n level?: keyof typeof Level;\n message?: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\nexport type TokenConfig = {\n showDSKey?: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n /**\n * 仅对 language 为 brick_next_yaml 有效,设置第一层属性名的自动补全。\n */\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n /**\n * 高级自动补全配置。\n * - 设置为键值对时,仅对 language 为 brick_next_yaml 有效,设置任意的自动补全;\n * - 设置为数组时,当前仅对 language 为 cel 有效。\n * 未来将统一改为数组格式,废弃键值对格式的配置。\n */\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | AdvancedCompleterMap\n | MixedCompleter[]\n | undefined;\n\n @property({ attribute: false })\n accessor markers: Marker[] | undefined;\n\n @property({ attribute: false })\n accessor links: string[] | undefined;\n\n /**\n * @default Infinity\n */\n @property({ type: Number })\n accessor maxLines: number | undefined;\n\n @property({ attribute: false })\n accessor height: string | number | undefined;\n\n @property()\n accessor message: string | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 行数配置\n */\n @property()\n accessor lineNumbers: monaco.editor.LineNumbersType | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 在 brick_next_yaml 中是否开启语义相关校验\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor customValidationInBrickNextYaml: boolean | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * 显示字形边距\n * @default false\n */\n @property({ type: Boolean })\n accessor glyphMargin: boolean | undefined;\n\n /**\n * @description 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | undefined;\n\n /**\n * @default true\n */\n @property({ type: Boolean })\n accessor fixedOverflowWidgets: boolean | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<any>;\n\n #handleChange = (value: string) => {\n this.value = value;\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n };\n\n #handleUserInput = (value: any) => {\n this.#userInput.emit(value);\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidator = (value: string) => {\n if (this.language === \"brick_next_yaml\" || this.language === \"yaml\") {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidator}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n lineNumbers={this.lineNumbers}\n glyphMargin={this.glyphMargin}\n placeholder={this.placeholder}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onUserInput={this.#handleUserInput}\n onTokenClick={this.#handleTokenClick}\n customValidationInBrickNextYaml={this.customValidationInBrickNextYaml}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n extraLibs,\n tokenConfig,\n showExpandButton,\n showCopyButton = true,\n lineNumbers = \"on\",\n glyphMargin = false,\n placeholder,\n validateState,\n onChange,\n // onUserInput,\n onTokenClick,\n customValidationInBrickNextYaml,\n fixedOverflowWidgets: _fixedOverflowWidgets,\n}: CodeEditorProps & {\n onChange(value: string): void;\n onUserInput: (value: any) => void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const fixedOverflowWidgets = _fixedOverflowWidgets ?? true;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const isDarkTheme =\n computedTheme === \"vs-dark\" || computedTheme === \"hc-black\";\n\n useEffect(() => {\n const lineHighlightBackground = isDarkTheme ? \"#FFFFFF0F\" : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHighlightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [computedTheme, isDarkTheme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n Array.isArray(advancedCompleters) ? undefined : advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language, workerId, tokenConfig]);\n\n useEffect(() => {\n if (\n Array.isArray(advancedCompleters) &&\n advancedCompleters.length > 0 &&\n CEL_FAMILY.includes(language)\n ) {\n const disposable = monaco.languages.registerCompletionItemProvider(\n language,\n celSpecificCompletionProviderFactory(\n language,\n workerId,\n advancedCompleters\n )\n );\n return () => {\n disposable.dispose();\n };\n }\n }, [language, advancedCompleters, workerId]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (editor) {\n const currentModel = editor.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n }\n }\n }, [value]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0].blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n lineNumbersMinChars: expanded ? 5 : 3,\n });\n }, [readOnly, expanded]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const uri = getEmbeddedJavascriptUri(model.uri);\n monaco.editor.createModel(value, \"javascript\", uri);\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\n editorRef.current = monaco.editor.create(containerRef.current, {\n extraEditorClassName: \"monaco-editor-v3\",\n model,\n minimap: {\n enabled: false,\n showRegionSectionHeaders: false,\n showMarkSectionHeaders: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets,\n lineNumbers: lineNumbers,\n lineNumbersMinChars: 3,\n glyphMargin,\n folding: lineNumbers !== \"off\",\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n unicodeHighlight: {\n ambiguousCharacters: false,\n },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const libs: ExtraLib[] = extraLibs ?? [];\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n const disposables = addExtraLibs(libs, {\n languageDefaults,\n });\n return () => {\n for (const item of disposables) {\n item.dispose();\n }\n };\n }, [extraLibs, language]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n if (!customValidationInBrickNextYaml) return;\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async (e) => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n // debounceParse();\n }\n if (!e.isFlush) {\n onChange(currentModel.getValue());\n }\n });\n return () => {\n listener.dispose();\n };\n }, [\n /* debounceParse, */ onChange,\n workerId,\n language,\n embeddedModelProcessor,\n ]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n useEffect(() => {\n if (!editorRef.current && !placeholder) return;\n const placeholderWidget = new PlaceholderContentWidget(\n placeholder!,\n editorRef.current!,\n isDarkTheme ? \"rgba(174,174,175,0.4)\" : \"rgba(89,89,89,0.4)\"\n );\n\n return () => {\n placeholderWidget.dispose();\n };\n }, [placeholder, isDarkTheme]);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!(editor && language === \"brick_next_yaml\")) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteYamlLinterWorker();\n if (ignore) {\n return;\n }\n const { lintMarkers, lintDecorations } = await worker.lint({\n source: editor.getValue(),\n links,\n markers,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml_lint\",\n lintMarkers.map(({ start, end, message, severity, code }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n code: code as monaco.editor.IMarkerData[\"code\"],\n };\n })\n );\n decorationsCollection.current?.set(\n lintDecorations.map(({ start, end, options }) => ({\n range: monaco.Range.fromPositions(\n model.getPositionAt(start),\n model.getPositionAt(end)\n ),\n options,\n }))\n );\n };\n const debounceChange = debounce(handleChange, 200);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n\n return () => {\n ignore = true;\n change.dispose();\n monaco.editor.setModelMarkers(\n editor.getModel()!,\n \"brick_next_yaml_lint\",\n []\n );\n };\n }, [language, links, markers, theme, workerId]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar-wrapper\">\n <div className=\"toolbar sticky\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","registerCel","registerCelYaml","registerCelStr","EMBEDDED_CEL","CEL_FAMILY","lang","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","provideEmbeddedCelCompletionItems","celCommonCompletionProviderFactory","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","_CodeEditor_brand","WeakSet","_a","_handleChange","_handleUserInput","_b","_handleTokenClick","_handleValidator","CodeEditor","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_placeholder","_init_extra_placeholder","_init_showExpandButton","_init_extra_showExpandButton","_init_lineNumbers","_init_extra_lineNumbers","_init_tokenConfig","_init_extra_tokenConfig","_init_customValidationInBrickNextYaml","_init_extra_customValidationInBrickNextYaml","_init_showCopyButton","_init_extra_showCopyButton","_init_glyphMargin","_init_extra_glyphMargin","_init_extraLibs","_init_extra_extraLibs","_init_fixedOverflowWidgets","_init_extra_fixedOverflowWidgets","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","language","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","fixedOverflowWidgets","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","onTokenClick","_ref","_value","_language","_theme","_minLines","_maxLines","_height","_fixedOverflowWidgets","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","computedTheme","isDarkTheme","useEffect","lineHighlightBackground","defineTheme","base","inherit","rules","colors","setTheme","current","currentModel","getModel","setModelLanguage","brickNextYAMLProviderCompletionItems","Array","isArray","undefined","monacoProviderRef","dispose","length","includes","disposable","celSpecificCompletionProviderFactory","editor","getValue","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","lineNumbersMinChars","model","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","extraEditorClassName","minimap","enabled","showRegionSectionHeaders","showMarkSectionHeaders","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","unicodeHighlight","ambiguousCharacters","createDecorationsCollection","libs","languageDefaults","disposables","addExtraLibs","item","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","content","newUri","offset","getOffsetAt","EmbeddedModelContext","getInstance","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","_item$start","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","endLineNumber","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","isFlush","fn","key","window","removeEventListener","addEventListener","_editorRef$current3","_editorRef$current4","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","ignore","debounceChange","debounce","_decorationsCollectio","getRemoteYamlLinterWorker","lintMarkers","lintDecorations","lint","source","_ref2","end","code","startPos","endPos","_ref3","fromPositions","change","onDidChangeModelContent","className","classNames","error","ref","overflow","COPY","icon","lib","onClick","COLLAPSE","EXPAND","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|