@next-bricks/vs 1.17.0 → 1.17.2

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/6165.f5033dc0.js","mappings":"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","sources":["webpack:///./src/generated-actions.js","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/utils/EditorService.ts","webpack:///./src/code-editor/workers/yamlLinter.ts","webpack:///./src/code-editor/i18n.ts","webpack:///./src/code-editor/utils/embeddedModelState.ts","webpack:///./src/code-editor/utils/jsSuggestInBrickYaml.ts","webpack:///../../src/workers.ts","webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/index.css","webpack:///./src/code-editor/utils/editorId.ts","webpack:///./src/code-editor/utils/isInEmbedded.ts","webpack:///./src/code-editor/utils/celCompletionProvider.ts","webpack:///../../src/prompt.ts","webpack:///../../src/postProcessByDiff.ts","webpack:///../../src/MonacoCopilotProvider.ts","webpack:///./src/code-editor/utils/setExtraLibs.ts","webpack:///./src/code-editor/languages/cel-yaml.ts","webpack:///./src/code-editor/widget/Placeholder.tsx","webpack:///./src/code-editor/index.css?aefa","webpack:///../../shared/monaco-textmate/dist/esm/grammars/ lazy ^\\.\\/.*\\.json$ strict namespace object","webpack:///./src/code-editor/workers/spellCheckRemoteWorker.ts","webpack:///../../src/brick_next_yaml.ts","webpack:///../../src/TokensProvider.ts","webpack:///./src/code-editor/languages/cel.ts","webpack:///./src/code-editor/constants.ts","webpack:///../../node_modules/monaco-editor/esm/vs/editor/common/services/findSectionHeaders.js","webpack:///./src/code-editor/languages/cel-str.ts"],"sourcesContent":["export default [\"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\"];","import * as monaco from \"monaco-editor\";\nimport { brickNextKeywords } from \"./constants.js\";\nimport { getEditorId } from \"./editorId.js\";\nimport { TokenConfig } from \"../index.jsx\";\nimport { AdvancedCompleterMap } from \"../interfaces.js\";\nimport { provideJsSuggestItems } from \"../utils/jsSuggestInBrickYaml.js\";\nimport { EmbeddedModelContext } from \"../utils/embeddedModelState.js\";\nimport builtinActions from \"../../generated-actions.js\";\n\nconst findKeys = (\n model: monaco.editor.ITextModel,\n range: monaco.Range | monaco.editor.IWordAtPosition,\n line: number\n) => {\n const curLevelKeys: string[] = [];\n const keyList: string[] = [];\n let parentKey = \"\";\n let i = line;\n let startColumn = range.startColumn;\n while (i > 0) {\n const prefixLineWord = model.getValueInRange({\n startLineNumber: i,\n endLineNumber: i,\n startColumn: 0,\n endColumn: Infinity,\n });\n const matchWord = prefixLineWord.match(/^([\\s|-]*)(\\w+)(?=:)/);\n if (matchWord) {\n const [, wordSpace, key] = matchWord;\n if (wordSpace.length === range.startColumn - 1) {\n curLevelKeys.unshift(key);\n }\n if (wordSpace.length < startColumn - 1) {\n !parentKey && (parentKey = key);\n startColumn = wordSpace.length;\n keyList.unshift(key);\n }\n }\n i--;\n }\n return {\n curLevelKeys,\n keyList,\n parentKey,\n };\n};\n\nconst getPrefixWord = (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n tokenConfig: TokenConfig | undefined\n): {\n word: string | undefined;\n token: string;\n} => {\n const word = model.getWordUntilPosition(position);\n const prefixToken = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - word.word.length - 1,\n endColumn: position.column - word.word.length,\n });\n const prefixWord = model.getWordAtPosition({\n ...position,\n column: position.column - word?.word?.length - 1,\n });\n let matchWord = prefixWord?.word;\n if (tokenConfig?.showDSKey && prefixWord?.word === \"DS\") {\n const prefix = model.getWordAtPosition({\n ...position,\n column: prefixWord.startColumn - 1,\n });\n\n matchWord = `${prefix?.word}.${prefixWord.word}`;\n }\n return {\n word: matchWord,\n token: prefixToken,\n };\n};\n\nconst isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixRange = prefixEvaluateOperator?.range;\n const suffixRange = suffixEvaluateOperator?.range;\n\n const isInEvaluateBody =\n prefixRange?.startLineNumber &&\n suffixRange?.startLineNumber &&\n prefixRange.startLineNumber <= position.lineNumber &&\n suffixRange.endLineNumber >= position.lineNumber &&\n // 正确匹配当前表达式,防止匹配到上一个表达式<%的开始,下一个表达式的结尾%>\n !model.findMatches(\n \"<%|%>\",\n new monaco.Range(\n prefixRange.endLineNumber,\n prefixRange.endColumn,\n suffixRange.startLineNumber,\n suffixRange.startColumn\n ),\n true,\n false,\n null,\n true\n )?.length;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixRange,\n prefixRange.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixRange,\n suffixRange.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n // value is object\n (prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)) ||\n // value is string\n (prefixParentKey === \"\" && suffixParentKey === \"\")\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProviderCompletionItems = (\n completers: monaco.languages.CompletionItem[] = [],\n advancedCompleters: AdvancedCompleterMap = {},\n id: string,\n tokenConfig: TokenConfig | undefined\n) => {\n return async (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext\n ): Promise<\n monaco.languages.ProviderResult<monaco.languages.CompletionList>\n > => {\n if (id && id !== getEditorId())\n return {\n suggestions: [],\n };\n const DSToken = tokenConfig?.showDSKey ? [\"CTX.DS\", \"DS\"] : [];\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position,\n tokenConfig\n );\n const curLineWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: 0,\n endColumn: Infinity,\n });\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n const isFirstLevelProperty = word.startColumn === 1;\n const { curLevelKeys } = findKeys(model, word, model.getLineCount());\n\n if (context.triggerCharacter === \"<\") {\n const fullWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endColumn: position.column + 2,\n });\n if (!/^(['\"]?)<\\1$/.test(fullWord.trim())) {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Expression body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n {\n label: \"<%= %>\",\n detail: \"Track expression body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"%= ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n ],\n };\n }\n\n if (isFirstLevelProperty) {\n return {\n suggestions: (completers ?? [])\n .filter((item) => !curLevelKeys.includes(item.label as string))\n .map((item) => ({\n ...item,\n label: item.label,\n insertText: item.insertText || (item.label as string),\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (\n context.triggerCharacter === \":\" ||\n (context.triggerCharacter === \".\" &&\n prefixWord &&\n ![\"CTX\", \"STATE\", \"FN\"].concat(DSToken).includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n return {\n suggestions: builtinActions.map((item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position) && prefixToken !== \":\") {\n const embeddedContext = EmbeddedModelContext.getInstance(id);\n\n const suggestions = await provideJsSuggestItems(\n model,\n position,\n embeddedContext.getState()\n );\n\n return {\n suggestions,\n };\n }\n\n if (/^[\\s|-]*\\w$/.test(curLineWord)) {\n return {\n suggestions: brickNextKeywords\n .map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n }))\n .filter((item) => !curLevelKeys.includes(item.label as string)),\n };\n }\n\n return {\n suggestions: [],\n };\n };\n};\n","import * as monaco from \"monaco-editor\";\n\nexport let currentEditor: monaco.editor.IStandaloneCodeEditor | null = null;\n\nexport function switchEditor(\n editor: monaco.editor.IStandaloneCodeEditor\n): boolean {\n if (currentEditor === editor) {\n return false;\n }\n currentEditor = editor;\n return true;\n}\n\nexport function disposeEditor(\n editor: monaco.editor.IStandaloneCodeEditor\n): void {\n if (currentEditor === editor) {\n currentEditor = null;\n }\n editor.getModel()?.dispose();\n editor.dispose();\n}\n\nexport function isCurrentEditor(\n editor: monaco.editor.IStandaloneCodeEditor\n): boolean {\n return currentEditor === editor;\n}\n","// istanbul ignore file\nimport { wrap } from \"comlink\";\nimport type { LintRequest, LintResponse } from \"./lintYaml\";\n\nexport interface RemoteYamlLinterWorker {\n lint(req: LintRequest): Promise<LintResponse>;\n}\n\nlet remoteWorkerPromise: Promise<RemoteYamlLinterWorker> | undefined;\n\nlet worker: Worker | undefined;\n\nexport function getRemoteYamlLinterWorker() {\n if (!remoteWorkerPromise) {\n remoteWorkerPromise = (async () => {\n const Remote = wrap<{ new (): RemoteYamlLinterWorker }>(getWorker());\n return await new Remote();\n })();\n }\n return remoteWorkerPromise;\n}\n\nfunction getWorker() {\n if (!worker) {\n worker = new Worker(new URL(\"./yamlLinter.worker.ts\", import.meta.url));\n }\n return worker;\n}\n","export enum K {\n COPY = \"COPY\",\n COPY_SUCCESS = \"COPY_SUCCESS\",\n COPY_FAILED = \"COPY_FAILED\",\n EXPAND = \"EXPAND\",\n COLLAPSE = \"COLLAPSE\",\n}\n\nconst en: Locale = {\n COPY: \"Copy\",\n COPY_SUCCESS: \"Copied!\",\n COPY_FAILED: \"Copy failed!\",\n EXPAND: \"Expand\",\n COLLAPSE: \"Collapse\",\n};\n\nconst zh: Locale = {\n COPY: \"复制\",\n COPY_SUCCESS: \"已复制!\",\n COPY_FAILED: \"复制失败!\",\n EXPAND: \"展开\",\n COLLAPSE: \"收起\",\n};\n\nexport const NS = \"bricks/vs/code-editor\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [key in K]: string };\n","interface Range {\n startLineNumber: number;\n startColumn: number;\n endLineNumber: number;\n endColumn: number;\n}\n\nexport interface EmbeddedState {\n content?: string;\n offset?: number;\n range?: Range;\n}\n\nexport class EmbeddedModelContext {\n static #instance: Record<string, EmbeddedModelContext> = {};\n #id: string;\n #state: EmbeddedState = {};\n\n static getInstance(id: string) {\n if (!this.#instance[id]) {\n this.#instance[id] = new EmbeddedModelContext(id);\n }\n return this.#instance[id];\n }\n\n constructor(id: string) {\n this.#id = id;\n }\n\n updateState(state: EmbeddedState) {\n this.#state = state;\n }\n\n getState(): EmbeddedState {\n return this.#state;\n }\n}\n","import * as monaco from \"monaco-editor\";\nimport { builtInKeywordDeclare } from \"./constants.js\";\n\ninterface BlockContext {\n offset?: number;\n}\n\nexport function getEmbeddedJavascriptUri(value: monaco.Uri) {\n return monaco.Uri.parse(value.toString() + \".ts\");\n}\n\n// istanbul ignore next\nexport async function provideJsSuggestItems(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n embeddedContext: BlockContext\n) {\n const workerGetter = await monaco.languages.typescript.getJavaScriptWorker();\n const worker = await workerGetter(model.uri);\n const javascriptModel = monaco.editor.getModel(\n getEmbeddedJavascriptUri(model.uri)\n );\n\n const endOffset = model.getOffsetAt(position);\n const starOffset = embeddedContext?.offset ?? 0;\n\n const offset = endOffset - starOffset;\n\n const info = await worker.getCompletionsAtPosition(\n javascriptModel!.uri.toString(),\n offset!\n );\n\n const wordInfo = model.getWordUntilPosition(position);\n\n const wordRange = new monaco.Range(\n position.lineNumber,\n wordInfo.startColumn,\n position.lineNumber,\n wordInfo.endColumn\n );\n\n const suggestions = (info?.entries ?? []).map((entry: any) => {\n let range = wordRange;\n\n if (entry.replacementSpan) {\n const p1 = model.getPositionAt(entry.replacementSpan.start);\n const p2 = model.getPositionAt(\n entry.replacementSpan.start + entry.replacementSpan.length\n );\n range = new monaco.Range(\n p1.lineNumber,\n p1.column,\n p2.lineNumber,\n p2.column\n );\n }\n\n return {\n uri: javascriptModel!.uri,\n position: position,\n offset: offset,\n range: range,\n label: entry.name,\n insertText: entry.name,\n sortText: entry.sortText,\n kind: monaco.languages.CompletionItemKind.Property,\n };\n });\n\n return suggestions;\n}\n\nexport function getMicroAppDeclare() {\n // 不要主动提示不对用户公开的 APP 属性\n 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`;\n}\n\nexport function getBrickYamlBuiltInDeclare() {\n return [getMicroAppDeclare(), builtInKeywordDeclare].join(\"\\n\");\n}\n","self.MonacoEnvironment = {\n getWorker: function (workerId: string, label: string) {\n switch (label) {\n case \"json\":\n return new Worker(\n /* webpackChunkName: \"json.worker\" */\n new URL(\n \"monaco-editor/esm/vs/language/json/json.worker.js\",\n import.meta.url\n )\n );\n case \"css\":\n case \"scss\":\n case \"less\":\n /* webpackChunkName: \"css.worker\" */\n return new Worker(\n new URL(\n \"monaco-editor/esm/vs/language/css/css.worker.js\",\n import.meta.url\n )\n );\n case \"html\":\n case \"handlebars\":\n case \"razor\":\n return new Worker(\n /* webpackChunkName: \"html.worker\" */\n new URL(\n \"monaco-editor/esm/vs/language/html/html.worker.js\",\n import.meta.url\n )\n );\n case \"typescript\":\n case \"javascript\":\n return new Worker(\n /* webpackChunkName: \"ts.worker\" */\n new URL(\n \"monaco-editor/esm/vs/language/typescript/ts.worker.js\",\n import.meta.url\n )\n );\n default:\n return new Worker(\n /* webpackChunkName: \"editor.worker\" */\n new URL(\n \"monaco-editor/esm/vs/editor/editor.worker.js\",\n import.meta.url\n )\n );\n }\n },\n};\n","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm, ColProps } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelBrick:\n | { useBrick: UseSingleBrickConf | UseSingleBrickConf[] }\n | undefined;\n\n @property({\n attribute: false,\n })\n accessor labelCol: ColProps | undefined;\n\n @property({\n attribute: false,\n })\n accessor wrapperCol: ColProps | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n","export const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"INDEX\",\n \"SIZE\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n /**\n * @deprecated Typo, use `hint` instead\n */\n hit: 1,\n hint: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n\nexport const builtInKeywordDeclare = `\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`;\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.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:not(.toggle){box-sizing:content-box}.monaco-editor.monaco-editor-v3 .sticky-line-number{text-align:initial;float:initial}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","let editorId: string;\n\nexport function setEditorId(id: string) {\n editorId = id;\n}\n\nexport function getEditorId() {\n return editorId;\n}\n","import * as monaco from \"monaco-editor\";\n\nexport function isInEmbedded(\n model: monaco.editor.ITextModel,\n position: monaco.Position\n) {\n const previousStart = findPreviousMatch(model, \"<%\", position);\n if (!previousStart) {\n return false;\n }\n const nextEnd = findNextMatch(model, \"%>\", position);\n if (!nextEnd) {\n return false;\n }\n const previousEnd = findPreviousMatch(model, \"%>\", position);\n if (\n previousEnd &&\n previousStart.range\n .getEndPosition()\n .isBefore(previousEnd.range.getStartPosition())\n ) {\n return false;\n }\n const nextStart = findNextMatch(model, \"<%\", position);\n if (\n nextStart &&\n nextStart.range.getStartPosition().isBefore(nextEnd.range.getEndPosition())\n ) {\n return false;\n }\n return true;\n}\n\n/**\n * Find the previous match of the word in the model, but no loops to the end.\n */\nfunction findPreviousMatch(\n model: monaco.editor.ITextModel,\n word: string,\n position: monaco.Position\n) {\n const match = model.findPreviousMatch(\n word,\n position,\n false,\n false,\n null,\n false\n );\n if (match && position.isBefore(match.range.getStartPosition())) {\n return null;\n }\n return match;\n}\n\n/**\n * Find the next match of the word in the model, but no loops to the beginning.\n */\nfunction findNextMatch(\n model: monaco.editor.ITextModel,\n word: string,\n position: monaco.Position\n) {\n const match = model.findNextMatch(word, position, false, false, null, false);\n if (match && match.range.getEndPosition().isBefore(position)) {\n return null;\n }\n return match;\n}\n","import * as monaco from \"monaco-editor\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nimport { constants, instanceMembers } from \"../languages/cel\";\nimport { getEditorId } from \"./editorId\";\nimport { isInEmbedded } from \"./isInEmbedded\";\nimport type { MixedCompleter } from \"../interfaces\";\n\nconst BUILTIN_MEMBERS: Record<string, string[]> = {\n request: [\"uri\", \"query\", \"header\", \"body\"],\n};\n\n/**\n * When user types \"<\", provide the completion item \"<% | %>\",\n * in which, `|` represents the position of the cursor.\n */\nexport function provideEmbeddedCelCompletionItems(\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext\n): monaco.languages.CompletionList {\n if (context.triggerCharacter !== \"<\" || isInEmbedded(model, position)) {\n return getEmptySuggestions();\n }\n\n // Handle: <|\n // Or: \"<|\"\n // Or: '<|'\n const nearby = model.getValueInRange({\n startLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endLineNumber: position.lineNumber,\n endColumn: position.column + 1,\n });\n if (!/^(['\"]?)<\\1$/.test(nearby.trim())) {\n return getEmptySuggestions();\n }\n\n const word = model.getWordUntilPosition(position);\n const range = {\n startLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.endColumn,\n };\n\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"CEL body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range,\n },\n ],\n };\n}\n\n/**\n * Provide common completion items for CEL language.\n * Such as `size` and `base64`.\n */\nexport function celCommonCompletionProviderFactory(\n lang: string\n): monaco.languages.CompletionItemProvider {\n return {\n triggerCharacters: [\".\"],\n provideCompletionItems(model, position, context) {\n if (lang !== \"cel\" && !isInEmbedded(model, position)) {\n return getEmptySuggestions();\n }\n\n const word = model.getWordUntilPosition(position);\n const range = {\n startLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.endColumn,\n };\n\n const previousWord = model.getWordUntilPosition(\n new monaco.Position(position.lineNumber, word.startColumn - 1)\n );\n\n // Handle: foo.|\n // Or: foo.x|\n if (\n context.triggerCharacter === \".\" ||\n model\n .getValueInRange({\n startLineNumber: position.lineNumber,\n startColumn: previousWord.endColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.startColumn,\n })\n .trim() === \".\"\n ) {\n const completer =\n previousWord.word &&\n hasOwnProperty(BUILTIN_MEMBERS, previousWord.word)\n ? BUILTIN_MEMBERS[previousWord.word]\n : undefined;\n\n if (completer) {\n return {\n suggestions: completer.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Method,\n range,\n })),\n };\n }\n\n // Do not provide member suggestions for constants.\n if ((constants as readonly string[]).includes(previousWord.word)) {\n return getEmptySuggestions();\n }\n\n return {\n suggestions: instanceMembers.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Method,\n range,\n })),\n };\n }\n\n // Handle: x|\n return {\n suggestions: constants.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n },\n };\n}\n\n/**\n * Provide specific completion items for CEL language.\n * Such as `step.*`\n */\nexport function celSpecificCompletionProviderFactory(\n lang: string,\n id: string,\n completers: MixedCompleter[]\n): monaco.languages.CompletionItemProvider {\n return {\n triggerCharacters: [\".\"],\n provideCompletionItems(model, position, context) {\n if (\n id !== getEditorId() ||\n (lang !== \"cel\" && !isInEmbedded(model, position))\n ) {\n return getEmptySuggestions();\n }\n\n const word = model.getWordUntilPosition(position);\n const previousWord = model.getWordUntilPosition(\n new monaco.Position(position.lineNumber, word.startColumn - 1)\n );\n\n if (\n context.triggerCharacter !== \".\" &&\n model\n .getValueInRange({\n startLineNumber: position.lineNumber,\n startColumn: previousWord.endColumn,\n endLineNumber: position.lineNumber,\n endColumn: word.startColumn,\n })\n .trim() !== \".\"\n ) {\n return getEmptySuggestions();\n }\n\n let members: string[] | undefined;\n if (previousWord.word) {\n for (const completer of completers) {\n if (\n completer.type === \"members\" &&\n hasOwnProperty(completer.members, previousWord.word)\n ) {\n members = completer.members[previousWord.word];\n }\n }\n }\n\n if (!members) {\n return getEmptySuggestions();\n }\n\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n return {\n suggestions: members.map((label) => ({\n label,\n insertText: label,\n kind: monaco.languages.CompletionItemKind.Method,\n range,\n })),\n };\n },\n };\n}\n\nfunction getEmptySuggestions(): monaco.languages.CompletionList {\n return { suggestions: [] };\n}\n","// istanbul ignore file\nexport const DEFAULT_SYSTEM_PROMPT: Record<string, string> = {\n brick_next_yaml: `你是一个编程助手,主要用于 Visual Builder 中的 YAML 配置的代码补全。\n\nYAML 中可以使用 \\`<% %>\\` 嵌入 JS 表达式,例如:\n\n${\"```yaml\"}yaml\ngroups: <% _.groupBy(CTX.hosts, \"idc\") %>\n${\"```\"}\n\nJS 表达式中可以使用 lodash (\\`_\\`) 和 moment。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。`,\n javascript: getDefaultSystemPrompt(\"JavaScript\"),\n typescript: getDefaultSystemPrompt(\"TypeScript\"),\n};\n\nfunction getDefaultSystemPrompt(language: \"JavaScript\" | \"TypeScript\"): string {\n return `你是一个编程助手,主要用于 Visual Builder 中的 ${language} 函数的代码补全。\n\n提供简洁易读的代码补全,语法和逻辑准确,与现有上下文无缝集成,格式优雅。如果要添加注释,不要放在行尾部,应该单独成行。`;\n}\n","import { diffLines, type Change } from \"diff\";\n\ntype ChangeAction = \"added\" | \"removed\" | \"unchanged\";\n\n/**\n * Post process the response from AI to get the insertion text around the cursor.\n *\n * The AI response may:\n * 1) contains full original source code combined with the insertions (as well as insertions outside the cursor).\n * 2) contains the insertions with several lines of source code as context before and after the cursor.\n * 3) contains only the insertions.\n *\n * @param response The AI response text to be post-processed.\n * @param originalPrefix The original source code before the cursor.\n * @param originalSuffix The original source code after the cursor.\n * @returns The processed insertion text or null if no valid insertion is found.\n */\nexport function postProcessByDiff(\n response: string,\n originalPrefix: string,\n originalSuffix: string\n): string | null {\n const trimmedResponse = response.replace(/^\\n+|\\n+$/g, \"\");\n const trimmedOriginalPrefix = originalPrefix.replace(/^\\n+/g, \"\");\n const trimmedOriginalSuffix = originalSuffix.replace(/\\n+$/g, \"\");\n const responseLines = trimmedResponse.split(\"\\n\");\n const trimmedPrefixLines = trimmedOriginalPrefix.split(\"\\n\");\n const trimmedSuffixLines = trimmedOriginalSuffix.split(\"\\n\");\n const cursorLineNumber = trimmedPrefixLines.length;\n\n const diffLinesOffset = Math.max(\n 0,\n trimmedPrefixLines.length - responseLines.length\n );\n const truncatedPrefix =\n diffLinesOffset > 0\n ? trimmedPrefixLines.slice(diffLinesOffset).join(\"\\n\")\n : trimmedOriginalPrefix;\n const truncatedSuffix =\n trimmedSuffixLines.length > responseLines.length\n ? trimmedSuffixLines.slice(0, responseLines.length).join(\"\\n\")\n : trimmedOriginalSuffix;\n const truncatedSource = `${truncatedPrefix}${truncatedSuffix}`;\n\n // First, find out the insertion by comparing the diff, this resolves situation 1) and 2).\n const changes = diffLines(truncatedSource, trimmedResponse, {\n ignoreWhitespace: true,\n }) as Required<Change>[];\n\n let oldLineIndex = diffLinesOffset;\n let afterCursor = false;\n let lastAction: ChangeAction = \"unchanged\";\n for (let i = 0; i < changes.length; i++) {\n const change = changes[i];\n lastAction = change.removed\n ? \"removed\"\n : change.added\n ? \"added\"\n : \"unchanged\";\n const nextChange = changes[i + 1];\n const nextAction = nextChange?.removed\n ? \"removed\"\n : nextChange?.added\n ? \"added\"\n : \"unchanged\";\n if (lastAction !== \"added\") {\n oldLineIndex += change.count;\n } else if (i === 0 && changes.length === 1) {\n oldLineIndex++;\n }\n if (!afterCursor) {\n afterCursor = oldLineIndex >= cursorLineNumber;\n if (afterCursor) {\n const offset = oldLineIndex - cursorLineNumber;\n if (\n (lastAction === \"unchanged\" &&\n offset === 0 &&\n nextAction === \"added\") ||\n (lastAction === \"added\" && offset === 0) ||\n (lastAction === \"removed\" && nextAction === \"added\")\n ) {\n const update = lastAction === \"added\" ? change : nextChange;\n const fullFixedUpdateValue = `${\n lastAction === \"unchanged\"\n ? `${change.value.replace(/\\n$/, \"\").split(\"\\n\").pop()!}\\n`\n : \"\"\n }${update.value.replace(/\\n$/, \"\")}`;\n const updatedLines = fullFixedUpdateValue.split(\"\\n\");\n const lastUpdatedLine = updatedLines[updatedLines.length - 1];\n // Original\n const originalLinePrefix = trimmedPrefixLines[cursorLineNumber - 1];\n const originalLineSuffix = trimmedSuffixLines[0];\n\n const {\n trimmed: lastUpdatedLineTrimmed,\n trailing: lastUpdatedLineTrailing,\n } = trimWithInfo(lastUpdatedLine);\n const {\n trimmed: originalLinePrefixTrimmed,\n leading: originalLinePrefixLeading,\n trailing: originalLinePrefixTrailing,\n } = trimWithInfo(originalLinePrefix);\n const {\n trimmed: originalLineSuffixTrimmed,\n leading: originalLineSuffixLeading,\n } = trimWithInfo(originalLineSuffix);\n\n for (let j = 0; j < updatedLines.length; j++) {\n const firstUpdatedLine = updatedLines[j];\n const {\n trimmed: firstUpdatedLineTrimmed,\n leading: firstUpdatedLineLeading,\n } = trimWithInfo(firstUpdatedLine);\n if (\n firstUpdatedLineTrimmed.startsWith(originalLinePrefixTrimmed) &&\n lastUpdatedLineTrimmed.endsWith(originalLineSuffixTrimmed)\n ) {\n const fixedUpdateValue = updatedLines.slice(j).join(\"\\n\");\n const start =\n firstUpdatedLineLeading.length +\n originalLinePrefixTrimmed.length;\n const end =\n fixedUpdateValue.length -\n (lastUpdatedLineTrailing.length +\n originalLineSuffixTrimmed.length);\n const restUpdate = fixedUpdateValue.slice(start, end);\n const {\n leading: restUpdateLeading,\n trailing: restUpdateTrailing,\n } = trimWithInfo(restUpdate);\n\n const insertText = restUpdate.slice(\n Math.min(\n restUpdateLeading.length,\n originalLinePrefixTrailing.length\n ),\n restUpdate.length -\n Math.min(\n restUpdateTrailing.length,\n originalLineSuffixLeading.length\n )\n );\n\n if (\n originalLinePrefixLeading.length >\n firstUpdatedLineLeading.length &&\n firstUpdatedLineTrimmed.length > 0 &&\n originalLinePrefixTrimmed.length > 0 &&\n originalLinePrefixLeading.startsWith(firstUpdatedLineLeading)\n ) {\n const leadingSpaces = originalLinePrefixLeading.slice(\n firstUpdatedLineLeading.length\n );\n return insertText\n .split(\"\\n\")\n .map((line, index) =>\n index === 0 ? line : `${leadingSpaces}${line}`\n )\n .join(\"\\n\");\n }\n\n return insertText;\n }\n }\n }\n break;\n }\n }\n }\n\n // Maybe the response is insertion only, that's the situation 3).\n // TODO: check whether it's syntax correct after the insertion?\n const unchangedCount = changes\n .filter((change) => !(change.added || change.removed))\n .reduce((acc, change) => acc + change.count, 0);\n const truncatedLines = truncatedSource.split(\"\\n\");\n if (unchangedCount / truncatedLines.length < 0.2) {\n const insertText = trimmedResponse.trimStart();\n // Keep the original indentation.\n const leadingSpaces =\n trimmedPrefixLines[trimmedPrefixLines.length - 1].match(/^\\s+/)?.[0] ??\n \"\";\n return leadingSpaces\n ? insertText\n .split(\"\\n\")\n .map((line, index) =>\n index === 0 ? line : `${leadingSpaces}${line}`\n )\n .join(\"\\n\")\n : insertText;\n }\n\n return null;\n}\n\nfunction trimWithInfo(content: string): {\n trimmed: string;\n leading: string;\n trailing: string;\n} {\n let leading = \"\";\n let trailing = \"\";\n const trimmed = content\n .replace(/^\\s+/, (match) => {\n leading = match;\n return \"\";\n })\n .replace(/\\s+$/, (match) => {\n trailing = match;\n return \"\";\n });\n\n return { trimmed, leading, trailing };\n}\n","// istanbul ignore file: experimental\nimport * as monaco from \"monaco-editor\";\nimport { DEFAULT_SYSTEM_PROMPT } from \"./prompt.js\";\nimport { postProcessByDiff } from \"./postProcessByDiff.js\";\n\nexport const SUPPORTED_LANGUAGES = Object.freeze([\n \"typescript\",\n \"javascript\",\n \"brick_next_yaml\",\n]);\n\nexport type IHttpAbortError = {\n new (message: string): Error;\n};\n\nexport type ChatRequest = (\n options: ChatRequestOptions\n) => Promise<string | null | undefined>;\n\nexport interface ChatRequestOptions {\n model?: string;\n temperature?: number;\n system?: string;\n prompt?: string;\n signal?: AbortSignal;\n}\n\nexport interface MonacoCopilotProviderOptions {\n HttpAbortError: IHttpAbortError;\n request: ChatRequest;\n model?: string;\n debounce?: number;\n timeout?: number;\n}\n\nexport class MonacoCopilotProvider\n implements monaco.languages.InlineCompletionsProvider\n{\n #timer: null | ReturnType<typeof setTimeout> = null;\n #previousResolve:\n | null\n | ((value: monaco.languages.InlineCompletions | null) => void) = null;\n #debounce: number;\n #timeout: number;\n #HttpAbortError: IHttpAbortError;\n #request: ChatRequest;\n #model: string;\n\n constructor(options: MonacoCopilotProviderOptions) {\n this.#debounce = options.debounce ?? 750;\n this.#HttpAbortError = options.HttpAbortError;\n this.#request = options.request;\n this.#model = options.model ?? \"qwen-coder-turbo\";\n this.#timeout = options.timeout ?? 1.2e4;\n }\n\n async provideInlineCompletions(\n model: monaco.editor.IModel,\n position: monaco.Position,\n ctx: monaco.languages.InlineCompletionContext,\n token: monaco.CancellationToken\n ) {\n const abortCtrl = new AbortController();\n\n token.onCancellationRequested(() => {\n abortCtrl.abort();\n });\n\n if (this.#timer) {\n clearTimeout(this.#timer);\n this.#previousResolve?.(null);\n this.#timer = null;\n this.#previousResolve = null;\n }\n\n const promise = new Promise<monaco.languages.InlineCompletions | null>(\n (resolve) => {\n this.#previousResolve = resolve;\n\n this.#timer = setTimeout(async () => {\n this.#timer = null;\n this.#previousResolve = null;\n\n if (token.isCancellationRequested) {\n resolve(null);\n }\n\n const language = model.getLanguageId();\n const source = model.getValue();\n const lineContent = model.getLineContent(position.lineNumber);\n if (\n // Ignore empty source code.\n source.trim().length === 0 ||\n // For these use cases (generally end of a statement/declaration line),\n // the AI model would not respond in time currently.\n (position.column === model.getLineLength(position.lineNumber) + 1 &&\n (language === \"brick_next_yaml\"\n ? /\\s+%>\\s*$/.test(lineContent)\n : /[;,}\\]]\\s*$/.test(lineContent)))\n ) {\n resolve(null);\n return;\n }\n\n const requestTimeout = setTimeout(() => {\n abortCtrl.abort();\n }, this.#timeout);\n\n try {\n const edit = await getInlineEdit({\n request: this.#request,\n model: this.#model,\n source,\n offset: model.getOffsetAt(position),\n language,\n signal: abortCtrl.signal,\n });\n\n if (!edit) {\n return null;\n }\n\n resolve({\n enableForwardStability: true,\n items: [\n {\n insertText: edit,\n range: new monaco.Range(\n position.lineNumber,\n position.column,\n position.lineNumber,\n position.column\n ),\n },\n ],\n });\n } catch (error) {\n if (!(error instanceof this.#HttpAbortError)) {\n // eslint-disable-next-line no-console\n console.error(\"Error fetching inline completion:\", error);\n }\n resolve(null);\n } finally {\n clearTimeout(requestTimeout);\n }\n }, this.#debounce);\n }\n );\n\n return promise;\n }\n\n freeInlineCompletions() {\n // Do nothing\n }\n}\n\nasync function getInlineEdit({\n request,\n model,\n source,\n language,\n offset,\n signal,\n}: {\n request: ChatRequest;\n model: string;\n source: string;\n language: string;\n offset: number;\n signal: AbortSignal;\n}): Promise<string | null> {\n const prefix = source.slice(0, offset);\n const suffix = source.slice(offset);\n const context =\n language === \"brick_next_yaml\"\n ? \"# File: config.yaml\\n\"\n : `// File utils.${language === \"javascript\" ? \"js\" : \"ts\"}\\n`;\n const content = await request({\n model,\n system: DEFAULT_SYSTEM_PROMPT[language],\n prompt: `<|fim_prefix|>${context}${prefix}<|fim_suffix|>${suffix}<|fim_middle|>`,\n temperature: 0.2,\n signal,\n });\n\n const matches = content?.match(\n /(?:^|\\n)```(?:\\w*)\\n([\\s\\S]*?)(?:\\n```(?:\\n|$)|$)/\n );\n if (!matches) {\n // eslint-disable-next-line no-console\n console.error(\"No code block found in response.\", content);\n return null;\n }\n\n const response = matches[1].startsWith(context)\n ? matches[1].slice(context.length)\n : matches[1];\n\n const insertText = postProcessByDiff(response, prefix, suffix);\n\n if (insertText && /\\S/.test(insertText)) {\n return insertText;\n }\n\n // eslint-disable-next-line no-console\n console.warn(\"Response is invalid:\", content);\n return null;\n}\n","import * as monaco from \"monaco-editor\";\nimport type { ExtraLib } from \"../interfaces.js\";\n\nlet previousDisposables: monaco.IDisposable[] | undefined;\n\nexport function setExtraLibs(\n libs: ExtraLib[] | undefined,\n options: {\n languageDefaults: \"javascriptDefaults\" | \"typescriptDefaults\";\n }\n): void {\n for (const disposable of previousDisposables ?? []) {\n disposable.dispose();\n }\n\n previousDisposables = libs?.map((lib) => {\n const uri = monaco.Uri.file(`libs/${lib.filePath}`);\n const uriString = uri.toString();\n return monaco.languages.typescript[options.languageDefaults].addExtraLib(\n lib.content,\n uriString\n );\n });\n}\n","/* eslint-disable no-useless-escape */\n// https://github.com/microsoft/monaco-editor/blob/8270c45a385a180a53fd8ef8e3a189b1471100ed/src/basic-languages/yaml/yaml.ts\nimport * as monaco from \"monaco-editor\";\n\nexport const conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: \"#\",\n },\n brackets: [\n [\"{\", \"}\"],\n [\"[\", \"]\"],\n [\"(\", \")\"],\n ],\n autoClosingPairs: [\n { open: \"{\", close: \"}\" },\n { open: \"[\", close: \"]\" },\n { open: \"(\", close: \")\" },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n folding: {\n offSide: true,\n },\n onEnterRules: [\n {\n beforeText: /:\\s*$/,\n action: {\n indentAction: monaco.languages.IndentAction.Indent,\n },\n },\n ],\n};\n\nexport const language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: \".yaml.cel\",\n\n brackets: [\n { token: \"delimiter.bracket\", open: \"{\", close: \"}\" },\n { token: \"delimiter.square\", open: \"[\", close: \"]\" },\n ],\n\n keywords: [\n \"true\",\n \"True\",\n \"TRUE\",\n \"false\",\n \"False\",\n \"FALSE\",\n \"null\",\n \"Null\",\n \"NULL\",\n \"~\",\n ],\n\n numberInteger: /(?:0|[+-]?[0-9]+)/,\n numberFloat: /(?:0|[+-]?[0-9]+)(?:\\.[0-9]+)?(?:e[-+][1-9][0-9]*)?/,\n numberOctal: /0o[0-7]+/,\n numberHex: /0x[0-9a-fA-F]+/,\n numberInfinity: /[+-]?\\.(?:inf|Inf|INF)/,\n numberNaN: /\\.(?:nan|Nan|NAN)/,\n numberDate:\n /\\d{4}-\\d\\d-\\d\\d([Tt ]\\d\\d:\\d\\d:\\d\\d(\\.\\d+)?(( ?[+-]\\d\\d?(:\\d\\d)?)|Z)?)?/,\n\n escapes: /\\\\(?:[btnfr\\\\\"']|[0-7][0-7]?|[0-3][0-7]{2})/,\n\n tokenizer: {\n root: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n\n // Directive\n [/%[^ ]+.*$/, \"meta.directive\"],\n\n // Document Markers\n [/---/, \"operators.directivesEnd\"],\n [/\\.{3}/, \"operators.documentEnd\"],\n\n // Block Structure Indicators\n [/[-?:](?= )/, \"operators\"],\n\n { include: \"@anchor\" },\n { include: \"@tagHandle\" },\n { include: \"@flowCollections\" },\n { include: \"@blockStyle\" },\n\n // Numbers\n [/@numberInteger(?![ \\t]*\\S+)/, \"number\"],\n [/@numberFloat(?![ \\t]*\\S+)/, \"number.float\"],\n [/@numberOctal(?![ \\t]*\\S+)/, \"number.octal\"],\n [/@numberHex(?![ \\t]*\\S+)/, \"number.hex\"],\n [/@numberInfinity(?![ \\t]*\\S+)/, \"number.infinity\"],\n [/@numberNaN(?![ \\t]*\\S+)/, \"number.nan\"],\n [/@numberDate(?![ \\t]*\\S+)/, \"number.date\"],\n\n // Key:Value pair\n [\n /(\".*?\"|'.*?'|[^#'\"]*?)([ \\t]*)(:)( |$)/,\n [\"tag\", \"white\", \"operators\", \"white\"],\n ],\n\n { include: \"@flowScalars\" },\n { include: \"@flowExpression\" },\n\n // String nodes\n [\n /.+?(?=(\\s+#|$))/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@default\": \"string\",\n },\n },\n ],\n ],\n\n // Flow Collection: Flow Mapping\n object: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n\n // Flow Mapping termination\n [/\\}/, \"@brackets\", \"@pop\"],\n\n // Flow Mapping delimiter\n [/,/, \"delimiter.comma\"],\n\n // Flow Mapping Key:Value delimiter\n [/:(?= )/, \"operators\"],\n\n // Flow Mapping Key:Value key\n [/(?:\".*?\"|'.*?'|[^,\\{\\[]+?)(?=: )/, \"tag\"],\n\n // Start Flow Style\n { include: \"@flowCollections\" },\n { include: \"@flowScalars\" },\n\n // Scalar Data types\n { include: \"@tagHandle\" },\n { include: \"@anchor\" },\n { include: \"@flowNumber\" },\n\n // Other value (keyword or string)\n [\n /[^\\},]+/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@default\": \"string\",\n },\n },\n ],\n ],\n\n // Flow Collection: Flow Sequence\n array: [\n { include: \"@whitespace\" },\n { include: \"@comment\" },\n\n // Flow Sequence termination\n [/\\]/, \"@brackets\", \"@pop\"],\n\n // Flow Sequence delimiter\n [/,/, \"delimiter.comma\"],\n\n // Start Flow Style\n { include: \"@flowCollections\" },\n { include: \"@flowScalars\" },\n\n // Scalar Data types\n { include: \"@tagHandle\" },\n { include: \"@anchor\" },\n { include: \"@flowNumber\" },\n\n // Other value (keyword or string)\n [\n /[^\\],]+/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@default\": \"string\",\n },\n },\n ],\n ],\n\n // First line of a Block Style\n multiString: [\n [\n /^( +)(<%(?:\\s|$))/,\n [\"string\", { token: \"@rematch\", next: \"@multiExpression.$1\" }],\n ],\n [/^( +).+$/, \"string\", \"@multiStringContinued.$1\"],\n ],\n\n // Further lines of a Block Style\n // Workaround for indentation detection\n multiStringContinued: [\n [\n /^( *)(.+)$/,\n {\n cases: {\n \"$1==$S2\": \"string\",\n \"@default\": { token: \"@rematch\", next: \"@popall\" },\n },\n },\n ],\n ],\n\n whitespace: [[/[ \\t\\r\\n]+/, \"white\"]],\n\n // Only line comments\n comment: [[/#.*$/, \"comment\"]],\n\n // Start Flow Collections\n flowCollections: [\n [/\\[/, \"@brackets\", \"@array\"],\n [/\\{/, \"@brackets\", \"@object\"],\n ],\n\n // Start Flow Scalars (quoted strings)\n flowScalars: [\n [/\"([^\"\\\\]|\\\\.)*$/, \"string.invalid\"],\n [/'([^'\\\\]|\\\\.)*$/, \"string.invalid\"],\n [/'/, \"string\", \"@singleQuotedString\"],\n [/\"/, \"string\", \"@doubleQuotedString\"],\n ],\n\n singleQuotedString: [\n { include: \"@expressionStart\" },\n [\n /(%>)(\\s*)(')/,\n [\n { token: \"delimiter\", bracket: \"@close\" },\n \"white\",\n { token: \"string\", next: \"@pop\" },\n ],\n ],\n [/[^']*'/, \"string\", \"@pop\"],\n ],\n\n doubleQuotedString: [\n { include: \"@expressionStart\" },\n [\n /(%>)(\\s*)(\")/,\n [\n { token: \"delimiter\", bracket: \"@close\" },\n \"white\",\n { token: \"string\", next: \"@pop\" },\n ],\n ],\n [/[^\\\\\"]+/, \"string\"],\n [/@escapes/, \"string.escape\"],\n [/\\\\./, \"string.escape.invalid\"],\n [/\"/, \"string\", \"@pop\"],\n ],\n\n // Start Block Scalar\n blockStyle: [[/[>|][0-9]*[+-]?$/, \"operators\", \"@multiString\"]],\n\n // Numbers in Flow Collections (terminate with ,]})\n flowNumber: [\n [/@numberInteger(?=[ \\t]*[,\\]\\}])/, \"number\"],\n [/@numberFloat(?=[ \\t]*[,\\]\\}])/, \"number.float\"],\n [/@numberOctal(?=[ \\t]*[,\\]\\}])/, \"number.octal\"],\n [/@numberHex(?=[ \\t]*[,\\]\\}])/, \"number.hex\"],\n [/@numberInfinity(?=[ \\t]*[,\\]\\}])/, \"number.infinity\"],\n [/@numberNaN(?=[ \\t]*[,\\]\\}])/, \"number.nan\"],\n [/@numberDate(?=[ \\t]*[,\\]\\}])/, \"number.date\"],\n ],\n\n tagHandle: [[/\\![^ ]*/, \"tag\"]],\n\n anchor: [[/[&*][^ ]+/, \"namespace\"]],\n\n flowExpression: [\n { include: \"@expressionStart\" },\n [\n /(\\s+)(%>)(\\s*)/,\n [\n \"white\",\n { token: \"delimiter\", bracket: \"@close\" },\n { token: \"white\", next: \"@pop\" },\n ],\n ],\n ],\n\n expressionStart: [\n [\n /(\\s*)(<%)(\\s+)/,\n [\n \"white\",\n { token: \"delimiter\", bracket: \"@open\" },\n {\n token: \"white\",\n next: \"@expressionEmbedded\",\n nextEmbedded: \"text/cel\",\n },\n ],\n ],\n ],\n\n multiExpression: [\n [\n /(<%)/,\n {\n token: \"delimiter\",\n next: \"@expressionEmbedded\",\n nextEmbedded: \"text/cel\",\n bracket: \"@open\",\n },\n ],\n [\n /(%>)(\\s*)/,\n [\n { token: \"delimiter\", bracket: \"@close\" },\n { token: \"white\", next: \"@pop\" },\n ],\n ],\n [\n /^( *).+$/,\n {\n cases: {\n \"$1==$S2\": \"string\",\n \"@default\": { token: \"@rematch\", next: \"@popall\" },\n },\n },\n ],\n ],\n\n expressionEmbedded: [\n [/%>/, { token: \"@rematch\", next: \"@pop\", nextEmbedded: \"@pop\" }],\n ],\n },\n};\n\n/**\n * Register the extended yaml language, with CEL syntax highlighting supported.\n */\nexport function register(Monaco: typeof monaco, languageId = \"cel_yaml\") {\n Monaco.languages.register({\n id: languageId,\n extensions: [\".cel-yaml\"],\n mimetypes: [\"text/cel-yaml\"],\n });\n Monaco.languages.setLanguageConfiguration(languageId, conf);\n Monaco.languages.setMonarchTokensProvider(languageId, language);\n}\n","import * as monaco from \"monaco-editor\";\n\nexport class PlaceholderContentWidget implements monaco.editor.IContentWidget {\n private static readonly ID = \"editor.widget.placeholderHint\";\n\n private domNode: HTMLElement | undefined;\n\n private readonly placeholder: string;\n private readonly editor: monaco.editor.ICodeEditor;\n private readonly color: string;\n\n constructor(\n placeholder: string,\n editor: monaco.editor.ICodeEditor,\n color: string\n ) {\n this.placeholder = placeholder;\n this.editor = editor;\n this.color = color;\n // register a listener for editor code changes\n this.editor.onDidChangeModelContent(() => this.onDidChangeModelContent());\n // ensure that on initial load the placeholder is shown\n this.onDidChangeModelContent();\n }\n\n private onDidChangeModelContent(): void {\n if (this.editor?.getValue?.() === \"\") {\n this.editor.addContentWidget(this);\n } else {\n this.editor?.removeContentWidget?.(this);\n }\n }\n\n getId(): string {\n return PlaceholderContentWidget.ID;\n }\n\n getDomNode(): HTMLElement {\n if (!this.domNode) {\n this.domNode = document.createElement(\"div\");\n this.domNode.style.width = \"max-content\";\n this.domNode.style.pointerEvents = \"none\";\n this.domNode.textContent = this.placeholder;\n this.domNode.style.whiteSpace = \"break-spaces\";\n this.domNode.style.fontStyle = \"italic\";\n this.domNode.style.color = this.color;\n this.editor.applyFontInfo(this.domNode);\n }\n\n return this.domNode;\n }\n\n getPosition(): monaco.editor.IContentWidgetPosition | null {\n return {\n position: { lineNumber: 1, column: 1 },\n preference: [monaco.editor.ContentWidgetPositionPreference.EXACT],\n };\n }\n\n dispose(): void {\n this.editor?.removeContentWidget?.(this);\n }\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","var map = {\n\t\"./JSON.tmLanguage.json\": [\n\t\t33887,\n\t\t3887\n\t],\n\t\"./JavaScript.tmLanguage.json\": [\n\t\t43272,\n\t\t3272\n\t],\n\t\"./JavaScriptReact.tmLanguage.json\": [\n\t\t28267,\n\t\t8267\n\t],\n\t\"./MagicPython.tmLanguage.json\": [\n\t\t42370,\n\t\t2370\n\t],\n\t\"./TypeScript.tmLanguage.json\": [\n\t\t66272,\n\t\t6272\n\t],\n\t\"./TypeScriptReact.tmLanguage.json\": [\n\t\t96595,\n\t\t6595\n\t],\n\t\"./brick-next/builtin-entity.json\": [\n\t\t22385,\n\t\t2385\n\t],\n\t\"./brick-next/injection-quoted-double.json\": [\n\t\t13354,\n\t\t3354\n\t],\n\t\"./brick-next/injection-quoted-single.json\": [\n\t\t51427,\n\t\t1427\n\t],\n\t\"./brick-next/injection-unquoted.json\": [\n\t\t49519,\n\t\t9519\n\t],\n\t\"./css.tmLanguage.json\": [\n\t\t53872,\n\t\t3872\n\t],\n\t\"./go.tmLanguage.json\": [\n\t\t62859,\n\t\t2859\n\t],\n\t\"./html-derivative.tmLanguage.json\": [\n\t\t71442,\n\t\t1442\n\t],\n\t\"./html.tmLanguage.json\": [\n\t\t96206,\n\t\t6206\n\t],\n\t\"./java.tmLanguage.json\": [\n\t\t26485,\n\t\t6485\n\t],\n\t\"./markdown.tmLanguage.json\": [\n\t\t45014,\n\t\t5014\n\t],\n\t\"./powershell.tmLanguage.json\": [\n\t\t58350,\n\t\t8350\n\t],\n\t\"./shell-unix-bash.tmLanguage.json\": [\n\t\t73926,\n\t\t1545\n\t],\n\t\"./xml.tmLanguage.json\": [\n\t\t29041,\n\t\t1422\n\t],\n\t\"./yaml-1.0.tmLanguage.json\": [\n\t\t77384,\n\t\t7384\n\t],\n\t\"./yaml-1.1.tmLanguage.json\": [\n\t\t42953,\n\t\t2953\n\t],\n\t\"./yaml-1.2.tmLanguage.json\": [\n\t\t60658,\n\t\t658\n\t],\n\t\"./yaml-1.3.tmLanguage.json\": [\n\t\t91867,\n\t\t1867\n\t],\n\t\"./yaml-embedded.tmLanguage.json\": [\n\t\t87825,\n\t\t7825\n\t],\n\t\"./yaml.tmLanguage.json\": [\n\t\t78816,\n\t\t8816\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__.t(id, 1 | 16);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 81076;\nmodule.exports = webpackAsyncContext;","// istanbul ignore file\nimport { wrap } from \"comlink\";\nimport type {\n SpellCheckRequest,\n SpellCheckResponse,\n} from \"@next-shared/spell-check\";\n\nexport interface RemoteSpellCheckWorker {\n spellCheck(req: SpellCheckRequest): Promise<SpellCheckResponse>;\n}\n\nlet remoteWorkerPromise: Promise<RemoteSpellCheckWorker> | undefined;\n\nlet worker: Worker | undefined;\n\nexport function getRemoteSpellCheckWorker() {\n if (!remoteWorkerPromise) {\n remoteWorkerPromise = (async () => {\n const Remote = wrap<{ new (): RemoteSpellCheckWorker }>(getWorker());\n return await new Remote();\n })();\n }\n return remoteWorkerPromise;\n}\n\nfunction getWorker() {\n if (!worker) {\n worker = new Worker(new URL(\"./spellCheck.worker.ts\", import.meta.url));\n }\n return worker;\n}\n","import * as monaco from \"monaco-editor\";\n\nconst conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: \"#\",\n },\n brackets: [\n [\"{\", \"}\"],\n [\"[\", \"]\"],\n [\"(\", \")\"],\n ],\n autoClosingPairs: [\n { open: \"{\", close: \"}\" },\n { open: \"[\", close: \"]\" },\n { open: \"(\", close: \")\" },\n { open: '\"', close: '\"' },\n { open: \"'\", close: \"'\" },\n ],\n folding: {\n offSide: true,\n },\n onEnterRules: [\n {\n beforeText: /:\\s*$/,\n action: {\n indentAction: monaco.languages.IndentAction.Indent,\n },\n },\n ],\n};\n\n/**\n * Register the extended yaml language, with Brick Next expression syntax\n * highlighting supported.\n */\nexport function registerBrickNextYaml(Monaco: typeof monaco) {\n Monaco.languages.register({\n id: \"brick_next_yaml\",\n extensions: [\".yaml\", \".yml\"],\n mimetypes: [\"application/x-yaml\", \"text/x-yaml\"],\n });\n Monaco.languages.setLanguageConfiguration(\"brick_next_yaml\", conf);\n}\n","import * as monaco from \"monaco-editor\";\nimport * as vsctm from \"vscode-textmate\";\nimport { loadWASM, OnigScanner, OnigString } from \"vscode-oniguruma\";\nimport wasm from \"vscode-oniguruma/release/onig.wasm\";\nimport { registerBrickNextYaml } from \"./brick_next_yaml.js\";\n\nconst languageToScope = new Map<string, string>();\nlanguageToScope.set(\"javascript\", \"source.js.jsx\");\nlanguageToScope.set(\"typescript\", \"source.tsx\");\nlanguageToScope.set(\"html\", \"text.html.basic\");\nlanguageToScope.set(\"markdown\", \"text.html.markdown\");\nlanguageToScope.set(\"xml\", \"text.xml\");\nlanguageToScope.set(\"css\", \"source.css\");\nlanguageToScope.set(\"json\", \"source.json\");\nlanguageToScope.set(\"python\", \"source.python\");\nlanguageToScope.set(\"go\", \"source.go\");\nlanguageToScope.set(\"java\", \"source.java\");\nlanguageToScope.set(\"shell\", \"source.shell\");\nlanguageToScope.set(\"powershell\", \"source.powershell\");\nlanguageToScope.set(\"yaml\", \"source.yaml\");\nlanguageToScope.set(\"brick_next_yaml\", \"source.brick_next_yaml\");\n\nexport const languages = [...languageToScope.keys()];\n\nregisterBrickNextYaml(monaco);\n\nconst grammars = new Map<string, string>([\n [\"source.js\", \"JavaScript.tmLanguage\"],\n [\"source.js.jsx\", \"JavaScriptReact.tmLanguage\"],\n [\"source.ts\", \"TypeScript.tmLanguage\"],\n [\"source.tsx\", \"TypeScriptReact.tmLanguage\"],\n [\"text.html.basic\", \"html.tmLanguage\"],\n [\"text.html.derivative\", \"html-derivative.tmLanguage\"],\n [\"text.html.markdown\", \"markdown.tmLanguage\"],\n [\"text.xml\", \"xml.tmLanguage\"],\n [\"source.css\", \"css.tmLanguage\"],\n [\"source.json\", \"JSON.tmLanguage\"],\n [\"source.python\", \"MagicPython.tmLanguage\"],\n [\"source.go\", \"go.tmLanguage\"],\n [\"source.java\", \"java.tmLanguage\"],\n [\"source.shell\", \"shell-unix-bash.tmLanguage\"],\n [\"source.powershell\", \"powershell.tmLanguage\"],\n [\"source.yaml\", \"yaml.tmLanguage\"],\n [\"source.yaml.1.0\", \"yaml-1.0.tmLanguage\"],\n [\"source.yaml.1.1\", \"yaml-1.1.tmLanguage\"],\n [\"source.yaml.1.2\", \"yaml-1.2.tmLanguage\"],\n [\"source.yaml.1.3\", \"yaml-1.3.tmLanguage\"],\n [\"source.yaml.embedded\", \"yaml-embedded.tmLanguage\"],\n [\"source.brick_next_yaml\", \"yaml.tmLanguage\"],\n [\"placeholder.injection.string.unquoted\", \"brick-next/injection-unquoted\"],\n [\n \"placeholder.injection.string.quoted.double\",\n \"brick-next/injection-quoted-double\",\n ],\n [\n \"placeholder.injection.string.quoted.single\",\n \"brick-next/injection-quoted-single\",\n ],\n [\"builtin.entity.injection.string\", \"brick-next/builtin-entity\"],\n]);\n\nconst wasmPromise = fetch(wasm)\n .then((response) => response.arrayBuffer())\n .then((buffer) => loadWASM({ data: buffer }));\n\nconst registry = new vsctm.Registry({\n onigLib: wasmPromise.then(() => {\n return {\n createOnigScanner: (sources) => new OnigScanner(sources),\n createOnigString: (str) => new OnigString(str),\n };\n }),\n async loadGrammar(scopeName) {\n const grammarFile = grammars.get(scopeName);\n if (grammarFile) {\n const grammar = (await import(`./grammars/${grammarFile}.json`)).default;\n if (scopeName === \"source.brick_next_yaml\") {\n return {\n ...grammar,\n scopeName,\n };\n }\n return grammar;\n }\n if (process.env.NODE_ENV !== \"production\") {\n // eslint-disable-next-line no-console\n console.warn(`No grammar found for scope: ${scopeName}`);\n }\n return null;\n },\n getInjections(scopeName) {\n if (scopeName === \"source.brick_next_yaml\") {\n return [\n \"placeholder.injection.string.unquoted\",\n \"placeholder.injection.string.quoted.double\",\n \"placeholder.injection.string.quoted.single\",\n \"builtin.entity.injection.string\",\n ];\n }\n return [];\n },\n});\n\nconst providers = new Map<string, Promise<monaco.languages.TokensProvider>>();\n\nconst initializedLanguages = new Set<string>();\n\nexport function initializeTokensProvider(language: string) {\n if (initializedLanguages.has(language)) {\n return;\n }\n initializedLanguages.add(language);\n\n const scopeName = languageToScope.get(language);\n if (scopeName) {\n monaco.languages.setTokensProvider(\n language,\n createTokensProvider(scopeName)\n );\n }\n}\n\nfunction createTokensProvider(\n scopeName: string\n): Promise<monaco.languages.TokensProvider> {\n let provider = providers.get(scopeName);\n if (!provider) {\n provider = doCreateTokensProvider(scopeName);\n providers.set(scopeName, provider);\n }\n return provider;\n}\n\nasync function doCreateTokensProvider(\n scopeName: string\n): Promise<monaco.languages.TokensProvider> {\n const grammar = await registry.loadGrammar(scopeName);\n if (!grammar) {\n throw new Error(\"Failed to load grammar\");\n }\n return {\n getInitialState() {\n return vsctm.INITIAL;\n },\n tokenize(line, state: vsctm.StateStack) {\n const lineTokens = grammar.tokenizeLine(line, state);\n const tokens: monaco.languages.IToken[] = [];\n for (const token of lineTokens.tokens) {\n tokens.push({\n startIndex: token.startIndex,\n // Monaco doesn't support an array of scopes\n scopes: token.scopes[token.scopes.length - 1],\n });\n }\n return { tokens, endState: lineTokens.ruleStack };\n },\n };\n}\n","// https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax\nimport * as monaco from \"monaco-editor\";\n\nexport const conf: monaco.languages.LanguageConfiguration = {\n comments: {\n lineComment: \"//\",\n blockComment: null,\n },\n\n brackets: [\n [\"{\", \"}\"],\n [\"[\", \"]\"],\n [\"(\", \")\"],\n ],\n\n autoClosingPairs: [\n { open: \"{\", close: \"}\" },\n { open: \"[\", close: \"]\" },\n { open: \"(\", close: \")\" },\n { open: '\"', close: '\"', notIn: [\"string\"] },\n { open: \"'\", close: \"'\", notIn: [\"string\", \"comment\"] },\n ],\n\n onEnterRules: [\n {\n // e.g. <% | %>\n beforeText: /^ $/,\n afterText: /^ $/,\n action: {\n indentAction: monaco.languages.IndentAction.IndentOutdent,\n appendText: \" \",\n },\n },\n ],\n};\n\nexport const constants = [\n // Built-in functions\n \"bytes\",\n \"double\",\n \"duration\",\n \"dyn\",\n \"int\",\n \"bool\",\n \"matches\",\n \"size\",\n \"string\",\n \"timestamp\",\n \"type\",\n \"uint\",\n \"round\",\n // Built-in extensions\n \"base64\",\n // Built-in macros\n \"has\",\n // EasyOps primitive_type_ext\n \"printf\",\n \"isEmpty\",\n \"repeatArray\",\n // EasyOps dyn_type_ext\n \"mergeList\",\n \"fieldNotEmpty\",\n \"hasOrDefault\",\n \"trinocular\",\n \"traceId\",\n \"SHA1\",\n \"random\",\n \"random_string\",\n \"now\",\n // Flow builder variables\n \"request\",\n \"step\",\n \"variable\",\n \"config\",\n \"$\",\n] as readonly string[];\n\nexport const instanceMembers = [\n // Built-in methods\n \"contains\",\n \"endsWith\",\n \"matches\",\n \"startsWith\",\n // Built-in datetime methods\n \"getDate\",\n \"getDayOfMonth\",\n \"getDayOfWeek\",\n \"getDayOfYear\",\n \"getFullYear\",\n \"getHours\",\n \"getMilliseconds\",\n \"getMinutes\",\n \"getMonth\",\n \"getSeconds\",\n // Built-in extensions\n \"charAt\",\n \"indexOf\",\n \"lastIndexOf\",\n \"lowerAscii\",\n \"replace\",\n \"split\",\n \"join\",\n \"substring\",\n \"trim\",\n \"upperAscii\",\n // Built-in macros\n \"all\",\n \"exists\",\n \"exists_one\",\n \"map\",\n \"filter\",\n // EasyOps primitive_type_ext\n \"decodeb64\",\n \"truncate\",\n \"parseJSON\",\n \"parseYAML\",\n \"parseURL\",\n \"isBlank\",\n // EasyOps dyn_type_ext\n \"marshalJSON\",\n \"marshalYAML\",\n \"merge\",\n \"repeat\",\n \"match\",\n \"canonical\",\n \"convertMap\",\n \"fuse\",\n \"remove\",\n \"setAttr\",\n \"parseDate\",\n \"format\",\n // Flow builder step variables,\n \"input\",\n \"output\",\n] as readonly string[];\n\nexport const language: monaco.languages.IMonarchLanguage = {\n // Set defaultToken to invalid to see what you do not tokenize yet\n defaultToken: \"invalid\",\n\n tokenPostfix: \".cel\",\n\n keywords: [\n // Reserved keywords are not used in CEL actually.\n \"in\",\n \"as\",\n \"break\",\n \"const\",\n \"continue\",\n \"else\",\n \"for\",\n \"function\",\n \"if\",\n \"import\",\n \"let\",\n \"loop\",\n \"package\",\n \"namespace\",\n \"return\",\n \"var\",\n \"void\",\n \"while\",\n // constants\n \"null\",\n // boolean\n \"true\",\n \"false\",\n ],\n\n constants,\n\n instanceMethods: instanceMembers,\n\n operators: [\n // Logical operators\n \"&&\",\n \"||\",\n // Comparison operators\n \"<=\",\n \"<\",\n \">=\",\n \">\",\n \"==\",\n \"!=\",\n // \"in\",\n // Arithmetic operators\n \"+\",\n \"-\",\n \"*\",\n \"/\",\n \"%\",\n \"!\",\n ],\n\n // we include these common regular expressions\n symbols: /[=><!~?:&|+\\-*/^%]+/,\n\n escapes:\n /\\\\(?:[bfnrt\\\\\"']|x[0-9A-Fa-f]{2}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8}|[0-3][0-7]{2})/,\n\n // The main tokenizer for our languages\n tokenizer: {\n root: [\n // identifiers and keywords\n [\n /[a-zA-Z_$][\\w$]*/,\n {\n cases: {\n \"@keywords\": \"keyword\",\n \"@constants\": \"keyword\",\n \"@default\": \"identifier\",\n },\n },\n ],\n\n // Method calling\n [\n /(\\.)([a-zA-Z_$][\\w$]*)/,\n [\n \"operator\",\n {\n cases: {\n \"@instanceMethods\": \"keyword\",\n \"@default\": \"identifier\",\n },\n },\n ],\n ],\n\n // whitespace\n { include: \"@whitespace\" },\n\n // delimiters and operators\n [/[{}()[\\]]/, \"@brackets\"],\n // [/[<>](?!@symbols)/, \"@brackets\"],\n [/@symbols/, { cases: { \"@operators\": \"operator\", \"@default\": \"\" } }],\n\n // numbers\n [/\\d*\\.\\d+([eE][-+]?\\d+)?/, \"number.float\"],\n [/0x[0-9a-fA-F]+[uU]?/, \"number.hex\"],\n [/\\d+[uU]?/, \"number\"],\n\n // delimiter: after number because of .\\d floats\n [/[;,.]/, \"delimiter\"],\n\n // strings\n [/\"([^\"\\\\]|\\\\.)*$/, \"string.invalid\"], // non-terminated string\n [/\"/, { token: \"string.quote\", bracket: \"@open\", next: \"@string\" }],\n\n // characters\n [/'[^\\\\']'/, \"string\"],\n [/(')(@escapes)(')/, [\"string\", \"string.escape\", \"string\"]],\n [/'/, \"string.invalid\"],\n ],\n\n string: [\n [/[^\\\\\"]+/, \"string\"],\n [/@escapes/, \"string.escape\"],\n [/\\\\./, \"string.escape.invalid\"],\n [/\"/, { token: \"string.quote\", bracket: \"@close\", next: \"@pop\" }],\n ],\n\n whitespace: [\n [/[ \\t\\r\\n]+/, \"white\"],\n [/\\/\\/.*$/, \"comment\"],\n ],\n },\n};\n\n/**\n * Register the CEL language.\n *\n * See https://github.com/google/cel-spec/blob/master/doc/langdef.md#syntax\n */\nexport function register(Monaco: typeof monaco, languageId = \"cel\") {\n Monaco.languages.register({\n id: languageId,\n extensions: [\".cel\"],\n mimetypes: [\"text/cel\"],\n });\n Monaco.languages.setLanguageConfiguration(languageId, conf);\n Monaco.languages.setMonarchTokensProvider(languageId, language);\n}\n","export const EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\n","// istanbul ignore file\n/*---------------------------------------------------------------------------------------------\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License. See License.txt in the project root for license information.\n *--------------------------------------------------------------------------------------------*/\nconst markRegex = new RegExp(\"\\\\b(MARK:\\\\s*)(.*)$\");\nconst trimDashesRegex = /^-+|-+$/g;\n/**\n * Find section headers in the model.\n *\n * @param model the text model to search in\n * @param options options to search with\n * @returns an array of section headers\n */\nexport function findSectionHeaders(model, options) {\n var _a;\n let headers = [];\n if (\n options.findRegionSectionHeaders &&\n ((_a = options.foldingRules) === null || _a === void 0\n ? void 0\n : _a.markers)\n ) {\n const regionHeaders = collectRegionHeaders(model, options);\n headers = headers.concat(regionHeaders);\n }\n if (options.findMarkSectionHeaders) {\n const markHeaders = collectMarkHeaders(model);\n headers = headers.concat(markHeaders);\n }\n return headers;\n}\nfunction collectRegionHeaders(model, options) {\n const regionHeaders = [];\n const endLineNumber = model.getLineCount();\n for (let lineNumber = 1; lineNumber <= endLineNumber; lineNumber++) {\n const lineContent = model.getLineContent(lineNumber);\n const match = lineContent.match(options.foldingRules.markers.start);\n if (match) {\n const range = {\n startLineNumber: lineNumber,\n startColumn: match[0].length + 1,\n endLineNumber: lineNumber,\n endColumn: lineContent.length + 1,\n };\n if (range.endColumn > range.startColumn) {\n const sectionHeader = {\n range,\n ...getHeaderText(lineContent.substring(match[0].length)),\n shouldBeInComments: false,\n };\n if (sectionHeader.text || sectionHeader.hasSeparatorLine) {\n regionHeaders.push(sectionHeader);\n }\n }\n }\n }\n return regionHeaders;\n}\nfunction collectMarkHeaders(model) {\n const markHeaders = [];\n const endLineNumber = model.getLineCount();\n for (let lineNumber = 1; lineNumber <= endLineNumber; lineNumber++) {\n const lineContent = model.getLineContent(lineNumber);\n addMarkHeaderIfFound(lineContent, lineNumber, markHeaders);\n }\n return markHeaders;\n}\nfunction addMarkHeaderIfFound(lineContent, lineNumber, sectionHeaders) {\n markRegex.lastIndex = 0;\n const match = markRegex.exec(lineContent);\n if (match) {\n const column = match.index + match[1].length + 1;\n const endColumn = column + match[2].length;\n const range = {\n startLineNumber: lineNumber,\n startColumn: column,\n endLineNumber: lineNumber,\n endColumn: endColumn,\n };\n if (range.endColumn > range.startColumn) {\n const sectionHeader = {\n range,\n ...getHeaderText(match[1]),\n shouldBeInComments: true,\n };\n if (sectionHeader.text || sectionHeader.hasSeparatorLine) {\n sectionHeaders.push(sectionHeader);\n }\n }\n }\n}\nfunction getHeaderText(text) {\n text = text.trim();\n const hasSeparatorLine = text.startsWith(\"-\");\n text = text.replace(trimDashesRegex, \"\");\n return { text, hasSeparatorLine };\n}\n","// https://github.com/microsoft/monaco-editor/blob/8270c45a385a180a53fd8ef8e3a189b1471100ed/src/basic-languages/yaml/yaml.ts\nimport * as monaco from \"monaco-editor\";\nimport { conf as confOfCel } from \"./cel\";\n\nexport const conf: monaco.languages.LanguageConfiguration = {\n brackets: confOfCel.brackets,\n autoClosingPairs: confOfCel.autoClosingPairs,\n};\n\nexport const language: monaco.languages.IMonarchLanguage = {\n tokenPostfix: \".yaml.str\",\n\n tokenizer: {\n root: [\n { include: \"@whitespace\" },\n { include: \"@expression\" },\n { include: \"@strings\" },\n ],\n\n expression: [\n [\n /<%/,\n {\n token: \"delimiter\",\n next: \"@expressionEmbedded\",\n nextEmbedded: \"text/cel\",\n bracket: \"@open\",\n },\n ],\n [/%>/, { token: \"delimiter\", bracket: \"@close\" }],\n ],\n\n expressionEmbedded: [\n [/%>/, { token: \"@rematch\", next: \"@pop\", nextEmbedded: \"@pop\" }],\n ],\n\n strings: [[/[^<]+|<(?!%)/, \"string\"]],\n\n whitespace: [[/[ \\t\\r\\n]+/, \"white\"]],\n },\n};\n\n/**\n * Register the cel_str language, that CEL is embedded in `<% %>` as a plain string.\n */\nexport function register(Monaco: typeof monaco, languageId = \"cel_str\") {\n Monaco.languages.register({\n id: languageId,\n extensions: [\".cel-str\"],\n mimetypes: [\"text/cel-str\"],\n });\n Monaco.languages.setLanguageConfiguration(languageId, conf);\n Monaco.languages.setMonarchTokensProvider(languageId, language);\n}\n"],"names":["findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","wordSpace","key","length","unshift","brickNextYAMLProviderCompletionItems","completers","arguments","undefined","advancedCompleters","id","tokenConfig","async","position","context","getEditorId","suggestions","DSToken","showDSKey","word","getWordUntilPosition","prefixWord","token","prefixToken","getPrefixWord","_word$word","lineNumber","column","getWordAtPosition","prefix","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","fullWord","test","trim","label","detail","kind","monaco","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","filter","item","includes","map","Keyword","concat","builtinActions","matchCompletion","list","matchTriggerCharacter","Array","isArray","isInEvaluateBody","_model$findMatches","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixRange","suffixRange","findMatches","prefixParentKey","suffixParentKey","embeddedContext","EmbeddedModelContext","getInstance","provideJsSuggestItems","getState","brickNextKeywords","currentEditor","switchEditor","editor","disposeEditor","_editor$getModel","getModel","dispose","isCurrentEditor","remoteWorkerPromise","worker","getRemoteYamlLinterWorker","Remote","wrap","Worker","URL","K","NS","locales","en","COPY","COPY_SUCCESS","COPY_FAILED","EXPAND","COLLAPSE","zh","_assertClassBrand","this","_instance","_","constructor","_classPrivateFieldInitSpec","_id","_state","_classPrivateFieldSet","updateState","state","_classPrivateFieldGet","getEmbeddedJavascriptUri","value","parse","toString","_embeddedContext$offs","_info$entries","workerGetter","typescript","getJavaScriptWorker","uri","javascriptModel","offset","getOffsetAt","info","getCompletionsAtPosition","wordInfo","wordRange","entries","entry","replacementSpan","p1","getPositionAt","start","p2","name","sortText","Property","getBrickYamlBuiltInDeclare","builtInKeywordDeclare","join","self","MonacoEnvironment","getWorker","workerId","method","property","createDecorators","_A","WeakMap","_FormItemElementBase_brand","WeakSet","_B","_C","_D","_E","_F","_G","FormItemElementBase","ReactNextElement","_classPrivateMethodInitSpec","_initProto","_init_helpBrick","_init_extra_helpBrick","_init_labelBrick","_init_extra_labelBrick","_init_labelCol","_init_extra_labelCol","_init_wrapperCol","_init_extra_wrapperCol","isFormItemElement","validateState","_classPrivateSetter","_set_validate","_render","_classPrivateGetter","_get_validate","notRender","hidden","_set__notRender","_get__notRender","$bindFormItem","_get_bindFormItem","_set_bindFormItem","helpBrick","v","labelBrick","labelCol","wrapperCol","setNotRender","getFormElement","element","parentNode","isFormElement","_this","_this2","_this3","_this4","_this5","_this6","_FormItemElementBase","_applyDecs","attribute","e","___CSS_LOADER_EXPORT___","push","module","editorId","setEditorId","isInEmbedded","previousStart","nextEnd","previousEnd","getEndPosition","isBefore","getStartPosition","nextStart","BUILTIN_MEMBERS","request","provideEmbeddedCelCompletionItems","nearby","celCommonCompletionProviderFactory","lang","triggerCharacters","provideCompletionItems","previousWord","completer","hasOwnProperty","Method","constants","instanceMembers","celSpecificCompletionProviderFactory","members","type","DEFAULT_SYSTEM_PROMPT","brick_next_yaml","javascript","getDefaultSystemPrompt","language","trimWithInfo","content","leading","trailing","trimmed","replace","SUPPORTED_LANGUAGES","Object","freeze","_timer","_previousResolve","_debounce","_timeout","_HttpAbortError","_request","_model","MonacoCopilotProvider","options","_options$debounce","_options$model","_options$timeout","debounce","HttpAbortError","timeout","provideInlineCompletions","ctx","abortCtrl","AbortController","_classPrivateFieldGet2","onCancellationRequested","abort","clearTimeout","call","Promise","resolve","setTimeout","isCancellationRequested","getLanguageId","source","getValue","lineContent","getLineContent","getLineLength","requestTimeout","edit","_ref","signal","slice","suffix","system","prompt","temperature","matches","console","error","response","originalPrefix","originalSuffix","trimmedResponse","trimmedOriginalPrefix","trimmedOriginalSuffix","responseLines","split","trimmedPrefixLines","trimmedSuffixLines","cursorLineNumber","diffLinesOffset","Math","max","truncatedSource","changes","diffLines","ignoreWhitespace","oldLineIndex","afterCursor","lastAction","change","removed","added","nextChange","nextAction","count","update","updatedLines","pop","lastUpdatedLine","originalLinePrefix","originalLineSuffix","lastUpdatedLineTrimmed","lastUpdatedLineTrailing","originalLinePrefixTrimmed","originalLinePrefixLeading","originalLinePrefixTrailing","originalLineSuffixTrimmed","originalLineSuffixLeading","j","firstUpdatedLine","firstUpdatedLineTrimmed","firstUpdatedLineLeading","startsWith","endsWith","fixedUpdateValue","end","restUpdate","restUpdateLeading","restUpdateTrailing","min","leadingSpaces","index","reduce","acc","_trimmedPrefixLines$m","_trimmedPrefixLines$m2","trimStart","postProcessByDiff","warn","getInlineEdit","enableForwardStability","items","freeInlineCompletions","previousDisposables","setExtraLibs","libs","disposable","lib","uriString","file","filePath","languageDefaults","addExtraLib","conf","comments","lineComment","brackets","autoClosingPairs","open","close","folding","offSide","onEnterRules","beforeText","action","indentAction","IndentAction","Indent","tokenPostfix","keywords","numberInteger","numberFloat","numberOctal","numberHex","numberInfinity","numberNaN","numberDate","escapes","tokenizer","root","include","cases","object","array","multiString","next","multiStringContinued","whitespace","comment","flowCollections","flowScalars","singleQuotedString","bracket","doubleQuotedString","blockStyle","flowNumber","tagHandle","anchor","flowExpression","expressionStart","nextEmbedded","multiExpression","expressionEmbedded","register","Monaco","languageId","languages","extensions","mimetypes","setLanguageConfiguration","setMonarchTokensProvider","PlaceholderContentWidget","placeholder","color","_defineProperty","onDidChangeModelContent","_this$editor","_this$editor$getValue","_this$editor2","_this$editor2$removeC","addContentWidget","removeContentWidget","getId","ID","getDomNode","domNode","document","createElement","style","width","pointerEvents","textContent","whiteSpace","fontStyle","applyFontInfo","getPosition","preference","ContentWidgetPositionPreference","EXACT","_this$editor3","_this$editor3$removeC","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","webpackAsyncContext","req","__webpack_require__","o","then","Error","code","ids","t","keys","exports","getRemoteSpellCheckWorker","languageToScope","Map","set","grammars","wasmPromise","fetch","wasm","arrayBuffer","buffer","loadWASM","data","registry","vsctm","onigLib","createOnigScanner","sources","OnigScanner","createOnigString","str","OnigString","loadGrammar","scopeName","grammarFile","get","grammar","default","getInjections","providers","initializedLanguages","Set","initializeTokensProvider","has","add","setTokensProvider","provider","getInitialState","tokenize","lineTokens","tokenizeLine","tokens","startIndex","scopes","endState","ruleStack","doCreateTokensProvider","createTokensProvider","blockComment","notIn","afterText","IndentOutdent","appendText","defaultToken","instanceMethods","operators","symbols","string","EDITOR_FONT_SIZE","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","markRegex","RegExp","trimDashesRegex","findSectionHeaders","_a","headers","findRegionSectionHeaders","foldingRules","markers","regionHeaders","sectionHeader","getHeaderText","substring","shouldBeInComments","text","hasSeparatorLine","collectRegionHeaders","findMarkSectionHeaders","markHeaders","addMarkHeaderIfFound","collectMarkHeaders","sectionHeaders","lastIndex","exec","confOfCel","expression","strings"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7242],{77242:(e,t,i)=>{var n=i(74635),s=i(70918),r=i(26902),o=i(5536),a=i(86121),l=i(70829),c=i(62740),u=i(18769),h=i.n(u),d=i(7921),g=i(37732),m=i(11280),p=i(4273),k=i(23081),f=i(41361),v=i(30426),A=i(62001),b=i(88849),y=(i(29844),i(18965)),w=i(98967),M=i(55310),C=i.n(M),E=(i(65168),i(20563)),x=i(97137),L=i(4046),S=i(44804),W=i(24102),N=i(69704),B=i(8182),P=i(53373),_=i.n(P),O=i(47726),z=i(72414),R=(i(73569),i(11968)),I=i(71836),V=i(5087),D=i(85808),T=i(90896),F=i(62066),H=i(98546),K=i(46984),Y=i(4794),q=i(55262);let j,J,U,X,$,Z,G,Q,ee,te,ie,ne,se,re,oe,ae,le,ce,ue,he,de,ge,me,pe,ke,fe,ve,Ae,be,ye,we,Me,Ce,Ee,xe,Le,Se,We,Ne,Be,Pe,_e,Oe,ze,Re,Ie,Ve,De,Te,Fe,He,Ke,Ye,qe,je,Je,Ue,Xe,$e,Ze,Ge,Qe,et,tt,it,nt,st,rt,ot,at,lt;var ct,ut,ht;(0,N.initializeReactI18n)(B.NS,B.I),A.editor.defineTheme("tm-vs-light",y),A.editor.defineTheme("tm-vs-dark",w);const dt=["tm-vs-light","tm-vs-dark"],gt=["vs-dark","hc-black","tm-vs-dark"];(0,T.kz)(A),(0,F.kz)(A),(0,H.kz)(A);const mt=["cel_yaml","cel_str"],pt=["cel",...mt];for(const e of mt)A.languages.registerCompletionItemProvider(e,{triggerCharacters:["<"],provideCompletionItems:K.ix});for(const e of pt)A.languages.registerCompletionItemProvider(e,(0,K.ZY)(e));const{enabled:kt,...ft}=null!==(ct=null===(ut=(0,k.getRuntime)())||void 0===ut?void 0:ut.getMiscSettings().globalMonacoEditorCopilotOptions)&&void 0!==ct?ct:{};kt&&A.languages.registerInlineCompletionsProvider(O.F,new O.$({...ft,async request(e){var t;let{model:i,temperature:n,system:s,prompt:r,signal:o}=e;return null===(t=(await(0,z.b)({model:i,temperature:n,enableSensitiveWordsFilter:!1,stream:!1,messages:[...s?[{role:"system",content:s}]:[],{role:"user",content:r}]},{signal:o,interceptorParams:{ignoreLoadingBar:!0}})).choices)||void 0===t||null===(t=t[0])||void 0===t||null===(t=t.message)||void 0===t||null===(t=t.content)||void 0===t?void 0:t.trim()},HttpAbortError:f.HttpAbortError}));const{defineElement:vt,property:At,event:bt}=(0,d.createDecorators)(),yt=(0,m.wrapBrick)("eo-form-item"),wt=(0,m.wrapBrick)("eo-tooltip"),Mt=(0,m.wrapBrick)("eo-icon"),Ct=(0,g.unwrapProvider)("basic.copy-to-clipboard"),Et=(0,g.unwrapProvider)("basic.show-notification"),xt="spell_check",Lt="brick_next_yaml_lint";let St;var Wt=new WeakMap,Nt=new WeakMap,Bt=new WeakMap,Pt=new WeakMap,_t=new WeakMap,Ot=new WeakMap,zt=new WeakMap,Rt=new WeakMap,It=new WeakMap,Vt=new WeakMap,Dt=new WeakMap,Tt=new WeakMap,Ft=new WeakMap,Ht=new WeakMap,Kt=new WeakMap,Yt=new WeakMap,qt=new WeakMap,jt=new WeakMap,Jt=new WeakMap,Ut=new WeakMap,Xt=new WeakMap,$t=new WeakMap,Zt=new WeakMap,Gt=new WeakMap,Qt=new WeakMap,ei=new WeakMap,ti=new WeakMap,ii=new WeakMap,ni=new WeakMap,si=new WeakMap,ri=new WeakSet,oi=new WeakMap,ai=new WeakMap,li=new WeakMap,ci=new WeakMap,ui=new WeakMap,hi=new WeakMap;class di extends v.N{constructor(){super(...arguments),(0,n.A)(this,ri),(0,s.A)(this,Wt,J(this)),(0,s.A)(this,Nt,(U(this),X(this))),(0,s.A)(this,Bt,($(this),Z(this))),(0,s.A)(this,Pt,(G(this),Q(this))),(0,s.A)(this,_t,(ee(this),te(this))),(0,s.A)(this,Ot,(ie(this),ne(this))),(0,s.A)(this,zt,(se(this),re(this))),(0,s.A)(this,Rt,(oe(this),ae(this))),(0,s.A)(this,It,(le(this),ce(this))),(0,s.A)(this,Vt,(ue(this),he(this))),(0,s.A)(this,Dt,(de(this),ge(this))),(0,s.A)(this,Tt,(me(this),pe(this))),(0,s.A)(this,Ft,(ke(this),fe(this))),(0,s.A)(this,Ht,(ve(this),Ae(this))),(0,s.A)(this,Kt,(be(this),ye(this))),(0,s.A)(this,Yt,(we(this),Me(this))),(0,s.A)(this,qt,(Ce(this),Ee(this))),(0,s.A)(this,jt,(xe(this),Le(this))),(0,s.A)(this,Jt,(Se(this),We(this))),(0,s.A)(this,Ut,(Ne(this),Be(this))),(0,s.A)(this,Xt,(Pe(this),_e(this))),(0,s.A)(this,$t,(Oe(this),ze(this))),(0,s.A)(this,Zt,(Re(this),Ie(this))),(0,s.A)(this,Gt,(Ve(this),De(this))),(0,s.A)(this,Qt,(Te(this),Fe(this))),(0,s.A)(this,ei,(He(this),Ke(this))),(0,s.A)(this,ti,(Ye(this),qe(this))),(0,s.A)(this,ii,(je(this),Je(this))),(0,s.A)(this,ni,(Ue(this),Xe(this))),(0,s.A)(this,si,($e(this),Ze(this))),(0,s.A)(this,oi,(et(this),tt(this))),(0,s.A)(this,ai,(st(this),e=>{var t;this.value=e,null===(t=this.getFormElement())||void 0===t||t.formStore.onChange(this.name,e),(0,o.A)(ri,this,Ge).emit(e)})),(0,s.A)(this,li,(e=>{(0,o.A)(ri,this,it).emit(e)})),(0,s.A)(this,ci,rt(this)),(0,s.A)(this,ui,(lt(this),e=>{(0,o.A)(ri,this,ot).emit(e)})),(0,s.A)(this,hi,(e=>{if("brick_next_yaml"===this.language||"yaml"===this.language)try{C().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,l.A)(Wt,this)}set name(e){(0,a.A)(Wt,this,e)}get label(){return(0,l.A)(Nt,this)}set label(e){(0,a.A)(Nt,this,e)}get value(){return(0,l.A)(Bt,this)}set value(e){(0,a.A)(Bt,this,e)}get language(){return(0,l.A)(Pt,this)}set language(e){(0,a.A)(Pt,this,e)}get theme(){return(0,l.A)(_t,this)}set theme(e){(0,a.A)(_t,this,e)}get required(){return(0,l.A)(Ot,this)}set required(e){(0,a.A)(Ot,this,e)}get readOnly(){return(0,l.A)(zt,this)}set readOnly(e){(0,a.A)(zt,this,e)}get automaticLayout(){return(0,l.A)(Rt,this)}set automaticLayout(e){(0,a.A)(Rt,this,e)}get minLines(){return(0,l.A)(It,this)}set minLines(e){(0,a.A)(It,this,e)}get completers(){return(0,l.A)(Vt,this)}set completers(e){(0,a.A)(Vt,this,e)}get advancedCompleters(){return(0,l.A)(Dt,this)}set advancedCompleters(e){(0,a.A)(Dt,this,e)}get markers(){return(0,l.A)(Tt,this)}set markers(e){(0,a.A)(Tt,this,e)}get links(){return(0,l.A)(Ft,this)}set links(e){(0,a.A)(Ft,this,e)}get maxLines(){return(0,l.A)(Ht,this)}set maxLines(e){(0,a.A)(Ht,this,e)}get height(){return(0,l.A)(Kt,this)}set height(e){(0,a.A)(Kt,this,e)}get message(){return(0,l.A)(Yt,this)}set message(e){(0,a.A)(Yt,this,e)}get placeholder(){return(0,l.A)(qt,this)}set placeholder(e){(0,a.A)(qt,this,e)}get showExpandButton(){return(0,l.A)(jt,this)}set showExpandButton(e){(0,a.A)(jt,this,e)}get lineNumbers(){return(0,l.A)(Jt,this)}set lineNumbers(e){(0,a.A)(Jt,this,e)}get tokenConfig(){return(0,l.A)(Ut,this)}set tokenConfig(e){(0,a.A)(Ut,this,e)}get customValidationInBrickNextYaml(){return(0,l.A)(Xt,this)}set customValidationInBrickNextYaml(e){(0,a.A)(Xt,this,e)}get showCopyButton(){return(0,l.A)($t,this)}set showCopyButton(e){(0,a.A)($t,this,e)}get glyphMargin(){return(0,l.A)(Zt,this)}set glyphMargin(e){(0,a.A)(Zt,this,e)}get extraLibs(){return(0,l.A)(Gt,this)}set extraLibs(e){(0,a.A)(Gt,this,e)}get fixedOverflowWidgets(){return(0,l.A)(Qt,this)}set fixedOverflowWidgets(e){(0,a.A)(Qt,this,e)}get spellCheck(){return(0,l.A)(ei,this)}set spellCheck(e){(0,a.A)(ei,this,e)}get knownWords(){return(0,l.A)(ti,this)}set knownWords(e){(0,a.A)(ti,this,e)}get domLibsEnabled(){return(0,l.A)(ii,this)}set domLibsEnabled(e){(0,a.A)(ii,this,e)}get uri(){return(0,l.A)(ni,this)}set uri(e){(0,a.A)(ni,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return h().createElement(yt,{exportparts:"message",curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,helpBrick:this.helpBrick,labelBrick:this.labelBrick,notRender:this.notRender,validator:(0,l.A)(hi,this)},h().createElement(gi,{value:this.value,language:this.language,readOnly:this.readOnly,theme:this.theme,automaticLayout:this.automaticLayout,minLines:this.minLines,maxLines:this.maxLines,height:this.height,completers:this.completers,advancedCompleters:this.advancedCompleters,extraLibs:this.extraLibs,markers:this.markers,links:this.links,tokenConfig:this.tokenConfig,lineNumbers:this.lineNumbers,glyphMargin:this.glyphMargin,placeholder:this.placeholder,showCopyButton:this.showCopyButton,showExpandButton:this.showExpandButton,validateState:this.validateState,onChange:(0,l.A)(ai,this),onUserInput:(0,l.A)(li,this),onTokenClick:(0,l.A)(ui,this),customValidationInBrickNextYaml:this.customValidationInBrickNextYaml,fixedOverflowWidgets:this.fixedOverflowWidgets,spellCheck:this.spellCheck,knownWords:this.knownWords,domLibsEnabled:this.domLibsEnabled,uri:this.uri}))}}function gi(e){let{value:t,language:i,theme:n,minLines:s,maxLines:r,height:o,automaticLayout:a,completers:l,advancedCompleters:c,markers:d,readOnly:g,links:m,extraLibs:k,tokenConfig:f,showExpandButton:v,showCopyButton:y=!0,lineNumbers:w="on",glyphMargin:M=!1,placeholder:C,validateState:P,onChange:O,onTokenClick:z,customValidationInBrickNextYaml:T,fixedOverflowWidgets:F,spellCheck:H,knownWords:j,domLibsEnabled:J,uri:U}=e;const X=null!=t?t:"",$=null!=i?i:"plaintext",Z=null!=n?n:"auto",G=null!=s?s:3,Q=null!=r?r:1/0,ee=null!=o?o:500,te=null==F||F,ie=null==H||H,[ne,se]=(0,u.useState)(!1),re=(0,u.useMemo)((()=>(0,E.uniqueId)("worker")),[]),{t:oe}=(0,N.useTranslation)(B.NS),ae=(0,u.useRef)(null),le=(0,u.useRef)(),ce=(0,u.useRef)(),ue=(0,u.useRef)({width:300,height:mi(X,G,Q)}),[he,de]=(0,u.useState)(),ge=(0,u.useRef)(a),me=(0,p.useCurrentTheme)(),pe=b.e.includes($),ke=(0,u.useMemo)((()=>{const e="auto"===Z?"dark"===me||"dark-v2"===me?"vs-dark":"vs":Z;return pe&&!dt.includes(e)?gt.includes(e)?"tm-vs-dark":"tm-vs-light":e}),[me,Z,pe]),fe=gt.includes(ke);(0,u.useEffect)((()=>{if(dt.includes(ke))return;const e=fe?"#FFFFFF0F":"#0000000A";A.editor.defineTheme("custom-theme",{base:ke,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${e}`}}),A.editor.setTheme("custom-theme")}),[ke,fe]),(0,u.useEffect)((()=>{A.editor.setTheme(ke)}),[ke]),(0,u.useEffect)((()=>{if(ce.current){const e=ce.current.getModel();A.editor.setModelLanguage(e,$)}(0,b.A)($)}),[$]),(0,u.useEffect)((()=>{if("brick_next_yaml"===$){const e=(0,L.v)(l,Array.isArray(c)?void 0:c,re,f),t=A.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[l,c,$,re,f]),(0,u.useEffect)((()=>{if(Array.isArray(c)&&c.length>0&&pt.includes($)){const e=A.languages.registerCompletionItemProvider($,(0,K.MY)($,re,c));return()=>{e.dispose()}}}),[$,c,re]),(0,u.useEffect)((()=>{const e=ce.current;if(e){const t=e.getModel();null!=t&&t.getValue&&X!==t.getValue()&&t.setValue(X)}}),[X]),(0,u.useLayoutEffect)((()=>{var e;if("fit-content"!==ge.current||!ae.current)return;ue.current.width=ae.current.getBoundingClientRect().width,null===(e=ce.current)||void 0===e||e.layout(ue.current);const t=new ResizeObserver((e=>{for(const i of e)if(i.target===ae.current){const e=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].inlineSize:i.contentBoxSize.inlineSize:i.contentRect.width,n=i.contentBoxSize?i.contentBoxSize[0]?i.contentBoxSize[0].blockSize:i.contentBoxSize.blockSize:i.contentRect.height;var t;(e!==ue.current.width||ne)&&(ue.current.width=e,null===(t=ce.current)||void 0===t||t.layout({width:e,height:ne?n:ue.current.height}));break}}));return t.observe(ae.current),()=>{t.disconnect()}}),[ne]),(0,u.useLayoutEffect)((()=>{if("fit-container"!==ge.current)return;const e=function(e){let t=e;for(;t;){const e="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,e)return t}}(ae.current);if(!e)return;const t=new ResizeObserver((()=>{de(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,u.useEffect)((()=>{"fit-container"!==ge.current&&"fit-content"!==ge.current&&de(ee)}),[ee]),(0,u.useEffect)((()=>{ce.current&&ce.current.updateOptions({readOnly:g,lineNumbersMinChars:ne?5:3})}),[g,ne]),(0,u.useEffect)((()=>{if(ce.current||!ae.current)return;const e=A.editor.createModel(X,$,U?A.Uri.parse(U):void 0);let t;if("brick_next_yaml"===$){const i=(0,W.AR)(e.uri);t=A.editor.createModel(X,"javascript",i),A.languages.typescript.javascriptDefaults.addExtraLib((0,W.Eh)(),e.uri.toString()+"d.ts")}const i=ce.current=A.editor.create(ae.current,{extraEditorClassName:"monaco-editor-v3",model:e,minimap:{enabled:!1,showRegionSectionHeaders:!1,showMarkSectionHeaders:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==ge.current,fontSize:x.yU,lineHeight:x.fE,scrollbar:{horizontalScrollbarSize:x.lP,verticalScrollbarSize:x.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:x.Vu,bottom:"fit-content"==ge.current?void 0:x.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:te,lineNumbers:w,lineNumbersMinChars:3,glyphMargin:M,folding:"off"!==w,suggest:{insertMode:"insert",preview:!0},readOnly:g,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0,unicodeHighlight:{ambiguousCharacters:!1}});return le.current=ce.current.createDecorationsCollection(),(0,Y.MX)(i),()=>{var n;e.dispose(),i.dispose(),null===(n=t)||void 0===n||n.dispose()}}),[]);const ve="typescript"===$?"typescriptDefaults":"javascriptDefaults";(0,u.useEffect)((()=>{"javascript"!==$&&"typescript"!==$&&"brick_next_yaml"!==$||A.languages.typescript[ve].setCompilerOptions({allowNonTsExtensions:!0,lib:J?void 0:["esnext"],target:A.languages.typescript.ScriptTarget.ESNext,module:A.languages.typescript.ModuleKind.ESNext,jsx:A.languages.typescript.JsxEmit.Preserve,skipLibCheck:!0,skipDefaultLibCheck:!0})}),[$,J,ve]),(0,u.useEffect)((()=>{const e=ce.current;if(e)return()=>{(0,Y.X2)(e)}}),[]),(0,u.useEffect)((()=>{const e=ce.current;if(!e)return;const t=()=>{(0,q.$)(k,{languageDefaults:ve}),"javascript"!==$&&"typescript"!==$&&"brick_next_yaml"!==$||A.languages.typescript[ve].setCompilerOptions({allowNonTsExtensions:!0,lib:J?void 0:["esnext"],target:A.languages.typescript.ScriptTarget.ESNext,module:A.languages.typescript.ModuleKind.ESNext,jsx:A.languages.typescript.JsxEmit.Preserve,skipLibCheck:!0,skipDefaultLibCheck:!0})};(0,Y.xx)(e)&&t();const i=e.onDidFocusEditorWidget((()=>{(0,Y.MX)(e)&&t()}));return()=>{i.dispose()}}),[J,k,$,ve]),(0,u.useEffect)((()=>{const e=ce.current;if("brick_next_yaml"===$&&e){const t=e.getModel(),i=e.onMouseDown((function(e){var i,n;const s=le.current;(null!==(i=null==s||null===(n=s.getRanges)||void 0===n?void 0:n.call(s))&&void 0!==i?i:[]).forEach((i=>{const n=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";i&&e.target.position&&e.event[n]&&i.containsPosition(e.target.position)&&z(t.getValueInRange(i))}))})),n=e.onMouseMove((function(e){const t=le.current;t&&t.getRanges().forEach((i=>{const n=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(i&&e.target.position&&e.event[n]&&i.containsPosition(e.target.position)){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:i.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(e)}else if(!e.event[n]){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(e)}}))}));return()=>{null==n||n.dispose(),null==i||i.dispose()}}}),[$,z,me,Z]),(0,u.useEffect)((()=>{const e=ce.current;if(!e||!ae.current||"fit-content"!==ge.current)return;const t=e.onDidContentSizeChange((t=>{if(!ne&&t.contentHeightChanged){const i=pi(t.contentHeight,G,Q);i!==ue.current.height&&(ue.current.height=i,e.layout(ue.current))}})),i=pi(e.getContentHeight(),G,Q);return i!==ue.current.height&&(ue.current.height=i,e.layout(ue.current)),()=>{t.dispose()}}),[Q,G,ne]);const Ae=(0,u.useCallback)((async(e,t)=>{A.editor.setModelMarkers(e,"semantic_validate",[]);const i=e.findPreviousMatch("<%[~=]?",t,!0,!1,null,!1),n=e.findNextMatch("%>",t,!1,!1,null,!1),s=null==i?void 0:i.range,r=null==n?void 0:n.range;if(s&&r){const i=new A.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),n=e.getValueInRange(i);if(i.containsPosition(t)&&!/<% | %>/.test(n)){const t=(0,W.AR)(e.uri);A.editor.getModel(t).setValue(n);const r=e.getOffsetAt(new A.Position(s.startLineNumber,s.endColumn));if(R.b.getInstance(re).updateState({content:n,range:i,offset:r}),!T)return;const o=await A.languages.typescript.getJavaScriptWorker(),a=await o(t),l=(await a.getSemanticDiagnostics(t.toString())).map((t=>{var i;const n=r+(null!==(i=t.start)&&void 0!==i?i:0),s=e.getPositionAt(n);return{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:s.lineNumber,endColumn:s.column+t.length,message:t.messageText,severity:A.MarkerSeverity.Warning}}));A.editor.setModelMarkers(e,"semantic_validate",l)}}}),[re]);(0,u.useEffect)((()=>{if(!ce.current)return;const e=ce.current.getModel(),t=e.onDidChangeContent((async t=>{(0,S.J)(re),["brick_next_yaml"].includes($)&&Ae(e,ce.current.getPosition()),t.isFlush||O(e.getValue())}));return()=>{t.dispose()}}),[O,re,$,Ae]),(0,u.useEffect)((()=>{if(ne){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),se(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[ne]),(0,u.useEffect)((()=>{if(!ce.current&&!C)return;const e=new I.j(C,ce.current,fe?"rgba(174,174,175,0.4)":"rgba(89,89,89,0.4)");return()=>{e.dispose()}}),[C,fe]);const be=(0,u.useCallback)((()=>{if(ce.current){const e=ce.current.getModel();Ct(e.getValue()).then((()=>Et({type:"success",message:oe(B.K.COPY_SUCCESS)}))).catch((()=>Et({type:"error",message:oe(B.K.COPY_FAILED)})))}}),[oe]),ye=(0,u.useCallback)((()=>{se(!ne)}),[ne]);return(0,u.useEffect)((()=>{const e=ce.current;if(!e||"brick_next_yaml"!==$)return;let t=!1;const i=(0,E.debounce)((async()=>{var i;const n=await(0,V.K)();if(t)return;const{lintMarkers:s,lintDecorations:r}=await n.lint({source:e.getValue(),links:m,markers:d}),o=e.getModel();!t&&o&&(A.editor.setModelMarkers(o,Lt,s.map((e=>{let{start:t,end:i,message:n,severity:s,code:r}=e;const a=o.getPositionAt(t),l=o.getPositionAt(i);return{startLineNumber:a.lineNumber,startColumn:a.column,endLineNumber:l.lineNumber,endColumn:l.column,severity:A.MarkerSeverity[s],message:n,code:r}}))),null===(i=le.current)||void 0===i||i.set(r.map((e=>{let{start:t,end:i,options:n}=e;return{range:A.Range.fromPositions(o.getPositionAt(t),o.getPositionAt(i)),options:n}}))))}),200),n=e.onDidChangeModelContent(i);return i(),()=>{t=!0,n.dispose(),A.editor.setModelMarkers(e.getModel(),Lt,[])}}),[$,m,d,Z,re]),(0,u.useEffect)((()=>{const e=ce.current;if(!e||!ie)return;let t=!1;const i=(0,E.debounce)((async()=>{const i=await(0,D.n)();if(t)return;const{markers:n}=await i.spellCheck({source:e.getValue(),knownWords:j}),s=e.getModel();!t&&s&&A.editor.setModelMarkers(s,xt,n.map((e=>{let{start:t,end:i,message:n,severity:r}=e;const o=s.getPositionAt(t),a=s.getPositionAt(i);return{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:a.lineNumber,endColumn:a.column,severity:A.MarkerSeverity[r],message:n}})))}),200),n=e.onDidChangeModelContent(i);return i(),()=>{t=!0,n.dispose(),A.editor.setModelMarkers(e.getModel(),xt,[])}}),[ie,j]),h().createElement("div",{className:_()("code-editor-wrapper",{expanded:ne,error:"error"===P})},h().createElement("div",{ref:ae,style:{height:ne?"100%":he,overflow:ne?"scroll":""}}),h().createElement("div",{className:"toolbar-wrapper"},h().createElement("div",{className:"toolbar sticky"},y&&h().createElement(wt,{content:oe(B.K.COPY)},h().createElement(Mt,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:be})),v&&h().createElement(wt,{content:oe(ne?B.K.COLLAPSE:B.K.EXPAND)},h().createElement(Mt,{className:"expand-icon",icon:ne?"compress":"expand",lib:"antd",theme:"outlined",onClick:ye})))))}function mi(e,t,i){return ki(Math.min(i,Math.max(t,e.split("\n").length)))}function pi(e,t,i){let n=e;return(e-x.Vu)%x.fE==0&&(n=e+x.lP),Math.min(ki(i),Math.max(n,ki(t)))}function ki(e){return e*x.fE+x.lP+x.Vu}ht=di,({e:[J,U,X,$,Z,G,Q,ee,te,ie,ne,se,re,oe,ae,le,ce,ue,he,de,ge,me,pe,ke,fe,ve,Ae,be,ye,we,Me,Ce,Ee,xe,Le,Se,We,Ne,Be,Pe,_e,Oe,ze,Re,Ie,Ve,De,Te,Fe,He,Ke,Ye,qe,je,Je,Ue,Xe,$e,Ze,Ge,Qe,et,tt,it,nt,st,rt,ot,at,lt],c:[St,j]}=(0,c.A)(ht,[vt("vs.code-editor",{shadowOptions:!1})],[[At(),1,"name"],[At(),1,"label"],[At(),1,"value"],[At(),1,"language"],[At(),1,"theme"],[At({type:Boolean}),1,"required"],[At({type:Boolean}),1,"readOnly"],[At(),1,"automaticLayout"],[At({type:Number}),1,"minLines"],[At({attribute:!1}),1,"completers"],[At({attribute:!1}),1,"advancedCompleters"],[At({attribute:!1}),1,"markers"],[At({attribute:!1}),1,"links"],[At({type:Number}),1,"maxLines"],[At({attribute:!1}),1,"height"],[At(),1,"message"],[At(),1,"placeholder"],[At({type:Boolean}),1,"showExpandButton"],[At(),1,"lineNumbers"],[At({attribute:!1}),1,"tokenConfig"],[At({type:Boolean}),1,"customValidationInBrickNextYaml"],[At({type:Boolean}),1,"showCopyButton"],[At({type:Boolean}),1,"glyphMargin"],[At({attribute:!1}),1,"extraLibs"],[At({type:Boolean}),1,"fixedOverflowWidgets"],[At({type:Boolean}),1,"spellCheck"],[At({attribute:!1}),1,"knownWords"],[At({type:Boolean}),1,"domLibsEnabled"],[At(),1,"uri"],[bt({type:"code.change"}),1,"codeChange",e=>(0,l.A)(si,e),(e,t)=>(0,a.A)(si,e,t)],[bt({type:"user.input"}),1,"userInput",e=>(0,l.A)(oi,e),(e,t)=>(0,a.A)(oi,e,t)],[bt({type:"token.click"}),1,"tokenClickEvent",e=>(0,l.A)(ci,e),(e,t)=>(0,a.A)(ci,e,t)]],0,(e=>hi.has((0,r.A)(e))),v.N)),j()}}]);
2
+ //# sourceMappingURL=7242.b167885a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/7242.b167885a.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\";\nimport {\n initializeTokensProvider,\n languages as textmateLanguages,\n} from \"@next-shared/monaco-textmate\";\nimport \"@next-shared/monaco-textmate/workers.js\";\nimport tmVsLight from \"@next-shared/monaco-textmate/themes/light-modern.json\";\nimport tmVsDark from \"@next-shared/monaco-textmate/themes/dark-modern.json\";\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\nmonaco.editor.defineTheme(\n \"tm-vs-light\",\n tmVsLight as monaco.editor.IStandaloneThemeData\n);\nmonaco.editor.defineTheme(\n \"tm-vs-dark\",\n tmVsDark as monaco.editor.IStandaloneThemeData\n);\n\nconst TEXTMATE_THEMES = [\"tm-vs-light\", \"tm-vs-dark\"];\nconst DARK_THEMES = [\"vs-dark\", \"hc-black\", \"tm-vs-dark\"];\n\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 uri?: string;\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 @property()\n accessor uri: string | 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 uri={this.uri}\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 uri,\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 useTextmateTheme = textmateLanguages.includes(language);\n const computedTheme = useMemo(() => {\n const candidateTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n if (useTextmateTheme && !TEXTMATE_THEMES.includes(candidateTheme)) {\n return DARK_THEMES.includes(candidateTheme)\n ? \"tm-vs-dark\"\n : \"tm-vs-light\";\n }\n return candidateTheme;\n }, [systemTheme, theme, useTextmateTheme]);\n const isDarkTheme = DARK_THEMES.includes(computedTheme);\n\n useEffect(() => {\n if (TEXTMATE_THEMES.includes(computedTheme)) {\n return;\n }\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 monaco.editor.setTheme(computedTheme);\n }, [computedTheme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n initializeTokensProvider(language);\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(\n value,\n language,\n uri ? monaco.Uri.parse(uri) : undefined\n );\n let embeddedModel: monaco.editor.ITextModel | undefined;\n if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const embeddedUri = getEmbeddedJavascriptUri(model.uri);\n embeddedModel = monaco.editor.createModel(\n value,\n \"javascript\",\n embeddedUri\n );\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\n const editor = (editorRef.current = monaco.editor.create(\n containerRef.current,\n {\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\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n\n switchEditor(editor);\n\n return () => {\n model.dispose();\n editor.dispose();\n embeddedModel?.dispose();\n };\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 module: monaco.languages.typescript.ModuleKind.ESNext,\n jsx: monaco.languages.typescript.JsxEmit.Preserve,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\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 module: monaco.languages.typescript.ModuleKind.ESNext,\n jsx: monaco.languages.typescript.JsxEmit.Preserve,\n skipLibCheck: true,\n skipDefaultLibCheck: true,\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","monaco","defineTheme","tmVsLight","tmVsDark","TEXTMATE_THEMES","DARK_THEMES","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","_d","_CodeEditor_brand","WeakSet","_e","_handleChange","_handleUserInput","_f","_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_uri","_init_extra_uri","_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","uri","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","useTextmateTheme","textmateLanguages","includes","computedTheme","candidateTheme","isDarkTheme","useEffect","lineHighlightBackground","base","inherit","rules","colors","setTheme","current","currentModel","getModel","setModelLanguage","initializeTokensProvider","brickNextYAMLProviderCompletionItems","Array","isArray","undefined","monacoProviderRef","dispose","length","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","parse","embeddedModel","embeddedUri","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","switchEditor","_embeddedModel","languageDefaults","setCompilerOptions","allowNonTsExtensions","lib","ScriptTarget","ESNext","module","ModuleKind","jsx","JsxEmit","Preserve","skipLibCheck","skipDefaultLibCheck","disposeEditor","setupLanguageService","setExtraLibs","isCurrentEditor","onDidFocusEditorWidget","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 +1 @@
1
- "use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[9519],{49519:e=>{e.exports=JSON.parse('{"$schema":"https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json","scopeName":"placeholder.injection.string.unquoted","injectionSelector":"L:string.unquoted","patterns":[{"include":"#placeholder"}],"repository":{"placeholder":{"name":"expression.placeholder.injection","begin":"(<%[~=]?)\\\\s","end":"\\\\s(%>)","beginCaptures":{"1":{"name":"punctuation.definition.template-expression.begin"}},"endCaptures":{"1":{"name":"punctuation.definition.template-expression.end"}},"patterns":[{"include":"source.js#expression"}],"contentName":"keyword.operator.injection"}}}')}}]);
1
+ "use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[9519],{49519:e=>{e.exports=JSON.parse('{"$schema":"https://raw.githubusercontent.com/martinring/tmlanguage/master/tmlanguage.json","scopeName":"placeholder.injection.string.unquoted","injectionSelector":"L:string.unquoted","patterns":[{"include":"#placeholder"}],"repository":{"placeholder":{"name":"expression.placeholder.injection","begin":"(<%[~=]?)\\\\s","end":"\\\\s(%>)","beginCaptures":{"1":{"name":"punctuation.section.embedded.begin.yaml"}},"endCaptures":{"1":{"name":"punctuation.section.embedded.end.yaml"}},"patterns":[{"include":"source.js#expression"}],"contentName":"keyword.operator.injection"}}}')}}]);