@next-bricks/vs 0.4.7 → 0.4.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (27) hide show
  1. package/dist/bricks.json +1 -1
  2. package/dist/chunks/2383.77004934.js +2 -0
  3. package/dist/chunks/2383.77004934.js.map +1 -0
  4. package/dist/chunks/{3494.c7155404.js → 3494.d2d2f45e.js} +2 -2
  5. package/dist/chunks/{7822.cd029af1.js.map → 3494.d2d2f45e.js.map} +1 -1
  6. package/dist/chunks/4454.42c7c397.js +2 -0
  7. package/dist/chunks/4454.42c7c397.js.map +1 -0
  8. package/dist/chunks/{7782.22b0de37.js → 7782.bfe0e5a3.js} +2 -2
  9. package/dist/chunks/{7782.22b0de37.js.map → 7782.bfe0e5a3.js.map} +1 -1
  10. package/dist/chunks/{7822.cd029af1.js → 7822.5fedc288.js} +2 -2
  11. package/dist/chunks/{3494.c7155404.js.map → 7822.5fedc288.js.map} +1 -1
  12. package/dist/chunks/873.2b00244b.js +2 -0
  13. package/dist/chunks/873.2b00244b.js.map +1 -0
  14. package/dist/chunks/{code-editor.e05ff3c2.js → code-editor.925c075f.js} +2 -2
  15. package/dist/chunks/code-editor.925c075f.js.map +1 -0
  16. package/dist/chunks/{main.1b1ff585.js → main.d08b2cf8.js} +2 -2
  17. package/dist/chunks/{main.1b1ff585.js.map → main.d08b2cf8.js.map} +1 -1
  18. package/dist/{index.284f930b.js → index.fe252176.js} +2 -2
  19. package/dist/{index.284f930b.js.map → index.fe252176.js.map} +1 -1
  20. package/package.json +2 -2
  21. package/dist/chunks/2383.7f75a734.js +0 -2
  22. package/dist/chunks/2383.7f75a734.js.map +0 -1
  23. package/dist/chunks/4454.7dbb7be2.js +0 -2
  24. package/dist/chunks/4454.7dbb7be2.js.map +0 -1
  25. package/dist/chunks/873.92b93270.js +0 -2
  26. package/dist/chunks/873.92b93270.js.map +0 -1
  27. package/dist/chunks/code-editor.e05ff3c2.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/4454.7dbb7be2.js","mappings":"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","sources":["webpack:///../../node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadScript.js","webpack:///../../node_modules/@next-core/loader/dist/esm/stableLoadBricks.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadSharedModule.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}","var cache = new Map();\nexport default function loadScript(src, prefix) {\n if (Array.isArray(src)) {\n return Promise.all(src.map(item => loadScript(item, prefix)));\n }\n var fixedSrc = prefix ? \"\".concat(prefix).concat(src) : src;\n var cachedPromise = cache.get(fixedSrc);\n if (cachedPromise) {\n return cachedPromise;\n }\n var promise = new Promise((resolve, reject) => {\n var end = () => {\n window.dispatchEvent(new Event(\"request.end\"));\n };\n var script = document.createElement(\"script\");\n script.src = fixedSrc;\n script.type = \"text/javascript\";\n script.async = true;\n script.onload = () => {\n resolve(fixedSrc);\n end();\n };\n script.onerror = e => {\n reject(e);\n end();\n };\n var firstScript = document.currentScript || document.getElementsByTagName(\"script\")[0];\n firstScript.parentNode.insertBefore(script, firstScript);\n window.dispatchEvent(new Event(\"request.start\"));\n });\n cache.set(fixedSrc, promise);\n return promise;\n}\n//# sourceMappingURL=loadScript.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport loadScript from \"./loadScript.js\";\nimport loadSharedModule from \"./loadSharedModule.js\";\nvar resolveBasicPkg;\nvar basicPkgWillBeResolved = false;\nvar waitBasicPkg = new Promise(resolve => {\n resolveBasicPkg = resolve;\n});\nexport function flushStableLoadBricks() {\n if (!basicPkgWillBeResolved) {\n resolveBasicPkg();\n }\n}\n\n/**\n * When loading bundles with webpack module federation concurrently, if\n * these bundles share some modules, webpack will load a singleton module\n * if versions are matched. Webpack will use the first bundle who started\n * to init the shared scope. Generally which bundle to use for a specific\n * module, does not matter. However, it may cause flaky result since the\n * shared module may from different bundles which maybe not exactly the\n * same, especially developers declare dependencies incorrectly sometimes.\n * So in order to make it less flaky, we try to make a BASIC package takes\n * precedence over others. We will always load the shared modules from the\n * basic package bundle if it contains the shared modules.\n */\nexport function enqueueStableLoadBricks(bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function enqueueStableLoadProcessors(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function loadBricksImperatively(_x, _x2) {\n return _loadBricksImperatively.apply(this, arguments);\n}\nfunction _loadBricksImperatively() {\n _loadBricksImperatively = _asyncToGenerator(function* (bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n });\n return _loadBricksImperatively.apply(this, arguments);\n}\nexport function loadProcessorsImperatively(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nvar v2AdapterPromise;\nvar V2_ADAPTER_LOAD_BRICKS = \"v2-adapter.load-bricks\";\n\n// Get brick/processor items including their dependencies\nfunction getItemsByPkg(type, list, brickPackagesMap) {\n var itemsByPkg = new Map();\n var listToLoad = new Set();\n var add = item => {\n var _pkg$dependencies;\n if (listToLoad.has(item)) {\n return;\n }\n listToLoad.add(item);\n var pkg;\n var namespace;\n var itemName;\n if (type === \"processors\" || item.includes(\".\")) {\n [namespace, itemName] = item.split(\".\");\n var pkgId = \"bricks/\".concat(type === \"processors\" ? getProcessorPackageName(namespace) : namespace);\n pkg = brickPackagesMap.get(pkgId);\n } else {\n itemName = item;\n for (var p of brickPackagesMap.values()) {\n var _p$elements;\n if ((_p$elements = p.elements) !== null && _p$elements !== void 0 && _p$elements.some(e => e === itemName)) {\n pkg = p;\n break;\n }\n }\n }\n if (!pkg) {\n throw new Error(\"Package for \".concat(item, \" not found.\"));\n }\n var groupItems = itemsByPkg.get(pkg);\n if (!groupItems) {\n groupItems = [];\n itemsByPkg.set(pkg, groupItems);\n }\n groupItems.push(itemName);\n\n // Load their dependencies too\n var deps = (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies[item];\n if (deps) {\n for (var dep of deps) {\n add(dep);\n }\n }\n };\n for (var item of list) {\n add(item);\n }\n return itemsByPkg;\n}\nfunction loadBrickModule(_x3, _x4, _x5) {\n return _loadBrickModule.apply(this, arguments);\n}\nfunction _loadBrickModule() {\n _loadBrickModule = _asyncToGenerator(function* (type, pkgId, itemName) {\n var moduleName = \"\".concat(type === \"processors\" ? \"./processors/\" : \"./\").concat(itemName);\n try {\n yield loadSharedModule(pkgId, moduleName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n throw new Error(\"Load \".concat(type, \" of \\\"\").concat(pkgId.split(\"/\").pop(), \".\").concat(moduleName.split(\"/\").pop(), \"\\\" failed\"));\n }\n });\n return _loadBrickModule.apply(this, arguments);\n}\nfunction loadRestBricks(type, pkgs, itemsMap) {\n return pkgs.map( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (pkg) {\n var _window$PUBLIC_ROOT;\n yield loadScript(pkg.filePath, (_window$PUBLIC_ROOT = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT !== void 0 ? _window$PUBLIC_ROOT : \"\");\n yield waitBasicPkg;\n return Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsMap.get(pkg).map(itemName => loadBrickModule(type, pkg.id, itemName)));\n });\n return function (_x6) {\n return _ref.apply(this, arguments);\n };\n }());\n}\nfunction enqueueStableLoad(_x7, _x8, _x9) {\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction _enqueueStableLoad() {\n _enqueueStableLoad = _asyncToGenerator(function* (type, list, brickPackages) {\n var brickPackagesMap = new Map();\n for (var pkg of brickPackages) {\n var _pkg$id;\n var pkgId = (_pkg$id = pkg.id) !== null && _pkg$id !== void 0 ? _pkg$id : getPkgIdByFilePath(pkg.filePath);\n brickPackagesMap.set(pkgId, pkg);\n }\n var itemsByPkg = getItemsByPkg(type, list, brickPackagesMap);\n var foundBasicPkg;\n var v2Packages = [];\n var v3PackagesOtherThanBasic = [];\n var maybeV2Adapter;\n for (var _pkg of itemsByPkg.keys()) {\n if (_pkg.id) {\n if (_pkg.id === \"bricks/basic\") {\n foundBasicPkg = _pkg;\n } else {\n v3PackagesOtherThanBasic.push(_pkg);\n }\n } else {\n // Brick packages of v2 has no `id`\n v2Packages.push(_pkg);\n maybeV2Adapter = brickPackagesMap.get(\"bricks/v2-adapter\");\n if (!maybeV2Adapter) {\n // eslint-disable-next-line no-console\n console.error(\"Using v2 bricks, but v2-adapter not found\");\n }\n }\n }\n var v2Adapter = maybeV2Adapter;\n var basicPkgPromise;\n var basicPkg = foundBasicPkg;\n if (basicPkg) {\n var _window$PUBLIC_ROOT2;\n var tempPromise = loadScript(basicPkg.filePath, (_window$PUBLIC_ROOT2 = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT2 !== void 0 ? _window$PUBLIC_ROOT2 : \"\");\n // Packages other than BASIC will wait for an extra micro-task tick.\n if (!basicPkgWillBeResolved) {\n basicPkgWillBeResolved = true;\n tempPromise.then(() => Promise.resolve()).then(resolveBasicPkg);\n }\n basicPkgPromise = tempPromise.then(() => Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(basicPkg).map(itemName => loadBrickModule(type, basicPkg.id, itemName))));\n }\n var pkgPromises = [basicPkgPromise].concat(loadRestBricks(type, v3PackagesOtherThanBasic, itemsByPkg));\n if (v2Adapter && v2Packages.length > 0) {\n if (!v2AdapterPromise) {\n // Load `v2-adapter.load-bricks` and its dependencies\n var v2AdapterItemsByPkg = getItemsByPkg(\"bricks\", [V2_ADAPTER_LOAD_BRICKS], brickPackagesMap);\n var v2AdapterPackages = [...v2AdapterItemsByPkg.keys()];\n var loadV2Adapter = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* () {\n yield Promise.all(loadRestBricks(\"bricks\", v2AdapterPackages, v2AdapterItemsByPkg));\n return document.createElement(V2_ADAPTER_LOAD_BRICKS);\n });\n return function loadV2Adapter() {\n return _ref2.apply(this, arguments);\n };\n }();\n v2AdapterPromise = loadV2Adapter();\n }\n pkgPromises.push(v2AdapterPromise.then(adapter => Promise.all(v2Packages.map(pkg => {\n var pkgId = getPkgIdByFilePath(pkg.filePath);\n var pkgNamespace = pkgId.split(\"/\")[1];\n return adapter.resolve(v2Adapter.filePath, pkg.filePath, type === \"bricks\" ?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(pkg).map(itemName => \"\".concat(pkgNamespace, \".\").concat(itemName)) : [], pkg.dll,\n // Todo: remove `brickPackages` as an argument\n brickPackages);\n }))));\n }\n yield Promise.all(pkgPromises);\n });\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction dispatchRequestStatus(_x10) {\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction _dispatchRequestStatus() {\n _dispatchRequestStatus = _asyncToGenerator(function* (promise) {\n window.dispatchEvent(new Event(\"request.start\"));\n try {\n yield promise;\n } finally {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n });\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction getProcessorPackageName(camelPackageName) {\n return camelPackageName.replace(/[A-Z]/g, match => \"-\".concat(match[0].toLocaleLowerCase())).replace(/_[0-9]/g, match => \"-\".concat(match[1]));\n}\nfunction getPkgIdByFilePath(filePath) {\n return filePath.split(\"/\").slice(0, 2).join(\"/\");\n}\n//# sourceMappingURL=stableLoadBricks.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\n// https://github.com/module-federation/module-federation-examples/blob/eda9493f3991a423479fd834cfb1d7b241d9d1f0/advanced-api/dynamic-remotes/app1/src/App.js\nexport default function loadSharedModule(_x, _x2) {\n return _loadSharedModule.apply(this, arguments);\n}\nfunction _loadSharedModule() {\n _loadSharedModule = _asyncToGenerator(function* (scope, module) {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n yield __webpack_init_sharing__(\"default\");\n var container = window[scope]; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n yield container.init(__webpack_share_scopes__.default);\n var factory = yield container.get(module);\n return factory();\n });\n return _loadSharedModule.apply(this, arguments);\n}\n//# sourceMappingURL=loadSharedModule.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","cache","Map","loadScript","src","prefix","Array","isArray","all","map","item","fixedSrc","concat","cachedPromise","get","promise","end","window","dispatchEvent","Event","script","document","createElement","type","async","onload","onerror","e","firstScript","currentScript","getElementsByTagName","parentNode","insertBefore","set","resolveBasicPkg","loadSharedModule","_x","_x2","_loadSharedModule","scope","module","container","init","default","v2AdapterPromise","basicPkgWillBeResolved","waitBasicPkg","flushStableLoadBricks","enqueueStableLoadBricks","bricks","brickPackages","dispatchRequestStatus","enqueueStableLoad","enqueueStableLoadProcessors","processors","loadBricksImperatively","_loadBricksImperatively","loadProcessorsImperatively","V2_ADAPTER_LOAD_BRICKS","getItemsByPkg","list","brickPackagesMap","itemsByPkg","listToLoad","Set","add","_pkg$dependencies","has","pkg","namespace","itemName","includes","split","pkgId","replace","match","toLocaleLowerCase","p","values","_p$elements","elements","some","Error","groupItems","push","deps","dependencies","dep","loadBrickModule","_x3","_x4","_x5","_loadBrickModule","moduleName","console","pop","loadRestBricks","pkgs","itemsMap","_ref","_window$PUBLIC_ROOT","filePath","PUBLIC_ROOT","id","_x6","_x7","_x8","_x9","_enqueueStableLoad","_pkg$id","getPkgIdByFilePath","foundBasicPkg","maybeV2Adapter","v2Packages","v3PackagesOtherThanBasic","_pkg","keys","basicPkgPromise","v2Adapter","basicPkg","_window$PUBLIC_ROOT2","tempPromise","pkgPromises","length","v2AdapterItemsByPkg","v2AdapterPackages","loadV2Adapter","_ref2","adapter","pkgNamespace","dll","_x10","_dispatchRequestStatus","slice","join"],"sourceRoot":""}
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_next_bricks_vs=self.webpackChunk_next_bricks_vs||[]).push([[873],{74454:(r,e,t)=>{t.r(e),t.d(e,{enqueueStableLoadBricks:()=>d,enqueueStableLoadProcessors:()=>v,flushStableLoadBricks:()=>f,loadBricksImperatively:()=>h,loadProcessorsImperatively:()=>w,loadScript:()=>a,loadSharedModule:()=>s});var n=new Map;function a(r,e){if(Array.isArray(r))return Promise.all(r.map((r=>a(r,e))));var t=e?"".concat(e).concat(r):r,i=n.get(t);if(i)return i;var o=new Promise(((r,e)=>{var n=()=>{window.dispatchEvent(new Event("request.end"))},a=document.createElement("script");a.src=t,a.type="text/javascript",a.async=!0,a.onload=()=>{r(t),n()},a.onerror=r=>{e(r),n()};var i=document.currentScript||document.getElementsByTagName("script")[0];i.parentNode.insertBefore(a,i),window.dispatchEvent(new Event("request.start"))}));return n.set(t,o),o}var i,o=t(34795);function s(r,e){return c.apply(this,arguments)}function c(){return(c=(0,o.Z)((function*(r,e){yield t.I("default");var n=window[r];return yield n.init(t.S.default),(yield n.get(e))()}))).apply(this,arguments)}var l,u=!1,p=new Promise((r=>{i=r}));function f(){u||i()}function d(r,e){return L(E("bricks",r,e))}function v(r,e){return L(E("processors",r,e))}function h(r,e){return y.apply(this,arguments)}function y(){return(y=(0,o.Z)((function*(r,e){var t=E("bricks",r,e);return f(),L(t)}))).apply(this,arguments)}function w(r,e){var t=E("processors",r,e);return f(),L(t)}var m="v2-adapter.load-bricks";function k(r,e,t){var n=new Map,a=new Set,i=e=>{var o;if(!a.has(e)){var s,c,l;if(a.add(e),"processors"===r||e.includes(".")){[c,l]=e.split(".");var u="bricks/".concat("processors"===r?c.replace(/[A-Z]/g,(r=>"-".concat(r[0].toLocaleLowerCase()))).replace(/_[0-9]/g,(r=>"-".concat(r[1]))):c);s=t.get(u)}else for(var p of(l=e,t.values())){var f;if(null!==(f=p.elements)&&void 0!==f&&f.some((r=>r===l))){s=p;break}}if(!s)throw new Error("Package for ".concat(e," not found."));var d=n.get(s);d||(d=[],n.set(s,d)),d.push(l);var v=null===(o=s.dependencies)||void 0===o?void 0:o[e];if(v)for(var h of v)i(h)}};for(var o of e)i(o);return n}function b(r,e,t){return P.apply(this,arguments)}function P(){return(P=(0,o.Z)((function*(r,e,t){var n="".concat("processors"===r?"./processors/":"./").concat(t);try{yield s(e,n)}catch(t){throw console.error(t),new Error("Load ".concat(r,' of "').concat(e.split("/").pop(),".").concat(n.split("/").pop(),'" failed'))}}))).apply(this,arguments)}function g(r,e,t){return e.map(function(){var e=(0,o.Z)((function*(e){var n;return yield a(e.filePath,null!==(n=window.PUBLIC_ROOT)&&void 0!==n?n:""),yield p,Promise.all(t.get(e).map((t=>b(r,e.id,t))))}));return function(r){return e.apply(this,arguments)}}())}function E(r,e,t){return _.apply(this,arguments)}function _(){return _=(0,o.Z)((function*(r,e,t){var n=new Map;for(var s of t){var c,p=null!==(c=s.id)&&void 0!==c?c:Z(s.filePath);n.set(p,s)}var f,d,v=k(r,e,n),h=[],y=[];for(var w of v.keys())w.id?"bricks/basic"===w.id?f=w:y.push(w):(h.push(w),(d=n.get("bricks/v2-adapter"))||console.error("Using v2 bricks, but v2-adapter not found"));var P,E=d,_=f;if(_){var L,S=a(_.filePath,null!==(L=window.PUBLIC_ROOT)&&void 0!==L?L:"");u||(u=!0,S.then((()=>Promise.resolve())).then(i)),P=S.then((()=>Promise.all(v.get(_).map((e=>b(r,_.id,e))))))}var B=[P].concat(g(r,y,v));if(E&&h.length>0){if(!l){var q=k("bricks",[m],n),C=[...q.keys()],I=function(){var r=(0,o.Z)((function*(){return yield Promise.all(g("bricks",C,q)),document.createElement(m)}));return function(){return r.apply(this,arguments)}}();l=I()}B.push(l.then((e=>Promise.all(h.map((n=>{var a=Z(n.filePath).split("/")[1];return e.resolve(E.filePath,n.filePath,"bricks"===r?v.get(n).map((r=>"".concat(a,".").concat(r))):[],n.dll,t)}))))))}yield Promise.all(B)})),_.apply(this,arguments)}function L(r){return S.apply(this,arguments)}function S(){return(S=(0,o.Z)((function*(r){window.dispatchEvent(new Event("request.start"));try{yield r}finally{window.dispatchEvent(new Event("request.end"))}}))).apply(this,arguments)}function Z(r){return r.split("/").slice(0,2).join("/")}}}]);
2
- //# sourceMappingURL=873.92b93270.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/873.92b93270.js","mappings":"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","sources":["webpack:///../../node_modules/@next-core/loader/dist/esm/loadScript.js","webpack:///../../node_modules/@next-core/loader/dist/esm/stableLoadBricks.js","webpack:///../../node_modules/@next-core/loader/dist/esm/loadSharedModule.js"],"sourcesContent":["var cache = new Map();\nexport default function loadScript(src, prefix) {\n if (Array.isArray(src)) {\n return Promise.all(src.map(item => loadScript(item, prefix)));\n }\n var fixedSrc = prefix ? \"\".concat(prefix).concat(src) : src;\n var cachedPromise = cache.get(fixedSrc);\n if (cachedPromise) {\n return cachedPromise;\n }\n var promise = new Promise((resolve, reject) => {\n var end = () => {\n window.dispatchEvent(new Event(\"request.end\"));\n };\n var script = document.createElement(\"script\");\n script.src = fixedSrc;\n script.type = \"text/javascript\";\n script.async = true;\n script.onload = () => {\n resolve(fixedSrc);\n end();\n };\n script.onerror = e => {\n reject(e);\n end();\n };\n var firstScript = document.currentScript || document.getElementsByTagName(\"script\")[0];\n firstScript.parentNode.insertBefore(script, firstScript);\n window.dispatchEvent(new Event(\"request.start\"));\n });\n cache.set(fixedSrc, promise);\n return promise;\n}\n//# sourceMappingURL=loadScript.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\nimport loadScript from \"./loadScript.js\";\nimport loadSharedModule from \"./loadSharedModule.js\";\nvar resolveBasicPkg;\nvar basicPkgWillBeResolved = false;\nvar waitBasicPkg = new Promise(resolve => {\n resolveBasicPkg = resolve;\n});\nexport function flushStableLoadBricks() {\n if (!basicPkgWillBeResolved) {\n resolveBasicPkg();\n }\n}\n\n/**\n * When loading bundles with webpack module federation concurrently, if\n * these bundles share some modules, webpack will load a singleton module\n * if versions are matched. Webpack will use the first bundle who started\n * to init the shared scope. Generally which bundle to use for a specific\n * module, does not matter. However, it may cause flaky result since the\n * shared module may from different bundles which maybe not exactly the\n * same, especially developers declare dependencies incorrectly sometimes.\n * So in order to make it less flaky, we try to make a BASIC package takes\n * precedence over others. We will always load the shared modules from the\n * basic package bundle if it contains the shared modules.\n */\nexport function enqueueStableLoadBricks(bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function enqueueStableLoadProcessors(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n return dispatchRequestStatus(promise);\n}\nexport function loadBricksImperatively(_x, _x2) {\n return _loadBricksImperatively.apply(this, arguments);\n}\nfunction _loadBricksImperatively() {\n _loadBricksImperatively = _asyncToGenerator(function* (bricks, brickPackages) {\n var promise = enqueueStableLoad(\"bricks\", bricks, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n });\n return _loadBricksImperatively.apply(this, arguments);\n}\nexport function loadProcessorsImperatively(processors, brickPackages) {\n var promise = enqueueStableLoad(\"processors\", processors, brickPackages);\n flushStableLoadBricks();\n return dispatchRequestStatus(promise);\n}\nvar v2AdapterPromise;\nvar V2_ADAPTER_LOAD_BRICKS = \"v2-adapter.load-bricks\";\n\n// Get brick/processor items including their dependencies\nfunction getItemsByPkg(type, list, brickPackagesMap) {\n var itemsByPkg = new Map();\n var listToLoad = new Set();\n var add = item => {\n var _pkg$dependencies;\n if (listToLoad.has(item)) {\n return;\n }\n listToLoad.add(item);\n var pkg;\n var namespace;\n var itemName;\n if (type === \"processors\" || item.includes(\".\")) {\n [namespace, itemName] = item.split(\".\");\n var pkgId = \"bricks/\".concat(type === \"processors\" ? getProcessorPackageName(namespace) : namespace);\n pkg = brickPackagesMap.get(pkgId);\n } else {\n itemName = item;\n for (var p of brickPackagesMap.values()) {\n var _p$elements;\n if ((_p$elements = p.elements) !== null && _p$elements !== void 0 && _p$elements.some(e => e === itemName)) {\n pkg = p;\n break;\n }\n }\n }\n if (!pkg) {\n throw new Error(\"Package for \".concat(item, \" not found.\"));\n }\n var groupItems = itemsByPkg.get(pkg);\n if (!groupItems) {\n groupItems = [];\n itemsByPkg.set(pkg, groupItems);\n }\n groupItems.push(itemName);\n\n // Load their dependencies too\n var deps = (_pkg$dependencies = pkg.dependencies) === null || _pkg$dependencies === void 0 ? void 0 : _pkg$dependencies[item];\n if (deps) {\n for (var dep of deps) {\n add(dep);\n }\n }\n };\n for (var item of list) {\n add(item);\n }\n return itemsByPkg;\n}\nfunction loadBrickModule(_x3, _x4, _x5) {\n return _loadBrickModule.apply(this, arguments);\n}\nfunction _loadBrickModule() {\n _loadBrickModule = _asyncToGenerator(function* (type, pkgId, itemName) {\n var moduleName = \"\".concat(type === \"processors\" ? \"./processors/\" : \"./\").concat(itemName);\n try {\n yield loadSharedModule(pkgId, moduleName);\n } catch (error) {\n // eslint-disable-next-line no-console\n console.error(error);\n throw new Error(\"Load \".concat(type, \" of \\\"\").concat(pkgId.split(\"/\").pop(), \".\").concat(moduleName.split(\"/\").pop(), \"\\\" failed\"));\n }\n });\n return _loadBrickModule.apply(this, arguments);\n}\nfunction loadRestBricks(type, pkgs, itemsMap) {\n return pkgs.map( /*#__PURE__*/function () {\n var _ref = _asyncToGenerator(function* (pkg) {\n var _window$PUBLIC_ROOT;\n yield loadScript(pkg.filePath, (_window$PUBLIC_ROOT = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT !== void 0 ? _window$PUBLIC_ROOT : \"\");\n yield waitBasicPkg;\n return Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsMap.get(pkg).map(itemName => loadBrickModule(type, pkg.id, itemName)));\n });\n return function (_x6) {\n return _ref.apply(this, arguments);\n };\n }());\n}\nfunction enqueueStableLoad(_x7, _x8, _x9) {\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction _enqueueStableLoad() {\n _enqueueStableLoad = _asyncToGenerator(function* (type, list, brickPackages) {\n var brickPackagesMap = new Map();\n for (var pkg of brickPackages) {\n var _pkg$id;\n var pkgId = (_pkg$id = pkg.id) !== null && _pkg$id !== void 0 ? _pkg$id : getPkgIdByFilePath(pkg.filePath);\n brickPackagesMap.set(pkgId, pkg);\n }\n var itemsByPkg = getItemsByPkg(type, list, brickPackagesMap);\n var foundBasicPkg;\n var v2Packages = [];\n var v3PackagesOtherThanBasic = [];\n var maybeV2Adapter;\n for (var _pkg of itemsByPkg.keys()) {\n if (_pkg.id) {\n if (_pkg.id === \"bricks/basic\") {\n foundBasicPkg = _pkg;\n } else {\n v3PackagesOtherThanBasic.push(_pkg);\n }\n } else {\n // Brick packages of v2 has no `id`\n v2Packages.push(_pkg);\n maybeV2Adapter = brickPackagesMap.get(\"bricks/v2-adapter\");\n if (!maybeV2Adapter) {\n // eslint-disable-next-line no-console\n console.error(\"Using v2 bricks, but v2-adapter not found\");\n }\n }\n }\n var v2Adapter = maybeV2Adapter;\n var basicPkgPromise;\n var basicPkg = foundBasicPkg;\n if (basicPkg) {\n var _window$PUBLIC_ROOT2;\n var tempPromise = loadScript(basicPkg.filePath, (_window$PUBLIC_ROOT2 = window.PUBLIC_ROOT) !== null && _window$PUBLIC_ROOT2 !== void 0 ? _window$PUBLIC_ROOT2 : \"\");\n // Packages other than BASIC will wait for an extra micro-task tick.\n if (!basicPkgWillBeResolved) {\n basicPkgWillBeResolved = true;\n tempPromise.then(() => Promise.resolve()).then(resolveBasicPkg);\n }\n basicPkgPromise = tempPromise.then(() => Promise.all(\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(basicPkg).map(itemName => loadBrickModule(type, basicPkg.id, itemName))));\n }\n var pkgPromises = [basicPkgPromise].concat(loadRestBricks(type, v3PackagesOtherThanBasic, itemsByPkg));\n if (v2Adapter && v2Packages.length > 0) {\n if (!v2AdapterPromise) {\n // Load `v2-adapter.load-bricks` and its dependencies\n var v2AdapterItemsByPkg = getItemsByPkg(\"bricks\", [V2_ADAPTER_LOAD_BRICKS], brickPackagesMap);\n var v2AdapterPackages = [...v2AdapterItemsByPkg.keys()];\n var loadV2Adapter = /*#__PURE__*/function () {\n var _ref2 = _asyncToGenerator(function* () {\n yield Promise.all(loadRestBricks(\"bricks\", v2AdapterPackages, v2AdapterItemsByPkg));\n return document.createElement(V2_ADAPTER_LOAD_BRICKS);\n });\n return function loadV2Adapter() {\n return _ref2.apply(this, arguments);\n };\n }();\n v2AdapterPromise = loadV2Adapter();\n }\n pkgPromises.push(v2AdapterPromise.then(adapter => Promise.all(v2Packages.map(pkg => {\n var pkgId = getPkgIdByFilePath(pkg.filePath);\n var pkgNamespace = pkgId.split(\"/\")[1];\n return adapter.resolve(v2Adapter.filePath, pkg.filePath, type === \"bricks\" ?\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n itemsByPkg.get(pkg).map(itemName => \"\".concat(pkgNamespace, \".\").concat(itemName)) : [], pkg.dll,\n // Todo: remove `brickPackages` as an argument\n brickPackages);\n }))));\n }\n yield Promise.all(pkgPromises);\n });\n return _enqueueStableLoad.apply(this, arguments);\n}\nfunction dispatchRequestStatus(_x10) {\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction _dispatchRequestStatus() {\n _dispatchRequestStatus = _asyncToGenerator(function* (promise) {\n window.dispatchEvent(new Event(\"request.start\"));\n try {\n yield promise;\n } finally {\n window.dispatchEvent(new Event(\"request.end\"));\n }\n });\n return _dispatchRequestStatus.apply(this, arguments);\n}\nfunction getProcessorPackageName(camelPackageName) {\n return camelPackageName.replace(/[A-Z]/g, match => \"-\".concat(match[0].toLocaleLowerCase())).replace(/_[0-9]/g, match => \"-\".concat(match[1]));\n}\nfunction getPkgIdByFilePath(filePath) {\n return filePath.split(\"/\").slice(0, 2).join(\"/\");\n}\n//# sourceMappingURL=stableLoadBricks.js.map","import _asyncToGenerator from \"@babel/runtime/helpers/asyncToGenerator\";\n// https://github.com/module-federation/module-federation-examples/blob/eda9493f3991a423479fd834cfb1d7b241d9d1f0/advanced-api/dynamic-remotes/app1/src/App.js\nexport default function loadSharedModule(_x, _x2) {\n return _loadSharedModule.apply(this, arguments);\n}\nfunction _loadSharedModule() {\n _loadSharedModule = _asyncToGenerator(function* (scope, module) {\n // Initializes the share scope. This fills it with known provided modules from this build and all remotes\n yield __webpack_init_sharing__(\"default\");\n var container = window[scope]; // or get the container somewhere else\n // Initialize the container, it may provide shared modules\n yield container.init(__webpack_share_scopes__.default);\n var factory = yield container.get(module);\n return factory();\n });\n return _loadSharedModule.apply(this, arguments);\n}\n//# sourceMappingURL=loadSharedModule.js.map"],"names":["cache","Map","loadScript","src","prefix","Array","isArray","Promise","all","map","item","fixedSrc","concat","cachedPromise","get","promise","resolve","reject","end","window","dispatchEvent","Event","script","document","createElement","type","async","onload","onerror","e","firstScript","currentScript","getElementsByTagName","parentNode","insertBefore","set","resolveBasicPkg","loadSharedModule","_x","_x2","_loadSharedModule","apply","this","arguments","scope","module","container","init","default","v2AdapterPromise","basicPkgWillBeResolved","waitBasicPkg","flushStableLoadBricks","enqueueStableLoadBricks","bricks","brickPackages","dispatchRequestStatus","enqueueStableLoad","enqueueStableLoadProcessors","processors","loadBricksImperatively","_loadBricksImperatively","loadProcessorsImperatively","V2_ADAPTER_LOAD_BRICKS","getItemsByPkg","list","brickPackagesMap","itemsByPkg","listToLoad","Set","add","_pkg$dependencies","has","pkg","namespace","itemName","includes","split","pkgId","replace","match","toLocaleLowerCase","p","values","_p$elements","elements","some","Error","groupItems","push","deps","dependencies","dep","loadBrickModule","_x3","_x4","_x5","_loadBrickModule","moduleName","error","console","pop","loadRestBricks","pkgs","itemsMap","_ref","_window$PUBLIC_ROOT","filePath","PUBLIC_ROOT","id","_x6","_x7","_x8","_x9","_enqueueStableLoad","_pkg$id","getPkgIdByFilePath","foundBasicPkg","maybeV2Adapter","v2Packages","v3PackagesOtherThanBasic","_pkg","keys","basicPkgPromise","v2Adapter","basicPkg","_window$PUBLIC_ROOT2","tempPromise","then","pkgPromises","length","v2AdapterItemsByPkg","v2AdapterPackages","loadV2Adapter","_ref2","adapter","pkgNamespace","dll","_x10","_dispatchRequestStatus","slice","join"],"sourceRoot":""}
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/code-editor.e05ff3c2.js","mappings":"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","sources":["webpack:///./src/code-editor/constants.ts","webpack:///./src/code-editor/index.tsx","webpack:///./src/code-editor/utils/brickNextSourceMap.ts","webpack:///./src/code-editor/utils/brickNextYaml.ts","webpack:///./src/code-editor/utils/constants.ts","webpack:///./src/code-editor/index.css","webpack:///./src/code-editor/index.css?aefa","webpack:///../../src/FormItemElement.tsx"],"sourcesContent":["export const EDITOR_FONT_SIZE = 12;\nexport const EDITOR_LINE_HEIGHT = 18;\nexport const EDITOR_SCROLLBAR_SIZE = 12;\nexport const EDITOR_PADDING_VERTICAL = 12;\n","import React, {\n useCallback,\n useEffect,\n useLayoutEffect,\n useRef,\n useState,\n} from \"react\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport { useCurrentTheme } from \"@next-core/react-runtime\";\nimport { FormItemElementBase } from \"@next-shared/form\";\nimport type { FormItem, FormItemProps } from \"@next-bricks/form/form-item\";\nimport * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport { register as registerJavaScript } from \"@next-core/monaco-contributions/javascript\";\nimport { register as registerTypeScript } from \"@next-core/monaco-contributions/typescript\";\nimport { register as registerYaml } from \"@next-core/monaco-contributions/yaml\";\nimport { register as registerHtml } from \"@next-core/monaco-contributions/html\";\nimport yaml from \"js-yaml\";\nimport BrickNextYamlSourceMap, { Token } from \"./utils/brickNextSourceMap.js\";\nimport \"@next-core/theme\";\nimport { isEqual } from \"lodash\";\nimport {\n EDITOR_SCROLLBAR_SIZE,\n EDITOR_PADDING_VERTICAL,\n EDITOR_LINE_HEIGHT,\n EDITOR_FONT_SIZE,\n} from \"./constants.js\";\nimport { brickNextYAMLProvideCompletionItems } from \"./utils/brickNextYaml.js\";\nimport \"./index.css\";\nimport { EVALUATE_KEYWORD, Level } from \"./utils/constants.js\";\nimport type { MemberExpression, Identifier } from \"@babel/types\";\nimport { preevaluate } from \"@next-core/cook\";\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 * 构件 code-editor\n */\nexport\n@defineElement(\"vs.code-editor\", {\n // There are a few issues for monaco-editor with shadow DOM.\n // So we use light DOM for now.\n // See https://github.com/microsoft/monaco-editor/issues?q=is%3Aissue+is%3Aopen+shadow+dom\n shadowOptions: false,\n})\nclass CodeEditor extends FormItemElementBase implements CodeEditorProps {\n @property()\n accessor name: string | undefined;\n\n @property()\n accessor label: string | undefined;\n\n @property({ attribute: false })\n accessor value: string | undefined;\n\n /**\n * @default \"plaintext\"\n */\n @property()\n accessor language: string | undefined;\n\n /**\n * 主题,支持 `\"auto\" | \"vs\" | \"vs-dark\"`\n *\n * @default \"auto\"\n * @group ui\n */\n @property() accessor theme: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor required: boolean | undefined;\n\n @property({\n type: Boolean,\n })\n accessor readOnly: boolean | undefined;\n\n @property()\n accessor automaticLayout:\n | \"fit-container\"\n | \"fit-content\"\n | \"none\"\n | undefined;\n\n /**\n * @default 3\n */\n @property({ type: Number })\n accessor minLines: number | undefined;\n\n @property({\n attribute: false,\n })\n accessor completers: 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 #highlighClickEvent!: EventEmitter<string>;\n\n #handleHighlightClick = (word: string) => {\n this.#highlighClickEvent.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 onHighlightClick={this.#handleHighlightClick}\n />\n </WrappedFormItem>\n );\n }\n}\n\nexport function CodeEditorComponent({\n value: _value,\n language: _language,\n theme: _theme,\n minLines: _minLines,\n maxLines: _maxLines,\n height: _height,\n automaticLayout,\n completers,\n advancedCompleters,\n markers,\n readOnly,\n links,\n validateState,\n onChange,\n onHighlightClick,\n}: CodeEditorProps & {\n onChange(value: string, parseValue: any, isFlush: boolean): void;\n onHighlightClick(word: string): void;\n}) {\n const value = _value ?? \"\";\n const language = _language ?? \"plaintext\";\n const theme = _theme ?? \"auto\";\n const minLines = _minLines ?? 3;\n const maxLines = _maxLines ?? Infinity;\n const height = _height ?? 500;\n\n const containerRef = useRef<HTMLDivElement>(null);\n const decorationsCollection =\n useRef<monaco.editor.IEditorDecorationsCollection>();\n const editorRef = useRef<monaco.editor.IStandaloneCodeEditor>();\n const size = useRef<monaco.editor.IDimension>({\n width: 300,\n height: getContentHeightByCode(value, minLines, maxLines),\n });\n const [actualHeight, setActualHeight] = useState<string | number>();\n // `automaticLayout` should never change\n const automaticLayoutRef = useRef(automaticLayout);\n const systemTheme = useCurrentTheme();\n\n useEffect(() => {\n // Currently theme is configured globally.\n // See https://github.com/microsoft/monaco-editor/issues/338\n monaco.editor.setTheme(\n theme === \"auto\"\n ? systemTheme === \"dark\" || systemTheme === \"dark-v2\"\n ? \"vs-dark\"\n : \"vs\"\n : theme\n );\n }, [systemTheme, theme]);\n\n useEffect(() => {\n if (editorRef.current) {\n const currentModel = editorRef.current.getModel()!;\n monaco.editor.setModelLanguage(currentModel, language);\n if (!isEqual(currentModel.getValue(), value)) {\n currentModel.setValue(value);\n }\n }\n }, [value, language]);\n\n useEffect(() => {\n if (language === \"brick_next_yaml\") {\n const provideCompletionItems = brickNextYAMLProvideCompletionItems(\n completers,\n advancedCompleters\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 const map = new BrickNextYamlSourceMap();\n let parseValue = undefined;\n if (editorRef.current) {\n const model = editorRef.current.getModel()!;\n\n try {\n parseValue = yaml.load(value, {\n listener: map.listen(),\n });\n\n if ((links || markers) && editorRef.current) {\n const tokens: Omit<\n Token & { token: string; property: string },\n \"source\"\n >[] = [];\n map.getTokens().forEach((item) => {\n const { startLineNumber, endLineNumber, startColumn } = item;\n const globalNodes: MemberExpression[] = [];\n const result = preevaluate(item.source, {\n hooks: {\n beforeVisit(node) {\n if (\n node.type === \"MemberExpression\" &&\n node.object.type === \"Identifier\" &&\n EVALUATE_KEYWORD.includes(node.object.name) &&\n node.property.type === \"Identifier\"\n ) {\n globalNodes.push(node);\n }\n },\n },\n });\n\n globalNodes.forEach((node) => {\n const { start, end, loc } = node;\n if (item.startLineNumber !== item.endLineNumber) {\n const hadWrap = /<%[ ]+/.test(result.prefix);\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber:\n item.startLineNumber +\n (loc?.start?.line as number) -\n Number(hadWrap),\n endLineNumber:\n item.startLineNumber +\n (loc?.end?.line as number) -\n Number(hadWrap),\n startColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.start?.column as number) +\n 1,\n endColumn:\n (hadWrap && loc?.start.line === 1\n ? result.prefix.length\n : 0) +\n (loc?.end?.column as number) +\n 1,\n });\n } else {\n tokens.push({\n token: (node.object as Identifier)?.name,\n property: (node.property as Identifier).name,\n startLineNumber,\n endLineNumber,\n startColumn:\n startColumn +\n (start as number) +\n result.prefix?.length +\n Number(!item.isString),\n endColumn:\n startColumn +\n (end as number) +\n result.prefix?.length +\n Number(!item.isString),\n });\n }\n });\n });\n\n decorationsCollection.current?.set(\n tokens\n .filter((token) => links?.includes(token.token))\n .map((token) => ({\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\n if (markers) {\n const modelMarkers = tokens\n .map((token) => {\n const matchTokenConf = markers.find(\n (item) => item.token === token.token\n );\n const hadProperty = matchTokenConf?.params\n ? matchTokenConf.params?.includes(token.property)\n : true;\n if (!hadProperty) {\n return {\n severity: Level.warn,\n message: \"Miss Property\",\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n if (matchTokenConf && matchTokenConf.message) {\n return {\n severity: Level[matchTokenConf?.level ?? \"warn\"],\n message: matchTokenConf.message,\n ...(matchTokenConf.code\n ? {\n code: {\n value: matchTokenConf.code.value,\n target: monaco.Uri.parse(\n matchTokenConf.code.target\n ),\n },\n }\n : {}),\n startLineNumber: token.startLineNumber,\n endLineNumber: token.endLineNumber,\n startColumn: token.startColumn,\n endColumn: token.endColumn,\n };\n }\n })\n .filter(Boolean) as monaco.editor.IMarkerData[];\n\n monaco.editor.setModelMarkers(\n model,\n \"brick_next_yaml\",\n modelMarkers\n );\n }\n }\n } catch (e) {\n monaco.editor.setModelMarkers(model, \"brick_next_yaml\", []);\n decorationsCollection?.current?.set([]);\n }\n }\n return parseValue;\n }, [value, links, markers]);\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 onHighlightClick(model.getValueInRange(range));\n }\n });\n });\n\n const mouseOverEvent = editor.onMouseMove(function (e) {\n const decorations = decorationsCollection.current;\n if (!decorations) return;\n decorations.getRanges().forEach((range) => {\n const modKey = /Mac|iPod|iPhone|iPad/.test(navigator.platform)\n ? \"metaKey\"\n : \"ctrlKey\";\n if (\n range &&\n e.target.position &&\n e.event[modKey] &&\n range.containsPosition(e.target.position)\n ) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: range.equalsRange(item)\n ? \"highlight pointer\"\n : \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n } else if (!e.event[modKey]) {\n const newDecorations = decorations.getRanges().map((item) => ({\n range: item,\n options: {\n inlineClassName: \"highlight\",\n },\n }));\n decorations.set(newDecorations);\n }\n });\n });\n\n parseYaml();\n\n return () => {\n mouseOverEvent?.dispose();\n editorMouseDownEvent?.dispose();\n };\n }\n }, [language, onHighlightClick, 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((e) => {\n const parseValue = parseYaml();\n onChange(currentModel.getValue(), parseValue, e.isFlush);\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","import type { State } from \"js-yaml\";\nimport { isEqual } from \"lodash\";\n\nexport interface Token {\n startLineNumber: number;\n endLineNumber: number;\n startColumn: number;\n endColumn: number;\n source: string;\n isString?: boolean;\n}\n\nclass BrickNextYamlSourceMap {\n #recordsToken: Token[];\n #prefixPosition: number;\n #recordLastWord: string;\n\n constructor() {\n this.#recordsToken = [];\n this.#prefixPosition = 0;\n this.#recordLastWord = \"\";\n }\n\n private handleState(event: \"open\" | \"close\", state: State): void {\n if (event === \"close\") {\n const { line, position, lineStart, result } = state;\n const curWord = state.input.substring(lineStart, position);\n if (curWord.trim() === this.#recordLastWord.trim()) return;\n this.#recordLastWord = curWord;\n let startLineNumber = line + 1;\n let endLineNumber = line + 1;\n let startColumn = position - lineStart - result.length;\n let endColumn = position - lineStart - state.lineIndent;\n if (\n typeof result === \"string\" &&\n /^\\s*<%[~=]?\\s/.test(result) &&\n /\\s%>\\s*$/.test(result)\n ) {\n let source = result;\n const wrapLength = result.match(/\\n/g)?.length;\n if (wrapLength) {\n let nearWrapIndex = this.#prefixPosition;\n for (let i = this.#prefixPosition; i < state.input.length; i++) {\n if (state.input[i] === \"\\n\") {\n nearWrapIndex = i + 1;\n break;\n }\n }\n const specilStringPrefix = /(\\|-|>-)/.test(\n state.input.substring(this.#prefixPosition, position - 1)\n );\n source = state.input.substring(nearWrapIndex, position - 1);\n startLineNumber =\n state.line - wrapLength + 1 - Number(specilStringPrefix);\n endLineNumber = line;\n startColumn = 0;\n endColumn = 0;\n }\n const token = {\n source,\n startLineNumber,\n endLineNumber,\n startColumn,\n endColumn,\n isString: ['\"', \"'\"].includes(\n state.input[lineStart + startColumn - 2]\n ),\n };\n !this.#recordsToken.find((item) => isEqual(item, token)) &&\n this.#recordsToken.push(token);\n }\n this.#prefixPosition = position;\n }\n }\n\n public listen() {\n return this.handleState.bind(this);\n }\n\n public getTokens = () => {\n return this.#recordsToken;\n };\n}\n\nexport default BrickNextYamlSourceMap;\n","import * as monaco from \"monaco-editor/esm/vs/editor/editor.api.js\";\nimport storyboardJsonSchema from \"@next-core/types/storyboard.json\";\nimport { EVALUATE_KEYWORD, brickNextKeywords, Level } from \"./constants.js\";\nimport { get } from \"lodash\";\n\nconst findKeys = (\n model: monaco.editor.ITextModel,\n range: monaco.Range | monaco.editor.IWordAtPosition,\n line: number\n) => {\n const curLevelKeys: string[] = [];\n const keyList: string[] = [];\n let parentKey = \"\";\n let i = line;\n let startColumn = range.startColumn;\n while (i > 0) {\n const prefixLineWord = model.getValueInRange({\n startLineNumber: i,\n endLineNumber: i,\n startColumn: 0,\n endColumn: Infinity,\n });\n const matchWord = prefixLineWord.match(/^([\\s|-]*)(\\w+)(?=:)/);\n if (matchWord) {\n const [_, wordspace, key] = matchWord;\n if (wordspace.length === range.startColumn - 1) {\n curLevelKeys.unshift(key);\n }\n if (wordspace.length < startColumn - 1) {\n !parentKey && (parentKey = key);\n startColumn = wordspace.length;\n keyList.unshift(key);\n }\n }\n i--;\n }\n return {\n curLevelKeys,\n keyList,\n parentKey,\n };\n};\n\nconst getPrefixWord = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): {\n word: string | undefined;\n token: string;\n} => {\n const word = model.getWordUntilPosition(position);\n const prefixToken = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - word.word.length - 1,\n endColumn: position.column - word.word.length,\n });\n const prefixWord = model.getWordAtPosition({\n ...position,\n column: position.column - word?.word?.length - 1,\n });\n return {\n word: prefixWord?.word,\n token: prefixToken,\n };\n};\n\nexport const isInEvaluateBody = (\n model: monaco.editor.ITextModel,\n position: monaco.Position\n): boolean => {\n const word = model.getWordUntilPosition(position);\n const prefixEvaluateOperator = model.findPreviousMatch(\n \"<%\",\n position,\n false,\n false,\n null,\n false\n );\n const suffixEvaluateOperator = model.findNextMatch(\n \"%>\",\n position,\n false,\n false,\n null,\n false\n );\n const isInEvaluateBody =\n prefixEvaluateOperator?.range.startLineNumber &&\n suffixEvaluateOperator?.range.startLineNumber &&\n prefixEvaluateOperator.range.startLineNumber <= position.lineNumber &&\n suffixEvaluateOperator.range.endLineNumber >= position.lineNumber;\n\n if (isInEvaluateBody) {\n const { parentKey: prefixParentKey } = findKeys(\n model,\n prefixEvaluateOperator.range,\n prefixEvaluateOperator?.range.startLineNumber\n );\n const { parentKey: suffixParentKey } = findKeys(\n model,\n suffixEvaluateOperator.range,\n suffixEvaluateOperator?.range.startLineNumber\n );\n const { keyList } = findKeys(model, word, position.lineNumber);\n if (\n prefixParentKey === suffixParentKey &&\n keyList.includes(prefixParentKey)\n ) {\n return true;\n }\n }\n return false;\n};\n\nexport const brickNextYAMLProvideCompletionItems = (\n completers?: monaco.languages.CompletionItem[],\n advancedCompleters?: Record<\n string,\n { triggerCharacter: string; completers: monaco.languages.CompletionItem[] }\n >\n) => {\n return (\n model: monaco.editor.ITextModel,\n position: monaco.Position,\n context: monaco.languages.CompletionContext,\n _token: monaco.CancellationToken\n ): monaco.languages.ProviderResult<monaco.languages.CompletionList> => {\n const word = model.getWordUntilPosition(position);\n const { word: prefixWord, token: prefixToken } = getPrefixWord(\n model,\n position\n );\n const curLineWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: 0,\n endColumn: Infinity,\n });\n const range = {\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: word.startColumn,\n endColumn: word.endColumn,\n };\n\n const isFirstLevelProperty = word.startColumn === 1;\n const { curLevelKeys } = findKeys(model, word, model.getLineCount());\n\n if (context.triggerCharacter === \"<\") {\n const fullWord = model.getValueInRange({\n startLineNumber: position.lineNumber,\n endLineNumber: position.lineNumber,\n startColumn: position.column - 2,\n endColumn: position.column + 2,\n });\n if (fullWord.trim() !== \"<\") {\n return {\n suggestions: [],\n };\n }\n return {\n suggestions: [\n {\n label: \"<% %>\",\n detail: \"Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"% ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n {\n label: \"<%= %>\",\n detail: \"Track Evalute Body\",\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: \"%= ${0} %>\",\n insertTextRules:\n monaco.languages.CompletionItemInsertTextRule.InsertAsSnippet,\n range: range,\n },\n ],\n };\n }\n\n if (isFirstLevelProperty) {\n return {\n suggestions: (completers ?? [])\n .filter((item) => !curLevelKeys.includes(item.label as string))\n .map((item) => ({\n ...item,\n label: item.label,\n insertText: item.insertText || (item.label as string),\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (\n context.triggerCharacter === \":\" ||\n (context.triggerCharacter === \".\" &&\n prefixWord &&\n ![\"CTX\", \"STATE\", \"FN\"].includes(prefixWord))\n ) {\n if (prefixWord === \"action\" && context.triggerCharacter === \":\") {\n const actions = get(\n storyboardJsonSchema,\n \"definitions.BuiltinBrickEventHandler.properties.action.enum\"\n );\n return {\n suggestions: ((actions as unknown as string[]) ?? [])?.map(\n (item) => ({\n label: ` ${item}`,\n detail: \"event action\",\n kind: monaco.languages.CompletionItemKind.Keyword,\n insertText: ` ${item}`,\n range,\n })\n ),\n };\n }\n const matchCompletion = advancedCompleters?.[prefixWord as string];\n let matchTriggerCharacter = \"\";\n let list: monaco.languages.CompletionItem[] | undefined;\n if (matchCompletion && !Array.isArray(matchCompletion)) {\n list = matchCompletion.completers;\n matchTriggerCharacter = matchCompletion.triggerCharacter;\n } else {\n list = matchCompletion;\n }\n if (\n matchTriggerCharacter\n ? context.triggerCharacter === matchTriggerCharacter && list\n : list\n ) {\n return {\n suggestions: (list ?? []).map((item) => {\n const label =\n matchTriggerCharacter === \":\"\n ? ` ${item.label}`\n : (item.label as string);\n return {\n ...item,\n label: label,\n kind: monaco.languages.CompletionItemKind.Value,\n insertText: item.insertText || label,\n range,\n };\n }),\n };\n }\n }\n\n if (isInEvaluateBody(model, position)) {\n if (\n prefixWord &&\n [\"CTX\", \"STATE\"].includes(prefixWord) &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[prefixWord]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (\n prefixWord === \"FN\" &&\n context.triggerCharacter === \".\" &&\n advancedCompleters\n ) {\n return {\n suggestions: (advancedCompleters[\"FN\"]?.completers ?? []).map(\n (item) => ({\n label: item.label,\n insertText: item.label as string,\n kind: monaco.languages.CompletionItemKind.Value,\n range,\n })\n ),\n };\n }\n\n if (prefixWord === \"APP\" && context.triggerCharacter === \".\") {\n const appProperties = get(\n storyboardJsonSchema,\n \"definitions.MicroApp.properties\"\n );\n const suggestions = [];\n for (const [k, v] of Object.entries(\n appProperties as unknown as Record<\n string,\n {\n description: string;\n type: string;\n enum: string[];\n }\n >\n )) {\n suggestions.push({\n label: k,\n kind: monaco.languages.CompletionItemKind.Value,\n documentation: v.description,\n detail: v.enum ? v.enum.join(\"|\") : v.type,\n insertText: k,\n range,\n });\n }\n return {\n suggestions,\n };\n }\n\n if ([\".\", \":\"].includes(prefixToken)) {\n return {\n suggestions: [],\n };\n }\n\n return {\n suggestions: EVALUATE_KEYWORD.map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n })),\n };\n }\n\n if (/^[\\s|-]*\\w$/.test(curLineWord)) {\n return {\n suggestions: brickNextKeywords\n .map((item) => ({\n label: item,\n insertText: item,\n kind: monaco.languages.CompletionItemKind.Keyword,\n range,\n }))\n .filter((item) => !curLevelKeys.includes(item.label as string)),\n };\n }\n\n return {\n suggestions: [],\n };\n };\n};\n","export const EVALUATE_KEYWORD = [\n \"CTX\",\n \"STATE\",\n \"DATA\",\n \"EVENT\",\n \"FLAGS\",\n \"APP\",\n \"ANCHOR\",\n \"HASH\",\n \"INSTALLED_APPS\",\n \"ITEM\",\n \"LOCAL_STORAGE\",\n \"MEDIA\",\n \"MISC\",\n \"PARAMS\",\n \"PATH\",\n \"PROCESSORS\",\n \"QUERY\",\n \"QUERY_ARRAY\",\n \"SESSION_STORAGE\",\n \"TPL\",\n \"SYS\",\n \"BASE_URL\",\n \"IMG\",\n \"FN\",\n \"I18N\",\n \"I18N_TEXT\",\n \"PERMISSIONS\",\n \"THEME\",\n];\n\nexport const brickNextKeywords = [\n \"target\",\n \"targetRef\",\n \"properties\",\n \"events\",\n \"method\",\n \"callback\",\n \"success\",\n \"error\",\n \"action\",\n \"useProvider\",\n \"useChildren\",\n \"useBrick\",\n \"args\",\n \"if\",\n \"then\",\n];\n\nexport const Level = {\n hit: 1,\n info: 2,\n warn: 4,\n error: 8,\n};\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.highlight{color:rgb(74 170 189)!important;text-decoration:underline;font-weight:bold;font-style:oblique}.pointer{cursor:pointer}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./index.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type { AbstractForm } from \"./Form.js\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\n\nconst { method, property } = createDecorators();\n\nexport abstract class FormItemElementBase extends ReactNextElement {\n accessor #_notRender = false;\n accessor #validate = \"normal\";\n accessor #bindFormItem = false;\n\n get isFormItemElement(): true {\n return true;\n }\n\n set validateState(value: string) {\n this.#validate = value;\n this._render();\n }\n get validateState() {\n return this.#validate;\n }\n\n /**\n * 控制该表单项是否隐藏\n * @default false\n * @group ui\n */\n set notRender(value: boolean) {\n this.hidden = value;\n this.#_notRender = value;\n this._render();\n }\n get notRender(): boolean {\n return this.#_notRender;\n }\n\n get $bindFormItem() {\n return this.#bindFormItem;\n }\n set $bindFormItem(value: boolean) {\n this.#bindFormItem = value;\n this._render();\n }\n\n @property({\n attribute: false,\n })\n accessor helpBrick: { useBrick: UseSingleBrickConf } | undefined;\n\n @method()\n setNotRender(value: boolean) {\n this.notRender = value;\n }\n\n @method()\n getFormElement(): AbstractForm | null {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let element: AbstractForm | null = this as unknown as AbstractForm;\n while ((element = element.parentNode as AbstractForm | null)) {\n if (!element || element.isFormElement) {\n break;\n }\n }\n return element as AbstractForm | null;\n }\n}\n"],"names":["EDITOR_FONT_SIZE","EDITOR_LINE_HEIGHT","EDITOR_SCROLLBAR_SIZE","EDITOR_PADDING_VERTICAL","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","_highlighClickEvent","_handleHighlightClick","_handleValidtor","CodeEditor","FormItemElementBase","constructor","arguments","_classPrivateFieldInitSpec","get","_get_highlighClickEvent2","set","_set_highlighClickEvent2","_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_highlighClickEvent","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","onHighlightClick","_set_codeChange","_get_codeChange","_set_userInput","_get_userInput","_set_highlighClickEvent","_get_highlighClickEvent","_ref","_value","_language","_theme","_minLines","_maxLines","_height","Infinity","containerRef","useRef","decorationsCollection","editorRef","size","width","getContentHeightByCode","actualHeight","setActualHeight","useState","automaticLayoutRef","systemTheme","useCurrentTheme","useEffect","setTheme","current","currentModel","getModel","setModelLanguage","isEqual","getValue","setValue","provideCompletionItems","brickNextYAMLProvideCompletionItems","monacoProviderRef","registerCompletionItemProvider","triggerCharacters","dispose","parseYaml","useCallback","map","BrickNextYamlSourceMap","undefined","model","listener","listen","_decorationsCollectio","tokens","getTokens","forEach","item","startLineNumber","endLineNumber","startColumn","globalNodes","result","preevaluate","source","hooks","beforeVisit","node","object","EVALUATE_KEYWORD","includes","push","start","end","loc","_node$object","_loc$start","_loc$end","_loc$start2","_loc$end2","hadWrap","test","prefix","token","line","length","column","endColumn","_node$object2","_result$prefix","_result$prefix2","isString","filter","range","options","inlineClassName","modelMarkers","_matchTokenConf$param","_matchTokenConf$level","matchTokenConf","find","params","_objectSpread","severity","Level","level","code","target","parse","warn","setModelMarkers","e","_decorationsCollectio2","useLayoutEffect","_editorRef$current","getBoundingClientRect","layout","observer","ResizeObserver","entries","entry","_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","lineHeight","scrollbar","horizontalScrollbarSize","verticalScrollbarSize","horizontalSliderSize","verticalSliderSize","alwaysConsumeMouseWheel","padding","top","bottom","overviewRulerBorder","mouseWheelScrollSensitivity","suggest","insertMode","preview","quickSuggestions","strings","other","comments","createDecorationsCollection","editor","editorMouseDownEvent","onMouseDown","_decorations$getRange","_decorations$getRange2","decorations","getRanges","call","modKey","navigator","platform","position","containsPosition","getValueInRange","mouseOverEvent","onMouseMove","newDecorations","equalsRange","onDidContentSizeChange","contentHeightChanged","newHeight","fixEditorHeightWithScrollBar","contentHeight","getContentHeight","onDidChangeContent","_editorRef$current3","_editorRef$current4","ref","outline","getContentHeightByLines","Math","min","max","split","fixedHeight","lines","c","_initClass","_applyDecs","o","_","has","_checkInRHS","_recordsToken","_prefixPosition","_recordLastWord","_defineProperty","handleState","state","lineStart","curWord","input","substring","trim","lineIndent","_result$match","wrapLength","match","nearWrapIndex","i","specilStringPrefix","bind","findKeys","curLevelKeys","keyList","parentKey","matchWord","wordspace","key","unshift","context","_token","getWordUntilPosition","prefixWord","prefixToken","getPrefixWord","_word$word","lineNumber","getWordAtPosition","curLineWord","isFirstLevelProperty","getLineCount","triggerCharacter","suggestions","detail","kind","CompletionItemKind","Value","insertText","insertTextRules","CompletionItemInsertTextRule","InsertAsSnippet","Keyword","_ref2","storyboardJsonSchema","concat","list","_list","matchCompletion","matchTriggerCharacter","Array","isArray","isInEvaluateBody","prefixEvaluateOperator","findPreviousMatch","suffixEvaluateOperator","findNextMatch","prefixParentKey","suffixParentKey","_advancedCompleters$p","_advancedCompleters$p2","_advancedCompleters$F","_advancedCompleters$F2","appProperties","k","Object","documentation","description","enum","join","brickNextKeywords","hit","info","error","___CSS_LOADER_EXPORT___","module","id","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","locals","method","_notRender","_validate","_bindFormItem","ReactNextElement","_get_bindFormItem","_set_bindFormItem","_get_validate","_set_validate","_get__notRender","_set__notRender","_init_helpBrick","isFormItemElement","_render","notRender","hidden","$bindFormItem","helpBrick","setNotRender","parentNode","isFormElement"],"sourceRoot":""}