@next-bricks/vs 0.2.0 → 0.2.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.
Files changed (43) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{1646.f8f50bc2.js → 1646.09712b50.js} +2 -2
  3. package/dist/chunks/{1646.f8f50bc2.js.map → 1646.09712b50.js.map} +1 -1
  4. package/dist/chunks/{3458.b65ca1ff.js → 3458.22dd99e7.js} +2 -2
  5. package/dist/chunks/{8691.af19ffc0.js.map → 3458.22dd99e7.js.map} +1 -1
  6. package/dist/chunks/{3494.1738aae9.js → 3494.53295751.js} +2 -2
  7. package/dist/chunks/{3494.1738aae9.js.map → 3494.53295751.js.map} +1 -1
  8. package/dist/chunks/{4049.cfe47e6f.js → 4049.760cd61b.js} +2 -2
  9. package/dist/chunks/{4049.cfe47e6f.js.map → 4049.760cd61b.js.map} +1 -1
  10. package/dist/chunks/4131.53daaa04.js +2 -0
  11. package/dist/chunks/4131.53daaa04.js.map +1 -0
  12. package/dist/chunks/{5725.c1fd377b.js → 5725.8abeed2f.js} +2 -2
  13. package/dist/chunks/{5725.c1fd377b.js.map → 5725.8abeed2f.js.map} +1 -1
  14. package/dist/chunks/{6205.01df7130.js → 6205.49f11623.js} +2 -2
  15. package/dist/chunks/{6205.01df7130.js.map → 6205.49f11623.js.map} +1 -1
  16. package/dist/chunks/{6473.473872ce.js → 6473.f6dc6145.js} +2 -2
  17. package/dist/chunks/{6473.473872ce.js.map → 6473.f6dc6145.js.map} +1 -1
  18. package/dist/chunks/{7164.dd3e260d.js → 7164.702ebb68.js} +2 -2
  19. package/dist/chunks/{7164.dd3e260d.js.map → 7164.702ebb68.js.map} +1 -1
  20. package/dist/chunks/{7672.b9af5c4e.js → 7672.d1273a3c.js} +2 -2
  21. package/dist/chunks/{7672.b9af5c4e.js.map → 7672.d1273a3c.js.map} +1 -1
  22. package/dist/chunks/7746.edc40552.js +2 -0
  23. package/dist/chunks/{7746.cdb0f0ae.js.map → 7746.edc40552.js.map} +1 -1
  24. package/dist/chunks/{7822.76ab7541.js → 7822.ce0d3b54.js} +2 -2
  25. package/dist/chunks/{7822.76ab7541.js.map → 7822.ce0d3b54.js.map} +1 -1
  26. package/dist/chunks/{8691.af19ffc0.js → 8691.63c392be.js} +2 -2
  27. package/dist/chunks/{3458.b65ca1ff.js.map → 8691.63c392be.js.map} +1 -1
  28. package/dist/chunks/9918.4c039a22.js +2 -0
  29. package/dist/chunks/{9918.74fcf479.js.map → 9918.4c039a22.js.map} +1 -1
  30. package/dist/chunks/code-editor.43b1b397.js +2 -0
  31. package/dist/chunks/{code-editor.edbe5199.js.map → code-editor.43b1b397.js.map} +1 -1
  32. package/dist/chunks/main.876be1d3.js +2 -0
  33. package/dist/chunks/main.876be1d3.js.map +1 -0
  34. package/dist/{index.a02ebece.js → index.d563b587.js} +2 -2
  35. package/dist/{index.a02ebece.js.map → index.d563b587.js.map} +1 -1
  36. package/package.json +4 -4
  37. package/dist/chunks/4131.60666d95.js +0 -2
  38. package/dist/chunks/4131.60666d95.js.map +0 -1
  39. package/dist/chunks/7746.cdb0f0ae.js +0 -2
  40. package/dist/chunks/9918.74fcf479.js +0 -2
  41. package/dist/chunks/code-editor.edbe5199.js +0 -2
  42. package/dist/chunks/main.d062d4ec.js +0 -2
  43. package/dist/chunks/main.d062d4ec.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/9918.74fcf479.js","mappings":"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","sources":["webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/index.tsx","webpack:///./src/code-editor/index.css"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } from \"./Form.js\";\n\nconst { method } = 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 @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 EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\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 \"LOCAL_STORYAGE\",\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","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { EVALUATE_KEYWORD, brickNextKeywords } from \"./constants.js\";\nimport { get } from \"lodash\";\nimport { Completers } from \"../index.jsx\";\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): {\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 return {\n word: prefixWord?.word,\n token: prefixToken,\n };\n};\n\nexport const 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 const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProvideCompletionItems = (\n completers?: Completers\n) => {\n return (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext,\n _token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> => {\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position\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 (fullWord.trim() !== \"<\") {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Evalute 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 Evalute 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: (\n (completers?.custom as monaco.languages.CompletionItem[]) ?? []\n )\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\"].includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = completers?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.list;\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)) {\n if (prefixWord && [\"CTX\", \"STATE\"].includes(prefixWord)) {\n return {\n suggestions: (\n (completers?.[prefixWord] as monaco.languages.CompletionItem[]) ??\n []\n ).map((item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })),\n };\n }\n\n if (prefixWord === \"FN\" && context.triggerCharacter === \".\") {\n return {\n suggestions: (\n (completers?.FN as monaco.languages.CompletionItem[]) ?? []\n ).map((item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })),\n };\n }\n\n if (prefixWord === \"APP\" && context.triggerCharacter === \".\") {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n );\n const suggestions = [];\n for (const [k, v] of Object.entries(\n appProperties as unknown as Record<\n string,\n {\n description: string;\n type: string;\n enum: string[];\n }\n >\n )) {\n suggestions.push({\n label: k,\n kind: monaco.languages.CompletionItemKind.Value,\n documentation: v.description,\n detail: v.enum ? v.enum.join(\"|\") : v.type,\n insertText: k,\n range,\n });\n }\n return {\n suggestions,\n };\n }\n\n if ([\".\", \":\"].includes(prefixToken)) {\n return {\n suggestions: [],\n };\n }\n\n return {\n suggestions: EVALUATE_KEYWORD.map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\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\nexport const setDecoractions = (\n editor: monaco.editor.IStandaloneCodeEditor,\n decorationsCollection: monaco.editor.IEditorDecorationsCollection,\n completers: Completers = {}\n) => {\n const model = editor.getModel();\n if (model) {\n decorationsCollection.clear();\n const searchTexts = [\"CTX\", \"STATE\", \"FN\"];\n // 找到匹配的文本范围\n const decorations: monaco.editor.IModelDeltaDecoration[] = [];\n searchTexts.forEach(function (searchText) {\n if (!completers[searchText]) return;\n const matches = model.findMatches?.(\n `(?<=^|\\\\s)${searchText}\\\\.\\\\w+`,\n false,\n true,\n false,\n null,\n false\n );\n if (matches && matches.length) {\n matches.forEach(function (match) {\n if (\n isInEvaluateBody(\n model,\n new monaco.Position(\n match.range.startLineNumber,\n match.range.startColumn\n )\n )\n ) {\n decorations.push({\n range: match.range,\n options: {\n inlineClassName: \"highlight\",\n },\n });\n }\n });\n }\n });\n decorationsCollection?.set(decorations);\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;\n\n options.insert = insertFn.bind(null, \"head\");\n \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","import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport \"@next-core/theme\";\nimport { isEqual } 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 brickNextYAMLProvideCompletionItems,\n setDecoractions,\n} from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport type Completers = Record<\n string,\n | monaco.languages.CompletionItem[]\n | { triggerCharacter: string; list: monaco.languages.CompletionItem[] }\n>;\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: 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?: Completers;\n}\n\n/**\n * 构件 code-editor\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({ attribute: false })\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 @property({\n attribute: false,\n })\n accessor completers: Completers | undefined;\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 @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.value = value;\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(value);\n }\n };\n\n @event({ type: \"highlight.click\" })\n accessor #highlighClickEvent!: EventEmitter<string>;\n\n #handleHighlightClick = (word: string) => {\n this.#highlighClickEvent.emit(word);\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 curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\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 onChange={this.#handleChange}\n onHighlightClick={this.#handleHighlightClick}\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 onChange,\n onHighlightClick,\n}: CodeEditorProps & {\n onChange(value: string, isFlush: boolean): void;\n onHighlightClick(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\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 useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems =\n brickNextYAMLProvideCompletionItems(completers);\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, language]);\n\n useEffect(() => {\n if (\n language === \"brick_next_yaml\" &&\n editorRef.current &&\n decorationsCollection.current\n ) {\n const editor = editorRef.current;\n setDecoractions(editor, decorationsCollection.current, completers);\n }\n }, [completers, language, value]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\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 || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: 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 suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n\n if (language === \"brick_next_yaml\") {\n setDecoractions(\n editorRef.current,\n decorationsCollection.current,\n completers\n );\n }\n }, [value, language, completers]);\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 onHighlightClick(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 return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onHighlightClick]);\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 (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]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent((e) => {\n onChange(currentModel.getValue(), e.isFlush);\n });\n return () => {\n listener.dispose();\n };\n }, [onChange]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return <div ref={containerRef} style={{ height: actualHeight }} />;\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","// 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{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["method","createDecorators","_dec","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","getFormElement","element","parentNode","isFormElement","v","_applyDecs2203R","e","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","EVALUATE_KEYWORD","brickNextKeywords","findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","_","wordspace","key","length","unshift","isInEvaluateBody","position","word","getWordUntilPosition","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","lineNumber","prefixParentKey","suffixParentKey","includes","setDecoractions","editor","decorationsCollection","completers","undefined","getModel","clear","decorations","forEach","searchText","_model$findMatches","matches","findMatches","call","concat","monaco","push","options","inlineClassName","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","registerJavaScript","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","property","event","WrappedFormItem","wrapBrick","shadowOptions","_dec2","_dec3","_dec4","attribute","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_codeChange","_N","_userInput","_handleChange","_O","_highlighClickEvent","_handleHighlightClick","_set_codeChange2","_set_codeChange","_get_codeChange2","_get_codeChange","_set_userInput2","_set_userInput","_get_userInput2","_get_userInput","_set_highlighClickEvent2","_set_highlighClickEvent","_get_highlighClickEvent2","_get_highlighClickEvent","CodeEditorComponent","_ref","_value","language","_language","theme","_theme","minLines","_minLines","maxLines","_maxLines","height","_height","automaticLayout","onChange","onHighlightClick","containerRef","useRef","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","current","currentModel","isEqual","getValue","setValue","provideCompletionItems","context","_token","prefixWord","token","prefixToken","getPrefixWord","_word$word","column","getWordAtPosition","_objectSpread","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","trim","suggestions","label","detail","kind","insertText","insertTextRules","custom","filter","item","map","_ref2","_ref3","storyboardJsonSchema","list","_list","matchCompletion","matchTriggerCharacter","Array","isArray","_ref4","_ref5","FN","appProperties","k","Object","entries","documentation","description","enum","join","test","brickNextYAMLProvideCompletionItems","monacoProviderRef","triggerCharacters","dispose","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entry","target","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","lineHeight","scrollbar","horizontalScrollbarSize","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editorMouseDownEvent","onMouseDown","_decorations$getRange","_decorations$getRange2","getRanges","modKey","navigator","platform","containsPosition","mouseOverEvent","onMouseMove","newDecorations","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","isFlush","_editorRef$current3","_editorRef$current3$g","_editorRef$current4","React","ref","style","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_maxLines","_init_height","_init_codeChange","_init_userInput","_init_highlighClickEvent","c","_initClass","_this$getFormElement","formStore","name","emit","required","readOnly","connectedCallback","display","super","render","curElement","formElement","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/9918.4c039a22.js","mappings":"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","sources":["webpack:///../../src/FormItemElement.tsx","webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/index.css?aefa","webpack:///./src/code-editor/index.tsx","webpack:///./src/code-editor/index.css"],"sourcesContent":["import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } from \"./Form.js\";\n\nconst { method } = 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 @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 EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\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 \"LOCAL_STORYAGE\",\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","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { EVALUATE_KEYWORD, brickNextKeywords } from \"./constants.js\";\nimport { get } from \"lodash\";\nimport { Completers } from \"../index.jsx\";\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): {\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 return {\n word: prefixWord?.word,\n token: prefixToken,\n };\n};\n\nexport const 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 const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProvideCompletionItems = (\n completers?: Completers\n) => {\n return (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext,\n _token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> => {\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position\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 (fullWord.trim() !== \"<\") {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Evalute 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 Evalute 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: (\n (completers?.custom as monaco.languages.CompletionItem[]) ?? []\n )\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\"].includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = completers?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.list;\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)) {\n if (prefixWord && [\"CTX\", \"STATE\"].includes(prefixWord)) {\n return {\n suggestions: (\n (completers?.[prefixWord] as monaco.languages.CompletionItem[]) ??\n []\n ).map((item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })),\n };\n }\n\n if (prefixWord === \"FN\" && context.triggerCharacter === \".\") {\n return {\n suggestions: (\n (completers?.FN as monaco.languages.CompletionItem[]) ?? []\n ).map((item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })),\n };\n }\n\n if (prefixWord === \"APP\" && context.triggerCharacter === \".\") {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n );\n const suggestions = [];\n for (const [k, v] of Object.entries(\n appProperties as unknown as Record<\n string,\n {\n description: string;\n type: string;\n enum: string[];\n }\n >\n )) {\n suggestions.push({\n label: k,\n kind: monaco.languages.CompletionItemKind.Value,\n documentation: v.description,\n detail: v.enum ? v.enum.join(\"|\") : v.type,\n insertText: k,\n range,\n });\n }\n return {\n suggestions,\n };\n }\n\n if ([\".\", \":\"].includes(prefixToken)) {\n return {\n suggestions: [],\n };\n }\n\n return {\n suggestions: EVALUATE_KEYWORD.map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\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\nexport const setDecoractions = (\n editor: monaco.editor.IStandaloneCodeEditor,\n decorationsCollection: monaco.editor.IEditorDecorationsCollection,\n completers: Completers = {}\n) => {\n const model = editor.getModel();\n if (model) {\n decorationsCollection.clear();\n const searchTexts = [\"CTX\", \"STATE\", \"FN\"];\n // 找到匹配的文本范围\n const decorations: monaco.editor.IModelDeltaDecoration[] = [];\n searchTexts.forEach(function (searchText) {\n if (!completers[searchText]) return;\n const matches = model.findMatches?.(\n `(?<=^|\\\\s)${searchText}\\\\.\\\\w+`,\n false,\n true,\n false,\n null,\n false\n );\n if (matches && matches.length) {\n matches.forEach(function (match) {\n if (\n isInEvaluateBody(\n model,\n new monaco.Position(\n match.range.startLineNumber,\n match.range.startColumn\n )\n )\n ) {\n decorations.push({\n range: match.range,\n options: {\n inlineClassName: \"highlight\",\n },\n });\n }\n });\n }\n });\n decorationsCollection?.set(decorations);\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;\n\n options.insert = insertFn.bind(null, \"head\");\n \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","import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport \"@next-core/theme\";\nimport { isEqual } 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 brickNextYAMLProvideCompletionItems,\n setDecoractions,\n} from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport type Completers = Record<\n string,\n | monaco.languages.CompletionItem[]\n | { triggerCharacter: string; list: monaco.languages.CompletionItem[] }\n>;\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: 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?: Completers;\n}\n\n/**\n * 构件 code-editor\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({ attribute: false })\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 @property({\n attribute: false,\n })\n accessor completers: Completers | undefined;\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 @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.value = value;\n this.#codeChange.emit(value);\n if (!isFlush) {\n this.#userInput.emit(value);\n }\n };\n\n @event({ type: \"highlight.click\" })\n accessor #highlighClickEvent!: EventEmitter<string>;\n\n #handleHighlightClick = (word: string) => {\n this.#highlighClickEvent.emit(word);\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 curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\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 onChange={this.#handleChange}\n onHighlightClick={this.#handleHighlightClick}\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 onChange,\n onHighlightClick,\n}: CodeEditorProps & {\n onChange(value: string, isFlush: boolean): void;\n onHighlightClick(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\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 useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems =\n brickNextYAMLProvideCompletionItems(completers);\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, language]);\n\n useEffect(() => {\n if (\n language === \"brick_next_yaml\" &&\n editorRef.current &&\n decorationsCollection.current\n ) {\n const editor = editorRef.current;\n setDecoractions(editor, decorationsCollection.current, completers);\n }\n }, [completers, language, value]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\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 || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: 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 suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n\n if (language === \"brick_next_yaml\") {\n setDecoractions(\n editorRef.current,\n decorationsCollection.current,\n completers\n );\n }\n }, [value, language, completers]);\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 onHighlightClick(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 return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onHighlightClick]);\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 (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]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent((e) => {\n onChange(currentModel.getValue(), e.isFlush);\n });\n return () => {\n listener.dispose();\n };\n }, [onChange]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return <div ref={containerRef} style={{ height: actualHeight }} />;\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","// 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{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}\", \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["method","createDecorators","_dec","_A","WeakMap","_notRender","_B","_validate","_C","_bindFormItem","FormItemElementBase","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_bindFormItem","set","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","writable","value","_initProto","isFormItemElement","validateState","_classPrivateFieldSet","this","_render","_classPrivateFieldGet","notRender","hidden","$bindFormItem","getFormElement","element","parentNode","isFormElement","v","_applyDecs2203R","e","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","EVALUATE_KEYWORD","brickNextKeywords","findKeys","model","range","line","curLevelKeys","keyList","parentKey","i","startColumn","matchWord","getValueInRange","startLineNumber","endLineNumber","endColumn","Infinity","match","_","wordspace","key","length","unshift","isInEvaluateBody","position","word","getWordUntilPosition","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","lineNumber","prefixParentKey","suffixParentKey","includes","setDecoractions","editor","decorationsCollection","completers","undefined","getModel","clear","decorations","forEach","searchText","_model$findMatches","matches","findMatches","call","concat","monaco","push","options","inlineClassName","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","registerJavaScript","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","property","event","WrappedFormItem","wrapBrick","shadowOptions","_dec2","_dec3","_dec4","attribute","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_codeChange","_N","_userInput","_handleChange","_O","_highlighClickEvent","_handleHighlightClick","_set_codeChange2","_set_codeChange","_get_codeChange2","_get_codeChange","_set_userInput2","_set_userInput","_get_userInput2","_get_userInput","_set_highlighClickEvent2","_set_highlighClickEvent","_get_highlighClickEvent2","_get_highlighClickEvent","CodeEditorComponent","_ref","_value","language","_language","theme","_theme","minLines","_minLines","maxLines","_maxLines","height","_height","automaticLayout","onChange","onHighlightClick","containerRef","useRef","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","current","currentModel","isEqual","getValue","setValue","provideCompletionItems","context","_token","prefixWord","token","prefixToken","getPrefixWord","_word$word","column","getWordAtPosition","_objectSpread","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","trim","suggestions","label","detail","kind","insertText","insertTextRules","custom","filter","item","map","_ref2","_ref3","storyboardJsonSchema","list","_list","matchCompletion","matchTriggerCharacter","Array","isArray","_ref4","_ref5","FN","appProperties","k","Object","entries","documentation","description","enum","join","test","brickNextYAMLProvideCompletionItems","monacoProviderRef","triggerCharacters","dispose","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entry","target","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","minimap","enabled","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","lineHeight","scrollbar","horizontalScrollbarSize","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editorMouseDownEvent","onMouseDown","_decorations$getRange","_decorations$getRange2","getRanges","modKey","navigator","platform","containsPosition","mouseOverEvent","onMouseMove","newDecorations","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","isFlush","_editorRef$current3","_editorRef$current3$g","_editorRef$current4","React","ref","style","code","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_maxLines","_init_height","_init_codeChange","_init_userInput","_init_highlighClickEvent","c","_initClass","_this$getFormElement","formStore","name","emit","required","readOnly","connectedCallback","display","super","render","curElement","formElement","___CSS_LOADER_EXPORT___","module","id"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[1085],{34622:(e,t,n)=>{n.d(t,{LS:()=>s,Mv:()=>i,P0:()=>r,sE:()=>a});var r=12,i=18,a=12,s=12},31074:(e,t,n)=>{n.r(t),n.d(t,{CodeEditor:()=>se,CodeEditorComponent:()=>ze});var r,i,a,s,l,u,o,c,h,g,d,m,v,f,p,b,Z,w,C,k,E,y,L,M,S,N,T,x,R,I,W,A,P,_,K,z,F,O,V,B=n(53395),H=n(40381),q=n(70687),D=n(25303),G=n(48657),U=n.n(G),X=n(75476),Y=n(29049),$=n(16989),j=n(81391),Q=n(46475),J=n(73701),ee=n(47637),te=n(64167),ne=n(27680),re=(n(65254),n(78035)),ie=n(34622),ae=n(9486);n(53154),(0,J.z2)(Q),(0,ee.z2)(Q),(0,te.z2)(Q,"brick_next_yaml"),(0,ne.z2)(Q);var se,{defineElement:le,property:ue,event:oe}=(0,X.createDecorators)(),ce=(0,Y.wrapBrick)("eo-form-item");i=le("vs.code-editor",{shadowOptions:!1}),a=ue(),l=ue(),o=ue({attribute:!1}),h=ue(),d=ue(),v=ue({type:Boolean}),p=ue({type:Boolean}),Z=ue(),C=ue({type:Number}),E=ue({attribute:!1}),L=ue({type:Number}),S=ue({attribute:!1}),T=oe({type:"code.change"}),W=oe({type:"user.input"}),K=oe({type:"highlight.click"});var he=new WeakMap,ge=new WeakMap,de=new WeakMap,me=new WeakMap,ve=new WeakMap,fe=new WeakMap,pe=new WeakMap,be=new WeakMap,Ze=new WeakMap,we=new WeakMap,Ce=new WeakMap,ke=new WeakMap,Ee=new WeakMap,ye=new WeakMap,Le=new WeakMap,Me=new WeakMap,Se=new WeakMap,Ne=new WeakMap,Te=new WeakMap,xe=new WeakMap;class Re extends j.G{constructor(){super(...arguments),(0,B.Z)(this,Te,{get:Ke,set:_e}),(0,B.Z)(this,Me,{get:Pe,set:Ae}),(0,B.Z)(this,ye,{get:We,set:Ie}),(0,B.Z)(this,he,{writable:!0,value:(V(this),s(this))}),(0,B.Z)(this,ge,{writable:!0,value:u(this)}),(0,B.Z)(this,de,{writable:!0,value:c(this)}),(0,B.Z)(this,me,{writable:!0,value:g(this)}),(0,B.Z)(this,ve,{writable:!0,value:m(this)}),(0,B.Z)(this,fe,{writable:!0,value:f(this)}),(0,B.Z)(this,pe,{writable:!0,value:b(this)}),(0,B.Z)(this,be,{writable:!0,value:w(this)}),(0,B.Z)(this,Ze,{writable:!0,value:k(this)}),(0,B.Z)(this,we,{writable:!0,value:y(this)}),(0,B.Z)(this,Ce,{writable:!0,value:M(this)}),(0,B.Z)(this,ke,{writable:!0,value:N(this)}),(0,B.Z)(this,Ee,{writable:!0,value:x(this)}),(0,B.Z)(this,Le,{writable:!0,value:A(this)}),(0,B.Z)(this,Se,{writable:!0,value:(e,t)=>{var n;null===(n=this.getFormElement())||void 0===n||n.formStore.onChange(this.name,e),this.value=e,(0,q.Z)(this,ye).emit(e),t||(0,q.Z)(this,Me).emit(e)}}),(0,B.Z)(this,Ne,{writable:!0,value:z(this)}),(0,B.Z)(this,xe,{writable:!0,value:e=>{(0,q.Z)(this,Te).emit(e)}})}get name(){return(0,q.Z)(this,he)}set name(e){(0,H.Z)(this,he,e)}get label(){return(0,q.Z)(this,ge)}set label(e){(0,H.Z)(this,ge,e)}get value(){return(0,q.Z)(this,de)}set value(e){(0,H.Z)(this,de,e)}get language(){return(0,q.Z)(this,me)}set language(e){(0,H.Z)(this,me,e)}get theme(){return(0,q.Z)(this,ve)}set theme(e){(0,H.Z)(this,ve,e)}get required(){return(0,q.Z)(this,fe)}set required(e){(0,H.Z)(this,fe,e)}get readOnly(){return(0,q.Z)(this,pe)}set readOnly(e){(0,H.Z)(this,pe,e)}get automaticLayout(){return(0,q.Z)(this,be)}set automaticLayout(e){(0,H.Z)(this,be,e)}get minLines(){return(0,q.Z)(this,Ze)}set minLines(e){(0,H.Z)(this,Ze,e)}get completers(){return(0,q.Z)(this,we)}set completers(e){(0,H.Z)(this,we,e)}get maxLines(){return(0,q.Z)(this,Ce)}set maxLines(e){(0,H.Z)(this,Ce,e)}get height(){return(0,q.Z)(this,ke)}set height(e){(0,H.Z)(this,ke,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return U().createElement(ce,{curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required},U().createElement(ze,{value:this.value,language:this.language,theme:this.theme,automaticLayout:this.automaticLayout,minLines:this.minLines,maxLines:this.maxLines,height:this.height,completers:this.completers,onChange:(0,q.Z)(this,Se),onHighlightClick:(0,q.Z)(this,xe)}))}}function Ie(e){I(this,e)}function We(){return R(this)}function Ae(e){_(this,e)}function Pe(){return P(this)}function _e(e){O(this,e)}function Ke(){return F(this)}function ze(e){var{value:t,language:n,theme:r,minLines:i,maxLines:a,height:s,automaticLayout:l,completers:u,onChange:o,onHighlightClick:c}=e,h=null!=t?t:"",g=null!=n?n:"plaintext",d=null!=r?r:"auto",m=null!=i?i:3,v=null!=a?a:1/0,f=null!=s?s:500,p=(0,G.useRef)(null),b=(0,G.useRef)(),Z=(0,G.useRef)(),w=(0,G.useRef)({width:300,height:Fe(h,m,v)}),[C,k]=(0,G.useState)(),E=(0,G.useRef)(l),y=(0,$.useCurrentTheme)();return(0,G.useEffect)((()=>{Q.editor.setTheme("auto"===d?"dark"===y||"dark-v2"===y?"vs-dark":"vs":d)}),[y,d]),(0,G.useEffect)((()=>{if(Z.current){var e=Z.current.getModel();Q.editor.setModelLanguage(e,g),(0,re.isEqual)(e.getValue(),h)||e.setValue(h)}}),[h,g]),(0,G.useEffect)((()=>{if("brick_next_yaml"===g){var e=(0,ae.ZT)(u),t=Q.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[u,g]),(0,G.useEffect)((()=>{if("brick_next_yaml"===g&&Z.current&&b.current){var e=Z.current;(0,ae.k6)(e,b.current,u)}}),[u,g,h]),(0,G.useLayoutEffect)((()=>{var e;if("fit-content"===E.current&&p.current){w.current.width=p.current.getBoundingClientRect().width,null===(e=Z.current)||void 0===e||e.layout(w.current);var t=new ResizeObserver((e=>{for(var t of e)if(t.target===p.current){var n,r=t.contentBoxSize?t.contentBoxSize[0].inlineSize:t.contentRect.width;r!==w.current.width&&(w.current.width=r,null===(n=Z.current)||void 0===n||n.layout(w.current));break}}));return t.observe(p.current),()=>{t.disconnect()}}}),[]),(0,G.useLayoutEffect)((()=>{if("fit-container"===E.current){var e=function(e){for(var t=e;t;){var n="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,n)return t}}(p.current);if(e){var t=new ResizeObserver((()=>{k(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}}}),[]),(0,G.useEffect)((()=>{"fit-container"!==E.current&&"fit-content"!==E.current&&k(f)}),[f]),(0,G.useEffect)((()=>{if(!Z.current&&p.current){var e=Q.editor.createModel(h,g);Z.current=Q.editor.create(p.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==E.current,fontSize:ie.P0,lineHeight:ie.Mv,scrollbar:{horizontalScrollbarSize:ie.sE,verticalScrollbarSize:ie.sE,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:ie.LS,bottom:"fit-content"==E.current?void 0:ie.LS},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,suggest:{insertMode:"insert",preview:!0},quickSuggestions:{strings:!0,other:!0,comments:!0}}),b.current=Z.current.createDecorationsCollection(),"brick_next_yaml"===g&&(0,ae.k6)(Z.current,b.current,u)}}),[h,g,u]),(0,G.useEffect)((()=>{var e=Z.current;if("brick_next_yaml"===g&&e){var t=e.getModel(),n=e.onMouseDown((function(e){var n,r,i=b.current;(null!==(n=null==i||null===(r=i.getRanges)||void 0===r?void 0:r.call(i))&&void 0!==n?n:[]).forEach((n=>{var r=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[r]&&n.containsPosition(e.target.position)&&c(t.getValueInRange(n))}))})),r=e.onMouseMove((function(e){var t=b.current;t&&t.getRanges().forEach((n=>{var r=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[r]&&n.containsPosition(e.target.position)){var i=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(i)}else if(!e.event[r]){var a=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(a)}}))}));return()=>{null==r||r.dispose(),null==n||n.dispose()}}}),[g,c]),(0,G.useEffect)((()=>{var e=Z.current;if(e&&p.current&&"fit-content"===E.current){var t=e.onDidContentSizeChange((t=>{if(t.contentHeightChanged){var n=Oe(t.contentHeight,m,v);n!==w.current.height&&(w.current.height=n,e.layout(w.current))}})),n=Oe(e.getContentHeight(),m,v);return n!==w.current.height&&(w.current.height=n,e.layout(w.current)),()=>{t.dispose()}}}),[v,m]),(0,G.useEffect)((()=>{if(Z.current){var e=Z.current.getModel(),t=e.onDidChangeContent((t=>{o(e.getValue(),t.isFlush)}));return()=>{t.dispose()}}}),[o]),(0,G.useEffect)((()=>()=>{var e,t,n;null===(e=Z.current)||void 0===e||null===(t=e.getModel())||void 0===t||t.dispose(),null===(n=Z.current)||void 0===n||n.dispose()}),[]),U().createElement("div",{ref:p,style:{height:C}})}function Fe(e,t,n){return Ve(Math.min(n,Math.max(t,e.split("\n").length)))}function Oe(e,t,n){var r=e;return(e-ie.LS)%ie.Mv==0&&(r=e+ie.sE),Math.min(Ve(n),Math.max(r,Ve(t)))}function Ve(e){return e*ie.Mv+ie.sE+ie.LS}({e:[s,u,c,g,m,f,b,w,k,y,M,N,x,R,I,A,P,_,z,F,O,V],c:[se,r]}=(0,D.Z)(Re,[[a,1,"name"],[l,1,"label"],[o,1,"value"],[h,1,"language"],[d,1,"theme"],[v,1,"required"],[p,1,"readOnly"],[Z,1,"automaticLayout"],[C,1,"minLines"],[E,1,"completers"],[L,1,"maxLines"],[S,1,"height"],[T,1,"codeChange",function(){return(0,q.Z)(this,Ee)},function(e){(0,H.Z)(this,Ee,e)}],[W,1,"userInput",function(){return(0,q.Z)(this,Le)},function(e){(0,H.Z)(this,Le,e)}],[K,1,"highlighClickEvent",function(){return(0,q.Z)(this,Ne)},function(e){(0,H.Z)(this,Ne,e)}]],[i])),r()},9486:(e,t,n)=>{n.d(t,{ZT:()=>c,k6:()=>h});var r=n(33028),i=n(46475),a=n(36023),s=n(65107),l=n(78035),u=(e,t,n)=>{for(var r=[],i=[],a="",s=n,l=t.startColumn;s>0;){var u=e.getValueInRange({startLineNumber:s,endLineNumber:s,startColumn:0,endColumn:1/0}).match(/^([\s|-]*)(\w+)(?=:)/);if(u){var[o,c,h]=u;c.length===t.startColumn-1&&r.unshift(h),c.length<l-1&&(!a&&(a=h),l=c.length,i.unshift(h))}s--}return{curLevelKeys:r,keyList:i,parentKey:a}},o=(e,t)=>{var n=e.getWordUntilPosition(t),r=e.findPreviousMatch("<%",t,!1,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1);if((null==r?void 0:r.range.startLineNumber)&&(null==i?void 0:i.range.startLineNumber)&&r.range.startLineNumber<=t.lineNumber&&i.range.endLineNumber>=t.lineNumber){var{parentKey:a}=u(e,r.range,null==r?void 0:r.range.startLineNumber),{parentKey:s}=u(e,i.range,null==i?void 0:i.range.startLineNumber),{keyList:l}=u(e,n,t.lineNumber);if(a===s&&l.includes(a))return!0}return!1},c=e=>(t,n,c,h)=>{var g,d=t.getWordUntilPosition(n),{word:m,token:v}=((e,t)=>{var n,i=e.getWordUntilPosition(t),a=e.getValueInRange({startLineNumber:t.lineNumber,endLineNumber:t.lineNumber,startColumn:t.column-i.word.length-1,endColumn:t.column-i.word.length}),s=e.getWordAtPosition((0,r.Z)((0,r.Z)({},t),{},{column:t.column-(null==i||null===(n=i.word)||void 0===n?void 0:n.length)-1}));return{word:null==s?void 0:s.word,token:a}})(t,n),f=t.getValueInRange({startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:0,endColumn:1/0}),p={startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:d.startColumn,endColumn:d.endColumn},b=1===d.startColumn,{curLevelKeys:Z}=u(t,d,t.getLineCount());if("<"===c.triggerCharacter)return"<"!==t.getValueInRange({startLineNumber:n.lineNumber,endLineNumber:n.lineNumber,startColumn:n.column-2,endColumn:n.column+2}).trim()?{suggestions:[]}:{suggestions:[{label:"<% %>",detail:"Evalute Body",kind:i.languages.CompletionItemKind.Value,insertText:"% ${0} %>",insertTextRules:i.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:p},{label:"<%= %>",detail:"Track Evalute Body",kind:i.languages.CompletionItemKind.Value,insertText:"%= ${0} %>",insertTextRules:i.languages.CompletionItemInsertTextRule.InsertAsSnippet,range:p}]};if(b)return{suggestions:(null!==(g=null==e?void 0:e.custom)&&void 0!==g?g:[]).filter((e=>!Z.includes(e.label))).map((e=>(0,r.Z)((0,r.Z)({},e),{},{label:e.label,insertText:e.insertText||e.label,kind:i.languages.CompletionItemKind.Keyword,range:p})))};if(":"===c.triggerCharacter||"."===c.triggerCharacter&&m&&!["CTX","STATE","FN"].includes(m)){var w,C;if("action"===m&&":"===c.triggerCharacter)return{suggestions:null===(w=null!==(C=(0,l.get)(a,"definitions.BuiltinBrickEventHandler.properties.action.enum"))&&void 0!==C?C:[])||void 0===w?void 0:w.map((e=>({label:" ".concat(e),detail:"event action",kind:i.languages.CompletionItemKind.Keyword,insertText:" ".concat(e),range:p})))};var k,E,y=null==e?void 0:e[m],L="";if(y&&!Array.isArray(y)?(k=y.list,L=y.triggerCharacter):k=y,L?c.triggerCharacter===L&&k:k)return{suggestions:(null!==(E=k)&&void 0!==E?E:[]).map((e=>{var t=":"===L?" ".concat(e.label):e.label;return(0,r.Z)((0,r.Z)({},e),{},{label:t,kind:i.languages.CompletionItemKind.Value,insertText:e.insertText||t,range:p})}))}}if(o(t,n)){var M,S;if(m&&["CTX","STATE"].includes(m))return{suggestions:(null!==(M=null==e?void 0:e[m])&&void 0!==M?M:[]).map((e=>({label:e.label,insertText:e.label,kind:i.languages.CompletionItemKind.Value,range:p})))};if("FN"===m&&"."===c.triggerCharacter)return{suggestions:(null!==(S=null==e?void 0:e.FN)&&void 0!==S?S:[]).map((e=>({label:e.label,insertText:e.label,kind:i.languages.CompletionItemKind.Value,range:p})))};if("APP"===m&&"."===c.triggerCharacter){var N=(0,l.get)(a,"definitions.MicroApp.properties"),T=[];for(var[x,R]of Object.entries(N))T.push({label:x,kind:i.languages.CompletionItemKind.Value,documentation:R.description,detail:R.enum?R.enum.join("|"):R.type,insertText:x,range:p});return{suggestions:T}}return[".",":"].includes(v)?{suggestions:[]}:{suggestions:s.f.map((e=>({label:e,insertText:e,kind:i.languages.CompletionItemKind.Keyword,range:p})))}}return/^[\s|-]*\w$/.test(f)?{suggestions:s.W.map((e=>({label:e,insertText:e,kind:i.languages.CompletionItemKind.Keyword,range:p}))).filter((e=>!Z.includes(e.label)))}:{suggestions:[]}},h=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=e.getModel();if(r){t.clear();var a=[];["CTX","STATE","FN"].forEach((function(e){var t;if(n[e]){var s=null===(t=r.findMatches)||void 0===t?void 0:t.call(r,"(?<=^|\\s)".concat(e,"\\.\\w+"),!1,!0,!1,null,!1);s&&s.length&&s.forEach((function(e){o(r,new i.Position(e.range.startLineNumber,e.range.startColumn))&&a.push({range:e.range,options:{inlineClassName:"highlight"}})}))}})),null==t||t.set(a)}}},65107:(e,t,n)=>{n.d(t,{W:()=>i,f:()=>r});var r=["CTX","STATE","DATA","EVENT","FLAGS","APP","ANCHOR","HASH","INSTALLED_APPS","ITEM","LOCAL_STORYAGE","MEDIA","MISC","PARAMS","PATH","PROCESSORS","QUERY","QUERY_ARRAY","SESSION_STORAGE","TPL","SYS","BASE_URL","IMG","FN","I18N","I18N_TEXT","PERMISSIONS","THEME"],i=["target","targetRef","properties","events","method","callback","success","error","action","useProvider","useChildren","useBrick","args","if","then"]},76126:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(39601),i=n.n(r),a=n(82609),s=n.n(a)()(i());s.push([e.id,".highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}",""]);const l=s},53154:(e,t,n)=>{var r=n(46062),i=n.n(r),a=n(44036),s=n.n(a),l=n(96793),u=n.n(l),o=n(17892),c=n.n(o),h=n(11173),g=n.n(h),d=n(42464),m=n.n(d),v=n(76126),f={};f.styleTagTransform=m(),f.setAttributes=c(),f.insert=u().bind(null,"head"),f.domAPI=s(),f.insertStyleElement=g(),i()(v.Z,f),v.Z&&v.Z.locals&&v.Z.locals},81391:(e,t,n)=>{n.d(t,{G:()=>b});var r,i,a=n(53395),s=n(40381),l=n(70687),u=n(25303),o=n(75476),c=n(29049),{method:h}=(0,o.createDecorators)();r=h();var g=new WeakMap,d=new WeakMap,m=new WeakMap,v=new WeakMap,f=new WeakMap,p=new WeakMap;class b extends c.ReactNextElement{constructor(){super(...arguments),(0,a.Z)(this,p,{get:E,set:y}),(0,a.Z)(this,v,{get:C,set:k}),(0,a.Z)(this,d,{get:Z,set:w}),(0,a.Z)(this,g,{writable:!0,value:!1}),(0,a.Z)(this,m,{writable:!0,value:"normal"}),(0,a.Z)(this,f,{writable:!0,value:!1}),i(this)}get isFormItemElement(){return!0}set validateState(e){(0,s.Z)(this,v,e),this._render()}get validateState(){return(0,l.Z)(this,v)}set notRender(e){this.hidden=e,(0,s.Z)(this,d,e),this._render()}get notRender(){return(0,l.Z)(this,d)}get $bindFormItem(){return(0,l.Z)(this,p)}set $bindFormItem(e){(0,s.Z)(this,p,e),this._render()}getFormElement(){for(var e=this;(e=e.parentNode)&&e&&!e.isFormElement;);return e}}function Z(){return(0,l.Z)(this,g)}function w(e){(0,s.Z)(this,g,e)}function C(){return(0,l.Z)(this,m)}function k(e){(0,s.Z)(this,m,e)}function E(){return(0,l.Z)(this,f)}function y(e){(0,s.Z)(this,f,e)}[i]=(0,u.Z)(b,[[r,2,"getFormElement"]],[]).e}}]);
2
+ //# sourceMappingURL=code-editor.43b1b397.js.map