@next-bricks/vs 1.16.5 → 1.16.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bricks.json +1 -1
- package/dist/chunks/{1889.1d9415d1.js → 1889.f310a89e.js} +2 -2
- package/dist/chunks/1889.f310a89e.js.map +1 -0
- package/dist/chunks/{2722.fe10dfa5.js → 2677.30b5c198.js} +2 -2
- package/dist/chunks/{2722.fe10dfa5.js.map → 2677.30b5c198.js.map} +1 -1
- package/dist/chunks/{3171.210ceaa6.js → 3171.8c3143c3.js} +2 -2
- package/dist/chunks/{3171.210ceaa6.js.map → 3171.8c3143c3.js.map} +1 -1
- package/dist/chunks/{3933.72ee53fc.js → 3933.986f0e93.js} +2 -2
- package/dist/chunks/{3933.72ee53fc.js.map → 3933.986f0e93.js.map} +1 -1
- package/dist/chunks/4837.72d944ed.js +2 -0
- package/dist/chunks/{4837.8dccce80.js.map → 4837.72d944ed.js.map} +1 -1
- package/dist/chunks/{5552.e50134b8.js → 5552.6e6afcde.js} +2 -2
- package/dist/chunks/{5552.e50134b8.js.map → 5552.6e6afcde.js.map} +1 -1
- package/dist/chunks/{6314.a35f7831.js → 6314.f8b3f142.js} +2 -2
- package/dist/chunks/{6314.a35f7831.js.map → 6314.f8b3f142.js.map} +1 -1
- package/dist/chunks/7218.ff3b87f0.js +2 -0
- package/dist/chunks/{7218.3bc9d1b8.js.map → 7218.ff3b87f0.js.map} +1 -1
- package/dist/chunks/7242.bb0466da.js +2 -0
- package/dist/chunks/{7242.b7651c0e.js.map → 7242.bb0466da.js.map} +1 -1
- package/dist/chunks/871.6d5e77c9.js +2 -0
- package/dist/chunks/871.6d5e77c9.js.map +1 -0
- package/dist/chunks/9140.ced6af24.js +3 -0
- package/dist/chunks/9140.ced6af24.js.map +1 -0
- package/dist/chunks/{9515.764f5fab.js → 9515.46f118b5.js} +2 -2
- package/dist/chunks/9515.46f118b5.js.map +1 -0
- package/dist/chunks/code-editor.a5c7d465.js +2 -0
- package/dist/chunks/{code-editor.b4d86a25.js.map → code-editor.a5c7d465.js.map} +1 -1
- package/dist/chunks/{main.2da60fef.js → main.9b9421ac.js} +2 -2
- package/dist/chunks/{main.2da60fef.js.map → main.9b9421ac.js.map} +1 -1
- package/dist/{index.29e36f26.js → index.46d45d07.js} +2 -2
- package/dist/{index.29e36f26.js.map → index.46d45d07.js.map} +1 -1
- package/package.json +2 -2
- package/dist/chunks/1889.1d9415d1.js.map +0 -1
- package/dist/chunks/4837.8dccce80.js +0 -2
- package/dist/chunks/7218.3bc9d1b8.js +0 -2
- package/dist/chunks/7242.b7651c0e.js +0 -2
- package/dist/chunks/871.6c0ee768.js +0 -2
- package/dist/chunks/871.6c0ee768.js.map +0 -1
- package/dist/chunks/9140.73597ce9.js +0 -3
- package/dist/chunks/9140.73597ce9.js.map +0 -1
- package/dist/chunks/9515.764f5fab.js.map +0 -1
- package/dist/chunks/code-editor.b4d86a25.js +0 -2
- /package/dist/chunks/{9140.73597ce9.js.LICENSE.txt → 9140.ced6af24.js.LICENSE.txt} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7218.3bc9d1b8.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7218.ff3b87f0.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/react-runtime/dist/esm/ReactUseBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentTheme.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRecentApps.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useCurrentApp.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useRouteRender.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgsDefaults.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/fetch.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProvider.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useProvider/useProviderArgs.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/asyncWrapBrick.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useNavConfig.js","webpack:///../../node_modules/@next-core/react-runtime/dist/esm/useLazyWrapBrick.js"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { __secret_internals, handleHttpError, getV2RuntimeFromDll } from \"@next-core/runtime\";\n// Note: always synchronize code in LegacyUseBrick:\n// `bricks/v2-adapter/src/data-providers/legacy-brick-kit/getLegacyUseBrick.ts`\nlet ReactUseBrick = function ReactUseBrick(_ref) {\n let {\n useBrick,\n data,\n errorBoundary,\n refCallback,\n ignoredCallback\n } = _ref;\n const [renderResult, setRenderResult] = useState(null);\n const mountResult = useRef();\n const [renderKey, setRenderKey] = useState();\n const IdCounterRef = useRef(0);\n const initialRenderId = useMemo(() => {\n var _secret_internals$ge;\n return (_secret_internals$ge = __secret_internals.getRenderId) === null || _secret_internals$ge === void 0 ? void 0 : _secret_internals$ge.call(__secret_internals);\n }, []);\n useEffect(() => {\n let ignore = false;\n async function init() {\n try {\n const newRender = await __secret_internals.renderUseBrick(useBrick, data, errorBoundary);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (!ignore && isTheSameRender(initialRenderId)) {\n // eslint-disable-next-line no-console\n console.error(\"Render useBrick failed:\", useBrick, \"with data:\", data);\n handleHttpError(error);\n }\n }\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId, errorBoundary]);\n const _refCallback = useCallback(element => {\n if (element) {\n mountResult.current = __secret_internals.mountUseBrick(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n renderResult, element);\n } else {\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n __secret_internals.unmountUseBrick(renderResult, mountResult.current);\n mountResult.current = undefined;\n }\n refCallback === null || refCallback === void 0 || refCallback(element);\n }, [refCallback, renderResult]);\n if (!renderResult) {\n // Fallback when loading/\n return null;\n // return <span>🌀 Loading...</span>;\n }\n const {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n const WebComponent = tagName;\n return /*#__PURE__*/React.createElement(WebComponent, {\n key: renderKey,\n ref: _refCallback\n });\n};\nfunction getUniqueId(ref) {\n return ++ref.current;\n}\nfunction isTheSameRender(initialRenderId) {\n var _secret_internals$ge2;\n const newRenderId = (_secret_internals$ge2 = __secret_internals.getRenderId) === null || _secret_internals$ge2 === void 0 ? void 0 : _secret_internals$ge2.call(__secret_internals);\n return !initialRenderId || !newRenderId || initialRenderId === newRenderId;\n}\nlet ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n let {\n useBrick,\n data,\n errorBoundary\n } = _ref2;\n if (Array.isArray(useBrick)) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, useBrick.map((item, index) => /*#__PURE__*/React.createElement(ReactUseBrick, {\n key: index,\n useBrick: item,\n data: data,\n errorBoundary: errorBoundary\n })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data,\n errorBoundary: errorBoundary\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nconst v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n const {\n SingleBrickAsComponentFactory,\n BrickAsComponentFactory\n } = v2Kit;\n if (SingleBrickAsComponentFactory && BrickAsComponentFactory) {\n ReactUseBrick = SingleBrickAsComponentFactory(React);\n ReactUseMultipleBricks = BrickAsComponentFactory(React);\n }\n}\nexport { ReactUseBrick, ReactUseMultipleBricks };\n//# sourceMappingURL=ReactUseBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getCurrentTheme } from \"@next-core/runtime\";\nexport function useCurrentTheme() {\n const [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n const listenToThemeChange = event => {\n setCurrentTheme(event.detail);\n };\n window.addEventListener(\"theme.change\", listenToThemeChange);\n return () => {\n window.removeEventListener(\"theme.change\", listenToThemeChange);\n };\n }, []);\n return currentTheme;\n}\n//# sourceMappingURL=useCurrentTheme.js.map","import React from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useRecentApps() {\n const [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n const listener = event => {\n setRecentApps(event.detail);\n };\n window.addEventListener(\"app.change\", listener);\n return () => window.removeEventListener(\"app.change\", listener);\n }, []);\n return recentApps;\n}\n//# sourceMappingURL=useRecentApps.js.map","import { useRecentApps } from \"./useRecentApps.js\";\n\n/**\n * 获取当前所在微应用信息的 React hooks。\n *\n * @example\n *\n * ```tsx\n * function MyReactComponent() {\n * const app = useCurrentApp();\n * return <div>{app.id}</div>;\n * }\n * ```\n *\n * @returns 当前所在微应用的信息。\n */\nexport function useCurrentApp() {\n return useRecentApps().currentApp;\n}\n//# sourceMappingURL=useCurrentApp.js.map","import React from \"react\";\nexport function useRouteRender() {\n const [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n const listener = event => {\n setRouteRender(event.detail);\n };\n window.addEventListener(\"route.render\", listener);\n return () => window.removeEventListener(\"route.render\", listener);\n }, []);\n return routeRender;\n}\n//# sourceMappingURL=useRouteRender.js.map","export const useProviderArgsDefaults = {\n provider: \"\",\n customOptions: {\n onError: () => {\n /* Do nothing.. */\n },\n transform: (oldData, newData) => newData,\n data: undefined,\n loading: false,\n suspense: false,\n cache: true\n },\n dependencies: undefined\n};\nexport default Object.entries(useProviderArgsDefaults).reduce((acc, _ref) => {\n let [key, value] = _ref;\n if (Object.prototype.toString.call(value) === \"[object Object]\") return {\n ...acc,\n ...value\n };\n return {\n ...acc,\n [key]: value\n };\n}, {});\n//# sourceMappingURL=useProviderArgsDefaults.js.map","import { fetchByProvider } from \"@next-core/runtime\";\nconst cacheMap = new Map();\nfunction isObj(v) {\n return typeof v === \"object\" && v !== null && !Array.isArray(v);\n}\nfunction isString(v) {\n return typeof v === \"string\";\n}\nfunction buildSortedCacheKey(provider) {\n const sortObj = obj => Object.keys(obj).sort().map(k => ({\n [k]: obj[k]\n }));\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n try {\n const sortedArgs = isObj(args) ? sortObj(args) : args.map(arg => isString(arg) ? arg : sortObj(arg));\n return JSON.stringify({\n provider,\n args: sortedArgs\n });\n } catch (e) {\n return JSON.stringify({\n provider,\n args\n });\n }\n}\nexport default async function fetch(provider, cache, args) {\n let promise;\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n const cacheKey = buildSortedCacheKey(provider, ...args);\n !cache && cacheMap.has(cacheKey) && cacheMap.delete(cacheKey);\n if (cacheMap.has(cacheKey)) {\n promise = cacheMap.get(cacheKey);\n } else {\n promise = (() => {\n return fetchByProvider(provider, args, {\n cache: cache ? \"default\" : \"reload\"\n });\n })();\n cache && cacheMap.set(cacheKey, promise);\n }\n return promise;\n}\n//# sourceMappingURL=fetch.js.map","import { useCallback, useEffect, useMemo, useReducer, useRef, useState } from \"react\";\nimport useProviderArgs from \"./useProviderArgs.js\";\nimport { isObject, isString } from \"lodash\";\nimport fetch from \"./fetch.js\";\nexport function useProvider() {\n const {\n provider,\n customOptions,\n dependencies,\n requestInit\n } = useProviderArgs(...arguments);\n const {\n onError,\n transform,\n suspense,\n cache,\n ...defaults\n } = customOptions;\n const [loading, setLoading] = useState(defaults.loading);\n const suspenseStatus = useRef(\"pending\");\n const suspender = useRef();\n const mounted = useRef(false);\n const error = useRef();\n const response = useRef();\n const data = useRef(defaults.data);\n const forceUpdate = useReducer(() => ({}), [])[1];\n const doFetch = useCallback(async (provider, providerArgs) => {\n try {\n error.current = undefined;\n if (!suspense) setLoading(true);\n const newRes = await fetch(provider, cache, providerArgs);\n response.current = newRes;\n data.current = transform(data.current, newRes);\n } catch (e) {\n error.current = e;\n data.current = undefined;\n }\n if (!suspense) setLoading(false);\n if (error.current) onError(error.current);\n return data.current;\n }, [provider, customOptions, dependencies, requestInit, suspense, transform, defaults.data, onError, cache]);\n const makeFetch = useCallback(async (providerOrBody, args) => {\n let providerStr = provider;\n let providerArgs = [];\n if (isString(providerOrBody)) {\n providerStr = providerOrBody;\n }\n if (isObject(providerOrBody)) {\n providerArgs = providerOrBody;\n } else if (isObject(args)) {\n providerArgs = args;\n }\n if (suspense) {\n return (async () => {\n suspender.current = doFetch(providerStr, providerArgs).then(newData => {\n suspenseStatus.current = \"success\";\n return newData;\n }, error => {\n /* istanbul ignore next */\n suspenseStatus.current = \"error\";\n error.current = error;\n return error;\n });\n forceUpdate();\n return await suspender.current;\n })();\n }\n return doFetch(providerStr, providerArgs);\n }, [doFetch]);\n const request = useMemo(() => Object.defineProperties({\n query: makeFetch\n }, {\n loading: {\n get() {\n return loading;\n }\n },\n data: {\n get() {\n return data.current;\n }\n },\n error: {\n get() {\n return error.current;\n }\n }\n }), [makeFetch]);\n\n // onMount/onUpdate\n useEffect(() => {\n mounted.current = true;\n if (Array.isArray(dependencies) && provider) {\n request.query(provider, requestInit.args);\n }\n return () => mounted.current = false;\n }, dependencies);\n if (suspense && suspender.current) {\n switch (suspenseStatus.current) {\n case \"pending\":\n throw suspender.current;\n /* istanbul ignore next */\n case \"error\":\n throw error.current;\n }\n }\n return Object.assign([request, response.current, loading, error.current], {\n request,\n ...request,\n response: response.current,\n data: data.current,\n loading,\n error: error.current\n });\n}\n//# sourceMappingURL=useProvider.js.map","import { useMemo } from \"react\";\nimport defaults, { useProviderArgsDefaults } from \"./useProviderArgsDefaults.js\";\nimport { isObject } from \"lodash\";\nexport default function useProviderArgs(providerOrParamsOrGlobalOptions, globalOptionsOrDeps, deps) {\n const provider = useMemo(() => {\n if (typeof providerOrParamsOrGlobalOptions === \"string\") {\n return providerOrParamsOrGlobalOptions;\n }\n return useProviderArgsDefaults.provider;\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const options = useMemo(() => {\n let localOptions = {};\n if (isObject(providerOrParamsOrGlobalOptions)) {\n localOptions = providerOrParamsOrGlobalOptions;\n } else if (isObject(globalOptionsOrDeps)) {\n localOptions = globalOptionsOrDeps;\n }\n return {\n ...defaults,\n ...localOptions\n };\n }, [providerOrParamsOrGlobalOptions, globalOptionsOrDeps]);\n const requestInit = useMemo(() => {\n const customOptionKeys = [...Object.keys(useProviderArgsDefaults), ...Object.keys(useProviderArgsDefaults.customOptions)];\n const {\n args = null,\n ...restOptions\n } = Object.keys(options).reduce((acc, key) => {\n if (!customOptionKeys.includes(key)) acc[key] = options[key];\n return acc;\n }, {});\n return {\n options: {\n ...restOptions\n },\n args\n };\n }, [options]);\n const dependencies = useMemo(() => {\n if (Array.isArray(globalOptionsOrDeps)) return globalOptionsOrDeps;\n if (Array.isArray(deps)) return deps;\n return defaults.dependencies;\n }, [globalOptionsOrDeps, deps]);\n const loading = options.loading || Array.isArray(dependencies);\n const customOptions = useMemo(() => {\n const customOptionKeys = Object.keys(useProviderArgsDefaults.customOptions);\n const customOptions = customOptionKeys.reduce((opts, key) => {\n opts[key] = options[key];\n return opts;\n }, {});\n return {\n ...customOptions,\n loading\n };\n }, [options]);\n return {\n provider,\n customOptions,\n requestInit,\n dependencies\n };\n}\n//# sourceMappingURL=useProviderArgs.js.map","import { __secret_internals } from \"@next-core/runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\n/**\n * 使用异步加载的方式包装一个构件,可用于按条件渲染的构件依赖。\n *\n * 例如提供复杂弹层内容的按钮构件,其内容需要使用到一些大型构件,那么这些依赖可以使用 asyncWrapBrick,\n * 这样只有在需要时才会加载这些依赖的构件。\n */\n\nexport async function asyncWrapBrick(brickName, eventsMapping) {\n await __secret_internals.loadBricks([brickName]);\n return wrapBrick(brickName, eventsMapping);\n}\n//# sourceMappingURL=asyncWrapBrick.js.map","import { useEffect, useState } from \"react\";\nimport { getRuntime } from \"@next-core/runtime\";\nexport function useNavConfig() {\n const [navConfig, setNavConfig] = useState(() => getRuntime().getNavConfig());\n useEffect(() => {\n const listener = event => {\n setNavConfig(event.detail);\n };\n window.addEventListener(\"navConfig.change\", listener);\n return () => window.removeEventListener(\"navConfig.change\", listener);\n }, []);\n return navConfig;\n}\n//# sourceMappingURL=useNavConfig.js.map","import { lazy, useMemo } from \"react\";\nimport { asyncWrapBrick } from \"./asyncWrapBrick.js\";\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\n/**\n * 使用 `React.lazy` 包装一个异步加载的构件。\n *\n * ```jsx\n * const DepComponent = useLazyWrapBrick(\"async-dep\");\n * return (\n * <Suspense fallback=\"Loading...\">\n * <DepComponent {...props} />\n * </Suspense>\n * );\n * ```\n */\n\nexport function useLazyWrapBrick(brickName, eventsMapping) {\n return useMemo(() => {\n if (brickName != null) {\n return /*#__PURE__*/lazy(async () => ({\n default: await asyncWrapBrick(brickName, eventsMapping)\n }));\n }\n return null;\n }, [brickName, eventsMapping]);\n}\n//# sourceMappingURL=useLazyWrapBrick.js.map"],"names":["ReactUseBrick","_ref","useBrick","data","errorBoundary","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","async","newRender","renderUseBrick","current","error","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","undefined","tagName","WebComponent","key","ref","ReactUseMultipleBricks","_ref2","Array","isArray","map","item","index","v2Kit","getV2RuntimeFromDll","SingleBrickAsComponentFactory","BrickAsComponentFactory","useCurrentTheme","currentTheme","setCurrentTheme","getCurrentTheme","listenToThemeChange","event","detail","window","addEventListener","removeEventListener","useRecentApps","recentApps","setRecentApps","getRuntime","getRecentApps","listener","useCurrentApp","currentApp","useRouteRender","routeRender","setRouteRender","useProviderArgsDefaults","provider","customOptions","onError","transform","oldData","newData","loading","suspense","cache","dependencies","Object","entries","reduce","acc","value","prototype","toString","cacheMap","Map","useProvider","requestInit","providerOrParamsOrGlobalOptions","globalOptionsOrDeps","deps","options","localOptions","isObject","customOptionKeys","keys","args","restOptions","includes","opts","useProviderArgs","arguments","defaults","setLoading","suspenseStatus","suspender","mounted","response","forceUpdate","useReducer","doFetch","providerArgs","newRes","promise","cacheKey","sortObj","obj","sort","k","_len","length","_key","sortedArgs","v","arg","isString","JSON","stringify","e","buildSortedCacheKey","has","delete","get","fetchByProvider","set","fetch","makeFetch","providerOrBody","providerStr","then","request","defineProperties","query","assign","asyncWrapBrick","brickName","eventsMapping","loadBricks","wrapBrick","useNavConfig","navConfig","setNavConfig","getNavConfig","useLazyWrapBrick","lazy","default"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[7242],{7242:(e,t,n)=>{var i=n(4635),s=n(918),r=n(6902),o=n(5536),a=n(6121),l=n(829),c=n(2740),u=n(8769),h=n.n(u),d=n(6192),g=n(9005),m=n(9859),p=n(7390),k=n(140),f=n(1361),A=n(426),v=n(210),b=n(6197),y=n(3909),w=n(2257),M=n(3135),C=n(5310),E=n.n(C),x=(n(6477),n(563)),W=n(7137),S=n(4046),L=n(4804),N=n(4102),B=n(9704),P=n(8182),_=n(3373),z=n.n(_),R=n(7726),O=n(2414),I=(n(3569),n(1968)),V=n(1836),D=n(5087),F=n(5808),T=n(896),H=n(2066),K=n(8546),Y=n(6984),q=n(4794),j=n(5262);let J,U,X,$,Z,G,Q,ee,te,ne,ie,se,re,oe,ae,le,ce,ue,he,de,ge,me,pe,ke,fe,Ae,ve,be,ye,we,Me,Ce,Ee,xe,We,Se,Le,Ne,Be,Pe,_e,ze,Re,Oe,Ie,Ve,De,Fe,Te,He,Ke,Ye,qe,je,Je,Ue,Xe,$e,Ze,Ge,Qe,et,tt,nt,it,st,rt,ot,at;var lt,ct,ut;(0,B.initializeReactI18n)(P.NS,P.I),(0,b.kz)(v),(0,y.kz)(v),(0,w.kz)(v,"brick_next_yaml"),(0,M.kz)(v),(0,T.kz)(v),(0,H.kz)(v),(0,K.kz)(v);const ht=["cel_yaml","cel_str"],dt=["cel",...ht];for(const e of ht)v.languages.registerCompletionItemProvider(e,{triggerCharacters:["<"],provideCompletionItems:Y.ix});for(const e of dt)v.languages.registerCompletionItemProvider(e,(0,Y.ZY)(e));const{enabled:gt,...mt}=null!==(lt=null===(ct=(0,k.getRuntime)())||void 0===ct?void 0:ct.getMiscSettings().globalMonacoEditorCopilotOptions)&&void 0!==lt?lt:{};gt&&v.languages.registerInlineCompletionsProvider(R.F,new R.$({...mt,async request(e){var t;let{model:n,temperature:i,system:s,prompt:r,signal:o}=e;return null===(t=(await(0,O.b)({model:n,temperature:i,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:pt,property:kt,event:ft}=(0,d.createDecorators)(),At=(0,m.wrapBrick)("eo-form-item"),vt=(0,m.wrapBrick)("eo-tooltip"),bt=(0,m.wrapBrick)("eo-icon"),yt=(0,g.unwrapProvider)("basic.copy-to-clipboard"),wt=(0,g.unwrapProvider)("basic.show-notification"),Mt="spell_check",Ct="brick_next_yaml_lint";let Et;var xt=new WeakMap,Wt=new WeakMap,St=new WeakMap,Lt=new WeakMap,Nt=new WeakMap,Bt=new WeakMap,Pt=new WeakMap,_t=new WeakMap,zt=new WeakMap,Rt=new WeakMap,Ot=new WeakMap,It=new WeakMap,Vt=new WeakMap,Dt=new WeakMap,Ft=new WeakMap,Tt=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,en=new WeakMap,tn=new WeakSet,nn=new WeakMap,sn=new WeakMap,rn=new WeakMap,on=new WeakMap,an=new WeakMap,ln=new WeakMap;class cn extends A.N{constructor(){super(...arguments),(0,i.A)(this,tn),(0,s.A)(this,xt,U(this)),(0,s.A)(this,Wt,(X(this),$(this))),(0,s.A)(this,St,(Z(this),G(this))),(0,s.A)(this,Lt,(Q(this),ee(this))),(0,s.A)(this,Nt,(te(this),ne(this))),(0,s.A)(this,Bt,(ie(this),se(this))),(0,s.A)(this,Pt,(re(this),oe(this))),(0,s.A)(this,_t,(ae(this),le(this))),(0,s.A)(this,zt,(ce(this),ue(this))),(0,s.A)(this,Rt,(he(this),de(this))),(0,s.A)(this,Ot,(ge(this),me(this))),(0,s.A)(this,It,(pe(this),ke(this))),(0,s.A)(this,Vt,(fe(this),Ae(this))),(0,s.A)(this,Dt,(ve(this),be(this))),(0,s.A)(this,Ft,(ye(this),we(this))),(0,s.A)(this,Tt,(Me(this),Ce(this))),(0,s.A)(this,Ht,(Ee(this),xe(this))),(0,s.A)(this,Kt,(We(this),Se(this))),(0,s.A)(this,Yt,(Le(this),Ne(this))),(0,s.A)(this,qt,(Be(this),Pe(this))),(0,s.A)(this,jt,(_e(this),ze(this))),(0,s.A)(this,Jt,(Re(this),Oe(this))),(0,s.A)(this,Ut,(Ie(this),Ve(this))),(0,s.A)(this,Xt,(De(this),Fe(this))),(0,s.A)(this,$t,(Te(this),He(this))),(0,s.A)(this,Zt,(Ke(this),Ye(this))),(0,s.A)(this,Gt,(qe(this),je(this))),(0,s.A)(this,Qt,(Je(this),Ue(this))),(0,s.A)(this,en,(Xe(this),$e(this))),(0,s.A)(this,nn,(Qe(this),et(this))),(0,s.A)(this,sn,(it(this),e=>{var t;this.value=e,null===(t=this.getFormElement())||void 0===t||t.formStore.onChange(this.name,e),(0,o.A)(tn,this,Ze).emit(e)})),(0,s.A)(this,rn,(e=>{(0,o.A)(tn,this,tt).emit(e)})),(0,s.A)(this,on,st(this)),(0,s.A)(this,an,(at(this),e=>{(0,o.A)(tn,this,rt).emit(e)})),(0,s.A)(this,ln,(e=>{if("brick_next_yaml"===this.language||"yaml"===this.language)try{E().load(e)}catch{return"请填写正确的格式"}return""}))}get name(){return(0,l.A)(xt,this)}set name(e){(0,a.A)(xt,this,e)}get label(){return(0,l.A)(Wt,this)}set label(e){(0,a.A)(Wt,this,e)}get value(){return(0,l.A)(St,this)}set value(e){(0,a.A)(St,this,e)}get language(){return(0,l.A)(Lt,this)}set language(e){(0,a.A)(Lt,this,e)}get theme(){return(0,l.A)(Nt,this)}set theme(e){(0,a.A)(Nt,this,e)}get required(){return(0,l.A)(Bt,this)}set required(e){(0,a.A)(Bt,this,e)}get readOnly(){return(0,l.A)(Pt,this)}set readOnly(e){(0,a.A)(Pt,this,e)}get automaticLayout(){return(0,l.A)(_t,this)}set automaticLayout(e){(0,a.A)(_t,this,e)}get minLines(){return(0,l.A)(zt,this)}set minLines(e){(0,a.A)(zt,this,e)}get completers(){return(0,l.A)(Rt,this)}set completers(e){(0,a.A)(Rt,this,e)}get advancedCompleters(){return(0,l.A)(Ot,this)}set advancedCompleters(e){(0,a.A)(Ot,this,e)}get markers(){return(0,l.A)(It,this)}set markers(e){(0,a.A)(It,this,e)}get links(){return(0,l.A)(Vt,this)}set links(e){(0,a.A)(Vt,this,e)}get maxLines(){return(0,l.A)(Dt,this)}set maxLines(e){(0,a.A)(Dt,this,e)}get height(){return(0,l.A)(Ft,this)}set height(e){(0,a.A)(Ft,this,e)}get message(){return(0,l.A)(Tt,this)}set message(e){(0,a.A)(Tt,this,e)}get placeholder(){return(0,l.A)(Ht,this)}set placeholder(e){(0,a.A)(Ht,this,e)}get showExpandButton(){return(0,l.A)(Kt,this)}set showExpandButton(e){(0,a.A)(Kt,this,e)}get lineNumbers(){return(0,l.A)(Yt,this)}set lineNumbers(e){(0,a.A)(Yt,this,e)}get tokenConfig(){return(0,l.A)(qt,this)}set tokenConfig(e){(0,a.A)(qt,this,e)}get customValidationInBrickNextYaml(){return(0,l.A)(jt,this)}set customValidationInBrickNextYaml(e){(0,a.A)(jt,this,e)}get showCopyButton(){return(0,l.A)(Jt,this)}set showCopyButton(e){(0,a.A)(Jt,this,e)}get glyphMargin(){return(0,l.A)(Ut,this)}set glyphMargin(e){(0,a.A)(Ut,this,e)}get extraLibs(){return(0,l.A)(Xt,this)}set extraLibs(e){(0,a.A)(Xt,this,e)}get fixedOverflowWidgets(){return(0,l.A)($t,this)}set fixedOverflowWidgets(e){(0,a.A)($t,this,e)}get spellCheck(){return(0,l.A)(Zt,this)}set spellCheck(e){(0,a.A)(Zt,this,e)}get knownWords(){return(0,l.A)(Gt,this)}set knownWords(e){(0,a.A)(Gt,this,e)}get domLibsEnabled(){return(0,l.A)(Qt,this)}set domLibsEnabled(e){(0,a.A)(Qt,this,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return h().createElement(At,{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)(ln,this)},h().createElement(un,{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)(sn,this),onUserInput:(0,l.A)(rn,this),onTokenClick:(0,l.A)(an,this),customValidationInBrickNextYaml:this.customValidationInBrickNextYaml,fixedOverflowWidgets:this.fixedOverflowWidgets,spellCheck:this.spellCheck,knownWords:this.knownWords,domLibsEnabled:this.domLibsEnabled}))}}function un(e){let{value:t,language:n,theme:i,minLines:s,maxLines:r,height:o,automaticLayout:a,completers:l,advancedCompleters:c,markers:d,readOnly:g,links:m,extraLibs:k,tokenConfig:f,showExpandButton:A,showCopyButton:b=!0,lineNumbers:y="on",glyphMargin:w=!1,placeholder:M,validateState:C,onChange:E,onTokenClick:_,customValidationInBrickNextYaml:R,fixedOverflowWidgets:O,spellCheck:T,knownWords:H,domLibsEnabled:K}=e;const J=null!=t?t:"",U=null!=n?n:"plaintext",X=null!=i?i:"auto",$=null!=s?s:3,Z=null!=r?r:1/0,G=null!=o?o:500,Q=null==O||O,ee=null==T||T,[te,ne]=(0,u.useState)(!1),ie=(0,u.useMemo)((()=>(0,x.uniqueId)("worker")),[]),{t:se}=(0,B.useTranslation)(P.NS),re=(0,u.useRef)(null),oe=(0,u.useRef)(),ae=(0,u.useRef)(),le=(0,u.useRef)({width:300,height:hn(J,$,Z)}),[ce,ue]=(0,u.useState)(),he=(0,u.useRef)(a),de=(0,p.useCurrentTheme)(),ge="auto"===X?"dark"===de||"dark-v2"===de?"vs-dark":"vs":X,me="vs-dark"===ge||"hc-black"===ge;(0,u.useEffect)((()=>{const e=me?"#FFFFFF0F":"#0000000A";v.editor.defineTheme("custom-theme",{base:ge,inherit:!0,rules:[],colors:{"editor.lineHighlightBackground":`${e}`}}),v.editor.setTheme("custom-theme")}),[ge,me]),(0,u.useEffect)((()=>{if(ae.current){const e=ae.current.getModel();v.editor.setModelLanguage(e,U)}}),[U]),(0,u.useEffect)((()=>{if("brick_next_yaml"===U){const e=(0,S.v)(l,Array.isArray(c)?void 0:c,ie,f),t=v.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[l,c,U,ie,f]),(0,u.useEffect)((()=>{if(Array.isArray(c)&&c.length>0&&dt.includes(U)){const e=v.languages.registerCompletionItemProvider(U,(0,Y.MY)(U,ie,c));return()=>{e.dispose()}}}),[U,c,ie]),(0,u.useEffect)((()=>{const e=ae.current;if(e){const t=e.getModel();null!=t&&t.getValue&&J!==t.getValue()&&t.setValue(J)}}),[J]),(0,u.useLayoutEffect)((()=>{var e;if("fit-content"!==he.current||!re.current)return;le.current.width=re.current.getBoundingClientRect().width,null===(e=ae.current)||void 0===e||e.layout(le.current);const t=new ResizeObserver((e=>{for(const n of e)if(n.target===re.current){const e=n.contentBoxSize?n.contentBoxSize[0]?n.contentBoxSize[0].inlineSize:n.contentBoxSize.inlineSize:n.contentRect.width,i=n.contentBoxSize?n.contentBoxSize[0]?n.contentBoxSize[0].blockSize:n.contentBoxSize.blockSize:n.contentRect.height;var t;(e!==le.current.width||te)&&(le.current.width=e,null===(t=ae.current)||void 0===t||t.layout({width:e,height:te?i:le.current.height}));break}}));return t.observe(re.current),()=>{t.disconnect()}}),[te]),(0,u.useLayoutEffect)((()=>{if("fit-container"!==he.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}}(re.current);if(!e)return;const t=new ResizeObserver((()=>{ue(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}),[]),(0,u.useEffect)((()=>{"fit-container"!==he.current&&"fit-content"!==he.current&&ue(G)}),[G]),(0,u.useEffect)((()=>{ae.current&&ae.current.updateOptions({readOnly:g,lineNumbersMinChars:te?5:3})}),[g,te]),(0,u.useEffect)((()=>{if(ae.current||!re.current)return;const e=v.editor.createModel(J,U);if("brick_next_yaml"===U){const t=(0,N.AR)(e.uri);v.editor.createModel(J,"javascript",t),v.languages.typescript.javascriptDefaults.addExtraLib((0,N.Eh)(),e.uri.toString()+"d.ts")}ae.current=v.editor.create(re.current,{extraEditorClassName:"monaco-editor-v3",model:e,minimap:{enabled:!1,showRegionSectionHeaders:!1,showMarkSectionHeaders:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==he.current,fontSize:W.yU,lineHeight:W.fE,scrollbar:{horizontalScrollbarSize:W.lP,verticalScrollbarSize:W.lP,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:W.Vu,bottom:"fit-content"==he.current?void 0:W.Vu},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,fixedOverflowWidgets:Q,lineNumbers:y,lineNumbersMinChars:3,glyphMargin:w,folding:"off"!==y,suggest:{insertMode:"insert",preview:!0},readOnly:g,quickSuggestions:{strings:!0,other:!0,comments:!0},renderLineHighlightOnlyWhenFocus:!0,unicodeHighlight:{ambiguousCharacters:!1}}),oe.current=ae.current.createDecorationsCollection()}),[]);const pe="typescript"===U?"typescriptDefaults":"javascriptDefaults";(0,u.useEffect)((()=>{"javascript"!==U&&"typescript"!==U&&"brick_next_yaml"!==U||v.languages.typescript[pe].setCompilerOptions({allowNonTsExtensions:!0,lib:K?void 0:["esnext"],target:v.languages.typescript.ScriptTarget.ESNext,moduleResolution:v.languages.typescript.ModuleResolutionKind.NodeJs})}),[U,K,pe]),(0,u.useEffect)((()=>{const e=ae.current;if(e)return()=>{(0,q.X2)(e)}}),[]),(0,u.useEffect)((()=>{const e=ae.current;if(!e)return;const t=()=>{(0,j.$)(k,{languageDefaults:pe}),"javascript"!==U&&"typescript"!==U&&"brick_next_yaml"!==U||v.languages.typescript[pe].setCompilerOptions({allowNonTsExtensions:!0,lib:K?void 0:["esnext"],target:v.languages.typescript.ScriptTarget.ESNext,moduleResolution:v.languages.typescript.ModuleResolutionKind.NodeJs})};(0,q.xx)(e)&&t();const n=e.onDidFocusEditorWidget((()=>{(0,q.MX)(e)&&t()}));return()=>{n.dispose()}}),[K,k,U,pe]),(0,u.useEffect)((()=>{const e=ae.current;if("brick_next_yaml"===U&&e){const t=e.getModel(),n=e.onMouseDown((function(e){var n,i;const s=oe.current;(null!==(n=null==s||null===(i=s.getRanges)||void 0===i?void 0:i.call(s))&&void 0!==n?n:[]).forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)&&_(t.getValueInRange(n))}))})),i=e.onMouseMove((function(e){const t=oe.current;t&&t.getRanges().forEach((n=>{const i=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(n&&e.target.position&&e.event[i]&&n.containsPosition(e.target.position)){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:n.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(e)}else if(!e.event[i]){const e=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(e)}}))}));return()=>{null==i||i.dispose(),null==n||n.dispose()}}}),[U,_,de,X]),(0,u.useEffect)((()=>{const e=ae.current;if(!e||!re.current||"fit-content"!==he.current)return;const t=e.onDidContentSizeChange((t=>{if(!te&&t.contentHeightChanged){const n=dn(t.contentHeight,$,Z);n!==le.current.height&&(le.current.height=n,e.layout(le.current))}})),n=dn(e.getContentHeight(),$,Z);return n!==le.current.height&&(le.current.height=n,e.layout(le.current)),()=>{t.dispose()}}),[Z,$,te]);const ke=(0,u.useCallback)((async(e,t)=>{v.editor.setModelMarkers(e,"semantic_validate",[]);const n=e.findPreviousMatch("<%[~=]?",t,!0,!1,null,!1),i=e.findNextMatch("%>",t,!1,!1,null,!1),s=null==n?void 0:n.range,r=null==i?void 0:i.range;if(s&&r){const n=new v.Range(s.startLineNumber,s.endColumn,r.startLineNumber,r.startColumn),i=e.getValueInRange(n);if(n.containsPosition(t)&&!/<% | %>/.test(i)){const t=(0,N.AR)(e.uri);v.editor.getModel(t).setValue(i);const r=e.getOffsetAt(new v.Position(s.startLineNumber,s.endColumn));if(I.b.getInstance(ie).updateState({content:i,range:n,offset:r}),!R)return;const o=await v.languages.typescript.getJavaScriptWorker(),a=await o(t),l=(await a.getSemanticDiagnostics(t.toString())).map((t=>{var n;const i=r+(null!==(n=t.start)&&void 0!==n?n:0),s=e.getPositionAt(i);return{startLineNumber:s.lineNumber,startColumn:s.column,endLineNumber:s.lineNumber,endColumn:s.column+t.length,message:t.messageText,severity:v.MarkerSeverity.Warning}}));v.editor.setModelMarkers(e,"semantic_validate",l)}}}),[ie]);(0,u.useEffect)((()=>{if(!ae.current)return;const e=ae.current.getModel(),t=e.onDidChangeContent((async t=>{(0,L.J)(ie),["brick_next_yaml"].includes(U)&&ke(e,ae.current.getPosition()),t.isFlush||E(e.getValue())}));return()=>{t.dispose()}}),[E,ie,U,ke]),(0,u.useEffect)((()=>{if(te){const e=t=>{"Escape"!==t.key&&"Esc"!==t.key||(window.removeEventListener("keydown",e),ne(!1))};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}}}),[te]),(0,u.useEffect)((()=>{if(!ae.current&&!M)return;const e=new V.j(M,ae.current,me?"rgba(174,174,175,0.4)":"rgba(89,89,89,0.4)");return()=>{e.dispose()}}),[M,me]);const fe=(0,u.useCallback)((()=>{if(ae.current){const e=ae.current.getModel();yt(e.getValue()).then((()=>wt({type:"success",message:se(P.K.COPY_SUCCESS)}))).catch((()=>wt({type:"error",message:se(P.K.COPY_FAILED)})))}}),[se]),Ae=(0,u.useCallback)((()=>{ne(!te)}),[te]);return(0,u.useEffect)((()=>{const e=ae.current;if(!e||"brick_next_yaml"!==U)return;let t=!1;const n=(0,x.debounce)((async()=>{var n;const i=await(0,D.K)();if(t)return;const{lintMarkers:s,lintDecorations:r}=await i.lint({source:e.getValue(),links:m,markers:d}),o=e.getModel();!t&&o&&(v.editor.setModelMarkers(o,Ct,s.map((e=>{let{start:t,end:n,message:i,severity:s,code:r}=e;const a=o.getPositionAt(t),l=o.getPositionAt(n);return{startLineNumber:a.lineNumber,startColumn:a.column,endLineNumber:l.lineNumber,endColumn:l.column,severity:v.MarkerSeverity[s],message:i,code:r}}))),null===(n=oe.current)||void 0===n||n.set(r.map((e=>{let{start:t,end:n,options:i}=e;return{range:v.Range.fromPositions(o.getPositionAt(t),o.getPositionAt(n)),options:i}}))))}),200),i=e.onDidChangeModelContent(n);return n(),()=>{t=!0,i.dispose(),v.editor.setModelMarkers(e.getModel(),Ct,[])}}),[U,m,d,X,ie]),(0,u.useEffect)((()=>{const e=ae.current;if(!e||!ee)return;let t=!1;const n=(0,x.debounce)((async()=>{const n=await(0,F.n)();if(t)return;const{markers:i}=await n.spellCheck({source:e.getValue(),knownWords:H}),s=e.getModel();!t&&s&&v.editor.setModelMarkers(s,Mt,i.map((e=>{let{start:t,end:n,message:i,severity:r}=e;const o=s.getPositionAt(t),a=s.getPositionAt(n);return{startLineNumber:o.lineNumber,startColumn:o.column,endLineNumber:a.lineNumber,endColumn:a.column,severity:v.MarkerSeverity[r],message:i}})))}),200),i=e.onDidChangeModelContent(n);return n(),()=>{t=!0,i.dispose(),v.editor.setModelMarkers(e.getModel(),Mt,[])}}),[ee,H]),h().createElement("div",{className:z()("code-editor-wrapper",{expanded:te,error:"error"===C})},h().createElement("div",{ref:re,style:{height:te?"100%":ce,overflow:te?"scroll":""}}),h().createElement("div",{className:"toolbar-wrapper"},h().createElement("div",{className:"toolbar sticky"},b&&h().createElement(vt,{content:se(P.K.COPY)},h().createElement(bt,{className:"copy-icon",icon:"copy",lib:"antd",theme:"outlined",onClick:fe})),A&&h().createElement(vt,{content:se(te?P.K.COLLAPSE:P.K.EXPAND)},h().createElement(bt,{className:"expand-icon",icon:te?"compress":"expand",lib:"antd",theme:"outlined",onClick:Ae})))))}function hn(e,t,n){return gn(Math.min(n,Math.max(t,e.split("\n").length)))}function dn(e,t,n){let i=e;return(e-W.Vu)%W.fE==0&&(i=e+W.lP),Math.min(gn(n),Math.max(i,gn(t)))}function gn(e){return e*W.fE+W.lP+W.Vu}ut=cn,({e:[U,X,$,Z,G,Q,ee,te,ne,ie,se,re,oe,ae,le,ce,ue,he,de,ge,me,pe,ke,fe,Ae,ve,be,ye,we,Me,Ce,Ee,xe,We,Se,Le,Ne,Be,Pe,_e,ze,Re,Oe,Ie,Ve,De,Fe,Te,He,Ke,Ye,qe,je,Je,Ue,Xe,$e,Ze,Ge,Qe,et,tt,nt,it,st,rt,ot,at],c:[Et,J]}=(0,c.A)(ut,[pt("vs.code-editor",{shadowOptions:!1})],[[kt(),1,"name"],[kt(),1,"label"],[kt(),1,"value"],[kt(),1,"language"],[kt(),1,"theme"],[kt({type:Boolean}),1,"required"],[kt({type:Boolean}),1,"readOnly"],[kt(),1,"automaticLayout"],[kt({type:Number}),1,"minLines"],[kt({attribute:!1}),1,"completers"],[kt({attribute:!1}),1,"advancedCompleters"],[kt({attribute:!1}),1,"markers"],[kt({attribute:!1}),1,"links"],[kt({type:Number}),1,"maxLines"],[kt({attribute:!1}),1,"height"],[kt(),1,"message"],[kt(),1,"placeholder"],[kt({type:Boolean}),1,"showExpandButton"],[kt(),1,"lineNumbers"],[kt({attribute:!1}),1,"tokenConfig"],[kt({type:Boolean}),1,"customValidationInBrickNextYaml"],[kt({type:Boolean}),1,"showCopyButton"],[kt({type:Boolean}),1,"glyphMargin"],[kt({attribute:!1}),1,"extraLibs"],[kt({type:Boolean}),1,"fixedOverflowWidgets"],[kt({type:Boolean}),1,"spellCheck"],[kt({attribute:!1}),1,"knownWords"],[kt({type:Boolean}),1,"domLibsEnabled"],[ft({type:"code.change"}),1,"codeChange",e=>(0,l.A)(en,e),(e,t)=>(0,a.A)(en,e,t)],[ft({type:"user.input"}),1,"userInput",e=>(0,l.A)(nn,e),(e,t)=>(0,a.A)(nn,e,t)],[ft({type:"token.click"}),1,"tokenClickEvent",e=>(0,l.A)(on,e),(e,t)=>(0,a.A)(on,e,t)]],0,(e=>ln.has((0,r.A)(e))),A.N)),J()}}]);
|
|
2
|
+
//# sourceMappingURL=7242.bb0466da.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chunks/7242.b7651c0e.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport {\n AdvancedCompleterMap,\n ExtraLib,\n type MixedCompleter,\n} from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport {\n MonacoCopilotProvider,\n SUPPORTED_LANGUAGES,\n} from \"@next-shared/monaco-copilot\";\nimport { AiopsBaseApi_openaiChat } from \"@next-api-sdk/llm-sdk\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\nimport { getRemoteYamlLinterWorker } from \"./workers/yamlLinter.js\";\nimport { getRemoteSpellCheckWorker } from \"./workers/spellCheckRemoteWorker.js\";\nimport { register as registerCel } from \"./languages/cel.js\";\nimport { register as registerCelYaml } from \"./languages/cel-yaml.js\";\nimport { register as registerCelStr } from \"./languages/cel-str.js\";\nimport {\n provideEmbeddedCelCompletionItems,\n celCommonCompletionProviderFactory,\n celSpecificCompletionProviderFactory,\n} from \"./utils/celCompletionProvider.js\";\nimport {\n disposeEditor,\n isCurrentEditor,\n switchEditor,\n} from \"./utils/EditorService.js\";\nimport { setExtraLibs } from \"./utils/setExtraLibs.js\";\n\ninitializeReactI18n(NS, locales);\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\nregisterCel(monaco);\nregisterCelYaml(monaco);\nregisterCelStr(monaco);\n\nconst EMBEDDED_CEL = [\"cel_yaml\", \"cel_str\"];\nconst CEL_FAMILY = [\"cel\", ...EMBEDDED_CEL];\nfor (const lang of EMBEDDED_CEL) {\n monaco.languages.registerCompletionItemProvider(lang, {\n triggerCharacters: [\"<\"],\n provideCompletionItems: provideEmbeddedCelCompletionItems,\n });\n}\n\nfor (const lang of CEL_FAMILY) {\n monaco.languages.registerCompletionItemProvider(\n lang,\n celCommonCompletionProviderFactory(lang)\n );\n}\n\n// istanbul ignore next\nconst { enabled: copilotEnabled, ...copilotOptions } =\n (getRuntime()?.getMiscSettings().globalMonacoEditorCopilotOptions ?? {}) as {\n enabled?: boolean;\n model?: string;\n debounce?: number;\n timeout?: number;\n };\n\n// istanbul ignore next\nif (copilotEnabled) {\n monaco.languages.registerInlineCompletionsProvider(\n SUPPORTED_LANGUAGES,\n new MonacoCopilotProvider({\n ...copilotOptions,\n async request({ model, temperature, system, prompt, signal }) {\n const response = await AiopsBaseApi_openaiChat(\n {\n model,\n temperature,\n enableSensitiveWordsFilter: false,\n stream: false,\n messages: [\n ...(system ? [{ role: \"system\", content: system }] : []),\n { role: \"user\", content: prompt },\n ],\n },\n {\n signal,\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n return response.choices?.[0]?.message?.content?.trim();\n },\n HttpAbortError,\n })\n );\n}\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nconst SPELL_CHECK = \"spell_check\";\nconst BRICK_NEXT_YAML_LINT = \"brick_next_yaml_lint\";\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n placeholder?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap | MixedCompleter[];\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\n lineNumbers?: monaco.editor.LineNumbersType;\n glyphMargin?: boolean;\n validateState?: string;\n customValidationInBrickNextYaml?: boolean;\n fixedOverflowWidgets?: boolean;\n spellCheck?: boolean;\n knownWords?: string[];\n domLibsEnabled?: boolean;\n}\n\nexport interface Marker {\n token: string;\n level?: keyof typeof Level;\n message?: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\nexport type TokenConfig = {\n showDSKey?: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n /**\n * 仅对 language 为 brick_next_yaml 有效,设置第一层属性名的自动补全。\n */\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n /**\n * 高级自动补全配置。\n * - 设置为键值对时,仅对 language 为 brick_next_yaml 有效,设置任意的自动补全;\n * - 设置为数组时,当前仅对 language 为 cel 有效。\n * 未来将统一改为数组格式,废弃键值对格式的配置。\n */\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | AdvancedCompleterMap\n | MixedCompleter[]\n | undefined;\n\n @property({ attribute: false })\n accessor markers: Marker[] | undefined;\n\n @property({ attribute: false })\n accessor links: string[] | undefined;\n\n /**\n * @default Infinity\n */\n @property({ type: Number })\n accessor maxLines: number | undefined;\n\n @property({ attribute: false })\n accessor height: string | number | undefined;\n\n @property()\n accessor message: string | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 行数配置\n */\n @property()\n accessor lineNumbers: monaco.editor.LineNumbersType | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 在 brick_next_yaml 中是否开启语义相关校验\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor customValidationInBrickNextYaml: boolean | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * 显示字形边距\n * @default false\n */\n @property({ type: Boolean })\n accessor glyphMargin: boolean | undefined;\n\n /**\n * 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | undefined;\n\n /**\n * @default true\n */\n @property({ type: Boolean })\n accessor fixedOverflowWidgets: boolean | undefined;\n\n /**\n * 是否启用英语拼写检查\n * @default true\n */\n @property({ type: Boolean })\n accessor spellCheck: boolean | undefined;\n\n /**\n * 启用英语拼写检查时,除系统设置的词汇表外,指定其他的已知单词(小写)。\n */\n @property({ attribute: false })\n accessor knownWords: string[] | undefined;\n\n /**\n * 是否启用 DOM 相关接口的自动提示。\n */\n @property({ type: Boolean })\n accessor domLibsEnabled: boolean | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<any>;\n\n #handleChange = (value: string) => {\n this.value = value;\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n };\n\n #handleUserInput = (value: any) => {\n this.#userInput.emit(value);\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidator = (value: string) => {\n if (this.language === \"brick_next_yaml\" || this.language === \"yaml\") {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidator}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n lineNumbers={this.lineNumbers}\n glyphMargin={this.glyphMargin}\n placeholder={this.placeholder}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onUserInput={this.#handleUserInput}\n onTokenClick={this.#handleTokenClick}\n customValidationInBrickNextYaml={this.customValidationInBrickNextYaml}\n fixedOverflowWidgets={this.fixedOverflowWidgets}\n spellCheck={this.spellCheck}\n knownWords={this.knownWords}\n domLibsEnabled={this.domLibsEnabled}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n extraLibs,\n tokenConfig,\n showExpandButton,\n showCopyButton = true,\n lineNumbers = \"on\",\n glyphMargin = false,\n placeholder,\n validateState,\n onChange,\n // onUserInput,\n onTokenClick,\n customValidationInBrickNextYaml,\n fixedOverflowWidgets: _fixedOverflowWidgets,\n spellCheck: _spellCheck,\n knownWords,\n domLibsEnabled,\n}: CodeEditorProps & {\n onChange(value: string): void;\n onUserInput: (value: any) => void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const fixedOverflowWidgets = _fixedOverflowWidgets ?? true;\n const spellCheck = _spellCheck ?? true;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const isDarkTheme =\n computedTheme === \"vs-dark\" || computedTheme === \"hc-black\";\n\n useEffect(() => {\n const lineHighlightBackground = isDarkTheme ? \"#FFFFFF0F\" : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHighlightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [computedTheme, isDarkTheme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n Array.isArray(advancedCompleters) ? undefined : advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language, workerId, tokenConfig]);\n\n useEffect(() => {\n if (\n Array.isArray(advancedCompleters) &&\n advancedCompleters.length > 0 &&\n CEL_FAMILY.includes(language)\n ) {\n const disposable = monaco.languages.registerCompletionItemProvider(\n language,\n celSpecificCompletionProviderFactory(\n language,\n workerId,\n advancedCompleters\n )\n );\n return () => {\n disposable.dispose();\n };\n }\n }, [language, advancedCompleters, workerId]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (editor) {\n const currentModel = editor.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n }\n }\n }, [value]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n // istanbul ignore next: compatibility\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n // istanbul ignore next: compatibility\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n lineNumbersMinChars: expanded ? 5 : 3,\n });\n }, [readOnly, expanded]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const uri = getEmbeddedJavascriptUri(model.uri);\n monaco.editor.createModel(value, \"javascript\", uri);\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\n editorRef.current = monaco.editor.create(containerRef.current, {\n extraEditorClassName: \"monaco-editor-v3\",\n model,\n minimap: {\n enabled: false,\n showRegionSectionHeaders: false,\n showMarkSectionHeaders: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets,\n lineNumbers: lineNumbers,\n lineNumbersMinChars: 3,\n glyphMargin,\n folding: lineNumbers !== \"off\",\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n unicodeHighlight: {\n ambiguousCharacters: false,\n },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n\n useEffect(() => {\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n }, [language, domLibsEnabled, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n return () => {\n disposeEditor(editor);\n };\n }, []);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n\n const setupLanguageService = () => {\n setExtraLibs(extraLibs, { languageDefaults });\n\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n };\n\n if (isCurrentEditor(editor)) {\n setupLanguageService();\n }\n\n const disposable = editor.onDidFocusEditorWidget(() => {\n // Set language service for this particular editor instance\n if (switchEditor(editor)) {\n setupLanguageService();\n }\n });\n return () => {\n disposable.dispose();\n };\n }, [domLibsEnabled, extraLibs, language, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n if (!customValidationInBrickNextYaml) return;\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async (e) => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n // debounceParse();\n }\n if (!e.isFlush) {\n onChange(currentModel.getValue());\n }\n });\n return () => {\n listener.dispose();\n };\n }, [\n /* debounceParse, */ onChange,\n workerId,\n language,\n embeddedModelProcessor,\n ]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n if (!editorRef.current && !placeholder) return;\n const placeholderWidget = new PlaceholderContentWidget(\n placeholder!,\n editorRef.current!,\n isDarkTheme ? \"rgba(174,174,175,0.4)\" : \"rgba(89,89,89,0.4)\"\n );\n\n return () => {\n placeholderWidget.dispose();\n };\n }, [placeholder, isDarkTheme]);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!(editor && language === \"brick_next_yaml\")) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteYamlLinterWorker();\n if (ignore) {\n return;\n }\n const { lintMarkers, lintDecorations } = await worker.lint({\n source: editor.getValue(),\n links,\n markers,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n BRICK_NEXT_YAML_LINT,\n lintMarkers.map(({ start, end, message, severity, code }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n code: code as monaco.editor.IMarkerData[\"code\"],\n };\n })\n );\n decorationsCollection.current?.set(\n lintDecorations.map(({ start, end, options }) => ({\n range: monaco.Range.fromPositions(\n model.getPositionAt(start),\n model.getPositionAt(end)\n ),\n options,\n }))\n );\n };\n const debounceChange = debounce(handleChange, 200);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n\n return () => {\n ignore = true;\n change.dispose();\n monaco.editor.setModelMarkers(\n editor.getModel()!,\n BRICK_NEXT_YAML_LINT,\n []\n );\n };\n }, [language, links, markers, theme, workerId]);\n\n // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor || !spellCheck) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteSpellCheckWorker();\n if (ignore) {\n return;\n }\n const { markers: spellCheckMarkers } = await worker.spellCheck({\n source: editor.getValue(),\n knownWords,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n SPELL_CHECK,\n spellCheckMarkers.map(({ start, end, message, severity }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n };\n })\n );\n };\n const debounceChange = debounce(handleChange, 200);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n\n return () => {\n ignore = true;\n change.dispose();\n monaco.editor.setModelMarkers(editor.getModel()!, SPELL_CHECK, []);\n };\n }, [spellCheck, knownWords]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar-wrapper\">\n <div className=\"toolbar sticky\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","registerCel","registerCelYaml","registerCelStr","EMBEDDED_CEL","CEL_FAMILY","lang","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","provideEmbeddedCelCompletionItems","celCommonCompletionProviderFactory","enabled","copilotEnabled","copilotOptions","_getRuntime$getMiscSe","_getRuntime","getRuntime","getMiscSettings","globalMonacoEditorCopilotOptions","registerInlineCompletionsProvider","SUPPORTED_LANGUAGES","MonacoCopilotProvider","request","_ref","_response$choices","model","temperature","system","prompt","signal","AiopsBaseApi_openaiChat","enableSensitiveWordsFilter","stream","messages","role","content","interceptorParams","ignoreLoadingBar","choices","message","trim","HttpAbortError","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","SPELL_CHECK","BRICK_NEXT_YAML_LINT","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","_a","_b","_c","_CodeEditor_brand","WeakSet","_d","_handleChange","_handleUserInput","_e","_handleTokenClick","_handleValidator","CodeEditor","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_placeholder","_init_extra_placeholder","_init_showExpandButton","_init_extra_showExpandButton","_init_lineNumbers","_init_extra_lineNumbers","_init_tokenConfig","_init_extra_tokenConfig","_init_customValidationInBrickNextYaml","_init_extra_customValidationInBrickNextYaml","_init_showCopyButton","_init_extra_showCopyButton","_init_glyphMargin","_init_extra_glyphMargin","_init_extraLibs","_init_extra_extraLibs","_init_fixedOverflowWidgets","_init_extra_fixedOverflowWidgets","_init_spellCheck","_init_extra_spellCheck","_init_knownWords","_init_extra_knownWords","_init_domLibsEnabled","_init_extra_domLibsEnabled","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","language","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","fixedOverflowWidgets","spellCheck","knownWords","domLibsEnabled","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","onTokenClick","_ref2","_value","_language","_theme","_minLines","_maxLines","_height","_fixedOverflowWidgets","_spellCheck","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","computedTheme","isDarkTheme","useEffect","lineHighlightBackground","defineTheme","base","inherit","rules","colors","setTheme","current","currentModel","getModel","setModelLanguage","brickNextYAMLProviderCompletionItems","Array","isArray","undefined","monacoProviderRef","dispose","length","includes","disposable","celSpecificCompletionProviderFactory","editor","getValue","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","lineNumbersMinChars","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","extraEditorClassName","minimap","showRegionSectionHeaders","showMarkSectionHeaders","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","unicodeHighlight","ambiguousCharacters","createDecorationsCollection","languageDefaults","setCompilerOptions","allowNonTsExtensions","lib","ScriptTarget","ESNext","moduleResolution","ModuleResolutionKind","NodeJs","disposeEditor","setupLanguageService","setExtraLibs","isCurrentEditor","onDidFocusEditorWidget","switchEditor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","item","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","newUri","offset","getOffsetAt","EmbeddedModelContext","getInstance","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","_item$start","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","endLineNumber","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","isFlush","fn","key","window","removeEventListener","addEventListener","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","ignore","debounceChange","debounce","_decorationsCollectio","getRemoteYamlLinterWorker","lintMarkers","lintDecorations","lint","source","_ref3","end","code","startPos","endPos","_ref4","fromPositions","change","onDidChangeModelContent","getRemoteSpellCheckWorker","spellCheckMarkers","_ref5","className","classNames","error","ref","overflow","COPY","icon","onClick","COLLAPSE","EXPAND","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"chunks/7242.bb0466da.js","mappings":"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","sources":["webpack:///./src/code-editor/index.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { getRuntime } from \"@next-core/runtime\";\nimport { HttpAbortError } from \"@next-core/http\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { uniqueId, debounce } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport {\n AdvancedCompleterMap,\n ExtraLib,\n type MixedCompleter,\n} from \"./interfaces.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport { Level } from \"./utils/constants.js\";\nimport { setEditorId } from \"./utils/editorId.js\";\nimport {\n getEmbeddedJavascriptUri,\n getBrickYamlBuiltInDeclare,\n} from \"./utils/jsSuggestInBrickYaml.js\";\nimport type { EoTooltip, ToolTipProps } from \"@next-bricks/basic/tooltip\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport type { copyToClipboard as _copyToClipboard } from \"@next-bricks/basic/data-providers/copy-to-clipboard\";\nimport type { showNotification as _showNotification } from \"@next-bricks/basic/data-providers/show-notification/show-notification\";\nimport classNames from \"classnames\";\nimport {\n MonacoCopilotProvider,\n SUPPORTED_LANGUAGES,\n} from \"@next-shared/monaco-copilot\";\nimport { AiopsBaseApi_openaiChat } from \"@next-api-sdk/llm-sdk\";\nimport \"./index.css\";\nimport { EmbeddedModelContext } from \"./utils/embeddedModelState.js\";\nimport { PlaceholderContentWidget } from \"./widget/Placeholder.js\";\nimport { getRemoteYamlLinterWorker } from \"./workers/yamlLinter.js\";\nimport { getRemoteSpellCheckWorker } from \"./workers/spellCheckRemoteWorker.js\";\nimport { register as registerCel } from \"./languages/cel.js\";\nimport { register as registerCelYaml } from \"./languages/cel-yaml.js\";\nimport { register as registerCelStr } from \"./languages/cel-str.js\";\nimport {\n provideEmbeddedCelCompletionItems,\n celCommonCompletionProviderFactory,\n celSpecificCompletionProviderFactory,\n} from \"./utils/celCompletionProvider.js\";\nimport {\n disposeEditor,\n isCurrentEditor,\n switchEditor,\n} from \"./utils/EditorService.js\";\nimport { setExtraLibs } from \"./utils/setExtraLibs.js\";\n\ninitializeReactI18n(NS, locales);\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\nregisterCel(monaco);\nregisterCelYaml(monaco);\nregisterCelStr(monaco);\n\nconst EMBEDDED_CEL = [\"cel_yaml\", \"cel_str\"];\nconst CEL_FAMILY = [\"cel\", ...EMBEDDED_CEL];\nfor (const lang of EMBEDDED_CEL) {\n monaco.languages.registerCompletionItemProvider(lang, {\n triggerCharacters: [\"<\"],\n provideCompletionItems: provideEmbeddedCelCompletionItems,\n });\n}\n\nfor (const lang of CEL_FAMILY) {\n monaco.languages.registerCompletionItemProvider(\n lang,\n celCommonCompletionProviderFactory(lang)\n );\n}\n\n// istanbul ignore next\nconst { enabled: copilotEnabled, ...copilotOptions } =\n (getRuntime()?.getMiscSettings().globalMonacoEditorCopilotOptions ?? {}) as {\n enabled?: boolean;\n model?: string;\n debounce?: number;\n timeout?: number;\n };\n\n// istanbul ignore next\nif (copilotEnabled) {\n monaco.languages.registerInlineCompletionsProvider(\n SUPPORTED_LANGUAGES,\n new MonacoCopilotProvider({\n ...copilotOptions,\n async request({ model, temperature, system, prompt, signal }) {\n const response = await AiopsBaseApi_openaiChat(\n {\n model,\n temperature,\n enableSensitiveWordsFilter: false,\n stream: false,\n messages: [\n ...(system ? [{ role: \"system\", content: system }] : []),\n { role: \"user\", content: prompt },\n ],\n },\n {\n signal,\n interceptorParams: {\n ignoreLoadingBar: true,\n },\n }\n );\n return response.choices?.[0]?.message?.content?.trim();\n },\n HttpAbortError,\n })\n );\n}\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\nconst WrappedTooltip = wrapBrick<EoTooltip, ToolTipProps>(\"eo-tooltip\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\nconst copyToClipboard = unwrapProvider<typeof _copyToClipboard>(\n \"basic.copy-to-clipboard\"\n);\nconst showNotification = unwrapProvider<typeof _showNotification>(\n \"basic.show-notification\"\n);\n\nconst SPELL_CHECK = \"spell_check\";\nconst BRICK_NEXT_YAML_LINT = \"brick_next_yaml_lint\";\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n placeholder?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n tokenConfig?: TokenConfig;\n advancedCompleters?: AdvancedCompleterMap | MixedCompleter[];\n extraLibs?: ExtraLib[];\n markers?: Marker[];\n links?: string[];\n showExpandButton?: boolean;\n showCopyButton?: boolean;\n lineNumbers?: monaco.editor.LineNumbersType;\n glyphMargin?: boolean;\n validateState?: string;\n customValidationInBrickNextYaml?: boolean;\n fixedOverflowWidgets?: boolean;\n spellCheck?: boolean;\n knownWords?: string[];\n domLibsEnabled?: boolean;\n}\n\nexport interface Marker {\n token: string;\n level?: keyof typeof Level;\n message?: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\nexport type TokenConfig = {\n showDSKey?: boolean;\n};\n\n/**\n * 构件代码编辑器\n * @category form-input-advanced\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property()\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n /**\n * 仅对 language 为 brick_next_yaml 有效,设置第一层属性名的自动补全。\n */\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n /**\n * 高级自动补全配置。\n * - 设置为键值对时,仅对 language 为 brick_next_yaml 有效,设置任意的自动补全;\n * - 设置为数组时,当前仅对 language 为 cel 有效。\n * 未来将统一改为数组格式,废弃键值对格式的配置。\n */\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | AdvancedCompleterMap\n | MixedCompleter[]\n | undefined;\n\n @property({ attribute: false })\n accessor markers: Marker[] | undefined;\n\n @property({ attribute: false })\n accessor links: string[] | undefined;\n\n /**\n * @default Infinity\n */\n @property({ type: Number })\n accessor maxLines: number | undefined;\n\n @property({ attribute: false })\n accessor height: string | number | undefined;\n\n @property()\n accessor message: string | undefined;\n\n @property()\n accessor placeholder: string | undefined;\n\n /**\n * 是否展示展开按钮\n */\n @property({ type: Boolean })\n accessor showExpandButton: boolean | undefined;\n\n /**\n * 行数配置\n */\n @property()\n accessor lineNumbers: monaco.editor.LineNumbersType | undefined;\n\n /**\n * 自定义高亮配置\n */\n @property({\n attribute: false,\n })\n accessor tokenConfig: TokenConfig | undefined;\n\n /**\n * 在 brick_next_yaml 中是否开启语义相关校验\n * @default false\n */\n @property({\n type: Boolean,\n })\n accessor customValidationInBrickNextYaml: boolean | undefined;\n\n /**\n * 是否展示复制按钮\n * @default true\n */\n @property({ type: Boolean })\n accessor showCopyButton: boolean | undefined;\n\n /**\n * 显示字形边距\n * @default false\n */\n @property({ type: Boolean })\n accessor glyphMargin: boolean | undefined;\n\n /**\n * 额外声明的 lib 库\n */\n @property({\n attribute: false,\n })\n accessor extraLibs: ExtraLib[] | undefined;\n\n /**\n * @default true\n */\n @property({ type: Boolean })\n accessor fixedOverflowWidgets: boolean | undefined;\n\n /**\n * 是否启用英语拼写检查\n * @default true\n */\n @property({ type: Boolean })\n accessor spellCheck: boolean | undefined;\n\n /**\n * 启用英语拼写检查时,除系统设置的词汇表外,指定其他的已知单词(小写)。\n */\n @property({ attribute: false })\n accessor knownWords: string[] | undefined;\n\n /**\n * 是否启用 DOM 相关接口的自动提示。\n */\n @property({ type: Boolean })\n accessor domLibsEnabled: boolean | undefined;\n\n @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<any>;\n\n #handleChange = (value: string) => {\n this.value = value;\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(value);\n };\n\n #handleUserInput = (value: any) => {\n this.#userInput.emit(value);\n };\n\n @event({ type: \"token.click\" })\n accessor #tokenClickEvent!: EventEmitter<string>;\n\n #handleTokenClick = (word: string) => {\n this.#tokenClickEvent.emit(word);\n };\n\n #handleValidator = (value: string) => {\n if (this.language === \"brick_next_yaml\" || this.language === \"yaml\") {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\n }\n }\n return \"\";\n };\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <WrappedFormItem\n exportparts=\"message\"\n curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n helpBrick={this.helpBrick}\n labelBrick={this.labelBrick}\n notRender={this.notRender}\n validator={this.#handleValidator}\n >\n <CodeEditorComponent\n value={this.value}\n language={this.language}\n readOnly={this.readOnly}\n theme={this.theme}\n automaticLayout={this.automaticLayout}\n minLines={this.minLines}\n maxLines={this.maxLines}\n height={this.height}\n completers={this.completers}\n advancedCompleters={this.advancedCompleters}\n extraLibs={this.extraLibs}\n markers={this.markers}\n links={this.links}\n tokenConfig={this.tokenConfig}\n lineNumbers={this.lineNumbers}\n glyphMargin={this.glyphMargin}\n placeholder={this.placeholder}\n showCopyButton={this.showCopyButton}\n showExpandButton={this.showExpandButton}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onUserInput={this.#handleUserInput}\n onTokenClick={this.#handleTokenClick}\n customValidationInBrickNextYaml={this.customValidationInBrickNextYaml}\n fixedOverflowWidgets={this.fixedOverflowWidgets}\n spellCheck={this.spellCheck}\n knownWords={this.knownWords}\n domLibsEnabled={this.domLibsEnabled}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n extraLibs,\n tokenConfig,\n showExpandButton,\n showCopyButton = true,\n lineNumbers = \"on\",\n glyphMargin = false,\n placeholder,\n validateState,\n onChange,\n // onUserInput,\n onTokenClick,\n customValidationInBrickNextYaml,\n fixedOverflowWidgets: _fixedOverflowWidgets,\n spellCheck: _spellCheck,\n knownWords,\n domLibsEnabled,\n}: CodeEditorProps & {\n onChange(value: string): void;\n onUserInput: (value: any) => void;\n onTokenClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n const fixedOverflowWidgets = _fixedOverflowWidgets ?? true;\n const spellCheck = _spellCheck ?? true;\n const [expanded, setExpanded] = useState(false);\n const workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const { t } = useTranslation(NS);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n const computedTheme =\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme;\n const isDarkTheme =\n computedTheme === \"vs-dark\" || computedTheme === \"hc-black\";\n\n useEffect(() => {\n const lineHighlightBackground = isDarkTheme ? \"#FFFFFF0F\" : \"#0000000A\";\n monaco.editor.defineTheme(\"custom-theme\", {\n base: computedTheme as \"vs-dark\" | \"vs\",\n inherit: true,\n rules: [],\n colors: {\n \"editor.lineHighlightBackground\": `${lineHighlightBackground}`,\n },\n });\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\"custom-theme\");\n }, [computedTheme, isDarkTheme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n }\n }, [language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n Array.isArray(advancedCompleters) ? undefined : advancedCompleters,\n workerId,\n tokenConfig\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n } as monaco.languages.CompletionItemProvider\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language, workerId, tokenConfig]);\n\n useEffect(() => {\n if (\n Array.isArray(advancedCompleters) &&\n advancedCompleters.length > 0 &&\n CEL_FAMILY.includes(language)\n ) {\n const disposable = monaco.languages.registerCompletionItemProvider(\n language,\n celSpecificCompletionProviderFactory(\n language,\n workerId,\n advancedCompleters\n )\n );\n return () => {\n disposable.dispose();\n };\n }\n }, [language, advancedCompleters, workerId]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (editor) {\n const currentModel = editor.getModel();\n if (currentModel?.getValue && value !== currentModel.getValue()) {\n currentModel.setValue(value as string);\n }\n }\n }, [value]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n // istanbul ignore next: compatibility\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].inlineSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .inlineSize\n : entry.contentRect.width;\n // istanbul ignore next: compatibility\n const newHeight = entry.contentBoxSize\n ? entry.contentBoxSize[0]\n ? entry.contentBoxSize[0].blockSize\n : (entry.contentBoxSize as unknown as ResizeObserverSize)\n .blockSize\n : entry.contentRect.height;\n if (newWidth !== size.current.width || expanded) {\n size.current.width = newWidth;\n editorRef.current?.layout({\n width: newWidth,\n height: expanded ? newHeight : size.current.height,\n });\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, [expanded]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n lineNumbersMinChars: expanded ? 5 : 3,\n });\n }, [readOnly, expanded]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n if (language === \"brick_next_yaml\") {\n // 注册嵌套的 model, language 为 js\n const uri = getEmbeddedJavascriptUri(model.uri);\n monaco.editor.createModel(value, \"javascript\", uri);\n monaco.languages.typescript.javascriptDefaults.addExtraLib(\n getBrickYamlBuiltInDeclare(),\n model.uri.toString() + \"d.ts\"\n );\n }\n\n editorRef.current = monaco.editor.create(containerRef.current, {\n extraEditorClassName: \"monaco-editor-v3\",\n model,\n minimap: {\n enabled: false,\n showRegionSectionHeaders: false,\n showMarkSectionHeaders: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n fixedOverflowWidgets,\n lineNumbers: lineNumbers,\n lineNumbersMinChars: 3,\n glyphMargin,\n folding: lineNumbers !== \"off\",\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n renderLineHighlightOnlyWhenFocus: true,\n unicodeHighlight: {\n ambiguousCharacters: false,\n },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const languageDefaults =\n language === \"typescript\" ? \"typescriptDefaults\" : \"javascriptDefaults\";\n\n useEffect(() => {\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n }, [language, domLibsEnabled, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n return () => {\n disposeEditor(editor);\n };\n }, []);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor) {\n return;\n }\n\n const setupLanguageService = () => {\n setExtraLibs(extraLibs, { languageDefaults });\n\n if (\n language === \"javascript\" ||\n language === \"typescript\" ||\n language === \"brick_next_yaml\"\n ) {\n monaco.languages.typescript[languageDefaults].setCompilerOptions({\n allowNonTsExtensions: true,\n lib: domLibsEnabled ? undefined : [\"esnext\"],\n target: monaco.languages.typescript.ScriptTarget.ESNext,\n moduleResolution:\n monaco.languages.typescript.ModuleResolutionKind.NodeJs,\n });\n }\n };\n\n if (isCurrentEditor(editor)) {\n setupLanguageService();\n }\n\n const disposable = editor.onDidFocusEditorWidget(() => {\n // Set language service for this particular editor instance\n if (switchEditor(editor)) {\n setupLanguageService();\n }\n });\n return () => {\n disposable.dispose();\n };\n }, [domLibsEnabled, extraLibs, language, languageDefaults]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (language === \"brick_next_yaml\" && editor) {\n const model = editor.getModel()!;\n const editorMouseDownEvent = editor.onMouseDown(function (e) {\n const decorations = decorationsCollection.current;\n (decorations?.getRanges?.() ?? []).forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n onTokenClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (expanded) return;\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines, expanded]);\n\n // istanbul ignore next\n const embeddedModelProcessor = useCallback(\n async (model: monaco.editor.IModel, position: monaco.Position) => {\n monaco.editor.setModelMarkers(model, \"semantic_validate\", []);\n\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%[~=]?\",\n position,\n true,\n false,\n null,\n false\n );\n\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n\n const prefixEvaluateRange = prefixEvaluateOperator?.range;\n const suffixEvaluateRange = suffixEvaluateOperator?.range;\n\n if (prefixEvaluateRange && suffixEvaluateRange) {\n const range = new monaco.Range(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn,\n suffixEvaluateRange.startLineNumber,\n suffixEvaluateRange.startColumn\n );\n\n const content = model.getValueInRange(range);\n if (range.containsPosition(position!) && !/<% | %>/.test(content)) {\n const newUri = getEmbeddedJavascriptUri(model.uri);\n const embeddedModel = monaco.editor.getModel(newUri);\n\n embeddedModel!.setValue(content);\n const offset = model.getOffsetAt(\n new monaco.Position(\n prefixEvaluateRange.startLineNumber,\n prefixEvaluateRange.endColumn\n )\n );\n\n const embeddedContext = EmbeddedModelContext.getInstance(workerId);\n\n embeddedContext.updateState({ content, range, offset });\n\n if (!customValidationInBrickNextYaml) return;\n\n const getWorker =\n await monaco.languages.typescript.getJavaScriptWorker();\n\n const worker = await getWorker(newUri);\n\n const diagnostics = await worker.getSemanticDiagnostics(\n newUri.toString()\n );\n\n const semanticMarkers = diagnostics.map((item) => {\n const finalOffset = offset + (item.start ?? 0);\n const currentPosition = model.getPositionAt(finalOffset);\n\n return {\n startLineNumber: currentPosition.lineNumber,\n startColumn: currentPosition.column,\n endLineNumber: currentPosition.lineNumber,\n endColumn: currentPosition.column + item.length!,\n message: item.messageText as string,\n severity: monaco.MarkerSeverity.Warning,\n };\n });\n\n monaco.editor.setModelMarkers(\n model,\n \"semantic_validate\",\n semanticMarkers\n );\n }\n }\n },\n [workerId]\n );\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(async (e) => {\n setEditorId(workerId);\n\n if ([\"brick_next_yaml\"].includes(language)) {\n embeddedModelProcessor(currentModel, editorRef.current!.getPosition()!);\n // debounceParse();\n }\n if (!e.isFlush) {\n onChange(currentModel.getValue());\n }\n });\n return () => {\n listener.dispose();\n };\n }, [\n /* debounceParse, */ onChange,\n workerId,\n language,\n embeddedModelProcessor,\n ]);\n\n useEffect(() => {\n if (expanded) {\n const fn = (e: KeyboardEvent): void => {\n if (e.key === \"Escape\" || e.key === \"Esc\") {\n window.removeEventListener(\"keydown\", fn);\n setExpanded(false);\n }\n };\n window.addEventListener(\"keydown\", fn);\n return () => {\n window.removeEventListener(\"keydown\", fn);\n };\n }\n }, [expanded]);\n\n useEffect(() => {\n if (!editorRef.current && !placeholder) return;\n const placeholderWidget = new PlaceholderContentWidget(\n placeholder!,\n editorRef.current!,\n isDarkTheme ? \"rgba(174,174,175,0.4)\" : \"rgba(89,89,89,0.4)\"\n );\n\n return () => {\n placeholderWidget.dispose();\n };\n }, [placeholder, isDarkTheme]);\n\n const handleCopyIconClick = useCallback(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n copyToClipboard(currentModel.getValue())\n .then(() =>\n showNotification({ type: \"success\", message: t(K.COPY_SUCCESS) })\n )\n .catch(() =>\n showNotification({ type: \"error\", message: t(K.COPY_FAILED) })\n );\n }\n }, [t]);\n\n const handleExpandedClick = useCallback(() => {\n setExpanded(!expanded);\n }, [expanded]);\n\n // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!(editor && language === \"brick_next_yaml\")) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteYamlLinterWorker();\n if (ignore) {\n return;\n }\n const { lintMarkers, lintDecorations } = await worker.lint({\n source: editor.getValue(),\n links,\n markers,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n BRICK_NEXT_YAML_LINT,\n lintMarkers.map(({ start, end, message, severity, code }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n code: code as monaco.editor.IMarkerData[\"code\"],\n };\n })\n );\n decorationsCollection.current?.set(\n lintDecorations.map(({ start, end, options }) => ({\n range: monaco.Range.fromPositions(\n model.getPositionAt(start),\n model.getPositionAt(end)\n ),\n options,\n }))\n );\n };\n const debounceChange = debounce(handleChange, 200);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n\n return () => {\n ignore = true;\n change.dispose();\n monaco.editor.setModelMarkers(\n editor.getModel()!,\n BRICK_NEXT_YAML_LINT,\n []\n );\n };\n }, [language, links, markers, theme, workerId]);\n\n // istanbul ignore next\n useEffect(() => {\n const editor = editorRef.current;\n if (!editor || !spellCheck) {\n return;\n }\n\n let ignore = false;\n const handleChange = async () => {\n const worker = await getRemoteSpellCheckWorker();\n if (ignore) {\n return;\n }\n const { markers: spellCheckMarkers } = await worker.spellCheck({\n source: editor.getValue(),\n knownWords,\n });\n const model = editor.getModel();\n if (ignore || !model) {\n return;\n }\n monaco.editor.setModelMarkers(\n model,\n SPELL_CHECK,\n spellCheckMarkers.map(({ start, end, message, severity }) => {\n const startPos = model.getPositionAt(start);\n const endPos = model.getPositionAt(end);\n return {\n startLineNumber: startPos.lineNumber,\n startColumn: startPos.column,\n endLineNumber: endPos.lineNumber,\n endColumn: endPos.column,\n severity: monaco.MarkerSeverity[severity],\n message,\n };\n })\n );\n };\n const debounceChange = debounce(handleChange, 200);\n const change = editor.onDidChangeModelContent(debounceChange);\n debounceChange();\n\n return () => {\n ignore = true;\n change.dispose();\n monaco.editor.setModelMarkers(editor.getModel()!, SPELL_CHECK, []);\n };\n }, [spellCheck, knownWords]);\n\n return (\n <div\n className={classNames(\"code-editor-wrapper\", {\n expanded,\n error: validateState === \"error\",\n })}\n >\n <div\n ref={containerRef}\n style={{\n height: expanded ? \"100%\" : actualHeight,\n overflow: expanded ? \"scroll\" : \"\",\n }}\n />\n <div className=\"toolbar-wrapper\">\n <div className=\"toolbar sticky\">\n {showCopyButton && (\n <WrappedTooltip content={t(K.COPY) as string}>\n <WrappedIcon\n className=\"copy-icon\"\n icon=\"copy\"\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleCopyIconClick}\n />\n </WrappedTooltip>\n )}\n {showExpandButton && (\n <WrappedTooltip\n content={(expanded ? t(K.COLLAPSE) : t(K.EXPAND)) as string}\n >\n <WrappedIcon\n className=\"expand-icon\"\n icon={expanded ? \"compress\" : \"expand\"}\n lib=\"antd\"\n theme=\"outlined\"\n onClick={handleExpandedClick}\n />\n </WrappedTooltip>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nfunction getContentHeightByCode(\n code: string,\n minLines: number,\n maxLines: number\n): number {\n return getContentHeightByLines(\n Math.min(maxLines, Math.max(minLines, code.split(\"\\n\").length))\n );\n}\n\nfunction fixEditorHeightWithScrollBar(\n contentHeight: number,\n minLines: number,\n maxLines: number\n): number {\n let fixedHeight = contentHeight;\n if ((contentHeight - EDITOR_PADDING_VERTICAL) % EDITOR_LINE_HEIGHT === 0) {\n fixedHeight = contentHeight + EDITOR_SCROLLBAR_SIZE;\n }\n return Math.min(\n getContentHeightByLines(maxLines),\n Math.max(fixedHeight, getContentHeightByLines(minLines))\n );\n}\n\nfunction getContentHeightByLines(lines: number): number {\n return (\n lines * EDITOR_LINE_HEIGHT + EDITOR_SCROLLBAR_SIZE + EDITOR_PADDING_VERTICAL\n );\n}\n\n/** Get the direct DOM container of `vs.code-editor` */\nfunction getDOMContainer(element: HTMLElement | null) {\n let brick = element;\n while (brick) {\n const found = brick.tagName.toLowerCase() === \"vs.code-editor\";\n brick = brick.parentElement;\n if (found) {\n return brick;\n }\n }\n}\n"],"names":["initializeReactI18n","NS","locales","registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","registerCel","registerCelYaml","registerCelStr","EMBEDDED_CEL","CEL_FAMILY","lang","registerCompletionItemProvider","triggerCharacters","provideCompletionItems","provideEmbeddedCelCompletionItems","celCommonCompletionProviderFactory","enabled","copilotEnabled","copilotOptions","_getRuntime$getMiscSe","_getRuntime","getRuntime","getMiscSettings","globalMonacoEditorCopilotOptions","registerInlineCompletionsProvider","SUPPORTED_LANGUAGES","MonacoCopilotProvider","request","_ref","_response$choices","model","temperature","system","prompt","signal","AiopsBaseApi_openaiChat","enableSensitiveWordsFilter","stream","messages","role","content","interceptorParams","ignoreLoadingBar","choices","message","trim","HttpAbortError","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","WrappedTooltip","WrappedIcon","copyToClipboard","unwrapProvider","showNotification","SPELL_CHECK","BRICK_NEXT_YAML_LINT","_CodeEditor","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_T","_U","_V","_W","_X","_Y","_Z","_a","_b","_c","_CodeEditor_brand","WeakSet","_d","_handleChange","_handleUserInput","_e","_handleTokenClick","_handleValidator","CodeEditor","FormItemElementBase","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_init_name","_init_extra_name","_init_label","_init_extra_label","_init_value","_init_extra_value","_init_language","_init_extra_language","_init_theme","_init_extra_theme","_init_required","_init_extra_required","_init_readOnly","_init_extra_readOnly","_init_automaticLayout","_init_extra_automaticLayout","_init_minLines","_init_extra_minLines","_init_completers","_init_extra_completers","_init_advancedCompleters","_init_extra_advancedCompleters","_init_markers","_init_extra_markers","_init_links","_init_extra_links","_init_maxLines","_init_extra_maxLines","_init_height","_init_extra_height","_init_message","_init_extra_message","_init_placeholder","_init_extra_placeholder","_init_showExpandButton","_init_extra_showExpandButton","_init_lineNumbers","_init_extra_lineNumbers","_init_tokenConfig","_init_extra_tokenConfig","_init_customValidationInBrickNextYaml","_init_extra_customValidationInBrickNextYaml","_init_showCopyButton","_init_extra_showCopyButton","_init_glyphMargin","_init_extra_glyphMargin","_init_extraLibs","_init_extra_extraLibs","_init_fixedOverflowWidgets","_init_extra_fixedOverflowWidgets","_init_spellCheck","_init_extra_spellCheck","_init_knownWords","_init_extra_knownWords","_init_domLibsEnabled","_init_extra_domLibsEnabled","_init_codeChange","_init_extra_codeChange","_init_userInput","_init_extra_userInput","value","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateGetter","_get_codeChange","emit","_get_userInput","_init_tokenClickEvent","_init_extra_tokenClickEvent","word","_get_tokenClickEvent","language","yaml","_classPrivateFieldGet","v","_classPrivateFieldSet","label","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","placeholder","showExpandButton","lineNumbers","tokenConfig","customValidationInBrickNextYaml","showCopyButton","glyphMargin","extraLibs","fixedOverflowWidgets","spellCheck","knownWords","domLibsEnabled","connectedCallback","style","display","super","render","React","exportparts","curElement","formElement","helpBrick","labelBrick","notRender","validator","CodeEditorComponent","validateState","onUserInput","onTokenClick","_ref2","_value","_language","_theme","_minLines","_maxLines","_height","_fixedOverflowWidgets","_spellCheck","Infinity","expanded","setExpanded","useState","workerId","useMemo","uniqueId","t","useTranslation","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","automaticLayoutRef","systemTheme","useCurrentTheme","computedTheme","isDarkTheme","useEffect","lineHighlightBackground","defineTheme","base","inherit","rules","colors","setTheme","current","currentModel","getModel","setModelLanguage","brickNextYAMLProviderCompletionItems","Array","isArray","undefined","monacoProviderRef","dispose","length","includes","disposable","celSpecificCompletionProviderFactory","editor","getValue","setValue","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","newWidth","contentBoxSize","inlineSize","contentRect","newHeight","blockSize","_editorRef$current2","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","lineNumbersMinChars","createModel","uri","getEmbeddedJavascriptUri","typescript","javascriptDefaults","addExtraLib","getBrickYamlBuiltInDeclare","toString","create","extraEditorClassName","minimap","showRegionSectionHeaders","showMarkSectionHeaders","scrollBeyondLastLine","tabSize","insertSpaces","fontSize","EDITOR_FONT_SIZE","lineHeight","EDITOR_LINE_HEIGHT","scrollbar","horizontalScrollbarSize","EDITOR_SCROLLBAR_SIZE","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","EDITOR_PADDING_VERTICAL","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","folding","suggest","insertMode","preview","quickSuggestions","strings","other","comments","renderLineHighlightOnlyWhenFocus","unicodeHighlight","ambiguousCharacters","createDecorationsCollection","languageDefaults","setCompilerOptions","allowNonTsExtensions","lib","ScriptTarget","ESNext","moduleResolution","ModuleResolutionKind","NodeJs","disposeEditor","setupLanguageService","setExtraLibs","isCurrentEditor","onDidFocusEditorWidget","switchEditor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","range","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","map","item","options","inlineClassName","equalsRange","set","listener","onDidContentSizeChange","contentHeightChanged","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","embeddedModelProcessor","useCallback","async","setModelMarkers","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixEvaluateRange","suffixEvaluateRange","startLineNumber","endColumn","startColumn","newUri","offset","getOffsetAt","EmbeddedModelContext","getInstance","updateState","getWorker","getJavaScriptWorker","worker","semanticMarkers","getSemanticDiagnostics","_item$start","finalOffset","start","currentPosition","getPositionAt","lineNumber","column","endLineNumber","messageText","severity","Warning","onDidChangeContent","setEditorId","getPosition","isFlush","fn","key","window","removeEventListener","addEventListener","placeholderWidget","PlaceholderContentWidget","handleCopyIconClick","then","type","K","COPY_SUCCESS","catch","COPY_FAILED","handleExpandedClick","ignore","debounceChange","debounce","_decorationsCollectio","getRemoteYamlLinterWorker","lintMarkers","lintDecorations","lint","source","_ref3","end","code","startPos","endPos","_ref4","fromPositions","change","onDidChangeModelContent","getRemoteSpellCheckWorker","spellCheckMarkers","_ref5","className","classNames","error","ref","overflow","COPY","icon","onClick","COLLAPSE","EXPAND","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","_CodeEditor2","_set_codeChange","_set_userInput","_set_tokenClickEvent","c","_initClass","_applyDecs","shadowOptions","Boolean","Number","attribute","o","_","has","_checkInRHS"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
(globalThis.webpackChunk_next_bricks_vs=globalThis.webpackChunk_next_bricks_vs||[]).push([[871],{871:(e,t,n)=>{"use strict";n.r(t),n.d(t,{JsonStorage:()=>w,createProviderClass:()=>o,createSSEStream:()=>d,deepFreeze:()=>v,hasOwnProperty:()=>p,isObject:()=>h,unwrapProvider:()=>y});var r=n(2679);function o(e){return class extends HTMLElement{get $$typeof(){return"provider"}resolve(){return e(...arguments)}async saveAs(t){for(var n=arguments.length,o=new Array(n>1?n-1:0),a=1;a<n;a++)o[a-1]=arguments[a];const s=await e(...o);(0,r.saveAs)(s,t)}}}var a=function(e,t){var n={};for(var r in e)Object.prototype.hasOwnProperty.call(e,r)&&t.indexOf(r)<0&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols){var o=0;for(r=Object.getOwnPropertySymbols(e);o<r.length;o++)t.indexOf(r[o])<0&&Object.prototype.propertyIsEnumerable.call(e,r[o])&&(n[r[o]]=e[r[o]])}return n};const s="text/event-stream",i=1e3,c="last-event-id";function l(e,t){var{signal:n,headers:r,onopen:o,onmessage:l,onclose:d,onerror:f,openWhenHidden:v,fetch:p}=t,h=a(t,["signal","headers","onopen","onmessage","onclose","onerror","openWhenHidden","fetch"]);return new Promise(((t,a)=>{const w=Object.assign({},r);let g;function y(){g.abort(),document.hidden||j()}w.accept||(w.accept=s),v||document.addEventListener("visibilitychange",y);let b=i,m=0;function O(){document.removeEventListener("visibilitychange",y),window.clearTimeout(m),g.abort()}null==n||n.addEventListener("abort",(()=>{O(),t()}));const E=null!=p?p:window.fetch,k=null!=o?o:u;async function j(){var n;g=new AbortController;try{const n=await E(e,Object.assign(Object.assign({},h),{headers:w,signal:g.signal}));await k(n),await async function(e,t){const n=e.getReader();let r;for(;!(r=await n.read()).done;)t(r.value)}(n.body,function(e){let t,n,r,o=!1;return function(a){void 0===t?(t=a,n=0,r=-1):t=function(e,t){const n=new Uint8Array(e.length+t.length);return n.set(e),n.set(t,e.length),n}(t,a);const s=t.length;let i=0;for(;n<s;){o&&(10===t[n]&&(i=++n),o=!1);let a=-1;for(;n<s&&-1===a;++n)switch(t[n]){case 58:-1===r&&(r=n-i);break;case 13:o=!0;case 10:a=n}if(-1===a)break;e(t.subarray(i,a),r),i=n,r=-1}i===s?t=void 0:0!==i&&(t=t.subarray(i),n-=i)}}(function(e,t,n){let r={data:"",event:"",id:"",retry:void 0};const o=new TextDecoder;return function(e,t){if(0===e.length)null==n||n(r),r={data:"",event:"",id:"",retry:void 0};else if(t>0){const n=o.decode(e.subarray(0,t)),s=t+(32===e[t+1]?2:1),i=o.decode(e.subarray(s));switch(n){case"data":r.data=r.data?r.data+"\n"+i:i;break;case"event":r.event=i;break;case"id":(a=r.id=i)?w[c]=a:delete w[c];break;case"retry":const e=parseInt(i,10);isNaN(e)||(e=>{b=e})(r.retry=e)}}var a}}(0,0,l))),null==d||d(),O(),t()}catch(e){if(!g.signal.aborted)try{const t=null!==(n=null==f?void 0:f(e))&&void 0!==n?n:b;window.clearTimeout(m),m=window.setTimeout(j,t)}catch(e){O(),a(e)}}}j()}))}function u(e){const t=e.headers.get("content-type");if(!(null==t?void 0:t.startsWith(s)))throw new Error(`Expected content-type to be ${s}, Actual: ${t}`)}async function d(e,t){const n=[],r=[];let o=!1,a=!1;const{converter:s,...i}=null!=t?t:{};function c(){r.forEach((e=>{let[t]=e;return t({value:void 0,done:!0})}))}function u(){o=!0,r.length=0,n.length=0}return await new Promise(((t,o)=>{l(e,{...i,openWhenHidden:!0,async onopen(e){if(!e.ok){var n;let t,r;console.error("open error",e.statusText);try{t=await e.text()}catch{throw new Error(e.statusText)}try{r=JSON.parse(t)}catch{}if("string"==typeof(null===(n=r)||void 0===n?void 0:n.error))throw new Error(r.error);throw new Error(t)}t(null)},onmessage(e){let t,o,a=!0;try{t=(null!=s?s:f)(e.data,e.event)}catch(e){a=!1,o=e}if(r.length>0){const[e,n]=r.shift();a?e(t):n(o)}else n.push(a?{ok:!0,data:t}:{ok:!1,reason:o})},onclose(){a=!0,c()},onerror(e){throw e}}).catch((e=>{o(e),function(e){r.forEach((t=>{let[n,r]=t;return r(e)})),u()}(e)}))})),{next(){return o?this.return():new Promise(((e,t)=>{if(n.length>0){const r=n.shift();r.ok?e(r.data):t(r.reason)}else a?(u(),e({value:void 0,done:!0})):r.push([e,t])}))},return:()=>(c(),u(),Promise.resolve({value:void 0,done:!0})),throw:e=>(c(),u(),Promise.reject(e)),[Symbol.asyncIterator](){return this}}}function f(e,t){if("error"===t){var n;let t;console.error("Received error event:",e);try{t=JSON.parse(e)}catch{}throw new Error("string"==typeof(null===(n=t)||void 0===n?void 0:n.error)?t.error:e)}if("[DONE]"===e)return{value:void 0,done:!0};if(e.startsWith("[ERROR]"))throw console.error("Received error message:",e),new Error(e);try{return{value:JSON.parse(e),done:!1}}catch(t){throw console.error("Failed to parse message:",e),t}}function v(e){const t=Object.getOwnPropertyNames(e);for(const n of t){const t=e[n];t&&"object"==typeof t&&v(t)}return Object.freeze(e)}function p(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function h(e){const t=typeof e;return null!=e&&("object"==t||"function"==t)}class w{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"brick-next-";this.storage=e,this.prefix=t}setItem(e,t){this.storage.setItem(this.prefix+e,JSON.stringify(t))}getItem(e){var t;return JSON.parse(null!==(t=this.storage.getItem(this.prefix+e))&&void 0!==t?t:"null")}removeItem(e){return this.storage.removeItem(this.prefix+e)}clear(){return this.storage.clear()}}const g=new Map;function y(e){return function(){for(var t=arguments.length,n=new Array(t),r=0;r<t;r++)n[r]=arguments[r];const o=function(e){let t=g.get(e);return t||(t=document.createElement(e),g.set(e,t),t)}(e);return o.resolve(...n)}}},2679:function(e,t,n){var r,o;void 0===(o="function"==typeof(r=function(){"use strict";function t(e,t,n){var r=new XMLHttpRequest;r.open("GET",e),r.responseType="blob",r.onload=function(){i(r.response,t,n)},r.onerror=function(){console.error("could not download file")},r.send()}function r(e){var t=new XMLHttpRequest;t.open("HEAD",e,!1);try{t.send()}catch(e){}return 200<=t.status&&299>=t.status}function o(e){try{e.dispatchEvent(new MouseEvent("click"))}catch(n){var t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof n.g&&n.g.global===n.g?n.g:void 0,s=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),i=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!s?function(e,n,s){var i=a.URL||a.webkitURL,c=document.createElement("a");n=n||e.name||"download",c.download=n,c.rel="noopener","string"==typeof e?(c.href=e,c.origin===location.origin?o(c):r(c.href)?t(e,n,s):o(c,c.target="_blank")):(c.href=i.createObjectURL(e),setTimeout((function(){i.revokeObjectURL(c.href)}),4e4),setTimeout((function(){o(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(e,n,a){if(n=n||e.name||"download","string"!=typeof e)navigator.msSaveOrOpenBlob(function(e,t){return void 0===t?t={autoBom:!1}:"object"!=typeof t&&(console.warn("Deprecated: Expected third argument to be a object"),t={autoBom:!t}),t.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob(["\ufeff",e],{type:e.type}):e}(e,a),n);else if(r(e))t(e,n,a);else{var s=document.createElement("a");s.href=e,s.target="_blank",setTimeout((function(){o(s)}))}}:function(e,n,r,o){if((o=o||open("","_blank"))&&(o.document.title=o.document.body.innerText="downloading..."),"string"==typeof e)return t(e,n,r);var i="application/octet-stream"===e.type,c=/constructor/i.test(a.HTMLElement)||a.safari,l=/CriOS\/[\d]+/.test(navigator.userAgent);if((l||i&&c||s)&&"undefined"!=typeof FileReader){var u=new FileReader;u.onloadend=function(){var e=u.result;e=l?e:e.replace(/^data:[^;]*;/,"data:attachment/file;"),o?o.location.href=e:location=e,o=null},u.readAsDataURL(e)}else{var d=a.URL||a.webkitURL,f=d.createObjectURL(e);o?o.location=f:location.href=f,o=null,setTimeout((function(){d.revokeObjectURL(f)}),4e4)}});a.saveAs=i.saveAs=i,e.exports=i})?r.apply(t,[]):r)||(e.exports=o)}}]);
|
|
2
|
+
//# sourceMappingURL=871.6d5e77c9.js.map
|