@next-bricks/vs 1.0.4 → 1.0.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.
Files changed (31) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/{129.20043341.js → 142.432df8a4.js} +2 -2
  3. package/dist/chunks/{129.20043341.js.map → 142.432df8a4.js.map} +1 -1
  4. package/dist/chunks/{2640.5cf30b91.js → 2640.1c6784d3.js} +3 -3
  5. package/dist/chunks/{2640.5cf30b91.js.map → 2640.1c6784d3.js.map} +1 -1
  6. package/dist/chunks/4504.7948a729.js +2 -0
  7. package/dist/chunks/4504.7948a729.js.map +1 -0
  8. package/dist/chunks/{5381.a3d579de.js → 5381.b4324f55.js} +2 -2
  9. package/dist/chunks/{5381.a3d579de.js.map → 5381.b4324f55.js.map} +1 -1
  10. package/dist/chunks/{6205.5f6b8eed.js → 6205.ea154c9b.js} +2 -2
  11. package/dist/chunks/{6205.5f6b8eed.js.map → 6205.ea154c9b.js.map} +1 -1
  12. package/dist/chunks/{6660.606418e4.js → 6660.1affd6ae.js} +2 -2
  13. package/dist/chunks/{6660.606418e4.js.map → 6660.1affd6ae.js.map} +1 -1
  14. package/dist/chunks/{7164.2a0b4c64.js → 7164.aecba344.js} +2 -2
  15. package/dist/chunks/{7164.2a0b4c64.js.map → 7164.aecba344.js.map} +1 -1
  16. package/dist/chunks/7423.f38eed48.js +2 -0
  17. package/dist/chunks/{7423.0399a77a.js.map → 7423.f38eed48.js.map} +1 -1
  18. package/dist/chunks/code-editor.b96398ca.js +2 -0
  19. package/dist/chunks/{code-editor.26a431c2.js.map → code-editor.b96398ca.js.map} +1 -1
  20. package/dist/chunks/main.e901ff9b.js +2 -0
  21. package/dist/chunks/{main.04afb619.js.map → main.e901ff9b.js.map} +1 -1
  22. package/dist/index.5a370d03.js +2 -0
  23. package/dist/{index.e50bcc0d.js.map → index.5a370d03.js.map} +1 -1
  24. package/package.json +3 -3
  25. package/dist/chunks/4504.4ebd5f8a.js +0 -2
  26. package/dist/chunks/4504.4ebd5f8a.js.map +0 -1
  27. package/dist/chunks/7423.0399a77a.js +0 -2
  28. package/dist/chunks/code-editor.26a431c2.js +0 -2
  29. package/dist/chunks/main.04afb619.js +0 -2
  30. package/dist/index.e50bcc0d.js +0 -2
  31. /package/dist/chunks/{2640.5cf30b91.js.LICENSE.txt → 2640.1c6784d3.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[5381,6660,4795],{34795:(e,r,t)=>{function n(e,r,t,n,u,a,i){try{var c=e[a](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,a){var i=e.apply(r,t);function c(e){n(i,u,a,c,s,"next",e)}function s(e){n(i,u,a,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>i,ReactUseMultipleBricks:()=>c,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n=t(34795),u=t(48657),a=t(69464),i=function(e){var{useBrick:r,data:t,refCallback:i,ignoredCallback:c}=e,[s,l]=(0,u.useState)(null),o=(0,u.useRef)(),[d,v]=(0,u.useState)(),f=(0,u.useRef)(0),_=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,n.Z)((function*(){try{var n=yield a.__secret_internals.renderUseBrick(r,t);if(e)return;l(n),v(++f.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(_)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[t,r,_]);var p=(0,u.useCallback)((e=>{e?o.current=a.__secret_internals.mountUseBrick(s,e):(a.__secret_internals.unmountUseBrick(s,o.current),o.current=void 0),null==i||i(e)}),[i,s]);if(!s)return null;var{tagName:m}=s;if(null===m)return null==c||c(),null;var k=m;return u.createElement(k,{key:d,ref:p})},c=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(i,{key:r,useBrick:e,data:t})))):u.createElement(i,{useBrick:r,data:t})},s=(0,a.getV2RuntimeFromDll)();if(s){var{SingleBrickAsComponentFactory:l,BrickAsComponentFactory:o}=s;l&&o&&(i=l(u),c=o(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
- //# sourceMappingURL=5381.a3d579de.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[5381,6660,4795],{34795:(e,r,t)=>{function n(e,r,t,n,u,a,i){try{var c=e[a](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,a){var i=e.apply(r,t);function c(e){n(i,u,a,c,s,"next",e)}function s(e){n(i,u,a,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>i,ReactUseMultipleBricks:()=>c,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n=t(34795),u=t(48657),a=t(50175),i=function(e){var{useBrick:r,data:t,refCallback:i,ignoredCallback:c}=e,[s,l]=(0,u.useState)(null),o=(0,u.useRef)(),[d,v]=(0,u.useState)(),f=(0,u.useRef)(0),_=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,n.Z)((function*(){try{var n=yield a.__secret_internals.renderUseBrick(r,t);if(e)return;l(n),v(++f.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(_)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[t,r,_]);var p=(0,u.useCallback)((e=>{e?o.current=a.__secret_internals.mountUseBrick(s,e):(a.__secret_internals.unmountUseBrick(s,o.current),o.current=void 0),null==i||i(e)}),[i,s]);if(!s)return null;var{tagName:m}=s;if(null===m)return null==c||c(),null;var k=m;return u.createElement(k,{key:d,ref:p})},c=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(i,{key:r,useBrick:e,data:t})))):u.createElement(i,{useBrick:r,data:t})},s=(0,a.getV2RuntimeFromDll)();if(s){var{SingleBrickAsComponentFactory:l,BrickAsComponentFactory:o}=s;l&&o&&(i=l(u),c=o(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
+ //# sourceMappingURL=5381.b4324f55.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/5381.a3d579de.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","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"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport 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`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data,\n refCallback,\n ignoredCallback\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var 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 var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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 return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var _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 var {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n var 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 var 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}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\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 })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\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 var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var 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 var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var 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 var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var 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"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","_init","newRender","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","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"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/5381.b4324f55.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","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"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport 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`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data,\n refCallback,\n ignoredCallback\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var 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 var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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 return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var _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 var {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n var 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 var 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}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\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 })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\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 var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var 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 var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var 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 var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var 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"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","_init","newRender","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","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"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[6205,7164],{27164:(e,n,r)=>{r.r(n),r.d(n,{i18n:()=>l,i18nText:()=>f,initializeI18n:()=>o});var i=r(3239),t=r(70860),a=r(27207),s=!1,u=new Set;function o(e,n){if(s||(s=!0,t.i18n.use(a.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!u.has(e))for(var[r,i]of(u.add(e),Object.entries(n)))t.i18n.addResourceBundle(r,e,i)}var c=r(91935);function f(e){var n;if(e){var r=null!==(n=t.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,r))return e[r];var i=r.split("-")[0];if(i!==r)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;var a="".concat(i,"-");for(var s of Object.keys(e))if(s.startsWith(a))return e[s]}}var l=i.default}}]);
2
- //# sourceMappingURL=6205.5f6b8eed.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[6205,7164],{27164:(e,n,r)=>{r.r(n),r.d(n,{i18n:()=>l,i18nText:()=>f,initializeI18n:()=>o});var i=r(3239),t=r(70860),a=r(27207),s=!1,u=new Set;function o(e,n){if(s||(s=!0,t.i18n.use(a.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!u.has(e))for(var[r,i]of(u.add(e),Object.entries(n)))t.i18n.addResourceBundle(r,e,i)}var c=r(79242);function f(e){var n;if(e){var r=null!==(n=t.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,r))return e[r];var i=r.split("-")[0];if(i!==r)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;var a="".concat(i,"-");for(var s of Object.keys(e))if(s.startsWith(a))return e[s]}}var l=i.default}}]);
2
+ //# sourceMappingURL=6205.ea154c9b.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/6205.5f6b8eed.js","mappings":"2NAEIA,GAAc,EACdC,EAAwB,IAAIC,IACzB,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAIjD,IAAK,IAAKgB,EAAMF,KADhBjB,EAAsBoB,IAAIjB,GACIkB,OAAOC,QAAQlB,IAC3C,EAAAC,KAAKkB,kBAAkBJ,EAAMhB,EAAIc,EAErC,C,eCjCO,SAASO,EAASC,GACvB,IAAIC,EACJ,GAAKD,EAAL,CAGA,IAAIE,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAEzG,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,IAAIE,EAAkBF,EAASG,MAAM,KAAK,GAC1C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,IAAIC,EAAS,GAAGC,OAAOJ,EAAiB,KACxC,IAAK,IAAIK,KAAOb,OAAOc,KAAKV,GAC1B,GAAIS,EAAIE,WAAWJ,GACjB,OAAOP,EAAKS,EAnBhB,CAsBF,CC3BO,IAAI7B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nvar initialized = false;\nvar initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (var [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n var _i18n$language;\n if (!data) {\n return;\n }\n var language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _i18n$language : \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n var primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n var prefix = \"\".concat(primaryLanguage, \"-\");\n for (var key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport var i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","lang","add","Object","entries","addResourceBundle","i18nText","data","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","concat","key","keys","startsWith"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/6205.ea154c9b.js","mappings":"2NAEIA,GAAc,EACdC,EAAwB,IAAIC,IACzB,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAIjD,IAAK,IAAKgB,EAAMF,KADhBjB,EAAsBoB,IAAIjB,GACIkB,OAAOC,QAAQlB,IAC3C,EAAAC,KAAKkB,kBAAkBJ,EAAMhB,EAAIc,EAErC,C,eCjCO,SAASO,EAASC,GACvB,IAAIC,EACJ,GAAKD,EAAL,CAGA,IAAIE,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAEzG,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,IAAIE,EAAkBF,EAASG,MAAM,KAAK,GAC1C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,IAAIC,EAAS,GAAGC,OAAOJ,EAAiB,KACxC,IAAK,IAAIK,KAAOb,OAAOc,KAAKV,GAC1B,GAAIS,EAAIE,WAAWJ,GACjB,OAAOP,EAAKS,EAnBhB,CAsBF,CC3BO,IAAI7B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nvar initialized = false;\nvar initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (var [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n var _i18n$language;\n if (!data) {\n return;\n }\n var language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _i18n$language : \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n var primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n var prefix = \"\".concat(primaryLanguage, \"-\");\n for (var key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport var i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","lang","add","Object","entries","addResourceBundle","i18nText","data","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","concat","key","keys","startsWith"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[6660,4795,5381],{34795:(e,r,t)=>{function n(e,r,t,n,u,a,i){try{var c=e[a](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,a){var i=e.apply(r,t);function c(e){n(i,u,a,c,s,"next",e)}function s(e){n(i,u,a,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>i,ReactUseMultipleBricks:()=>c,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n=t(34795),u=t(48657),a=t(69464),i=function(e){var{useBrick:r,data:t,refCallback:i,ignoredCallback:c}=e,[s,l]=(0,u.useState)(null),o=(0,u.useRef)(),[d,v]=(0,u.useState)(),f=(0,u.useRef)(0),_=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,n.Z)((function*(){try{var n=yield a.__secret_internals.renderUseBrick(r,t);if(e)return;l(n),v(++f.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(_)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[t,r,_]);var p=(0,u.useCallback)((e=>{e?o.current=a.__secret_internals.mountUseBrick(s,e):(a.__secret_internals.unmountUseBrick(s,o.current),o.current=void 0),null==i||i(e)}),[i,s]);if(!s)return null;var{tagName:m}=s;if(null===m)return null==c||c(),null;var k=m;return u.createElement(k,{key:d,ref:p})},c=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(i,{key:r,useBrick:e,data:t})))):u.createElement(i,{useBrick:r,data:t})},s=(0,a.getV2RuntimeFromDll)();if(s){var{SingleBrickAsComponentFactory:l,BrickAsComponentFactory:o}=s;l&&o&&(i=l(u),c=o(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
- //# sourceMappingURL=6660.606418e4.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[6660,4795,5381],{34795:(e,r,t)=>{function n(e,r,t,n,u,a,i){try{var c=e[a](i),s=c.value}catch(e){return void t(e)}c.done?r(s):Promise.resolve(s).then(n,u)}function u(e){return function(){var r=this,t=arguments;return new Promise((function(u,a){var i=e.apply(r,t);function c(e){n(i,u,a,c,s,"next",e)}function s(e){n(i,u,a,c,s,"throw",e)}c(void 0)}))}}t.d(r,{Z:()=>u})},16660:(e,r,t)=>{t.r(r),t.d(r,{ReactUseBrick:()=>i,ReactUseMultipleBricks:()=>c,useCurrentApp:()=>f,useCurrentTheme:()=>d,useRecentApps:()=>v,useRouteRender:()=>_});var n=t(34795),u=t(48657),a=t(50175),i=function(e){var{useBrick:r,data:t,refCallback:i,ignoredCallback:c}=e,[s,l]=(0,u.useState)(null),o=(0,u.useRef)(),[d,v]=(0,u.useState)(),f=(0,u.useRef)(0),_=(0,u.useMemo)((()=>{var e;return null===(e=a.__secret_internals.getRenderId)||void 0===e?void 0:e.call(a.__secret_internals)}),[]);(0,u.useEffect)((()=>{var e=!1;function u(){return u=(0,n.Z)((function*(){try{var n=yield a.__secret_internals.renderUseBrick(r,t);if(e)return;l(n),v(++f.current)}catch(e){(function(e){var r,t=null===(r=a.__secret_internals.getRenderId)||void 0===r?void 0:r.call(a.__secret_internals);return!e||!t||e===t})(_)&&(console.error("Render useBrick failed:",r,"with data:",t),(0,a.handleHttpError)(e))}})),u.apply(this,arguments)}return function(){u.apply(this,arguments)}(),()=>{e=!0}}),[t,r,_]);var p=(0,u.useCallback)((e=>{e?o.current=a.__secret_internals.mountUseBrick(s,e):(a.__secret_internals.unmountUseBrick(s,o.current),o.current=void 0),null==i||i(e)}),[i,s]);if(!s)return null;var{tagName:m}=s;if(null===m)return null==c||c(),null;var k=m;return u.createElement(k,{key:d,ref:p})},c=function(e){var{useBrick:r,data:t}=e;return Array.isArray(r)?u.createElement(u.Fragment,null,r.map(((e,r)=>u.createElement(i,{key:r,useBrick:e,data:t})))):u.createElement(i,{useBrick:r,data:t})},s=(0,a.getV2RuntimeFromDll)();if(s){var{SingleBrickAsComponentFactory:l,BrickAsComponentFactory:o}=s;l&&o&&(i=l(u),c=o(u))}function d(){var[e,r]=(0,u.useState)(a.getCurrentTheme);return(0,u.useEffect)((()=>{var e=e=>{r(e.detail)};return window.addEventListener("theme.change",e),()=>{window.removeEventListener("theme.change",e)}}),[]),e}function v(){var[e,r]=u.useState((()=>(0,a.getRuntime)().getRecentApps()));return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("app.change",e),()=>window.removeEventListener("app.change",e)}),[]),e}function f(){return v().currentApp}function _(){var[e,r]=u.useState(null);return u.useEffect((()=>{var e=e=>{r(e.detail)};return window.addEventListener("route.render",e),()=>window.removeEventListener("route.render",e)}),[]),e}}}]);
2
+ //# sourceMappingURL=6660.1affd6ae.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/6660.606418e4.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","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"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport 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`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data,\n refCallback,\n ignoredCallback\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var 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 var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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 return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var _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 var {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n var 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 var 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}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\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 })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\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 var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var 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 var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var 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 var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var 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"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","_init","newRender","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","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"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/6660.1affd6ae.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","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"],"sourcesContent":["function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport 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`\nvar ReactUseBrick = function ReactUseBrick(_ref) {\n var {\n useBrick,\n data,\n refCallback,\n ignoredCallback\n } = _ref;\n var [renderResult, setRenderResult] = useState(null);\n var mountResult = useRef();\n var [renderKey, setRenderKey] = useState();\n var IdCounterRef = useRef(0);\n var 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 var ignore = false;\n function init() {\n return _init.apply(this, arguments);\n }\n function _init() {\n _init = _asyncToGenerator(function* () {\n try {\n var newRender = yield __secret_internals.renderUseBrick(useBrick, data);\n if (ignore) {\n return;\n }\n setRenderResult(newRender);\n setRenderKey(getUniqueId(IdCounterRef));\n } catch (error) {\n if (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 return _init.apply(this, arguments);\n }\n init();\n return () => {\n ignore = true;\n };\n }, [data, useBrick, initialRenderId]);\n var _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 var {\n tagName\n } = renderResult;\n if (tagName === null) {\n ignoredCallback === null || ignoredCallback === void 0 || ignoredCallback();\n return null;\n }\n var 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 var 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}\nvar ReactUseMultipleBricks = function ReactUseMultipleBricks(_ref2) {\n var {\n useBrick,\n data\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 })));\n }\n return /*#__PURE__*/React.createElement(ReactUseBrick, {\n useBrick: useBrick,\n data: data\n });\n};\n\n// Make v3 bricks compatible with Brick Next v2.\n// istanbul ignore next\nvar v2Kit = getV2RuntimeFromDll();\n// istanbul ignore next\nif (v2Kit) {\n var {\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 var [currentTheme, setCurrentTheme] = useState(getCurrentTheme);\n useEffect(() => {\n var 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 var [recentApps, setRecentApps] = React.useState(() => getRuntime().getRecentApps());\n React.useEffect(() => {\n var 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 var [routeRender, setRouteRender] = React.useState(null);\n React.useEffect(() => {\n var 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"],"names":["asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","this","args","arguments","apply","err","undefined","ReactUseBrick","_ref","useBrick","data","refCallback","ignoredCallback","renderResult","setRenderResult","useState","mountResult","useRef","renderKey","setRenderKey","IdCounterRef","initialRenderId","useMemo","_secret_internals$ge","__secret_internals","getRenderId","call","useEffect","ignore","_init","newRender","renderUseBrick","current","_secret_internals$ge2","newRenderId","isTheSameRender","console","handleHttpError","init","_refCallback","useCallback","element","mountUseBrick","unmountUseBrick","tagName","WebComponent","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"],"sourceRoot":""}
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[7164,6205],{27164:(e,n,r)=>{r.r(n),r.d(n,{i18n:()=>l,i18nText:()=>f,initializeI18n:()=>o});var i=r(3239),t=r(70860),a=r(27207),s=!1,u=new Set;function o(e,n){if(s||(s=!0,t.i18n.use(a.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!u.has(e))for(var[r,i]of(u.add(e),Object.entries(n)))t.i18n.addResourceBundle(r,e,i)}var c=r(91935);function f(e){var n;if(e){var r=null!==(n=t.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,r))return e[r];var i=r.split("-")[0];if(i!==r)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;var a="".concat(i,"-");for(var s of Object.keys(e))if(s.startsWith(a))return e[s]}}var l=i.default}}]);
2
- //# sourceMappingURL=7164.2a0b4c64.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[7164,6205],{27164:(e,n,r)=>{r.r(n),r.d(n,{i18n:()=>l,i18nText:()=>f,initializeI18n:()=>o});var i=r(3239),t=r(70860),a=r(27207),s=!1,u=new Set;function o(e,n){if(s||(s=!0,t.i18n.use(a.default).init({fallbackLng:"zh",debug:!1,supportedLngs:["zh","en"],nonExplicitSupportedLngs:!0,interpolation:{escapeValue:!1},react:{useSuspense:!1},compatibilityJSON:"v3",resources:{}})),e&&n&&!u.has(e))for(var[r,i]of(u.add(e),Object.entries(n)))t.i18n.addResourceBundle(r,e,i)}var c=r(79242);function f(e){var n;if(e){var r=null!==(n=t.i18n.language)&&void 0!==n?n:"zh-CN";if((0,c.hasOwnProperty)(e,r))return e[r];var i=r.split("-")[0];if(i!==r)return(0,c.hasOwnProperty)(e,i)?e[i]:void 0;var a="".concat(i,"-");for(var s of Object.keys(e))if(s.startsWith(a))return e[s]}}var l=i.default}}]);
2
+ //# sourceMappingURL=7164.aecba344.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/7164.2a0b4c64.js","mappings":"2NAEIA,GAAc,EACdC,EAAwB,IAAIC,IACzB,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAIjD,IAAK,IAAKgB,EAAMF,KADhBjB,EAAsBoB,IAAIjB,GACIkB,OAAOC,QAAQlB,IAC3C,EAAAC,KAAKkB,kBAAkBJ,EAAMhB,EAAIc,EAErC,C,eCjCO,SAASO,EAASC,GACvB,IAAIC,EACJ,GAAKD,EAAL,CAGA,IAAIE,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAEzG,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,IAAIE,EAAkBF,EAASG,MAAM,KAAK,GAC1C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,IAAIC,EAAS,GAAGC,OAAOJ,EAAiB,KACxC,IAAK,IAAIK,KAAOb,OAAOc,KAAKV,GAC1B,GAAIS,EAAIE,WAAWJ,GACjB,OAAOP,EAAKS,EAnBhB,CAsBF,CC3BO,IAAI7B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nvar initialized = false;\nvar initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (var [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n var _i18n$language;\n if (!data) {\n return;\n }\n var language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _i18n$language : \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n var primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n var prefix = \"\".concat(primaryLanguage, \"-\");\n for (var key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport var i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","lang","add","Object","entries","addResourceBundle","i18nText","data","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","concat","key","keys","startsWith"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/7164.aecba344.js","mappings":"2NAEIA,GAAc,EACdC,EAAwB,IAAIC,IACzB,SAASC,EAAeC,EAAIC,GAwBjC,GAvBKL,IACHA,GAAc,EACd,EAAAM,KAICC,IAAmF,WAEnFC,KAAK,CACJC,YAAa,KACbC,OAAO,EACPC,cAAe,CAAC,KAAM,MACtBC,0BAA0B,EAC1BC,cAAe,CACbC,aAAa,GAEfC,MAAO,CACLC,aAAa,GAEfC,kBAAmB,KACnBC,UAAW,CAAC,KAGXd,GAAOC,IAAWJ,EAAsBkB,IAAIf,GAIjD,IAAK,IAAKgB,EAAMF,KADhBjB,EAAsBoB,IAAIjB,GACIkB,OAAOC,QAAQlB,IAC3C,EAAAC,KAAKkB,kBAAkBJ,EAAMhB,EAAIc,EAErC,C,eCjCO,SAASO,EAASC,GACvB,IAAIC,EACJ,GAAKD,EAAL,CAGA,IAAIE,EAAgD,QAApCD,EAAiB,EAAArB,KAAKsB,gBAAyC,IAAnBD,EAA4BA,EAAiB,QAEzG,IAAI,IAAAE,gBAAeH,EAAME,GACvB,OAAOF,EAAKE,GAGd,IAAIE,EAAkBF,EAASG,MAAM,KAAK,GAC1C,GAAID,IAAoBF,EAGtB,OAAO,IAAAC,gBAAeH,EAAMI,GAAmBJ,EAAKI,QAAmBE,EAKzE,IAAIC,EAAS,GAAGC,OAAOJ,EAAiB,KACxC,IAAK,IAAIK,KAAOb,OAAOc,KAAKV,GAC1B,GAAIS,EAAIE,WAAWJ,GACjB,OAAOP,EAAKS,EAnBhB,CAsBF,CC3BO,IAAI7B,EAA6E,S","sources":["webpack:///../../node_modules/@next-core/i18n/dist/esm/init.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/text.js","webpack:///../../node_modules/@next-core/i18n/dist/esm/index.js"],"sourcesContent":["import { i18n } from \"@next-core/i18n\";\nimport LanguageDetector from \"i18next-browser-languagedetector\";\nvar initialized = false;\nvar initializedNamespaces = new Set();\nexport function initializeI18n(NS, locales) {\n if (!initialized) {\n initialized = true;\n i18n\n // learn more: https://github.com/i18next/i18next-xhr-backend\n // .use(Backend)\n // learn more: https://github.com/i18next/i18next-browser-languageDetector\n .use(process.env.NODE_ENV === \"test\" ? LanguageDetector : /* istanbul ignore next */LanguageDetector.default)\n // for all options read: https://www.i18next.com/overview/configuration-options\n .init({\n fallbackLng: \"zh\",\n debug: process.env.NODE_ENV === \"development\",\n supportedLngs: [\"zh\", \"en\"],\n nonExplicitSupportedLngs: true,\n interpolation: {\n escapeValue: false // not needed for react as it escapes by default\n },\n react: {\n useSuspense: false\n },\n compatibilityJSON: \"v3\",\n resources: {}\n });\n }\n if (!NS || !locales || initializedNamespaces.has(NS)) {\n return;\n }\n initializedNamespaces.add(NS);\n for (var [lang, resources] of Object.entries(locales)) {\n i18n.addResourceBundle(lang, NS, resources);\n }\n}\n//# sourceMappingURL=init.js.map","import { i18n } from \"@next-core/i18n\";\nimport { hasOwnProperty } from \"@next-core/utils/general\";\nexport function i18nText(data) {\n var _i18n$language;\n if (!data) {\n return;\n }\n var language = (_i18n$language = i18n.language) !== null && _i18n$language !== void 0 ? _i18n$language : \"zh-CN\";\n // First, make a perfect match.\n if (hasOwnProperty(data, language)) {\n return data[language];\n }\n // https://en.wikipedia.org/wiki/IETF_language_tag\n var primaryLanguage = language.split(\"-\")[0];\n if (primaryLanguage !== language) {\n // Then, match the primary language (which omits other subtags).\n // E.g., match `zh` if the current language is `zh-CN`.\n return hasOwnProperty(data, primaryLanguage) ? data[primaryLanguage] : undefined;\n }\n // At last, match the first key which starts with the primary language,\n // if the current language contains primary subtag only.\n // E.g., match `zh-CN` if the current language is `zh`.\n var prefix = \"\".concat(primaryLanguage, \"-\");\n for (var key of Object.keys(data)) {\n if (key.startsWith(prefix)) {\n return data[key];\n }\n }\n}\n//# sourceMappingURL=text.js.map","import i18next from \"i18next\";\nexport var i18n = process.env.NODE_ENV === \"test\" ? i18next : /* istanbul ignore next */i18next.default;\nexport * from \"./init.js\";\nexport * from \"./text.js\";\n//# sourceMappingURL=index.js.map"],"names":["initialized","initializedNamespaces","Set","initializeI18n","NS","locales","i18n","use","init","fallbackLng","debug","supportedLngs","nonExplicitSupportedLngs","interpolation","escapeValue","react","useSuspense","compatibilityJSON","resources","has","lang","add","Object","entries","addResourceBundle","i18nText","data","_i18n$language","language","hasOwnProperty","primaryLanguage","split","undefined","prefix","concat","key","keys","startsWith"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[7423],{77423:(e,t,r)=>{r.r(t);var a,i,n,s,l,u,o,h,c,g,v,d,m,p,f,k,Z,w,b,y,M,C,L,E,S,W,_,x,z,R,O,P,q,B,N,I,V,D,H,K,T,F,G,j,A,J,Q,U,X=r(33028),Y=r(53395),$=r(31815),ee=r(40381),te=r(23426),re=r(75066),ae=r(48657),ie=r.n(ae),ne=r(85727),se=r(305),le=r(95590),ue=r(25576),oe=r(67411),he=r(73701),ce=r(47637),ge=r(64167),ve=r(27680),de=r(42308),me=r.n(de),pe=(r(70928),r(78035)),fe=r(83047),ke=r(39695),Ze=(r(53154),r(35528)),we=r(45235);(0,he.z2)(oe),(0,ce.z2)(oe),(0,ge.z2)(oe,"brick_next_yaml"),(0,ve.z2)(oe);var be,{defineElement:ye,property:Me,event:Ce}=(0,ne.createDecorators)(),Le=(0,se.wrapBrick)("eo-form-item");i=ye("vs.code-editor",{shadowOptions:!1}),n=Me(),l=Me(),o=Me({attribute:!1}),c=Me(),v=Me(),m=Me({type:Boolean}),f=Me({type:Boolean}),Z=Me(),b=Me({type:Number}),M=Me({attribute:!1}),L=Me({attribute:!1}),S=Me({attribute:!1}),_=Me({attribute:!1}),z=Me({type:Number}),O=Me({attribute:!1}),q=Me(),N=Ce({type:"code.change"}),H=Ce({type:"user.input"}),G=Ce({type:"token.click"});var Ee=new WeakMap,Se=new WeakMap,We=new WeakMap,_e=new WeakMap,xe=new WeakMap,ze=new WeakMap,Re=new WeakMap,Oe=new WeakMap,Pe=new WeakMap,qe=new WeakMap,Be=new WeakMap,Ne=new WeakMap,Ie=new WeakMap,Ve=new WeakMap,De=new WeakMap,He=new WeakMap,Ke=new WeakMap,Te=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,je=new WeakMap,Ae=new WeakMap,Je=new WeakMap,Qe=new WeakMap,Ue=new WeakMap;class Xe extends ue.G{constructor(){super(...arguments),(0,Y.Z)(this,Je,{get:at,set:rt}),(0,Y.Z)(this,Ge,{get:tt,set:et}),(0,Y.Z)(this,Te,{get:$e,set:Ye}),(0,Y.Z)(this,Ee,{writable:!0,value:(Q(this),s(this))}),(0,Y.Z)(this,Se,{writable:!0,value:u(this)}),(0,Y.Z)(this,We,{writable:!0,value:h(this)}),(0,Y.Z)(this,_e,{writable:!0,value:g(this)}),(0,Y.Z)(this,xe,{writable:!0,value:d(this)}),(0,Y.Z)(this,ze,{writable:!0,value:p(this)}),(0,Y.Z)(this,Re,{writable:!0,value:k(this)}),(0,Y.Z)(this,Oe,{writable:!0,value:w(this)}),(0,Y.Z)(this,Pe,{writable:!0,value:y(this)}),(0,Y.Z)(this,qe,{writable:!0,value:C(this)}),(0,Y.Z)(this,Be,{writable:!0,value:E(this)}),(0,Y.Z)(this,Ne,{writable:!0,value:W(this)}),(0,Y.Z)(this,Ie,{writable:!0,value:x(this)}),(0,Y.Z)(this,Ve,{writable:!0,value:R(this)}),(0,Y.Z)(this,De,{writable:!0,value:P(this)}),(0,Y.Z)(this,He,{writable:!0,value:B(this)}),(0,Y.Z)(this,Ke,{writable:!0,value:I(this)}),(0,Y.Z)(this,Fe,{writable:!0,value:K(this)}),(0,Y.Z)(this,je,{writable:!0,value:(e,t,r)=>{var a;null===(a=this.getFormElement())||void 0===a||a.formStore.onChange(this.name,e),(0,te.Z)(this,Te).emit(t),r||(0,te.Z)(this,Ge).emit(t)}}),(0,Y.Z)(this,Ae,{writable:!0,value:j(this)}),(0,Y.Z)(this,Qe,{writable:!0,value:e=>{(0,te.Z)(this,Je).emit(e)}}),(0,Y.Z)(this,Ue,{writable:!0,value:e=>{try{me().load(e)}catch(e){return"请填写正确的格式"}return""}})}get name(){return(0,te.Z)(this,Ee)}set name(e){(0,ee.Z)(this,Ee,e)}get label(){return(0,te.Z)(this,Se)}set label(e){(0,ee.Z)(this,Se,e)}get value(){return(0,te.Z)(this,We)}set value(e){(0,ee.Z)(this,We,e)}get language(){return(0,te.Z)(this,_e)}set language(e){(0,ee.Z)(this,_e,e)}get theme(){return(0,te.Z)(this,xe)}set theme(e){(0,ee.Z)(this,xe,e)}get required(){return(0,te.Z)(this,ze)}set required(e){(0,ee.Z)(this,ze,e)}get readOnly(){return(0,te.Z)(this,Re)}set readOnly(e){(0,ee.Z)(this,Re,e)}get automaticLayout(){return(0,te.Z)(this,Oe)}set automaticLayout(e){(0,ee.Z)(this,Oe,e)}get minLines(){return(0,te.Z)(this,Pe)}set minLines(e){(0,ee.Z)(this,Pe,e)}get completers(){return(0,te.Z)(this,qe)}set completers(e){(0,ee.Z)(this,qe,e)}get advancedCompleters(){return(0,te.Z)(this,Be)}set advancedCompleters(e){(0,ee.Z)(this,Be,e)}get markers(){return(0,te.Z)(this,Ne)}set markers(e){(0,ee.Z)(this,Ne,e)}get links(){return(0,te.Z)(this,Ie)}set links(e){(0,ee.Z)(this,Ie,e)}get maxLines(){return(0,te.Z)(this,Ve)}set maxLines(e){(0,ee.Z)(this,Ve,e)}get height(){return(0,te.Z)(this,De)}set height(e){(0,ee.Z)(this,De,e)}get message(){return(0,te.Z)(this,He)}set message(e){(0,ee.Z)(this,He,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return ie().createElement(Le,{curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,validator:(0,te.Z)(this,Ue)},ie().createElement(it,{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,markers:this.markers,links:this.links,validateState:this.validateState,onChange:(0,te.Z)(this,je),onTokenClick:(0,te.Z)(this,Qe)}))}}function Ye(e){D(this,e)}function $e(){return V(this)}function et(e){F(this,e)}function tt(){return T(this)}function rt(e){J(this,e)}function at(){return A(this)}function it(e){var{value:t,language:r,theme:a,minLines:i,maxLines:n,height:s,automaticLayout:l,completers:u,advancedCompleters:o,markers:h,readOnly:c,links:g,validateState:v,onChange:d,onTokenClick:m}=e,p=null!=t?t:"",f=null!=r?r:"plaintext",k=null!=a?a:"auto",Z=null!=i?i:3,w=null!=n?n:1/0,b=null!=s?s:500,y=(0,ae.useMemo)((()=>(0,pe.uniqueId)("worker")),[]),M=(0,ae.useRef)(null),C=(0,ae.useRef)(),L=(0,ae.useRef)(),E=(0,ae.useRef)({width:300,height:nt(p,Z,w)}),[S,W]=(0,ae.useState)(),_=(0,ae.useRef)(l),x=(0,le.useCurrentTheme)();(0,ae.useEffect)((()=>{if("brick_next_yaml"===f){var e=Ze.h.getInstance(y),t=e.addEventListener("message",(e=>{var{token:t,data:r}=e.data,a=L.current.getModel();switch(t){case"parse_yaml":var i,{value:n,tokens:s,markers:l}=r;null===(i=C.current)||void 0===i||i.set(s.map((e=>({range:new oe.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),oe.editor.setModelMarkers(a,"brick_next_yaml",l),d(a.getValue(),n,!1);break;case"parse_yaml_error":var u;oe.editor.setModelMarkers(a,"brick_next_yaml",[]),null==C||null===(u=C.current)||void 0===u||u.set([])}}));return()=>{e.removeEventListener(t)}}}),[]),(0,ae.useEffect)((()=>{oe.editor.setTheme("auto"===k?"dark"===x||"dark-v2"===x?"vs-dark":"vs":k)}),[x,k]),(0,ae.useEffect)((()=>{if(L.current){var e=L.current.getModel();oe.editor.setModelLanguage(e,f),(0,pe.isEqual)(e.getValue(),p)||e.setValue(p)}}),[p,f]),(0,ae.useEffect)((()=>{if("brick_next_yaml"===f){var e=(0,ke.V)(u,o,y),t=oe.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[u,o,f]);var z=(0,ae.useCallback)((()=>{"brick_next_yaml"===f&&Ze.h.getInstance(y).postMessage({token:"parse_yaml",data:{value:L.current.getModel().getValue(),links:g,markers:h}})}),[f,g,h,y]);return(0,ae.useLayoutEffect)((()=>{var e;if("fit-content"===_.current&&M.current){E.current.width=M.current.getBoundingClientRect().width,null===(e=L.current)||void 0===e||e.layout(E.current);var t=new ResizeObserver((e=>{for(var t of e)if(t.target===M.current){var r,a=t.contentBoxSize?t.contentBoxSize[0].inlineSize:t.contentRect.width;a!==E.current.width&&(E.current.width=a,null===(r=L.current)||void 0===r||r.layout(E.current));break}}));return t.observe(M.current),()=>{t.disconnect()}}}),[]),(0,ae.useLayoutEffect)((()=>{if("fit-container"===_.current){var e=function(e){for(var t=e;t;){var r="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,r)return t}}(M.current);if(e){var t=new ResizeObserver((()=>{W(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}}}),[]),(0,ae.useEffect)((()=>{"fit-container"!==_.current&&"fit-content"!==_.current&&W(b)}),[b]),(0,ae.useEffect)((()=>{L.current&&L.current.updateOptions({readOnly:c})}),[c]),(0,ae.useEffect)((()=>{if(!L.current&&M.current){var e=oe.editor.createModel(p,f);L.current=oe.editor.create(M.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==_.current,fontSize:fe.P0,lineHeight:fe.Mv,scrollbar:{horizontalScrollbarSize:fe.sE,verticalScrollbarSize:fe.sE,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:fe.LS,bottom:"fit-content"==_.current?void 0:fe.LS},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,suggest:{insertMode:"insert",preview:!0},readOnly:c,quickSuggestions:{strings:!0,other:!0,comments:!0}}),C.current=L.current.createDecorationsCollection()}}),[p,f,c]),(0,ae.useEffect)((()=>{var e=L.current;if("brick_next_yaml"===f&&e){var t=e.getModel(),r=e.onMouseDown((function(e){var r,a,i=C.current;(null!==(r=null==i||null===(a=i.getRanges)||void 0===a?void 0:a.call(i))&&void 0!==r?r:[]).forEach((r=>{var a=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";r&&e.target.position&&e.event[a]&&r.containsPosition(e.target.position)&&m(t.getValueInRange(r))}))})),a=e.onMouseMove((function(e){var t=C.current;t&&t.getRanges().forEach((r=>{var a=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(r&&e.target.position&&e.event[a]&&r.containsPosition(e.target.position)){var i=t.getRanges().map((e=>({range:e,options:{inlineClassName:r.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(i)}else if(!e.event[a]){var n=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(n)}}))}));return z(),()=>{null==a||a.dispose(),null==r||r.dispose()}}}),[f,m,x,k,z]),(0,ae.useEffect)((()=>{var e=L.current;if(e&&M.current&&"fit-content"===_.current){var t=e.onDidContentSizeChange((t=>{if(t.contentHeightChanged){var r=st(t.contentHeight,Z,w);r!==E.current.height&&(E.current.height=r,e.layout(E.current))}})),r=st(e.getContentHeight(),Z,w);return r!==E.current.height&&(E.current.height=r,e.layout(E.current)),()=>{t.dispose()}}}),[w,Z]),(0,ae.useEffect)((()=>{if(L.current){var e=L.current.getModel().onDidChangeContent((()=>{(0,we.x)(y),z()}));return()=>{e.dispose()}}}),[d,z]),(0,ae.useEffect)((()=>()=>{var e,t;null===(e=L.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=L.current)||void 0===t||t.dispose()}),[]),ie().createElement("div",{ref:M,style:(0,X.Z)({height:S},"error"===v?{outline:"1px solid var(--antd-error-color)"}:{})})}function nt(e,t,r){return lt(Math.min(r,Math.max(t,e.split("\n").length)))}function st(e,t,r){var a=e;return(e-fe.LS)%fe.Mv==0&&(a=e+fe.sE),Math.min(lt(r),Math.max(a,lt(t)))}function lt(e){return e*fe.Mv+fe.sE+fe.LS}U=Xe,({e:[s,u,h,g,d,p,k,w,y,C,E,W,x,R,P,B,I,V,D,K,T,F,j,A,J,Q],c:[be,a]}=(0,re.Z)(U,[[n,1,"name"],[l,1,"label"],[o,1,"value"],[c,1,"language"],[v,1,"theme"],[m,1,"required"],[f,1,"readOnly"],[Z,1,"automaticLayout"],[b,1,"minLines"],[M,1,"completers"],[L,1,"advancedCompleters"],[S,1,"markers"],[_,1,"links"],[z,1,"maxLines"],[O,1,"height"],[q,1,"message"],[N,1,"codeChange",e=>(0,te.Z)(e,Ke),(e,t)=>(0,ee.Z)(e,Ke,t)],[H,1,"userInput",e=>(0,te.Z)(e,Fe),(e,t)=>(0,ee.Z)(e,Fe,t)],[G,1,"tokenClickEvent",e=>(0,te.Z)(e,Ae),(e,t)=>(0,ee.Z)(e,Ae,t)]],[i],0,(e=>Ue.has((0,$.Z)(e))),ue.G)),a()}}]);
2
+ //# sourceMappingURL=7423.f38eed48.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/7423.0399a77a.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 { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { isEqual, uniqueId } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\nimport { Level } from \"./utils/constants.js\";\nimport { VSWorkers } from \"./workers/index.js\";\nimport { setEditorId } from \"./utils/editorId.js\";\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n validateState?: string;\n}\n\nexport interface Marker {\n token: string;\n level: keyof typeof Level;\n message: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\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({ attribute: false })\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | Record<\n string,\n {\n triggerCharacter: string;\n completers: monaco.languages.CompletionItem[];\n }\n >\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 @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, parseValue: any, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(parseValue);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\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 #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\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 curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n validator={this.#handleValidtor}\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 markers={this.markers}\n links={this.links}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\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 validateState,\n onChange,\n onTokenClick,\n}: CodeEditorProps & {\n onChange(value: string, parseValue: any, isFlush: boolean): 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 workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data } = message.data;\n const model = editorRef.current!.getModel()!;\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(model.getValue(), value, false);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value: editorRef.current!.getModel()!.getValue(),\n links,\n markers,\n },\n });\n }, [language, links, markers, workerId]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [value, language, readOnly]);\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 parseYaml();\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme, parseYaml]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(() => {\n setEditorId(workerId);\n parseYaml();\n });\n return () => {\n listener.dispose();\n };\n }, [onChange, parseYaml]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n style={{\n height: actualHeight,\n ...(validateState === \"error\"\n ? {\n outline: \"1px solid var(--antd-error-color)\",\n }\n : {}),\n }}\n />\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":["registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","_dec","shadowOptions","_dec2","_dec3","_dec4","attribute","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_codeChange","_R","_userInput","_handleChange","_S","_tokenClickEvent","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_tokenClickEvent2","set","_set_tokenClickEvent2","_get_userInput2","_set_userInput2","_get_codeChange2","_set_codeChange2","writable","value","_initProto","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_advancedCompleters","_init_markers","_init_links","_init_maxLines","_init_height","_init_message","_init_codeChange","_init_userInput","parseValue","isFlush","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateFieldGet","emit","_init_tokenClickEvent","word","yaml","_unused","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","connectedCallback","style","display","super","render","React","curElement","formElement","validator","CodeEditorComponent","validateState","onTokenClick","_set_codeChange","_get_codeChange","_set_userInput","_get_userInput","_set_tokenClickEvent","_get_tokenClickEvent","_ref","_value","_language","_theme","_minLines","_maxLines","_height","Infinity","workerId","useMemo","uniqueId","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","model","current","getModel","_decorationsCollectio","tokens","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","getValue","_decorationsCollectio2","removeEventListener","setTheme","currentModel","setModelLanguage","isEqual","setValue","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","postMessage","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","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","undefined","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","item","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","setEditorId","_editorRef$current3","_editorRef$current4","ref","_objectSpread","outline","code","getContentHeightByLines","Math","min","max","split","length","fixedHeight","lines","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/7423.f38eed48.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 { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport \"@next-core/theme\";\nimport { isEqual, uniqueId } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProviderCompletionItems } from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\nimport { Level } from \"./utils/constants.js\";\nimport { VSWorkers } from \"./workers/index.js\";\nimport { setEditorId } from \"./utils/editorId.js\";\n\nregisterJavaScript(monaco);\nregisterTypeScript(monaco);\nregisterYaml(monaco, \"brick_next_yaml\");\nregisterHtml(monaco);\n\nconst { defineElement, property, event } = createDecorators();\n\nconst WrappedFormItem = wrapBrick<FormItem, FormItemProps>(\"eo-form-item\");\n\nexport interface CodeEditorProps {\n name?: string;\n label?: string;\n value?: string;\n language?: string;\n theme?: string;\n required?: boolean;\n readOnly?: boolean;\n automaticLayout?: \"fit-container\" | \"fit-content\" | \"none\";\n minLines?: number;\n maxLines?: number;\n height?: string | number;\n completers?: monaco.languages.CompletionItem[];\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >;\n markers?: Marker[];\n links?: string[];\n validateState?: string;\n}\n\nexport interface Marker {\n token: string;\n level: keyof typeof Level;\n message: string;\n code?: {\n value: string;\n target: string;\n };\n params?: string[];\n}\n\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({ attribute: false })\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: monaco.languages.CompletionItem[] | undefined;\n\n @property({\n attribute: false,\n })\n accessor advancedCompleters:\n | Record<\n string,\n {\n triggerCharacter: string;\n completers: monaco.languages.CompletionItem[];\n }\n >\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 @event({ type: \"code.change\" })\n accessor #codeChange!: EventEmitter<string>;\n\n @event({ type: \"user.input\" })\n accessor #userInput!: EventEmitter<string>;\n\n #handleChange = (value: string, parseValue: any, isFlush: boolean) => {\n this.getFormElement()?.formStore.onChange(this.name!, value);\n this.#codeChange.emit(parseValue);\n if (!isFlush) {\n this.#userInput.emit(parseValue);\n }\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 #handleValidtor = (value: string) => {\n try {\n yaml.load(value);\n } catch {\n return \"请填写正确的格式\";\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 curElement={this}\n formElement={this.getFormElement()}\n name={this.name}\n label={this.label}\n required={this.required}\n validator={this.#handleValidtor}\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 markers={this.markers}\n links={this.links}\n validateState={this.validateState}\n onChange={this.#handleChange}\n onTokenClick={this.#handleTokenClick}\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 validateState,\n onChange,\n onTokenClick,\n}: CodeEditorProps & {\n onChange(value: string, parseValue: any, isFlush: boolean): 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 workerId = useMemo(() => uniqueId(\"worker\"), []);\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n const id = workerInstance.addEventListener(\"message\", (message: any) => {\n const { token, data } = message.data;\n const model = editorRef.current!.getModel()!;\n\n switch (token) {\n case \"parse_yaml\": {\n const { value, tokens, markers } = data;\n\n decorationsCollection.current?.set(\n tokens.map((token: any) => ({\n range: new monaco.Range(\n token.startLineNumber,\n token.startColumn,\n token.endLineNumber,\n token.endColumn\n ),\n options: {\n inlineClassName: \"highlight\",\n },\n }))\n );\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", markers);\n onChange(model.getValue(), value, false);\n break;\n }\n case \"parse_yaml_error\": {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n break;\n }\n }\n });\n return () => {\n workerInstance.removeEventListener(id);\n };\n }, []);\n\n useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProviderCompletionItems(\n completers,\n advancedCompleters,\n workerId\n );\n const monacoProviderRef = monaco.languages.registerCompletionItemProvider(\n \"brick_next_yaml\",\n {\n provideCompletionItems,\n triggerCharacters: [\".\", \":\", \"<\"],\n }\n );\n return () => {\n monacoProviderRef.dispose();\n };\n }\n }, [completers, advancedCompleters, language]);\n\n const parseYaml = useCallback(() => {\n if (language !== \"brick_next_yaml\") return;\n const workerInstance = VSWorkers.getInstance(workerId);\n workerInstance.postMessage({\n token: \"parse_yaml\",\n data: {\n value: editorRef.current!.getModel()!.getValue(),\n links,\n markers,\n },\n });\n }, [language, links, markers, workerId]);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-content\" || !containerRef.current) {\n return;\n }\n\n size.current.width = containerRef.current.getBoundingClientRect().width;\n editorRef.current?.layout(size.current);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n if (entry.target === containerRef.current) {\n const newWidth = entry.contentBoxSize\n ? entry.contentBoxSize[0].inlineSize\n : entry.contentRect.width;\n if (newWidth !== size.current.width) {\n size.current.width = newWidth;\n editorRef.current?.layout(size.current);\n }\n break;\n }\n }\n });\n observer.observe(containerRef.current);\n\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useLayoutEffect(() => {\n if (automaticLayoutRef.current !== \"fit-container\") {\n return;\n }\n\n const container = getDOMContainer(containerRef.current);\n if (!container) {\n return;\n }\n // Manually layout the editor once the container resized.\n const observer = new ResizeObserver((): void => {\n setActualHeight(container.offsetHeight);\n });\n observer.observe(container);\n return () => {\n observer.disconnect();\n };\n }, []);\n\n useEffect(() => {\n if (\n automaticLayoutRef.current !== \"fit-container\" &&\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n setActualHeight(height);\n }\n }, [height]);\n\n useEffect(() => {\n if (!editorRef.current) return;\n editorRef.current.updateOptions({\n readOnly,\n });\n }, [readOnly]);\n\n useEffect(() => {\n if (editorRef.current || !containerRef.current) {\n return;\n }\n const model = monaco.editor.createModel(value, language);\n editorRef.current = monaco.editor.create(containerRef.current, {\n model,\n minimap: {\n enabled: false,\n },\n scrollBeyondLastLine: false,\n tabSize: 2,\n insertSpaces: true,\n automaticLayout: automaticLayoutRef.current !== \"fit-content\",\n fontSize: EDITOR_FONT_SIZE,\n lineHeight: EDITOR_LINE_HEIGHT,\n scrollbar: {\n horizontalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n verticalScrollbarSize: EDITOR_SCROLLBAR_SIZE,\n horizontalSliderSize: 8,\n verticalSliderSize: 8,\n alwaysConsumeMouseWheel: false,\n },\n padding: {\n top: EDITOR_PADDING_VERTICAL,\n // When use `fit-content`, we always plus the height with the vertical padding.\n // Thus the possible x-scrollbar will not take extra space at the bottom.\n bottom:\n automaticLayoutRef.current == \"fit-content\"\n ? undefined\n : EDITOR_PADDING_VERTICAL,\n },\n overviewRulerBorder: false,\n mouseWheelScrollSensitivity: 0.5,\n suggest: {\n insertMode: \"insert\",\n preview: true,\n },\n readOnly: readOnly,\n quickSuggestions: { strings: true, other: true, comments: true },\n });\n\n decorationsCollection.current =\n editorRef.current.createDecorationsCollection();\n }, [value, language, readOnly]);\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 parseYaml();\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onTokenClick, systemTheme, theme, parseYaml]);\n\n useEffect(() => {\n const editor = editorRef.current;\n if (\n !editor ||\n !containerRef.current ||\n automaticLayoutRef.current !== \"fit-content\"\n ) {\n return;\n }\n\n const listener = editor.onDidContentSizeChange((e) => {\n if (e.contentHeightChanged) {\n const newHeight = fixEditorHeightWithScrollBar(\n e.contentHeight,\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n }\n });\n\n const newHeight = fixEditorHeightWithScrollBar(\n editor.getContentHeight(),\n minLines,\n maxLines\n );\n if (newHeight !== size.current.height) {\n size.current.height = newHeight;\n editor.layout(size.current);\n }\n\n return () => {\n listener.dispose();\n };\n }, [maxLines, minLines]);\n\n useEffect(() => {\n if (!editorRef.current) {\n return;\n }\n const currentModel = editorRef.current.getModel()!;\n const listener = currentModel.onDidChangeContent(() => {\n setEditorId(workerId);\n parseYaml();\n });\n return () => {\n listener.dispose();\n };\n }, [onChange, parseYaml]);\n\n useEffect(() => {\n return () => {\n editorRef.current?.getModel()?.dispose();\n editorRef.current?.dispose();\n };\n }, []);\n\n return (\n <div\n ref={containerRef}\n style={{\n height: actualHeight,\n ...(validateState === \"error\"\n ? {\n outline: \"1px solid var(--antd-error-color)\",\n }\n : {}),\n }}\n />\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":["registerJavaScript","monaco","registerTypeScript","registerYaml","registerHtml","_CodeEditor","defineElement","property","event","createDecorators","WrappedFormItem","wrapBrick","_dec","shadowOptions","_dec2","_dec3","_dec4","attribute","_dec5","_dec6","_dec7","type","Boolean","_dec8","_dec9","_dec10","Number","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_A","WeakMap","_B","_C","_D","_E","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_codeChange","_R","_userInput","_handleChange","_S","_tokenClickEvent","_handleTokenClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_tokenClickEvent2","set","_set_tokenClickEvent2","_get_userInput2","_set_userInput2","_get_codeChange2","_set_codeChange2","writable","value","_initProto","_init_name","_init_label","_init_value","_init_language","_init_theme","_init_required","_init_readOnly","_init_automaticLayout","_init_minLines","_init_completers","_init_advancedCompleters","_init_markers","_init_links","_init_maxLines","_init_height","_init_message","_init_codeChange","_init_userInput","parseValue","isFlush","_this$getFormElement","this","getFormElement","formStore","onChange","name","_classPrivateFieldGet","emit","_init_tokenClickEvent","word","yaml","_unused","v","_classPrivateFieldSet","label","language","theme","required","readOnly","automaticLayout","minLines","completers","advancedCompleters","markers","links","maxLines","height","message","connectedCallback","style","display","super","render","React","curElement","formElement","validator","CodeEditorComponent","validateState","onTokenClick","_set_codeChange","_get_codeChange","_set_userInput","_get_userInput","_set_tokenClickEvent","_get_tokenClickEvent","_ref","_value","_language","_theme","_minLines","_maxLines","_height","Infinity","workerId","useMemo","uniqueId","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","workerInstance","VSWorkers","getInstance","id","addEventListener","token","data","model","current","getModel","_decorationsCollectio","tokens","map","range","startLineNumber","startColumn","endLineNumber","endColumn","options","inlineClassName","setModelMarkers","getValue","_decorationsCollectio2","removeEventListener","setTheme","currentModel","setModelLanguage","isEqual","setValue","provideCompletionItems","brickNextYAMLProviderCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","postMessage","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","target","_editorRef$current2","newWidth","contentBoxSize","inlineSize","contentRect","observe","disconnect","container","element","brick","found","tagName","toLowerCase","parentElement","getDOMContainer","offsetHeight","updateOptions","createModel","create","minimap","enabled","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","undefined","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","e","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","forEach","modKey","test","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","item","equalsRange","listener","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","setEditorId","_editorRef$current3","_editorRef$current4","ref","_objectSpread","outline","code","getContentHeightByLines","Math","min","max","split","length","fixedHeight","lines","_class","c","_initClass","_applyDecs","o","_","has","_checkInRHS"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[1085],{28962:(e,t,r)=>{r.r(t),r.d(t,{CodeEditor:()=>be,CodeEditorComponent:()=>it});var a,i,n,s,l,u,o,h,c,d,g,m,v,p,f,k,Z,w,b,y,M,C,E,L,S,W,_,x,z,R,O,P,q,B,N,I,V,D,H,K,T,F,G,j,A,J,Q,U,X=r(33028),Y=r(53395),$=r(31815),ee=r(40381),te=r(23426),re=r(75066),ae=r(48657),ie=r.n(ae),ne=r(85727),se=r(305),le=r(95590),ue=r(25576),oe=r(67411),he=r(73701),ce=r(47637),de=r(64167),ge=r(27680),me=r(42308),ve=r.n(me),pe=(r(70928),r(78035)),fe=r(83047),ke=r(39695),Ze=(r(53154),r(35528)),we=r(45235);(0,he.z2)(oe),(0,ce.z2)(oe),(0,de.z2)(oe,"brick_next_yaml"),(0,ge.z2)(oe);var be,{defineElement:ye,property:Me,event:Ce}=(0,ne.createDecorators)(),Ee=(0,se.wrapBrick)("eo-form-item");i=ye("vs.code-editor",{shadowOptions:!1}),n=Me(),l=Me(),o=Me({attribute:!1}),c=Me(),g=Me(),v=Me({type:Boolean}),f=Me({type:Boolean}),Z=Me(),b=Me({type:Number}),M=Me({attribute:!1}),E=Me({attribute:!1}),S=Me({attribute:!1}),_=Me({attribute:!1}),z=Me({type:Number}),O=Me({attribute:!1}),q=Me(),N=Ce({type:"code.change"}),H=Ce({type:"user.input"}),G=Ce({type:"token.click"});var Le=new WeakMap,Se=new WeakMap,We=new WeakMap,_e=new WeakMap,xe=new WeakMap,ze=new WeakMap,Re=new WeakMap,Oe=new WeakMap,Pe=new WeakMap,qe=new WeakMap,Be=new WeakMap,Ne=new WeakMap,Ie=new WeakMap,Ve=new WeakMap,De=new WeakMap,He=new WeakMap,Ke=new WeakMap,Te=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,je=new WeakMap,Ae=new WeakMap,Je=new WeakMap,Qe=new WeakMap,Ue=new WeakMap;class Xe extends ue.G{constructor(){super(...arguments),(0,Y.Z)(this,Je,{get:at,set:rt}),(0,Y.Z)(this,Ge,{get:tt,set:et}),(0,Y.Z)(this,Te,{get:$e,set:Ye}),(0,Y.Z)(this,Le,{writable:!0,value:(Q(this),s(this))}),(0,Y.Z)(this,Se,{writable:!0,value:u(this)}),(0,Y.Z)(this,We,{writable:!0,value:h(this)}),(0,Y.Z)(this,_e,{writable:!0,value:d(this)}),(0,Y.Z)(this,xe,{writable:!0,value:m(this)}),(0,Y.Z)(this,ze,{writable:!0,value:p(this)}),(0,Y.Z)(this,Re,{writable:!0,value:k(this)}),(0,Y.Z)(this,Oe,{writable:!0,value:w(this)}),(0,Y.Z)(this,Pe,{writable:!0,value:y(this)}),(0,Y.Z)(this,qe,{writable:!0,value:C(this)}),(0,Y.Z)(this,Be,{writable:!0,value:L(this)}),(0,Y.Z)(this,Ne,{writable:!0,value:W(this)}),(0,Y.Z)(this,Ie,{writable:!0,value:x(this)}),(0,Y.Z)(this,Ve,{writable:!0,value:R(this)}),(0,Y.Z)(this,De,{writable:!0,value:P(this)}),(0,Y.Z)(this,He,{writable:!0,value:B(this)}),(0,Y.Z)(this,Ke,{writable:!0,value:I(this)}),(0,Y.Z)(this,Fe,{writable:!0,value:K(this)}),(0,Y.Z)(this,je,{writable:!0,value:(e,t,r)=>{var a;null===(a=this.getFormElement())||void 0===a||a.formStore.onChange(this.name,e),(0,te.Z)(this,Te).emit(t),r||(0,te.Z)(this,Ge).emit(t)}}),(0,Y.Z)(this,Ae,{writable:!0,value:j(this)}),(0,Y.Z)(this,Qe,{writable:!0,value:e=>{(0,te.Z)(this,Je).emit(e)}}),(0,Y.Z)(this,Ue,{writable:!0,value:e=>{try{ve().load(e)}catch(e){return"请填写正确的格式"}return""}})}get name(){return(0,te.Z)(this,Le)}set name(e){(0,ee.Z)(this,Le,e)}get label(){return(0,te.Z)(this,Se)}set label(e){(0,ee.Z)(this,Se,e)}get value(){return(0,te.Z)(this,We)}set value(e){(0,ee.Z)(this,We,e)}get language(){return(0,te.Z)(this,_e)}set language(e){(0,ee.Z)(this,_e,e)}get theme(){return(0,te.Z)(this,xe)}set theme(e){(0,ee.Z)(this,xe,e)}get required(){return(0,te.Z)(this,ze)}set required(e){(0,ee.Z)(this,ze,e)}get readOnly(){return(0,te.Z)(this,Re)}set readOnly(e){(0,ee.Z)(this,Re,e)}get automaticLayout(){return(0,te.Z)(this,Oe)}set automaticLayout(e){(0,ee.Z)(this,Oe,e)}get minLines(){return(0,te.Z)(this,Pe)}set minLines(e){(0,ee.Z)(this,Pe,e)}get completers(){return(0,te.Z)(this,qe)}set completers(e){(0,ee.Z)(this,qe,e)}get advancedCompleters(){return(0,te.Z)(this,Be)}set advancedCompleters(e){(0,ee.Z)(this,Be,e)}get markers(){return(0,te.Z)(this,Ne)}set markers(e){(0,ee.Z)(this,Ne,e)}get links(){return(0,te.Z)(this,Ie)}set links(e){(0,ee.Z)(this,Ie,e)}get maxLines(){return(0,te.Z)(this,Ve)}set maxLines(e){(0,ee.Z)(this,Ve,e)}get height(){return(0,te.Z)(this,De)}set height(e){(0,ee.Z)(this,De,e)}get message(){return(0,te.Z)(this,He)}set message(e){(0,ee.Z)(this,He,e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return ie().createElement(Ee,{curElement:this,formElement:this.getFormElement(),name:this.name,label:this.label,required:this.required,validator:(0,te.Z)(this,Ue)},ie().createElement(it,{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,markers:this.markers,links:this.links,validateState:this.validateState,onChange:(0,te.Z)(this,je),onTokenClick:(0,te.Z)(this,Qe)}))}}function Ye(e){D(this,e)}function $e(){return V(this)}function et(e){F(this,e)}function tt(){return T(this)}function rt(e){J(this,e)}function at(){return A(this)}function it(e){var{value:t,language:r,theme:a,minLines:i,maxLines:n,height:s,automaticLayout:l,completers:u,advancedCompleters:o,markers:h,readOnly:c,links:d,validateState:g,onChange:m,onTokenClick:v}=e,p=null!=t?t:"",f=null!=r?r:"plaintext",k=null!=a?a:"auto",Z=null!=i?i:3,w=null!=n?n:1/0,b=null!=s?s:500,y=(0,ae.useMemo)((()=>(0,pe.uniqueId)("worker")),[]),M=(0,ae.useRef)(null),C=(0,ae.useRef)(),E=(0,ae.useRef)(),L=(0,ae.useRef)({width:300,height:nt(p,Z,w)}),[S,W]=(0,ae.useState)(),_=(0,ae.useRef)(l),x=(0,le.useCurrentTheme)();(0,ae.useEffect)((()=>{if("brick_next_yaml"===f){var e=Ze.h.getInstance(y),t=e.addEventListener("message",(e=>{var{token:t,data:r}=e.data,a=E.current.getModel();switch(t){case"parse_yaml":var i,{value:n,tokens:s,markers:l}=r;null===(i=C.current)||void 0===i||i.set(s.map((e=>({range:new oe.Range(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),options:{inlineClassName:"highlight"}})))),oe.editor.setModelMarkers(a,"brick_next_yaml",l),m(a.getValue(),n,!1);break;case"parse_yaml_error":var u;oe.editor.setModelMarkers(a,"brick_next_yaml",[]),null==C||null===(u=C.current)||void 0===u||u.set([])}}));return()=>{e.removeEventListener(t)}}}),[]),(0,ae.useEffect)((()=>{oe.editor.setTheme("auto"===k?"dark"===x||"dark-v2"===x?"vs-dark":"vs":k)}),[x,k]),(0,ae.useEffect)((()=>{if(E.current){var e=E.current.getModel();oe.editor.setModelLanguage(e,f),(0,pe.isEqual)(e.getValue(),p)||e.setValue(p)}}),[p,f]),(0,ae.useEffect)((()=>{if("brick_next_yaml"===f){var e=(0,ke.V)(u,o,y),t=oe.languages.registerCompletionItemProvider("brick_next_yaml",{provideCompletionItems:e,triggerCharacters:[".",":","<"]});return()=>{t.dispose()}}}),[u,o,f]);var z=(0,ae.useCallback)((()=>{"brick_next_yaml"===f&&Ze.h.getInstance(y).postMessage({token:"parse_yaml",data:{value:E.current.getModel().getValue(),links:d,markers:h}})}),[f,d,h,y]);return(0,ae.useLayoutEffect)((()=>{var e;if("fit-content"===_.current&&M.current){L.current.width=M.current.getBoundingClientRect().width,null===(e=E.current)||void 0===e||e.layout(L.current);var t=new ResizeObserver((e=>{for(var t of e)if(t.target===M.current){var r,a=t.contentBoxSize?t.contentBoxSize[0].inlineSize:t.contentRect.width;a!==L.current.width&&(L.current.width=a,null===(r=E.current)||void 0===r||r.layout(L.current));break}}));return t.observe(M.current),()=>{t.disconnect()}}}),[]),(0,ae.useLayoutEffect)((()=>{if("fit-container"===_.current){var e=function(e){for(var t=e;t;){var r="vs.code-editor"===t.tagName.toLowerCase();if(t=t.parentElement,r)return t}}(M.current);if(e){var t=new ResizeObserver((()=>{W(e.offsetHeight)}));return t.observe(e),()=>{t.disconnect()}}}}),[]),(0,ae.useEffect)((()=>{"fit-container"!==_.current&&"fit-content"!==_.current&&W(b)}),[b]),(0,ae.useEffect)((()=>{E.current&&E.current.updateOptions({readOnly:c})}),[c]),(0,ae.useEffect)((()=>{if(!E.current&&M.current){var e=oe.editor.createModel(p,f);E.current=oe.editor.create(M.current,{model:e,minimap:{enabled:!1},scrollBeyondLastLine:!1,tabSize:2,insertSpaces:!0,automaticLayout:"fit-content"!==_.current,fontSize:fe.P0,lineHeight:fe.Mv,scrollbar:{horizontalScrollbarSize:fe.sE,verticalScrollbarSize:fe.sE,horizontalSliderSize:8,verticalSliderSize:8,alwaysConsumeMouseWheel:!1},padding:{top:fe.LS,bottom:"fit-content"==_.current?void 0:fe.LS},overviewRulerBorder:!1,mouseWheelScrollSensitivity:.5,suggest:{insertMode:"insert",preview:!0},readOnly:c,quickSuggestions:{strings:!0,other:!0,comments:!0}}),C.current=E.current.createDecorationsCollection()}}),[p,f,c]),(0,ae.useEffect)((()=>{var e=E.current;if("brick_next_yaml"===f&&e){var t=e.getModel(),r=e.onMouseDown((function(e){var r,a,i=C.current;(null!==(r=null==i||null===(a=i.getRanges)||void 0===a?void 0:a.call(i))&&void 0!==r?r:[]).forEach((r=>{var a=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";r&&e.target.position&&e.event[a]&&r.containsPosition(e.target.position)&&v(t.getValueInRange(r))}))})),a=e.onMouseMove((function(e){var t=C.current;t&&t.getRanges().forEach((r=>{var a=/Mac|iPod|iPhone|iPad/.test(navigator.platform)?"metaKey":"ctrlKey";if(r&&e.target.position&&e.event[a]&&r.containsPosition(e.target.position)){var i=t.getRanges().map((e=>({range:e,options:{inlineClassName:r.equalsRange(e)?"highlight pointer":"highlight"}})));t.set(i)}else if(!e.event[a]){var n=t.getRanges().map((e=>({range:e,options:{inlineClassName:"highlight"}})));t.set(n)}}))}));return z(),()=>{null==a||a.dispose(),null==r||r.dispose()}}}),[f,v,x,k,z]),(0,ae.useEffect)((()=>{var e=E.current;if(e&&M.current&&"fit-content"===_.current){var t=e.onDidContentSizeChange((t=>{if(t.contentHeightChanged){var r=st(t.contentHeight,Z,w);r!==L.current.height&&(L.current.height=r,e.layout(L.current))}})),r=st(e.getContentHeight(),Z,w);return r!==L.current.height&&(L.current.height=r,e.layout(L.current)),()=>{t.dispose()}}}),[w,Z]),(0,ae.useEffect)((()=>{if(E.current){var e=E.current.getModel().onDidChangeContent((()=>{(0,we.x)(y),z()}));return()=>{e.dispose()}}}),[m,z]),(0,ae.useEffect)((()=>()=>{var e,t;null===(e=E.current)||void 0===e||null===(e=e.getModel())||void 0===e||e.dispose(),null===(t=E.current)||void 0===t||t.dispose()}),[]),ie().createElement("div",{ref:M,style:(0,X.Z)({height:S},"error"===g?{outline:"1px solid var(--antd-error-color)"}:{})})}function nt(e,t,r){return lt(Math.min(r,Math.max(t,e.split("\n").length)))}function st(e,t,r){var a=e;return(e-fe.LS)%fe.Mv==0&&(a=e+fe.sE),Math.min(lt(r),Math.max(a,lt(t)))}function lt(e){return e*fe.Mv+fe.sE+fe.LS}U=Xe,({e:[s,u,h,d,m,p,k,w,y,C,L,W,x,R,P,B,I,V,D,K,T,F,j,A,J,Q],c:[be,a]}=(0,re.Z)(U,[[n,1,"name"],[l,1,"label"],[o,1,"value"],[c,1,"language"],[g,1,"theme"],[v,1,"required"],[f,1,"readOnly"],[Z,1,"automaticLayout"],[b,1,"minLines"],[M,1,"completers"],[E,1,"advancedCompleters"],[S,1,"markers"],[_,1,"links"],[z,1,"maxLines"],[O,1,"height"],[q,1,"message"],[N,1,"codeChange",e=>(0,te.Z)(e,Ke),(e,t)=>(0,ee.Z)(e,Ke,t)],[H,1,"userInput",e=>(0,te.Z)(e,Fe),(e,t)=>(0,ee.Z)(e,Fe,t)],[G,1,"tokenClickEvent",e=>(0,te.Z)(e,Ae),(e,t)=>(0,ee.Z)(e,Ae,t)]],[i],0,(e=>Ue.has((0,$.Z)(e))),ue.G)),a()}}]);
2
+ //# sourceMappingURL=code-editor.b96398ca.js.map