@next-bricks/vs 1.16.7 → 1.16.8
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/2939.08859fb0.js +2 -0
- package/dist/chunks/2939.08859fb0.js.map +1 -0
- package/dist/chunks/{5552.01d3b722.js → 3171.93dbb105.js} +2 -2
- package/dist/chunks/{5552.01d3b722.js.map → 3171.93dbb105.js.map} +1 -1
- package/dist/chunks/{4539.e571397e.js → 4539.46bb2a19.js} +3 -3
- package/dist/chunks/{4539.e571397e.js.map → 4539.46bb2a19.js.map} +1 -1
- package/dist/chunks/4765.2ea21257.js +2 -0
- package/dist/chunks/4765.2ea21257.js.map +1 -0
- package/dist/chunks/{4837.84976d7d.js → 4837.f426429e.js} +2 -2
- package/dist/chunks/4837.f426429e.js.map +1 -0
- package/dist/chunks/{3171.73656b72.js → 5552.eee150ed.js} +2 -2
- package/dist/chunks/{3171.73656b72.js.map → 5552.eee150ed.js.map} +1 -1
- package/dist/chunks/7146.07b85c3f.js +2 -0
- package/dist/chunks/7146.07b85c3f.js.map +1 -0
- package/dist/chunks/{7218.a66d381f.js → 7218.4cd038f2.js} +2 -2
- package/dist/chunks/7218.4cd038f2.js.map +1 -0
- package/dist/chunks/{7242.057e2fe0.js → 7242.6d2e41d5.js} +2 -2
- package/dist/chunks/{7242.057e2fe0.js.map → 7242.6d2e41d5.js.map} +1 -1
- package/dist/chunks/7815.a5d51a5a.js +2 -0
- package/dist/chunks/{7094.55027c1e.js.map → 7815.a5d51a5a.js.map} +1 -1
- package/dist/chunks/9140.0f6af18f.js +3 -0
- package/dist/chunks/9140.0f6af18f.js.map +1 -0
- package/dist/chunks/{code-editor.a7f1eca7.js → code-editor.1052746f.js} +2 -2
- package/dist/chunks/{code-editor.a7f1eca7.js.map → code-editor.1052746f.js.map} +1 -1
- package/dist/chunks/main.ccc87e23.js +2 -0
- package/dist/chunks/main.ccc87e23.js.map +1 -0
- package/dist/index.f7be9073.js +2 -0
- package/dist/index.f7be9073.js.map +1 -0
- package/package.json +2 -2
- package/dist/chunks/1419.4075ce17.js +0 -2
- package/dist/chunks/1419.4075ce17.js.map +0 -1
- package/dist/chunks/3933.ef8099f3.js +0 -2
- package/dist/chunks/3933.ef8099f3.js.map +0 -1
- package/dist/chunks/4837.84976d7d.js.map +0 -1
- package/dist/chunks/6314.0c419cba.js +0 -2
- package/dist/chunks/6314.0c419cba.js.map +0 -1
- package/dist/chunks/7094.55027c1e.js +0 -2
- package/dist/chunks/7218.a66d381f.js.map +0 -1
- package/dist/chunks/9140.dc58d876.js +0 -3
- package/dist/chunks/9140.dc58d876.js.map +0 -1
- package/dist/chunks/main.10e09668.js +0 -2
- package/dist/chunks/main.10e09668.js.map +0 -1
- package/dist/index.7df8e225.js +0 -2
- package/dist/index.7df8e225.js.map +0 -1
- /package/dist/chunks/{4539.e571397e.js.LICENSE.txt → 4539.46bb2a19.js.LICENSE.txt} +0 -0
- /package/dist/chunks/{9140.dc58d876.js.LICENSE.txt → 9140.0f6af18f.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7242.057e2fe0.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 { getRuntime } from \"@next-core/runtime\";\nimport { HttpAbortError } from \"@next-core/http\";\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 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 {\n MonacoCopilotProvider,\n SUPPORTED_LANGUAGES,\n} from \"@next-shared/monaco-copilot\";\nimport { AiopsBaseApi_openaiChat } from \"@next-api-sdk/llm-sdk\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\nimport { getRemoteYamlLinterWorker } from \"./workers/yamlLinter.js\";\nimport { getRemoteSpellCheckWorker } from \"./workers/spellCheckRemoteWorker.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\";\nimport {\n disposeEditor,\n isCurrentEditor,\n switchEditor,\n} from \"./utils/EditorService.js\";\nimport { setExtraLibs } from \"./utils/setExtraLibs.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\n// istanbul ignore next\nconst { enabled: copilotEnabled, ...copilotOptions } =\n (getRuntime()?.getMiscSettings().globalMonacoEditorCopilotOptions ?? {}) as {\n enabled?: boolean;\n model?: string;\n debounce?: number;\n timeout?: number;\n };\n\n// istanbul ignore next\nif (copilotEnabled) {\n monaco.languages.registerInlineCompletionsProvider(\n SUPPORTED_LANGUAGES,\n new MonacoCopilotProvider({\n ...copilotOptions,\n async request({ model, temperature, system, prompt, signal }) {\n const response = await AiopsBaseApi_openaiChat(\n {\n model,\n temperature,\n enableSensitiveWordsFilter: false,\n stream: false,\n messages: [\n ...(system ? [{ role: \"system\", content: system }] : []),\n { role: \"user\", content: prompt },\n ],\n },\n {\n signal,\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n return response.choices?.[0]?.message?.content?.trim();\n },\n HttpAbortError,\n })\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\nconst SPELL_CHECK = \"spell_check\";\nconst BRICK_NEXT_YAML_LINT = \"brick_next_yaml_lint\";\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 spellCheck?: boolean;\n knownWords?: string[];\n domLibsEnabled?: 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 * 额外声明的 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 /**\n * 是否启用英语拼写检查\n * @default true\n */\n @property({ type: Boolean })\n accessor spellCheck: boolean | undefined;\n\n /**\n * 启用英语拼写检查时,除系统设置的词汇表外,指定其他的已知单词(小写)。\n */\n @property({ attribute: false })\n accessor knownWords: string[] | undefined;\n\n /**\n * 是否启用 DOM 相关接口的自动提示。\n */\n @property({ type: Boolean })\n accessor domLibsEnabled: 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 fixedOverflowWidgets={this.fixedOverflowWidgets}\n spellCheck={this.spellCheck}\n knownWords={this.knownWords}\n domLibsEnabled={this.domLibsEnabled}\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 spellCheck: _spellCheck,\n knownWords,\n domLibsEnabled,\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 spellCheck = _spellCheck ?? 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 // istanbul ignore next: compatibility\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n // istanbul ignore next: compatibility\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .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 const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n\n useEffect(() => {\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n }, [language, domLibsEnabled, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n return () => {\n disposeEditor(editor);\n };\n }, []);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n\n const setupLanguageService = () => {\n setExtraLibs(extraLibs, { languageDefaults });\n\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n };\n\n if (isCurrentEditor(editor)) {\n setupLanguageService();\n }\n\n const disposable = editor.onDidFocusEditorWidget(() => {\n // Set language service for this particular editor instance\n if (switchEditor(editor)) {\n setupLanguageService();\n }\n });\n return () => {\n disposable.dispose();\n };\n }, [domLibsEnabled, extraLibs, language, languageDefaults]);\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 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 // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor || !spellCheck) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteSpellCheckWorker();\n if (ignore) {\n return;\n }\n const { markers: spellCheckMarkers } = await worker.spellCheck({\n source: editor.getValue(),\n knownWords,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n SPELL_CHECK,\n spellCheckMarkers.map(({ start, end, message, severity }) => {\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 };\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(editor.getModel()!, SPELL_CHECK, []);\n };\n }, [spellCheck, knownWords]);\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","enabled","copilotEnabled","copilotOptions","_getRuntime$getMiscSe","_getRuntime","getRuntime","getMiscSettings","globalMonacoEditorCopilotOptions","registerInlineCompletionsProvider","SUPPORTED_LANGUAGES","MonacoCopilotProvider","request","_ref","_response$choices","model","temperature","system","prompt","signal","AiopsBaseApi_openaiChat","enableSensitiveWordsFilter","stream","messages","role","content","interceptorParams","ignoreLoadingBar","choices","message","trim","HttpAbortError","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","SPELL_CHECK","BRICK_NEXT_YAML_LINT","_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","_a","_b","_c","_CodeEditor_brand","WeakSet","_d","_handleChange","_handleUserInput","_e","_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_spellCheck","_init_extra_spellCheck","_init_knownWords","_init_extra_knownWords","_init_domLibsEnabled","_init_extra_domLibsEnabled","_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","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","fixedOverflowWidgets","spellCheck","knownWords","domLibsEnabled","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","onTokenClick","_ref2","_value","_language","_theme","_minLines","_maxLines","_height","_fixedOverflowWidgets","_spellCheck","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","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","extraEditorClassName","minimap","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","languageDefaults","setCompilerOptions","allowNonTsExtensions","lib","ScriptTarget","ESNext","moduleResolution","ModuleResolutionKind","NodeJs","disposeEditor","setupLanguageService","setExtraLibs","isCurrentEditor","onDidFocusEditorWidget","switchEditor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","item","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","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","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","ignore","debounceChange","debounce","_decorationsCollectio","getRemoteYamlLinterWorker","lintMarkers","lintDecorations","lint","source","_ref3","end","code","startPos","endPos","_ref4","fromPositions","change","onDidChangeModelContent","getRemoteSpellCheckWorker","spellCheckMarkers","_ref5","className","classNames","error","ref","overflow","COPY","icon","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":""}
|
|
1
|
+
{"version":3,"file":"chunks/7242.6d2e41d5.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 { getRuntime } from \"@next-core/runtime\";\nimport { HttpAbortError } from \"@next-core/http\";\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 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 {\n MonacoCopilotProvider,\n SUPPORTED_LANGUAGES,\n} from \"@next-shared/monaco-copilot\";\nimport { AiopsBaseApi_openaiChat } from \"@next-api-sdk/llm-sdk\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\nimport { getRemoteYamlLinterWorker } from \"./workers/yamlLinter.js\";\nimport { getRemoteSpellCheckWorker } from \"./workers/spellCheckRemoteWorker.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\";\nimport {\n disposeEditor,\n isCurrentEditor,\n switchEditor,\n} from \"./utils/EditorService.js\";\nimport { setExtraLibs } from \"./utils/setExtraLibs.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\n// istanbul ignore next\nconst { enabled: copilotEnabled, ...copilotOptions } =\n (getRuntime()?.getMiscSettings().globalMonacoEditorCopilotOptions ?? {}) as {\n enabled?: boolean;\n model?: string;\n debounce?: number;\n timeout?: number;\n };\n\n// istanbul ignore next\nif (copilotEnabled) {\n monaco.languages.registerInlineCompletionsProvider(\n SUPPORTED_LANGUAGES,\n new MonacoCopilotProvider({\n ...copilotOptions,\n async request({ model, temperature, system, prompt, signal }) {\n const response = await AiopsBaseApi_openaiChat(\n {\n model,\n temperature,\n enableSensitiveWordsFilter: false,\n stream: false,\n messages: [\n ...(system ? [{ role: \"system\", content: system }] : []),\n { role: \"user\", content: prompt },\n ],\n },\n {\n signal,\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n return response.choices?.[0]?.message?.content?.trim();\n },\n HttpAbortError,\n })\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\nconst SPELL_CHECK = \"spell_check\";\nconst BRICK_NEXT_YAML_LINT = \"brick_next_yaml_lint\";\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 spellCheck?: boolean;\n knownWords?: string[];\n domLibsEnabled?: 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 * 额外声明的 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 /**\n * 是否启用英语拼写检查\n * @default true\n */\n @property({ type: Boolean })\n accessor spellCheck: boolean | undefined;\n\n /**\n * 启用英语拼写检查时,除系统设置的词汇表外,指定其他的已知单词(小写)。\n */\n @property({ attribute: false })\n accessor knownWords: string[] | undefined;\n\n /**\n * 是否启用 DOM 相关接口的自动提示。\n */\n @property({ type: Boolean })\n accessor domLibsEnabled: 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 fixedOverflowWidgets={this.fixedOverflowWidgets}\n spellCheck={this.spellCheck}\n knownWords={this.knownWords}\n domLibsEnabled={this.domLibsEnabled}\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 spellCheck: _spellCheck,\n knownWords,\n domLibsEnabled,\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 spellCheck = _spellCheck ?? 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 // istanbul ignore next: compatibility\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n // istanbul ignore next: compatibility\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .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 const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n\n useEffect(() => {\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n }, [language, domLibsEnabled, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n return () => {\n disposeEditor(editor);\n };\n }, []);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n\n const setupLanguageService = () => {\n setExtraLibs(extraLibs, { languageDefaults });\n\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n };\n\n if (isCurrentEditor(editor)) {\n setupLanguageService();\n }\n\n const disposable = editor.onDidFocusEditorWidget(() => {\n // Set language service for this particular editor instance\n if (switchEditor(editor)) {\n setupLanguageService();\n }\n });\n return () => {\n disposable.dispose();\n };\n }, [domLibsEnabled, extraLibs, language, languageDefaults]);\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 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 // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor || !spellCheck) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteSpellCheckWorker();\n if (ignore) {\n return;\n }\n const { markers: spellCheckMarkers } = await worker.spellCheck({\n source: editor.getValue(),\n knownWords,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n SPELL_CHECK,\n spellCheckMarkers.map(({ start, end, message, severity }) => {\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 };\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(editor.getModel()!, SPELL_CHECK, []);\n };\n }, [spellCheck, knownWords]);\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","enabled","copilotEnabled","copilotOptions","_getRuntime$getMiscSe","_getRuntime","getRuntime","getMiscSettings","globalMonacoEditorCopilotOptions","registerInlineCompletionsProvider","SUPPORTED_LANGUAGES","MonacoCopilotProvider","request","_ref","_response$choices","model","temperature","system","prompt","signal","AiopsBaseApi_openaiChat","enableSensitiveWordsFilter","stream","messages","role","content","interceptorParams","ignoreLoadingBar","choices","message","trim","HttpAbortError","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","SPELL_CHECK","BRICK_NEXT_YAML_LINT","_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","_a","_b","_c","_CodeEditor_brand","WeakSet","_d","_handleChange","_handleUserInput","_e","_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_spellCheck","_init_extra_spellCheck","_init_knownWords","_init_extra_knownWords","_init_domLibsEnabled","_init_extra_domLibsEnabled","_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","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","fixedOverflowWidgets","spellCheck","knownWords","domLibsEnabled","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","onTokenClick","_ref2","_value","_language","_theme","_minLines","_maxLines","_height","_fixedOverflowWidgets","_spellCheck","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","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","extraEditorClassName","minimap","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","languageDefaults","setCompilerOptions","allowNonTsExtensions","lib","ScriptTarget","ESNext","moduleResolution","ModuleResolutionKind","NodeJs","disposeEditor","setupLanguageService","setExtraLibs","isCurrentEditor","onDidFocusEditorWidget","switchEditor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","item","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","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","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","ignore","debounceChange","debounce","_decorationsCollectio","getRemoteYamlLinterWorker","lintMarkers","lintDecorations","lint","source","_ref3","end","code","startPos","endPos","_ref4","fromPositions","change","onDidChangeModelContent","getRemoteSpellCheckWorker","spellCheckMarkers","_ref5","className","classNames","error","ref","overflow","COPY","icon","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":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7815],{426:(e,t,n)=>{n.d(t,{N:()=>T});var r,o=n(4635),i=n(918),s=n(5536),a=n(9492),l=n(6121),d=n(829),u=n(2740),c=n(7921),g=n(1280);let m,p,h,b,f,C,x,v,w;const{method:k,property:A}=(0,c.createDecorators)();var y=new WeakMap,N=new WeakSet,S=new WeakMap,L=new WeakMap,I=new WeakMap,E=new WeakMap,P=new WeakMap,$=new WeakMap;class T extends g.ReactNextElement{constructor(){super(...arguments),(0,o.A)(this,N),(0,i.A)(this,y,(m(this),!1)),(0,i.A)(this,S,"normal"),(0,i.A)(this,L,!1),(0,i.A)(this,I,p(this)),(0,i.A)(this,E,(h(this),b(this))),(0,i.A)(this,P,(f(this),C(this))),(0,i.A)(this,$,(x(this),v(this))),w(this)}get isFormItemElement(){return!0}set validateState(e){(0,a.A)(N,W,this,e),this._render()}get validateState(){return(0,s.A)(N,this,_)}set notRender(e){this.hidden=e,(0,a.A)(N,R,this,e),this._render()}get notRender(){return(0,s.A)(N,this,M)}get $bindFormItem(){return(0,s.A)(N,this,D)}set $bindFormItem(e){(0,a.A)(N,O,this,e),this._render()}get helpBrick(){return(0,d.A)(I,this)}set helpBrick(e){(0,l.A)(I,this,e)}get labelBrick(){return(0,d.A)(E,this)}set labelBrick(e){(0,l.A)(E,this,e)}get labelCol(){return(0,d.A)(P,this)}set labelCol(e){(0,l.A)(P,this,e)}get wrapperCol(){return(0,d.A)($,this)}set wrapperCol(e){(0,l.A)($,this,e)}setNotRender(e){this.notRender=e}getFormElement(){let e=this;for(;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function M(e){return(0,d.A)(y,e)}function R(e,t){(0,l.A)(y,e,t)}function _(e){return(0,d.A)(S,e)}function W(e,t){(0,l.A)(S,e,t)}function D(e){return(0,d.A)(L,e)}function O(e,t){(0,l.A)(L,e,t)}r=T,[p,h,b,f,C,x,v,w,m]=(0,u.A)(r,[],[[A({attribute:!1}),1,"helpBrick"],[A({attribute:!1}),1,"labelBrick"],[A({attribute:!1}),1,"labelCol"],[A({attribute:!1}),1,"wrapperCol"],[k(),2,"setNotRender"],[k(),2,"getFormElement"]],0,void 0,g.ReactNextElement).e},896:(e,t,n)=>{n.d(t,{AA:()=>o,D$:()=>i,kz:()=>a,xf:()=>r});const r={comments:{lineComment:"//",blockComment:null},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"',notIn:["string"]},{open:"'",close:"'",notIn:["string","comment"]}],onEnterRules:[{beforeText:/^ $/,afterText:/^ $/,action:{indentAction:n(210).languages.IndentAction.IndentOutdent,appendText:" "}}]},o=["bytes","double","duration","dyn","int","bool","matches","size","string","timestamp","type","uint","round","base64","has","printf","isEmpty","repeatArray","mergeList","fieldNotEmpty","hasOrDefault","trinocular","traceId","SHA1","random","random_string","now","request","step","variable","config","$"],i=["contains","endsWith","matches","startsWith","getDate","getDayOfMonth","getDayOfWeek","getDayOfYear","getFullYear","getHours","getMilliseconds","getMinutes","getMonth","getSeconds","charAt","indexOf","lastIndexOf","lowerAscii","replace","split","join","substring","trim","upperAscii","all","exists","exists_one","map","filter","decodeb64","truncate","parseJSON","parseYAML","parseURL","isBlank","marshalJSON","marshalYAML","merge","repeat","match","canonical","convertMap","fuse","remove","setAttr","parseDate","format","input","output"],s={defaultToken:"invalid",tokenPostfix:".cel",keywords:["in","as","break","const","continue","else","for","function","if","import","let","loop","package","namespace","return","var","void","while","null","true","false"],constants:o,instanceMethods:i,operators:["&&","||","<=","<",">=",">","==","!=","+","-","*","/","%","!"],symbols:/[=><!~?:&|+\-*/^%]+/,escapes:/\\(?:[bfnrt\\"']|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|[0-3][0-7]{2})/,tokenizer:{root:[[/[a-zA-Z_$][\w$]*/,{cases:{"@keywords":"keyword","@constants":"keyword","@default":"identifier"}}],[/(\.)([a-zA-Z_$][\w$]*)/,["operator",{cases:{"@instanceMethods":"keyword","@default":"identifier"}}]],{include:"@whitespace"},[/[{}()[\]]/,"@brackets"],[/@symbols/,{cases:{"@operators":"operator","@default":""}}],[/\d*\.\d+([eE][-+]?\d+)?/,"number.float"],[/0x[0-9a-fA-F]+[uU]?/,"number.hex"],[/\d+[uU]?/,"number"],[/[;,.]/,"delimiter"],[/"([^"\\]|\\.)*$/,"string.invalid"],[/"/,{token:"string.quote",bracket:"@open",next:"@string"}],[/'[^\\']'/,"string"],[/(')(@escapes)(')/,["string","string.escape","string"]],[/'/,"string.invalid"]],string:[[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,{token:"string.quote",bracket:"@close",next:"@pop"}]],whitespace:[[/[ \t\r\n]+/,"white"],[/\/\/.*$/,"comment"]]}};function a(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cel";e.languages.register({id:t,extensions:[".cel"],mimetypes:["text/cel"]}),e.languages.setLanguageConfiguration(t,r),e.languages.setMonarchTokensProvider(t,s)}},1836:(e,t,n)=>{n.d(t,{j:()=>i});var r=n(4586),o=n(210);class i{constructor(e,t,n){(0,r.A)(this,"domNode",void 0),(0,r.A)(this,"placeholder",void 0),(0,r.A)(this,"editor",void 0),(0,r.A)(this,"color",void 0),this.placeholder=e,this.editor=t,this.color=n,this.editor.onDidChangeModelContent((()=>this.onDidChangeModelContent())),this.onDidChangeModelContent()}onDidChangeModelContent(){var e,t,n,r;""===(null===(e=this.editor)||void 0===e||null===(t=e.getValue)||void 0===t?void 0:t.call(e))?this.editor.addContentWidget(this):null===(n=this.editor)||void 0===n||null===(r=n.removeContentWidget)||void 0===r||r.call(n,this)}getId(){return i.ID}getDomNode(){return this.domNode||(this.domNode=document.createElement("div"),this.domNode.style.width="max-content",this.domNode.style.pointerEvents="none",this.domNode.textContent=this.placeholder,this.domNode.style.whiteSpace="break-spaces",this.domNode.style.fontStyle="italic",this.domNode.style.color=this.color,this.editor.applyFontInfo(this.domNode)),this.domNode}getPosition(){return{position:{lineNumber:1,column:1},preference:[o.editor.ContentWidgetPositionPreference.EXACT]}}dispose(){var e,t;null===(e=this.editor)||void 0===e||null===(t=e.removeContentWidget)||void 0===t||t.call(e,this)}}(0,r.A)(i,"ID","editor.widget.placeholderHint")},1968:(e,t,n)=>{n.d(t,{b:()=>d});var r=n(918),o=n(829),i=n(6121),s=n(2559),a=new WeakMap,l=new WeakMap;class d{static getInstance(e){return(0,s.A)(d,this,u)._[e]||((0,s.A)(d,this,u)._[e]=new d(e)),(0,s.A)(d,this,u)._[e]}constructor(e){(0,r.A)(this,a,void 0),(0,r.A)(this,l,{}),(0,i.A)(a,this,e)}updateState(e){(0,i.A)(l,this,e)}getState(){return(0,o.A)(l,this)}}var u={_:{}}},2066:(e,t,n)=>{n.d(t,{kz:()=>i});const r={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],folding:{offSide:!0},onEnterRules:[{beforeText:/:\s*$/,action:{indentAction:n(210).languages.IndentAction.Indent}}]},o={tokenPostfix:".yaml.cel",brackets:[{token:"delimiter.bracket",open:"{",close:"}"},{token:"delimiter.square",open:"[",close:"]"}],keywords:["true","True","TRUE","false","False","FALSE","null","Null","NULL","~"],numberInteger:/(?:0|[+-]?[0-9]+)/,numberFloat:/(?:0|[+-]?[0-9]+)(?:\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,numberOctal:/0o[0-7]+/,numberHex:/0x[0-9a-fA-F]+/,numberInfinity:/[+-]?\.(?:inf|Inf|INF)/,numberNaN:/\.(?:nan|Nan|NAN)/,numberDate:/\d{4}-\d\d-\d\d([Tt ]\d\d:\d\d:\d\d(\.\d+)?(( ?[+-]\d\d?(:\d\d)?)|Z)?)?/,escapes:/\\(?:[btnfr\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,tokenizer:{root:[{include:"@whitespace"},{include:"@comment"},[/%[^ ]+.*$/,"meta.directive"],[/---/,"operators.directivesEnd"],[/\.{3}/,"operators.documentEnd"],[/[-?:](?= )/,"operators"],{include:"@anchor"},{include:"@tagHandle"},{include:"@flowCollections"},{include:"@blockStyle"},[/@numberInteger(?![ \t]*\S+)/,"number"],[/@numberFloat(?![ \t]*\S+)/,"number.float"],[/@numberOctal(?![ \t]*\S+)/,"number.octal"],[/@numberHex(?![ \t]*\S+)/,"number.hex"],[/@numberInfinity(?![ \t]*\S+)/,"number.infinity"],[/@numberNaN(?![ \t]*\S+)/,"number.nan"],[/@numberDate(?![ \t]*\S+)/,"number.date"],[/(".*?"|'.*?'|[^#'"]*?)([ \t]*)(:)( |$)/,["tag","white","operators","white"]],{include:"@flowScalars"},{include:"@flowExpression"},[/.+?(?=(\s+#|$))/,{cases:{"@keywords":"keyword","@default":"string"}}]],object:[{include:"@whitespace"},{include:"@comment"},[/\}/,"@brackets","@pop"],[/,/,"delimiter.comma"],[/:(?= )/,"operators"],[/(?:".*?"|'.*?'|[^,\{\[]+?)(?=: )/,"tag"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\},]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],array:[{include:"@whitespace"},{include:"@comment"},[/\]/,"@brackets","@pop"],[/,/,"delimiter.comma"],{include:"@flowCollections"},{include:"@flowScalars"},{include:"@tagHandle"},{include:"@anchor"},{include:"@flowNumber"},[/[^\],]+/,{cases:{"@keywords":"keyword","@default":"string"}}]],multiString:[[/^( +)(<%(?:\s|$))/,["string",{token:"@rematch",next:"@multiExpression.$1"}]],[/^( +).+$/,"string","@multiStringContinued.$1"]],multiStringContinued:[[/^( *)(.+)$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],whitespace:[[/[ \t\r\n]+/,"white"]],comment:[[/#.*$/,"comment"]],flowCollections:[[/\[/,"@brackets","@array"],[/\{/,"@brackets","@object"]],flowScalars:[[/"([^"\\]|\\.)*$/,"string.invalid"],[/'([^'\\]|\\.)*$/,"string.invalid"],[/'/,"string","@singleQuotedString"],[/"/,"string","@doubleQuotedString"]],singleQuotedString:[{include:"@expressionStart"},[/(%>)(\s*)(')/,[{token:"delimiter",bracket:"@close"},"white",{token:"string",next:"@pop"}]],[/[^']*'/,"string","@pop"]],doubleQuotedString:[{include:"@expressionStart"},[/(%>)(\s*)(")/,[{token:"delimiter",bracket:"@close"},"white",{token:"string",next:"@pop"}]],[/[^\\"]+/,"string"],[/@escapes/,"string.escape"],[/\\./,"string.escape.invalid"],[/"/,"string","@pop"]],blockStyle:[[/[>|][0-9]*[+-]?$/,"operators","@multiString"]],flowNumber:[[/@numberInteger(?=[ \t]*[,\]\}])/,"number"],[/@numberFloat(?=[ \t]*[,\]\}])/,"number.float"],[/@numberOctal(?=[ \t]*[,\]\}])/,"number.octal"],[/@numberHex(?=[ \t]*[,\]\}])/,"number.hex"],[/@numberInfinity(?=[ \t]*[,\]\}])/,"number.infinity"],[/@numberNaN(?=[ \t]*[,\]\}])/,"number.nan"],[/@numberDate(?=[ \t]*[,\]\}])/,"number.date"]],tagHandle:[[/\![^ ]*/,"tag"]],anchor:[[/[&*][^ ]+/,"namespace"]],flowExpression:[{include:"@expressionStart"},[/(\s+)(%>)(\s*)/,["white",{token:"delimiter",bracket:"@close"},{token:"white",next:"@pop"}]]],expressionStart:[[/(\s*)(<%)(\s+)/,["white",{token:"delimiter",bracket:"@open"},{token:"white",next:"@expressionEmbedded",nextEmbedded:"text/cel"}]]],multiExpression:[[/(<%)/,{token:"delimiter",next:"@expressionEmbedded",nextEmbedded:"text/cel",bracket:"@open"}],[/(%>)(\s*)/,[{token:"delimiter",bracket:"@close"},{token:"white",next:"@pop"}]],[/^( *).+$/,{cases:{"$1==$S2":"string","@default":{token:"@rematch",next:"@popall"}}}]],expressionEmbedded:[[/%>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]]}};function i(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cel_yaml";e.languages.register({id:t,extensions:[".cel-yaml"],mimetypes:["text/cel-yaml"]}),e.languages.setLanguageConfiguration(t,r),e.languages.setMonarchTokensProvider(t,o)}},3120:(e,t,n)=>{n.d(t,{X2:()=>o,xN:()=>r});const r=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"],o='\n declare const DATA: any;\n declare const EVENT: CustomEvent<any>;\n declare const FLAGS: Record<string, boolean>;\n declare const ANCHOR: string | null;\n declare const HASH: string;\n declare namespace INSTALLED_APPS {\n function has(appId: string):boolean\n }\n declare const ITEM: any;\n declare const INDEX: number;\n declare const SIZE: number;\n declare namespace LOCAL_STORAGE {\n function getItem(name: string): string;\n }\n declare namespace SESSION_STORAGE {\n function getItem(name: string): string\n }\n declare const MEDIA: {\n breakpoint?: "xLarge" | "large" | "medium" | "small" | "xSmall";\n };\n declare const MISC: Record<string, any>;\n declare const PARAMS: URLSearchParams;\n declare const PROCESSORS: Record<string, Record<string, Function>>;\n declare const QUERY_ARRAY: Record<string, string[]>;\n declare const TPL: Record<string, any>;\n declare const PIPES: Record<string, Function>;\n declare const _: Record<string, any>;\n declare namespace SYS {\n const username:string;\n const userInstanceId:string;\n const org:number;\n const isAdmin: boolean;\n const accessRule:string;\n const csrfToken:string;\n const accessToken:string;\n const userShowValue:string[];\n }\n declare const BASE_URL: string;\n declare namespace IMG {\n function get(src: string): string;\n }\n declare function I18N(key: string, options?: string | Record<string, unknown>): string;\n declare function I18N_TEXT(data: {[language: string]: string}):string;\n declare namespace PERMISSIONS {\n function check(...action: string[]):boolean;\n }\n declare namespace THEME {\n function getTheme(): "light" | "dark" | "dark-v2";\n }\n'},3271:(e,t,n)=>{n.d(t,{A:()=>a});var r=n(6758),o=n.n(r),i=n(935),s=n.n(i)()(o());s.push([e.id,".highlight{box-shadow:rgb(74 170 189) 0px 1px 0px 0px}.pointer{cursor:pointer}.monaco-editor{outline-width:0}.monaco-editor .overflow-guard{border-radius:var(--antd-button-border-radius);border:1px solid var(--color-border-divider-line)}.code-editor-wrapper.error .overflow-guard{border-color:var(--antd-error-color)}.code-editor-wrapper{position:relative}.code-editor-wrapper.expanded{position:fixed;z-index:1000;top:0;left:0;right:0;bottom:0;padding:20px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.toolbar-wrapper{position:absolute;z-index:4;top:0;bottom:0;right:0;pointer-events:none;padding:15px 20px}.toolbar{pointer-events:auto;display:none;line-height:12px;font-size:12px;text-align:center;gap:10px;box-shadow:none;transition:none;border-radius:50%;border:none}.code-editor-wrapper:not(.expanded) .toolbar.sticky{position:sticky;top:15px}.code-editor-wrapper.expanded .toolbar-wrapper{right:40px;top:40px}.code-editor-wrapper:hover .toolbar{display:flex}.copy-icon,\n.expand-icon{opacity:0.5;cursor:pointer;font-size:16px}.copy-icon:hover,\n.expand-icon:hover{opacity:1}.monaco-editor.monaco-editor-v3 .find-widget > .find-part,\n.monaco-editor.monaco-editor-v3 .find-widget > .replace-part{margin-right:25px}.monaco-editor.monaco-editor-v3 .find-widget .button{box-sizing:content-box}.monaco-editor.monaco-editor-v3 .sticky-line-number{text-align:initial;float:initial}",""]);const a=s},3569:(e,t,n)=>{var r=n(2591),o=n.n(r),i=n(1740),s=n.n(i),a=n(8128),l=n.n(a),d=n(855),u=n.n(d),c=n(3051),g=n.n(c),m=n(3656),p=n.n(m),h=n(3271),b={};b.styleTagTransform=p(),b.setAttributes=u(),b.insert=l().bind(null,"head"),b.domAPI=s(),b.insertStyleElement=g(),o()(h.A,b),h.A&&h.A.locals&&h.A.locals},4046:(e,t,n)=>{n.d(t,{v:()=>u});var r=n(210),o=n(3120),i=n(4804),s=n(4102),a=n(1968);const l=["analytics.event","console.error","console.info","console.log","console.warn","context.assign","context.load","context.refresh","context.replace","event.preventDefault","event.stopPropagation","formstate.update","handleHttpError","history.block","history.goBack","history.goForward","history.push","history.pushAnchor","history.pushQuery","history.reload","history.replace","history.replaceQuery","history.unblock","localStorage.removeItem","localStorage.setItem","location.assign","location.reload","menu.clearMenuCache","menu.clearMenuTitleCache","message.error","message.info","message.subscribe","message.success","message.unsubscribe","message.warn","mode.setDashboardMode","mode.setDefaultMode","parent.postMessage","preview.debug","sessionStorage.removeItem","sessionStorage.setItem","state.load","state.refresh","state.update","theme.setDarkTheme","theme.setLightTheme","theme.setTheme","tpl.dispatchEvent","window.open","window.postMessage"],d=(e,t,n)=>{const r=[],o=[];let i="",s=n,a=t.startColumn;for(;s>0;){const n=e.getValueInRange({startLineNumber:s,endLineNumber:s,startColumn:0,endColumn:1/0}).match(/^([\s|-]*)(\w+)(?=:)/);if(n){const[,e,s]=n;e.length===t.startColumn-1&&r.unshift(s),e.length<a-1&&(!i&&(i=s),a=e.length,o.unshift(s))}s--}return{curLevelKeys:r,keyList:o,parentKey:i}},u=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,u=arguments.length>3?arguments[3]:void 0;return async(c,g,m)=>{if(n&&n!==(0,i.B)())return{suggestions:[]};const p=null!=u&&u.showDSKey?["CTX.DS","DS"]:[],h=c.getWordUntilPosition(g),{word:b,token:f}=((e,t,n)=>{var r;const o=e.getWordUntilPosition(t),i=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-o.word.length-1,endColumn:t.column-o.word.length}),s=e.getWordAtPosition({...t,column:t.column-(null==o||null===(r=o.word)||void 0===r?void 0:r.length)-1});let a=null==s?void 0:s.word;if(null!=n&&n.showDSKey&&"DS"===(null==s?void 0:s.word)){const n=e.getWordAtPosition({...t,column:s.startColumn-1});a=`${null==n?void 0:n.word}.${s.word}`}return{word:a,token:i}})(c,g,u),C=c.getValueInRange({startLineNumber:g.lineNumber,endLineNumber:g.lineNumber,startColumn:0,endColumn:1/0}),x={startLineNumber:g.lineNumber,endLineNumber:g.lineNumber,startColumn:h.startColumn,endColumn:h.endColumn},v=1===h.startColumn,{curLevelKeys:w}=d(c,h,c.getLineCount());if("<"===m.triggerCharacter){const e=c.getValueInRange({startLineNumber:g.lineNumber,endLineNumber:g.lineNumber,startColumn:g.column-2,endColumn:g.column+2});return/^(['"]?)<\1$/.test(e.trim())?{suggestions:[{label:"<% %>",detail:"Expression body",kind:r.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:x},{label:"<%= %>",detail:"Track expression body",kind:r.languages.CompletionItemKind.Value,insertText:"%= ${0} %>",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:x}]}:{suggestions:[]}}if(v)return{suggestions:(null!=e?e:[]).filter((e=>!w.includes(e.label))).map((e=>({...e,label:e.label,insertText:e.insertText||e.label,kind:r.languages.CompletionItemKind.Keyword,range:x})))};if(":"===m.triggerCharacter||"."===m.triggerCharacter&&b&&!["CTX","STATE","FN"].concat(p).includes(b)){if("action"===b&&":"===m.triggerCharacter)return{suggestions:l.map((e=>({label:` ${e}`,detail:"event action",kind:r.languages.CompletionItemKind.Keyword,insertText:` ${e}`,range:x})))};const e=null==t?void 0:t[b];let n,o="";if(e&&!Array.isArray(e)?(n=e.completers,o=e.triggerCharacter):n=e,o?m.triggerCharacter===o&&n:n)return{suggestions:(null!=n?n:[]).map((e=>{const t=":"===o?` ${e.label}`:e.label;return{...e,label:t,kind:r.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:x}}))}}if(((e,t)=>{var n;const o=e.getWordUntilPosition(t),i=e.findPreviousMatch("<%",t,!1,!1,null,!1),s=e.findNextMatch("%>",t,!1,!1,null,!1),a=null==i?void 0:i.range,l=null==s?void 0:s.range;if((null==a?void 0:a.startLineNumber)&&(null==l?void 0:l.startLineNumber)&&a.startLineNumber<=t.lineNumber&&l.endLineNumber>=t.lineNumber&&(null===(n=e.findMatches("<%|%>",new r.Range(a.endLineNumber,a.endColumn,l.startLineNumber,l.startColumn),!0,!1,null,!0))||void 0===n||!n.length)){const{parentKey:n}=d(e,a,a.startLineNumber),{parentKey:r}=d(e,l,l.startLineNumber),{keyList:i}=d(e,o,t.lineNumber);if(n===r&&i.includes(n)||""===n&&""===r)return!0}return!1})(c,g)&&":"!==f){const e=a.b.getInstance(n);return{suggestions:await(0,s.DW)(c,g,e.getState())}}return/^[\s|-]*\w$/.test(C)?{suggestions:o.xN.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Keyword,range:x}))).filter((e=>!w.includes(e.label)))}:{suggestions:[]}}}},4102:(e,t,n)=>{n.d(t,{AR:()=>i,DW:()=>s,Eh:()=>a});var r=n(210),o=n(3120);function i(e){return"uri"in e&&(e=e.uri),r.Uri.parse(e.toString()+".ts")}async function s(e,t,n){var o,s;const a=await r.languages.typescript.getJavaScriptWorker(),l=await a(e.uri),d=r.editor.getModel(i(e)),u=e.getOffsetAt(t)-(null!==(o=null==n?void 0:n.offset)&&void 0!==o?o:0),c=await l.getCompletionsAtPosition(d.uri.toString(),u),g=e.getWordUntilPosition(t),m=new r.Range(t.lineNumber,g.startColumn,t.lineNumber,g.endColumn);return(null!==(s=null==c?void 0:c.entries)&&void 0!==s?s:[]).map((n=>{let o=m;if(n.replacementSpan){const t=e.getPositionAt(n.replacementSpan.start),i=e.getPositionAt(n.replacementSpan.start+n.replacementSpan.length);o=new r.Range(t.lineNumber,t.column,i.lineNumber,i.column)}return{uri:d.uri,position:t,offset:u,range:o,label:n.name,insertText:n.name,sortText:n.sortText,kind:r.languages.CompletionItemKind.Property}}))}function a(){return["\ndeclare namespace APP {\n const name: string;\n const id: string;\n const homepage: string;\n const currentVersion: string;\n const config: object;\n const localeName: string;\n const localeTitle: string;\n}\n",o.X2].join("\n")}},4794:(e,t,n)=>{n.d(t,{MX:()=>o,X2:()=>i,xx:()=>s});let r=null;function o(e){return r!==e&&(r=e,!0)}function i(e){var t;r===e&&(r=null),null===(t=e.getModel())||void 0===t||t.dispose(),e.dispose()}function s(e){return r===e}},4804:(e,t,n)=>{let r;function o(e){r=e}function i(){return r}n.d(t,{B:()=>i,J:()=>o})},5087:(e,t,n)=>{n.d(t,{K:()=>s});var r=n(7695);let o,i;function s(){return o||(o=(async()=>{const e=(0,r.LV)((i||(i=new Worker(new URL(n.p+n.u(4539),n.b))),i));return await new e})()),o}},5262:(e,t,n)=>{n.d(t,{$:()=>i});var r=n(210);let o;function i(e,t){for(const e of null!=o?o:[])e.dispose();o=null==e?void 0:e.map((e=>{const n=r.Uri.file(`libs/${e.filePath}`).toString();return r.languages.typescript[t.languageDefaults].addExtraLib(e.content,n)}))}},5808:(e,t,n)=>{n.d(t,{n:()=>s});var r=n(7695);let o,i;function s(){return o||(o=(async()=>{const e=(0,r.LV)((i||(i=new Worker(new URL(n.p+n.u(2675),n.b))),i));return await new e})()),o}},6984:(e,t,n)=>{n.d(t,{ZY:()=>g,MY:()=>m,ix:()=>c});var r=n(210),o=n(4493),i=n(896),s=n(4804);function a(e,t){const n=l(e,"<%",t);if(!n)return!1;const r=d(e,"%>",t);if(!r)return!1;const o=l(e,"%>",t);if(o&&n.range.getEndPosition().isBefore(o.range.getStartPosition()))return!1;const i=d(e,"<%",t);return!i||!i.range.getStartPosition().isBefore(r.range.getEndPosition())}function l(e,t,n){const r=e.findPreviousMatch(t,n,!1,!1,null,!1);return r&&n.isBefore(r.range.getStartPosition())?null:r}function d(e,t,n){const r=e.findNextMatch(t,n,!1,!1,null,!1);return r&&r.range.getEndPosition().isBefore(n)?null:r}const u={request:["uri","query","header","body"]};function c(e,t,n){if("<"!==n.triggerCharacter||a(e,t))return{suggestions:[]};const o=e.getValueInRange({startLineNumber:t.lineNumber,startColumn:t.column-2,endLineNumber:t.lineNumber,endColumn:t.column+1});if(!/^(['"]?)<\1$/.test(o.trim()))return{suggestions:[]};const i=e.getWordUntilPosition(t),s={startLineNumber:t.lineNumber,startColumn:i.startColumn,endLineNumber:t.lineNumber,endColumn:i.endColumn};return{suggestions:[{label:"<% %>",detail:"CEL body",kind:r.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:r.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:s}]}}function g(e){return{triggerCharacters:["."],provideCompletionItems(t,n,s){if("cel"!==e&&!a(t,n))return{suggestions:[]};const l=t.getWordUntilPosition(n),d={startLineNumber:n.lineNumber,startColumn:l.startColumn,endLineNumber:n.lineNumber,endColumn:l.endColumn},c=t.getWordUntilPosition(new r.Position(n.lineNumber,l.startColumn-1));if("."===s.triggerCharacter||"."===t.getValueInRange({startLineNumber:n.lineNumber,startColumn:c.endColumn,endLineNumber:n.lineNumber,endColumn:l.startColumn}).trim()){const e=c.word&&(0,o.hasOwnProperty)(u,c.word)?u[c.word]:void 0;return e?{suggestions:e.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Method,range:d})))}:i.AA.includes(c.word)?{suggestions:[]}:{suggestions:i.D$.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Method,range:d})))}}return{suggestions:i.AA.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Keyword,range:d})))}}}}function m(e,t,n){return{triggerCharacters:["."],provideCompletionItems(i,l,d){if(t!==(0,s.B)()||"cel"!==e&&!a(i,l))return{suggestions:[]};const u=i.getWordUntilPosition(l),c=i.getWordUntilPosition(new r.Position(l.lineNumber,u.startColumn-1));if("."!==d.triggerCharacter&&"."!==i.getValueInRange({startLineNumber:l.lineNumber,startColumn:c.endColumn,endLineNumber:l.lineNumber,endColumn:u.startColumn}).trim())return{suggestions:[]};let g;if(c.word)for(const e of n)"members"===e.type&&(0,o.hasOwnProperty)(e.members,c.word)&&(g=e.members[c.word]);if(!g)return{suggestions:[]};const m={startLineNumber:l.lineNumber,endLineNumber:l.lineNumber,startColumn:u.startColumn,endColumn:u.endColumn};return{suggestions:g.map((e=>({label:e,insertText:e,kind:r.languages.CompletionItemKind.Method,range:m})))}}}}},7137:(e,t,n)=>{n.d(t,{Vu:()=>s,fE:()=>o,lP:()=>i,yU:()=>r});const r=12,o=18,i=12,s=12},7716:(e,t,n)=>{n.d(t,{v:()=>i});const r=new RegExp("\\b(MARK:\\s*)(.*)$"),o=/^-+|-+$/g;function i(e,t){var n;let r=[];if(t.findRegionSectionHeaders&&(null===(n=t.foldingRules)||void 0===n?void 0:n.markers)){const n=function(e,t){const n=[],r=e.getLineCount();for(let o=1;o<=r;o++){const r=e.getLineContent(o),i=r.match(t.foldingRules.markers.start);if(i){const e={startLineNumber:o,startColumn:i[0].length+1,endLineNumber:o,endColumn:r.length+1};if(e.endColumn>e.startColumn){const t={range:e,...a(r.substring(i[0].length)),shouldBeInComments:!1};(t.text||t.hasSeparatorLine)&&n.push(t)}}}return n}(e,t);r=r.concat(n)}if(t.findMarkSectionHeaders){const t=function(e){const t=[],n=e.getLineCount();for(let r=1;r<=n;r++)s(e.getLineContent(r),r,t);return t}(e);r=r.concat(t)}return r}function s(e,t,n){r.lastIndex=0;const o=r.exec(e);if(o){const e=o.index+o[1].length+1,r={startLineNumber:t,startColumn:e,endLineNumber:t,endColumn:e+o[2].length};if(r.endColumn>r.startColumn){const e={range:r,...a(o[1]),shouldBeInComments:!0};(e.text||e.hasSeparatorLine)&&n.push(e)}}}function a(e){const t=(e=e.trim()).startsWith("-");return{text:e=e.replace(o,""),hasSeparatorLine:t}}},7726:(e,t,n)=>{n.d(t,{$:()=>x,F:()=>c});var r=n(918),o=n(829),i=n(6121),s=n(210);const a={brick_next_yaml:'你是一个编程助手,主要用于 Visual Builder 中的 YAML 配置的代码补全。\n\nYAML 中可以使用 `<% %>` 嵌入 JS 表达式,例如:\n\n```yamlyaml\ngroups: <% _.groupBy(CTX.hosts, "idc") %>\n```\n\nJS 表达式中可以使用 lodash (`_`) 和 moment。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。',javascript:l("JavaScript"),typescript:l("TypeScript")};function l(e){return`你是一个编程助手,主要用于 Visual Builder 中的 ${e} 函数的代码补全。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。`}var d=n(9755);function u(e){let t="",n="";return{trimmed:e.replace(/^\s+/,(e=>(t=e,""))).replace(/\s+$/,(e=>(n=e,""))),leading:t,trailing:n}}const c=Object.freeze(["typescript","javascript","brick_next_yaml"]);var g=new WeakMap,m=new WeakMap,p=new WeakMap,h=new WeakMap,b=new WeakMap,f=new WeakMap,C=new WeakMap;class x{constructor(e){var t,n,o;(0,r.A)(this,g,null),(0,r.A)(this,m,null),(0,r.A)(this,p,void 0),(0,r.A)(this,h,void 0),(0,r.A)(this,b,void 0),(0,r.A)(this,f,void 0),(0,r.A)(this,C,void 0),(0,i.A)(p,this,null!==(t=e.debounce)&&void 0!==t?t:750),(0,i.A)(b,this,e.HttpAbortError),(0,i.A)(f,this,e.request),(0,i.A)(C,this,null!==(n=e.model)&&void 0!==n?n:"qwen-coder-turbo"),(0,i.A)(h,this,null!==(o=e.timeout)&&void 0!==o?o:12e3)}async provideInlineCompletions(e,t,n,r){const l=new AbortController;var c;return r.onCancellationRequested((()=>{l.abort()})),(0,o.A)(g,this)&&(clearTimeout((0,o.A)(g,this)),null===(c=(0,o.A)(m,this))||void 0===c||c.call(this,null),(0,i.A)(g,this,null),(0,i.A)(m,this,null)),new Promise((n=>{(0,i.A)(m,this,n),(0,i.A)(g,this,setTimeout((async()=>{(0,i.A)(g,this,null),(0,i.A)(m,this,null),r.isCancellationRequested&&n(null);const c=e.getLanguageId(),p=e.getValue(),x=e.getLineContent(t.lineNumber);if(0===p.trim().length||t.column===e.getLineLength(t.lineNumber)+1&&("brick_next_yaml"===c?/\s+%>\s*$/.test(x):/[;,}\]]\s*$/.test(x)))return void n(null);const v=setTimeout((()=>{l.abort()}),(0,o.A)(h,this));try{const r=await async function(e){let{request:t,model:n,source:r,language:o,offset:i,signal:s}=e;const l=r.slice(0,i),c=r.slice(i),g="brick_next_yaml"===o?"# File: config.yaml\n":`// File utils.${"javascript"===o?"js":"ts"}\n`,m=await t({model:n,system:a[o],prompt:`<|fim_prefix|>${g}${l}<|fim_suffix|>${c}<|fim_middle|>`,temperature:.2,signal:s}),p=null==m?void 0:m.match(/(?:^|\n)```(?:\w*)\n([\s\S]*?)(?:\n```(?:\n|$)|$)/);if(!p)return console.error("No code block found in response.",m),null;const h=function(e,t,n){const r=e.replace(/^\n+|\n+$/g,""),o=t.replace(/^\n+/g,""),i=n.replace(/\n+$/g,""),s=r.split("\n"),a=o.split("\n"),l=i.split("\n"),c=a.length,g=Math.max(0,a.length-s.length),m=`${g>0?a.slice(g).join("\n"):o}${l.length>s.length?l.slice(0,s.length).join("\n"):i}`,p=(0,d.Pp)(m,r,{ignoreWhitespace:!0});let h=g,b=!1,f="unchanged";for(let e=0;e<p.length;e++){const t=p[e];f=t.removed?"removed":t.added?"added":"unchanged";const n=p[e+1],r=null!=n&&n.removed?"removed":null!=n&&n.added?"added":"unchanged";if("added"!==f?h+=t.count:0===e&&1===p.length&&h++,!b&&(b=h>=c,b)){const e=h-c;if("unchanged"===f&&0===e&&"added"===r||"added"===f&&0===e||"removed"===f&&"added"===r){const e="added"===f?t:n,r=`${"unchanged"===f?`${t.value.replace(/\n$/,"").split("\n").pop()}\n`:""}${e.value.replace(/\n$/,"")}`.split("\n"),o=r[r.length-1],i=a[c-1],s=l[0],{trimmed:d,trailing:g}=u(o),{trimmed:m,leading:p,trailing:h}=u(i),{trimmed:b,leading:C}=u(s);for(let e=0;e<r.length;e++){const t=r[e],{trimmed:n,leading:o}=u(t);if(n.startsWith(m)&&d.endsWith(b)){const t=r.slice(e).join("\n"),i=o.length+m.length,s=t.length-(g.length+b.length),a=t.slice(i,s),{leading:l,trailing:d}=u(a),c=a.slice(Math.min(l.length,h.length),a.length-Math.min(d.length,C.length));if(p.length>o.length&&n.length>0&&m.length>0&&p.startsWith(o)){const e=p.slice(o.length);return c.split("\n").map(((t,n)=>0===n?t:`${e}${t}`)).join("\n")}return c}}}break}}if(p.filter((e=>!(e.added||e.removed))).reduce(((e,t)=>e+t.count),0)/m.split("\n").length<.2){var C,x;const e=r.trimStart(),t=null!==(C=null===(x=a[a.length-1].match(/^\s+/))||void 0===x?void 0:x[0])&&void 0!==C?C:"";return t?e.split("\n").map(((e,n)=>0===n?e:`${t}${e}`)).join("\n"):e}return null}(p[1].startsWith(g)?p[1].slice(g.length):p[1],l,c);return h&&/\S/.test(h)?h:(console.warn("Response is invalid:",m),null)}({request:(0,o.A)(f,this),model:(0,o.A)(C,this),source:p,offset:e.getOffsetAt(t),language:c,signal:l.signal});if(!r)return null;n({enableForwardStability:!0,items:[{insertText:r,range:new s.Range(t.lineNumber,t.column,t.lineNumber,t.column)}]})}catch(e){e instanceof(0,o.A)(b,this)||console.error("Error fetching inline completion:",e),n(null)}finally{clearTimeout(v)}}),(0,o.A)(p,this)))}))}freeInlineCompletions(){}}},8182:(e,t,n)=>{n.d(t,{I:()=>i,K:()=>r,NS:()=>o});let r=function(e){return e.COPY="COPY",e.COPY_SUCCESS="COPY_SUCCESS",e.COPY_FAILED="COPY_FAILED",e.EXPAND="EXPAND",e.COLLAPSE="COLLAPSE",e}({});const o="bricks/vs/code-editor",i={en:{COPY:"Copy",COPY_SUCCESS:"Copied!",COPY_FAILED:"Copy failed!",EXPAND:"Expand",COLLAPSE:"Collapse"},zh:{COPY:"复制",COPY_SUCCESS:"已复制!",COPY_FAILED:"复制失败!",EXPAND:"展开",COLLAPSE:"收起"}}},8546:(e,t,n)=>{n.d(t,{kz:()=>s});var r=n(896);const o={brackets:r.xf.brackets,autoClosingPairs:r.xf.autoClosingPairs},i={tokenPostfix:".yaml.str",tokenizer:{root:[{include:"@whitespace"},{include:"@expression"},{include:"@strings"}],expression:[[/<%/,{token:"delimiter",next:"@expressionEmbedded",nextEmbedded:"text/cel",bracket:"@open"}],[/%>/,{token:"delimiter",bracket:"@close"}]],expressionEmbedded:[[/%>/,{token:"@rematch",next:"@pop",nextEmbedded:"@pop"}]],strings:[[/[^<]+|<(?!%)/,"string"]],whitespace:[[/[ \t\r\n]+/,"white"]]}};function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"cel_str";e.languages.register({id:t,extensions:[".cel-str"],mimetypes:["text/cel-str"]}),e.languages.setLanguageConfiguration(t,o),e.languages.setMonarchTokensProvider(t,i)}}}]);
|
|
2
|
+
//# sourceMappingURL=7815.a5d51a5a.js.map
|