@next-bricks/visual-builder 1.7.11 → 1.8.0

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 (101) hide show
  1. package/dist/bricks.json +8 -6
  2. package/dist/chunks/{114.6fb16290.js → 114.145a58c4.js} +2 -2
  3. package/dist/chunks/{114.6fb16290.js.map → 114.145a58c4.js.map} +1 -1
  4. package/dist/chunks/{1940.61266fb2.js → 1940.58a6ed6b.js} +2 -2
  5. package/dist/chunks/{1940.61266fb2.js.map → 1940.58a6ed6b.js.map} +1 -1
  6. package/dist/chunks/{2277.c770db7c.js → 2277.fda4d32d.js} +2 -2
  7. package/dist/chunks/{2277.c770db7c.js.map → 2277.fda4d32d.js.map} +1 -1
  8. package/dist/chunks/2652.c69240d2.js +2 -0
  9. package/dist/chunks/{2652.b6866e64.js.map → 2652.c69240d2.js.map} +1 -1
  10. package/dist/chunks/{3171.ae0589dd.js → 3171.d4871dd3.js} +2 -2
  11. package/dist/chunks/{3171.ae0589dd.js.map → 3171.d4871dd3.js.map} +1 -1
  12. package/dist/chunks/3801.477a0f99.js +3 -0
  13. package/dist/chunks/{3801.e0689f2e.js.map → 3801.477a0f99.js.map} +1 -1
  14. package/dist/chunks/3933.3fc2f29b.js +2 -0
  15. package/dist/chunks/{6314.22e4ac4f.js.map → 3933.3fc2f29b.js.map} +1 -1
  16. package/dist/chunks/{4658.c25c24e7.js → 4658.4b685c97.js} +2 -2
  17. package/dist/chunks/{4658.c25c24e7.js.map → 4658.4b685c97.js.map} +1 -1
  18. package/dist/chunks/{5552.3cdeab95.js → 5552.ae721844.js} +2 -2
  19. package/dist/chunks/{5552.3cdeab95.js.map → 5552.ae721844.js.map} +1 -1
  20. package/dist/chunks/6314.1f843756.js +2 -0
  21. package/dist/chunks/{3933.e8f21fa3.js.map → 6314.1f843756.js.map} +1 -1
  22. package/dist/chunks/{7115.bc8bc211.js → 7115.6fc785ff.js} +2 -2
  23. package/dist/chunks/{7115.bc8bc211.js.map → 7115.6fc785ff.js.map} +1 -1
  24. package/dist/chunks/7224.92a43c9e.js +3 -0
  25. package/dist/chunks/7224.92a43c9e.js.map +1 -0
  26. package/dist/chunks/{7733.b9386ecb.js → 7733.edd149d7.js} +2 -2
  27. package/dist/chunks/{7733.b9386ecb.js.map → 7733.edd149d7.js.map} +1 -1
  28. package/dist/chunks/{790.445f1430.js → 790.69ae2267.js} +2 -2
  29. package/dist/chunks/{790.445f1430.js.map → 790.69ae2267.js.map} +1 -1
  30. package/dist/chunks/9027.c54a843b.js +2 -0
  31. package/dist/chunks/{9027.e29c16dd.js.map → 9027.c54a843b.js.map} +1 -1
  32. package/dist/chunks/{9496.832e76e2.js → 9496.6ff45070.js} +2 -2
  33. package/dist/chunks/{9496.832e76e2.js.map → 9496.6ff45070.js.map} +1 -1
  34. package/dist/chunks/{9515.a2cf2f42.js → 9515.07ef90ca.js} +2 -2
  35. package/dist/chunks/{9515.a2cf2f42.js.map → 9515.07ef90ca.js.map} +1 -1
  36. package/dist/chunks/{9559.90a0f32e.js → 9559.35450382.js} +2 -2
  37. package/dist/chunks/{9559.90a0f32e.js.map → 9559.35450382.js.map} +1 -1
  38. package/dist/chunks/chat-conversation.c20e6c44.js +3 -0
  39. package/dist/chunks/chat-conversation.c20e6c44.js.map +1 -0
  40. package/dist/chunks/chat-preview.a36a3a25.js +2 -0
  41. package/dist/chunks/chat-preview.a36a3a25.js.map +1 -0
  42. package/dist/chunks/contract-select.ea76b415.js +3 -0
  43. package/dist/chunks/{contract-select.48b621b0.js.map → contract-select.ea76b415.js.map} +1 -1
  44. package/dist/chunks/inject-preview-agent.56d6d991.js +2 -0
  45. package/dist/chunks/{inject-preview-agent.476734bd.js.map → inject-preview-agent.56d6d991.js.map} +1 -1
  46. package/dist/chunks/main.6d351f9e.js +2 -0
  47. package/dist/chunks/main.6d351f9e.js.map +1 -0
  48. package/dist/chunks/page-arch-node.23766062.js +3 -0
  49. package/dist/chunks/{page-arch-node.450592b3.js.map → page-arch-node.23766062.js.map} +1 -1
  50. package/dist/chunks/workbench-action-list.5e477975.js +2 -0
  51. package/dist/chunks/{workbench-action-list.9fb6faf9.js.map → workbench-action-list.5e477975.js.map} +1 -1
  52. package/dist/chunks/workbench-action.ce202905.js +3 -0
  53. package/dist/chunks/{workbench-action.880a2710.js.map → workbench-action.ce202905.js.map} +1 -1
  54. package/dist/chunks/workbench-history-action.1e2ead8a.js +3 -0
  55. package/dist/chunks/{workbench-history-action.c8de3d8f.js.map → workbench-history-action.1e2ead8a.js.map} +1 -1
  56. package/dist/chunks/workbench-pane.5d9055cf.js +3 -0
  57. package/dist/chunks/workbench-pane.5d9055cf.js.LICENSE.txt +5 -0
  58. package/dist/chunks/{workbench-pane.85259fa0.js.map → workbench-pane.5d9055cf.js.map} +1 -1
  59. package/dist/chunks/workbench-sidebar.12dddbe0.js +2 -0
  60. package/dist/chunks/{workbench-sidebar.89e03d0f.js.map → workbench-sidebar.12dddbe0.js.map} +1 -1
  61. package/dist/chunks/workbench-tree.87fa8a9f.js +2 -0
  62. package/dist/chunks/{workbench-tree.508dd487.js.map → workbench-tree.87fa8a9f.js.map} +1 -1
  63. package/dist/examples.json +3 -0
  64. package/dist/index.692b726a.js +2 -0
  65. package/dist/index.692b726a.js.map +1 -0
  66. package/dist/manifest.json +59 -22
  67. package/dist/types.json +158 -13
  68. package/dist-types/bootstrap.d.ts +2 -0
  69. package/dist-types/chat-conversation/index.d.ts +27 -0
  70. package/dist-types/chat-conversation/index.spec.d.ts +1 -0
  71. package/dist-types/chat-preview/index.d.ts +15 -0
  72. package/dist-types/chat-preview/index.spec.d.ts +1 -0
  73. package/docs/chat-conversation.md +80 -0
  74. package/package.json +3 -3
  75. package/dist/chunks/2652.b6866e64.js +0 -2
  76. package/dist/chunks/3801.e0689f2e.js +0 -3
  77. package/dist/chunks/3933.e8f21fa3.js +0 -2
  78. package/dist/chunks/5123.6c1a26ba.js +0 -3
  79. package/dist/chunks/5123.6c1a26ba.js.map +0 -1
  80. package/dist/chunks/6314.22e4ac4f.js +0 -2
  81. package/dist/chunks/9027.e29c16dd.js +0 -2
  82. package/dist/chunks/contract-select.48b621b0.js +0 -3
  83. package/dist/chunks/inject-preview-agent.476734bd.js +0 -2
  84. package/dist/chunks/main.349e8a4b.js +0 -2
  85. package/dist/chunks/main.349e8a4b.js.map +0 -1
  86. package/dist/chunks/page-arch-node.450592b3.js +0 -3
  87. package/dist/chunks/workbench-action-list.9fb6faf9.js +0 -2
  88. package/dist/chunks/workbench-action.880a2710.js +0 -3
  89. package/dist/chunks/workbench-history-action.c8de3d8f.js +0 -3
  90. package/dist/chunks/workbench-pane.85259fa0.js +0 -3
  91. package/dist/chunks/workbench-sidebar.89e03d0f.js +0 -2
  92. package/dist/chunks/workbench-tree.508dd487.js +0 -2
  93. package/dist/index.41e9e907.js +0 -2
  94. package/dist/index.41e9e907.js.map +0 -1
  95. /package/dist/chunks/{3801.e0689f2e.js.LICENSE.txt → 3801.477a0f99.js.LICENSE.txt} +0 -0
  96. /package/dist/chunks/{5123.6c1a26ba.js.LICENSE.txt → 7224.92a43c9e.js.LICENSE.txt} +0 -0
  97. /package/dist/chunks/{page-arch-node.450592b3.js.LICENSE.txt → chat-conversation.c20e6c44.js.LICENSE.txt} +0 -0
  98. /package/dist/chunks/{contract-select.48b621b0.js.LICENSE.txt → contract-select.ea76b415.js.LICENSE.txt} +0 -0
  99. /package/dist/chunks/{workbench-action.880a2710.js.LICENSE.txt → page-arch-node.23766062.js.LICENSE.txt} +0 -0
  100. /package/dist/chunks/{workbench-pane.85259fa0.js.LICENSE.txt → workbench-action.ce202905.js.LICENSE.txt} +0 -0
  101. /package/dist/chunks/{workbench-history-action.c8de3d8f.js.LICENSE.txt → workbench-history-action.1e2ead8a.js.LICENSE.txt} +0 -0
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[3171,5552,790],{5552:(e,i,n)=>{n.r(i),n.d(i,{i18n:()=>f,i18nText:()=>c,initializeI18n:()=>l});var r=n(2350),t=n(8799),a=n(7072),s=!1,u=new Set;function l(e,i){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&&i&&!u.has(e))for(var[n,r]of(u.add(e),Object.entries(i)))t.i18n.addResourceBundle(n,e,r)}var o=n(6223);function c(e){var i;if(e){var n=null!==(i=t.i18n.language)&&void 0!==i?i:"zh-CN";if((0,o.hasOwnProperty)(e,n))return e[n];var r=n.split("-")[0];if(r!==n)return(0,o.hasOwnProperty)(e,r)?e[r]:void 0;var a="".concat(r,"-");for(var s of Object.keys(e))if(s.startsWith(a))return e[s]}}var f=r.default}}]);
2
- //# sourceMappingURL=3171.ae0589dd.js.map
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[3171,5552,790],{5552:(e,i,n)=>{n.r(i),n.d(i,{i18n:()=>f,i18nText:()=>c,initializeI18n:()=>l});var r=n(2350),t=n(8799),a=n(7072),s=!1,u=new Set;function l(e,i){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&&i&&!u.has(e))for(var[n,r]of(u.add(e),Object.entries(i)))t.i18n.addResourceBundle(n,e,r)}var o=n(244);function c(e){var i;if(e){var n=null!==(i=t.i18n.language)&&void 0!==i?i:"zh-CN";if((0,o.hasOwnProperty)(e,n))return e[n];var r=n.split("-")[0];if(r!==n)return(0,o.hasOwnProperty)(e,r)?e[r]:void 0;var a="".concat(r,"-");for(var s of Object.keys(e))if(s.startsWith(a))return e[s]}}var f=r.default}}]);
2
+ //# sourceMappingURL=3171.d4871dd3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/3171.ae0589dd.js","mappings":"oPAEIA,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,cCjCO,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/3171.d4871dd3.js","mappings":"oPAEIA,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,aCjCO,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,3 @@
1
+ /*! For license information please see 3801.477a0f99.js.LICENSE.txt */
2
+ (self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[3801,2052],{4940:(e,t,n)=>{"use strict";n.d(t,{e:()=>r,l:()=>a});var o=n(8769),r=(0,o.createContext)({});function a(){return(0,o.useContext)(r)}},7758:(e,t,n)=>{"use strict";n.d(t,{cU:()=>S});var o=n(9575),r=n(9740),a=n(8769),i=n.n(a),l=n(1030),c=n.n(l),s=n(3373),d=n.n(s),u=n(9406),p=n(4940),f=function(e){return e.inside="inside",e.top="top",e.bottom="bottom",e}({}),h=(0,a.createContext)({});function v(){return(0,a.useContext)(h)}var g=n(720),m=n(9924),b=(0,g.wrapBrick)("eo-icon");function x(e){var{data:t,className:n,gap:o,isFirst:r,isLast:l,actions:c,actionsHidden:s,onActionClick:u}=e,p=(0,a.useMemo)((()=>null==c?void 0:c.filter((e=>(0,m.checkIfByTransform)(e,t)))),[c,t]);return s||null==p||!p.length?null:i().createElement("div",{className:d()("actionsBar",n),style:{gap:o}},p.map((e=>i().createElement(y,{key:e.action,action:e,data:t,isFirst:r,isLast:l,onActionClick:u}))))}function y(e){var{action:t,data:n,isFirst:o,isLast:r,onActionClick:l}=e,c=o&&"move-up"===t.action||r&&"move-down"===t.action,s=(0,a.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c||null==l||l({action:t.action,data:n})}),[t.action,n,c,l]),u=(0,a.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]);return i().createElement("a",{className:d()("action",{disabled:c}),title:t.title,role:"button",onClick:s,onContextMenu:u,onMouseDown:u},i().createElement(b,t.icon))}var w=(0,g.wrapBrick)("eo-link"),k=(0,g.wrapBrick)("eo-icon"),E=10,A="0 0 0 1px #ba6d30",C=(0,a.createContext)(!1);function S(e){var{nodes:t,placeholder:n,searchPlaceholder:o,isDrag:r,noSearch:l,allowDrag:s,allowDragToRoot:p,allowDragToInside:v,dropEmit:g}=e,[m,b]=(0,a.useState)(""),[x,y]=(0,a.useState)(r),[w,E]=(0,a.useState)(),[A,S]=(0,a.useState)(),[N,I]=(0,a.useState)(),[M,j]=(0,a.useState)(),[D,R]=(0,a.useState)(),[B,P]=(0,a.useState)(),{nodeKey:O,onBrickDrop:T,contextMenuFactory:F,matchNode:z}=(0,u.o)(),_=(0,a.useMemo)((()=>{var e;return function(e,t){var n=(e,o,r,a)=>{var i=e.shift();if(i){e.length>0&&e.splice(0,1,"".concat(i,"/").concat(e[0]));var l=o.find((e=>e&&e.key===i&&e.isContainer));if(l)o[a]=null,n(e,l.children,r);else{var c=i.split("/"),s={name:c.pop(),key:i,parentPath:c?c.join("/"):c,originKey:r.key,data:{[t]:i,isContainer:!0},children:[],icon:{icon:"folder",lib:"antd",theme:"filled",color:"orange"},isContainer:!0};"number"==typeof a?o[a]=s:o.push(s),n(e,s.children,r)}}else o.push(r)};return e.forEach(((t,o)=>{if(t.path){var r=t.path.split("/").filter(Boolean);n(r,e,t,o)}})),e.filter(Boolean)}(null!==(e=null==t?void 0:t.slice())&&void 0!==e?e:[],O)}),[t,O]),K=(0,a.useCallback)((e=>{b(e.target.value)}),[]),W=(0,a.useMemo)((()=>null==F?void 0:F()),[F]),$=null==m?void 0:m.trim().toLowerCase(),H=(0,a.useMemo)((()=>{if(l||!$||!_)return _;var e=t=>{var n;t.matchedSelf=z(t,$);var o=null===(n=t.children)||void 0===n?void 0:n.map(e).includes(!0);return t.matched=t.matchedSelf||o,t.matched};return _.forEach(e),_.slice()}),[l,$,_,z]),U=function(e){for(var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=e;n;){if(n.draggable&&(t||n!==e)&&"A"!==n.tagName)return n;n=n.parentElement}},Y=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;for(var r of e)if(r.data[n]===t&&(o=r),r.children&&(o=Y(r.children,t,n,o)),o)break;return o},V=()=>{S(null),j(null),I(null),R(null),y(!1)};return(0,a.useEffect)((()=>{y(r)}),[r]),(0,a.useEffect)((()=>(window.addEventListener("dragend",V),()=>{window.removeEventListener("dragend",V)})),[]),i().createElement("div",{style:{height:"100%"},className:"tree-wrapper",onContextMenu:W},null!=_&&_.length?i().createElement("div",null,!l&&i().createElement("div",{className:"searchBox",onContextMenu:e=>e.stopPropagation()},i().createElement("span",{className:d()("filter-input-wrapper",{focus:B})},i().createElement("span",{className:"prefix"},i().createElement(k,{icon:"search",lib:"antd",theme:"outlined"})),i().createElement("input",{value:m,onChange:K,onFocus:()=>P(!0),onBlur:()=>P(!1),autoComplete:"off",placeholder:o}),i().createElement("span",{className:"suffix"},m?i().createElement(k,{className:"clear-button",icon:"close-circle",lib:"antd",theme:"filled",onClick:()=>{b("")}}):null))),i().createElement(C.Provider,{value:!!m},i().createElement(h.Provider,{value:{allow:s,allowDragToRoot:p,dragElement:A,dragOverElement:M,dragStatus:D,onDragStart:(e,t)=>{var n;if(e.stopPropagation(),s){var o=e.target;null!==(n=o.dataset)&&void 0!==n&&n.container||(y(!0),function(e,t){var n=document.createElement("canvas");document.body.append(n);var o=n.getContext("2d");n.width=o.measureText(t).width+60,n.height=20,n.style.position="absolute",n.style.left="-100%",n.style.zIndex="-100",o.fillStyle="#333333",o.fillRect(0,0,n.width,n.height),o.fillStyle="#999999",o.font="bold 14px Arial",o.fillText(t,20,15),e.dataTransfer.setDragImage(n,0,0)}(e,o.innerText),S(o),E(t))}}}},i().createElement("div",{className:d()({hightlight:r}),onDragOver:e=>{if(e.preventDefault(),x&&"workbenchTree-placeholder-dom"!==e.target.className){var t=(e=>{var t=U(e.target),n=t.dataset.uid;if(!(t===A||null!=n&&n.includes(":"))){var o,{top:r,bottom:a}=t.getBoundingClientRect(),i=v?5:10;return o=e.clientY<r+i?f.top:e.clientY>a-i?f.bottom:v?f.inside:D,{element:t,node:Y(_,n,O),status:o}}})(e);!t||null!=A&&A.contains(t.element)||(j(t.element),I(t.node),R(t.status))}},onDrop:e=>{if(x){if(T){var t=M;[f.top,f.bottom].includes(D)&&(t=U(t,!1)),T(e,{curElement:A,overElement:M,parentElement:t,overStatus:D})}else if(p||1!==Number(M.dataset.level)){var n=N,o=(e,t)=>{for(var r=0;r<e.length;r++){if(e[r].key===t){n=e[r];break}e[r].children&&o(e[r].children,t)}},r=M.dataset.uid;o(_,r);var a=e=>{var t=!1,{container:o,uid:r}=M.dataset,i=o?n.originKey:r,l=e.filter((e=>(e.children&&(e.children=a(e.children)),e.key===i&&(t=!0),e.key!==w.key)));return t&&l.splice(l.findIndex((e=>e.key===i))+("bottom"===D?1:0),0,w),l},i=function(e){var t=[],n=e=>{e.forEach((e=>{e.isContainer?n(e.children):t.push(c().omit(e,["path","icon"]))}))};return n(e),t}(_),l=w.isContainer?i.find((e=>e.key===w.originKey)):w;l.data.path=n.parentPath||n.path,g({nodes:a(i),curNode:l,overNode:n,status:D})}V()}}},i().createElement(L,{nodes:H,level:1}))))):i().createElement("div",{className:"placeholder"},n))}function L(e){var{nodes:t,level:n}=e,o=t.length-1;return i().createElement("ul",{className:"tree"},t.filter((e=>(0,m.checkIfOfComputed)(e))).map(((e,t)=>i().createElement(I,{key:e.key,node:e,level:n,isFirst:0===t,isLast:t===o}))))}function N(e){var{style:t}=e,{dragStatus:n}=v(),o=(0,r.A)({height:22,border:"1px dashed goldenrod",opacity:n===f.inside?"0":"1"},t);return i().createElement("li",{className:"workbenchTree-placeholder-dom",style:o})}function I(e){var t,n,c,{node:s,level:h,isFirst:g,isLast:m}=e,b=!(null!==(t=s.children)&&void 0!==t&&t.length),y=s.isContainer,{hoverKey:S,activeKey:I,basePaddingLeft:M,showMatchedNodeOnly:j,fixedActionsFor:D,collapsible:R,collapsedNodes:B,nodeKey:P,clickFactory:O,mouseEnterFactory:T,mouseLeaveFactory:F,contextMenuFactory:z,onNodeToggle:_,getCollapsedId:K,skipNotify:W}=(0,u.o)(),{allow:$,allowDragToRoot:H,onDragStart:U,dragElement:Y,dragOverElement:V,dragStatus:q}=v(),{actions:G,actionsHidden:J,onActionClick:Q}=(0,p.l)(),X=h*E+M-2,Z=(0,a.useContext)(C),[ee,te]=(0,a.useState)(null),[ne,oe]=(0,a.useState)(!1),[re,ae]=(0,a.useState)(null!==(n=null==B?void 0:B.includes(null==K?void 0:K(s)))&&void 0!==n&&n),ie=(0,a.useMemo)((()=>null==T?void 0:T(s)),[T,s]),le=(0,a.useMemo)((()=>null==F?void 0:F(s)),[F,s]),ce=(0,a.useCallback)((e=>{var t;e.stopPropagation(),null==z||null===(t=z(s))||void 0===t||t(e)}),[z,s]),se=I&&s.key===I,de=(0,a.useMemo)((()=>se?e=>{var t;null==e||null===(t=e.scrollIntoView)||void 0===t||t.call(e,{block:"center",inline:"center"})}:null),[]),ue=(0,a.useMemo)((()=>{return y?s.key:s.data?"mount-point"===(e=s.data).type?e.parent[P]||"".concat(e.parent.$$uid,":").concat(e.mountPoint):e[P]||e.$$uid:void 0;var e}),[P,s,y]);(0,a.useEffect)((()=>{q!==f.inside&&[f.top,f.bottom].includes(q)&&te(q)}),[q]);var pe=(0,a.useMemo)((()=>!!Y&&Y.dataset.uid===String(ue)),[Y,ue]),fe=(0,a.useMemo)((()=>!!V&&V.dataset.uid===String(ue)),[V,ue]),he=(0,a.useMemo)((()=>{var e={opacity:pe?.2:1};return fe&&q===f.inside&&(e={boxShadow:A,background:"rgba(255, 255, 255, 0.1)"}),Object.assign({},e)}),[fe,pe,q]),ve=(0,a.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),oe(!0),ae((e=>!e))}),[]),ge=(0,a.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]),me=(0,a.useCallback)((e=>{var t;if(!y)return null==O||null===(t=O(s))||void 0===t?void 0:t();ve(e)}),[O,ve,y,s]);(0,a.useEffect)((()=>{ne&&(null==_||_(null==K?void 0:K(s),re))}),[ne,re,K,s,_]);var be=R&&!b&&!Z;return Z&&j&&!s.matched?null:i().createElement(i().Fragment,null,fe&&(H||1!==h)&&ee===f.top&&i().createElement(N,{style:{marginLeft:X}}),i().createElement("li",(0,o.A)({draggable:$,onDragStart:e=>U(e,s),"data-uid":ue,"data-level":h,style:he},y?{"data-container":y}:{}),i().createElement(w,(0,o.A)({tabIndex:0,onMouseEnter:ie,onMouseLeave:le,onContextMenu:ce,onClick:me},W?{url:{pathname:(0,l.get)(s.link,"url","href"),state:{notify:!1}}}:(0,r.A)({},(0,l.pick)(s.link,["url","href"]))),i().createElement("span",{className:d()("nodeLabelRow",{active:se,hover:S&&s.key===S,matched:Z&&s.matchedSelf&&!j,fixedActions:D&&[].concat(D).some((e=>(0,l.isMatch)(s.data,e))),collapsed:be&&re,collapsible:be})},i().createElement("span",{className:d()("nodeLabel",{unreachable:s.unreachable}),style:{paddingLeft:X,color:s.labelColor},ref:de},i().createElement("span",{className:"nodeIconWrapper"},be&&i().createElement("span",{className:"collapseIcon",onClick:ve,onMouseDown:ge,title:re?"Expand":"Collapse",role:"button"},i().createElement(k,{lib:"antd",theme:"outlined",icon:re?"right":"down"})),i().createElement("span",{className:"nodeIcon"},i().createElement(k,(0,o.A)({},s.icon,{style:{fontSize:null!==(c=s.icon)&&void 0!==c&&c.imgSrc?14:null}})))),i().createElement("span",{className:"nodeName"},s.name)),i().createElement(x,{className:"nodeActionsBar",data:s.data,isFirst:g,isLast:m,actions:G,onActionClick:Q,actionsHidden:J}),s.badge&&i().createElement("span",{className:"badge"},i().createElement(k,s.badge)))),b||i().createElement(L,{nodes:s.children,level:h+1})),fe&&(H||1!==h)&&ee===f.bottom&&i().createElement(N,{style:{marginLeft:X}}))}},9406:(e,t,n)=>{"use strict";n.d(t,{N:()=>r,o:()=>a});var o=n(8769),r=(0,o.createContext)({});function a(){return(0,o.useContext)(r)}},675:(e,t,n)=>{"use strict";function o(e,t){switch(typeof e){case"string":return e.toLowerCase().includes(t);case"boolean":case"number":return String(e).includes(t);case"object":return null===e?"null".includes(t):(Array.isArray(e)?e:Object.entries(e).flat()).some((e=>o(e,t)));default:return!1}}n.d(t,{U:()=>o})},6275:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var o=n(6758),r=n.n(o),a=n(935),i=n.n(a)()(r());i.push([e.id,".actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}",""]);const l=i.toString()},7995:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var o=n(6758),r=n.n(o),a=n(935),i=n.n(a)()(r());i.push([e.id,':host-context(html[data-theme="light"]),\n:host-context(html[data-override-theme="light"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme="dark-v2"]),\n:host-context(html[data-override-theme="dark-v2"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}',""]);const l=i.toString()},935:e=>{"use strict";e.exports=function(e){var t=[];return t.toString=function(){return this.map((function(t){var n="",o=void 0!==t[5];return t[4]&&(n+="@supports (".concat(t[4],") {")),t[2]&&(n+="@media ".concat(t[2]," {")),o&&(n+="@layer".concat(t[5].length>0?" ".concat(t[5]):""," {")),n+=e(t),o&&(n+="}"),t[2]&&(n+="}"),t[4]&&(n+="}"),n})).join("")},t.i=function(e,n,o,r,a){"string"==typeof e&&(e=[[null,e,void 0]]);var i={};if(o)for(var l=0;l<this.length;l++){var c=this[l][0];null!=c&&(i[c]=!0)}for(var s=0;s<e.length;s++){var d=[].concat(e[s]);o&&i[d[0]]||(void 0!==a&&(void 0===d[5]||(d[1]="@layer".concat(d[5].length>0?" ".concat(d[5]):""," {").concat(d[1],"}")),d[5]=a),n&&(d[2]?(d[1]="@media ".concat(d[2]," {").concat(d[1],"}"),d[2]=n):d[2]=n),r&&(d[4]?(d[1]="@supports (".concat(d[4],") {").concat(d[1],"}"),d[4]=r):d[4]="".concat(r)),t.push(d))}},t}},6758:e=>{"use strict";e.exports=function(e){return e[1]}},3373:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=i(e,a(n)))}return e}function a(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return r.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)o.call(e,n)&&e[n]&&(t=i(t,n));return t}function i(e,t){return t?e?e+" "+t:e+t:e}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},2740:(e,t,n)=>{"use strict";n.d(t,{A:()=>l});var o=n(7545),r=n(6902);function a(e,t,n){"symbol"==(0,o.A)(t)&&(t=(t=t.description)?"["+t+"]":"");try{Object.defineProperty(e,"name",{configurable:!0,value:n?n+" "+t:t})}catch(e){}return e}var i=n(1369);function l(e,t,n,l,c,s){var d,u,p,f,h,v,g,m=Symbol.metadata||Symbol.for("Symbol.metadata"),b=Object.defineProperty,x=Object.create,y=[x(null),x(null)],w=t.length;function k(t,n,o){return function(r,a){n&&(a=r,r=e);for(var i=0;i<t.length;i++)a=t[i].apply(r,o?[a]:[]);return o?a:r}}function E(e,t,n,o){if("function"!=typeof e&&(o||void 0!==e))throw new TypeError(t+" must "+(n||"be")+" a function"+(o?"":" or undefined"));return e}function A(e,t,n,r,i,l,c,s,p,f,h){function v(e){if(!h(e))throw new TypeError("Attempted to access private element on non-instance")}var g=[].concat(t[0]),m=t[3],x=!c,w=1===i,A=3===i,C=4===i,S=2===i;function L(t,n,o){return function(r,a){return n&&(a=r,r=e),o&&o(r),N[t].call(r,a)}}if(!x){var N={},I=[],M=A?"get":C||w?"set":"value";if(p?(f||w?N={get:a((function(){return m(this)}),r,"get"),set:function(e){t[4](this,e)}}:N[M]=m,f||a(N[M],r,S?"":M)):f||(N=Object.getOwnPropertyDescriptor(e,r)),!f&&!p){if((u=y[+s][r])&&7!=(u^i))throw Error("Decorating two elements with the same name ("+N[M].name+") is not supported yet");y[+s][r]=i<3?1:i}}for(var j=e,D=g.length-1;D>=0;D-=n?2:1){var R=E(g[D],"A decorator","be",!0),B=n?g[D-1]:void 0,P={},O={kind:["field","accessor","method","getter","setter","class"][i],name:r,metadata:d,addInitializer:function(e,t){if(e.v)throw Error("attempted to call addInitializer after decoration was finished");E(t,"An initializer","be",!0),l.push(t)}.bind(null,P)};if(x)u=R.call(B,j,O),P.v=1,E(u,"class decorators","return")&&(j=u);else if(O.static=s,O.private=p,u=O.access={has:p?h.bind():function(e){return r in e}},C||(u.get=p?S?function(e){return v(e),N.value}:L("get",0,v):function(e){return e[r]}),S||A||(u.set=p?L("set",0,v):function(e,t){e[r]=t}),j=R.call(B,w?{get:N.get,set:N.set}:N[M],O),P.v=1,w){if("object"==(0,o.A)(j)&&j)(u=E(j.get,"accessor.get"))&&(N.get=u),(u=E(j.set,"accessor.set"))&&(N.set=u),(u=E(j.init,"accessor.init"))&&I.unshift(u);else if(void 0!==j)throw new TypeError("accessor decorators must return an object with get, set, or init properties or undefined")}else E(j,(f?"field":"method")+" decorators","return")&&(f?I.unshift(j):N[M]=j)}return i<2&&c.push(k(I,s,1),k(l,s,0)),f||x||(p?w?c.splice(-1,0,L("get",s),L("set",s)):c.push(S?N[M]:E.call.bind(N[M])):b(e,r,N)),j}function C(e){return b(e,m,{configurable:!0,enumerable:!0,value:d})}return void 0!==s&&(d=s[m]),d=x(null==d?null:d),h=[],v=function(e){e&&h.push(k(e))},g=function(t,o){for(var a=0;a<n.length;a++){var l=n[a],s=l[1],d=7&s;if((8&s)==t&&!d==o){var u=l[2],v=!!l[3],g=16&s;A(t?e:e.prototype,l,g,v?"#"+u:(0,i.A)(u),d,d<2?[]:t?f=f||[]:p=p||[],h,!!t,v,o,t&&v?function(t){return(0,r.A)(t)===e}:c)}}},g(8,0),g(0,0),g(8,1),g(0,1),v(p),v(f),u=h,w||C(e),{e:u,get c(){var n=[];return w&&[C(e=A(e,[t],l,e.name,5,n)),k(n,1)]}}}},2559:(e,t,n)=>{"use strict";function o(e,t,n){if("function"==typeof e?e===t:e.has(t))return arguments.length<3?t:n;throw new TypeError("Private element is not present on this object")}n.d(t,{A:()=>o})},6902:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(7545);function r(e){if(Object(e)!==e)throw TypeError("right-hand side of 'in' should be an object, got "+(null!==e?(0,o.A)(e):"null"));return e}},2016:(e,t,n)=>{"use strict";function o(e,t){if(t.has(e))throw new TypeError("Cannot initialize the same private elements twice on an object")}n.d(t,{A:()=>o})},829:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(2559);function r(e,t){return e.get((0,o.A)(e,t))}},918:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(2016);function r(e,t,n){(0,o.A)(e,t),t.set(e,n)}},6121:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(2559);function r(e,t,n){return e.set((0,o.A)(e,t),n),n}},5536:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(2559);function r(e,t,n){return n((0,o.A)(e,t))}},4635:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(2016);function r(e,t){(0,o.A)(e,t),t.add(e)}},9575:(e,t,n)=>{"use strict";function o(){return o=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(e[o]=n[o])}return e},o.apply(this,arguments)}n.d(t,{A:()=>o})}}]);
3
+ //# sourceMappingURL=3801.477a0f99.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/3801.e0689f2e.js","mappings":"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","sources":["webpack:///./src/shared/workbench/WorkbenchActionsContext.ts","webpack:///./src/shared/workbench/WorkbenchTreeDndContext.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx","webpack:///./src/shared/workbench/WorkbenchTree.tsx","webpack:///./src/utils/normalizeTreeNodeWithPath.ts","webpack:///./src/utils/setDragImage.ts","webpack:///./src/shared/workbench/WorkbenchTreeContext.ts","webpack:///./src/utils/deepMatch.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css","webpack:///./src/workbench-tree/WorkbenchTree.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type {\n ActionClickDetail,\n WorkbenchTreeAction,\n} from \"../../interfaces.js\";\n\nexport interface ContextOfWorkbenchActions {\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport const WorkbenchActionsContext = createContext<ContextOfWorkbenchActions>(\n {}\n);\n\nexport function useWorkbenchActionsContext(): ContextOfWorkbenchActions {\n return useContext(WorkbenchActionsContext);\n}\n","import { createContext, useContext } from \"react\";\nimport { WorkbenchNodeData } from \"../../interfaces.js\";\n\nexport enum dragStatusEnum {\n inside = \"inside\",\n top = \"top\",\n bottom = \"bottom\",\n}\n\ninterface WorkbenchTreeDndContext {\n allow?: boolean;\n allowDragToRoot?: boolean;\n dragElement?: HTMLElement;\n dragOverElement?: HTMLElement;\n dragStatus?: dragStatusEnum;\n onDragStart?: (\n e: React.DragEvent<HTMLElement>,\n node: WorkbenchNodeData\n ) => void;\n onDragOver?: (e: React.DragEvent<HTMLElement>) => void;\n onDrop?: (e: React.DragEvent<HTMLElement>) => void;\n}\n\nexport const WorkbenchTreeDndContext = createContext<WorkbenchTreeDndContext>(\n {} as WorkbenchTreeDndContext\n);\n\nexport function useWorkbenchTreeDndContext(): WorkbenchTreeDndContext {\n return useContext(WorkbenchTreeDndContext);\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../../interfaces.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"eo-icon\"\n);\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(\"actionsBar\", className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(\"action\", { disabled: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <WrappedGeneralIcon {...action.icon} />\n </a>\n );\n}\n","import React, {\n type ChangeEvent,\n useCallback,\n useMemo,\n useState,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n} from \"react\";\n// import { Input } from \"antd\";\nimport { get, isMatch, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { useWorkbenchTreeContext } from \"./WorkbenchTreeContext.js\";\nimport { useWorkbenchActionsContext } from \"./WorkbenchActionsContext.js\";\nimport {\n useWorkbenchTreeDndContext,\n dragStatusEnum,\n} from \"./WorkbenchTreeDndContext.js\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { WorkbenchMiniActionBar } from \"../workbench-mini-action-bar/WorkbenchMiniActionBar.js\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { WorkbenchTreeDndContext } from \"./WorkbenchTreeDndContext.js\";\nimport { setDragImage } from \"../../utils/setDragImage.js\";\nimport classnames from \"classnames\";\nimport {\n getNodesByPathTree,\n getNodeTreeByPath,\n} from \"../../utils/normalizeTreeNodeWithPath.js\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"eo-icon\"\n);\n\nconst treeLevelPadding = 10;\nconst borderStyle = \"0 0 0 1px #ba6d30\";\n\nexport interface dropEmitProps {\n nodes: WorkbenchNodeData[];\n curNode: WorkbenchNodeData;\n overNode: WorkbenchNodeData;\n status: dragStatusEnum;\n}\n\nexport interface WorkbenchTreeProps {\n nodes: WorkbenchNodeData[];\n placeholder?: string;\n searchPlaceholder?: string;\n noSearch?: boolean;\n isDrag?: boolean;\n allowDrag?: boolean;\n allowDragToRoot?: boolean;\n allowDragToInside?: boolean;\n dropEmit?: (detail: dropEmitProps) => void;\n}\n\nexport interface TreeListProps {\n nodes: WorkbenchNodeData[];\n level: number;\n}\n\nconst SearchingContext = createContext(false);\n\nexport function WorkbenchTree({\n nodes: originNode,\n placeholder,\n searchPlaceholder,\n isDrag,\n noSearch,\n allowDrag,\n allowDragToRoot,\n allowDragToInside,\n dropEmit,\n}: WorkbenchTreeProps): ReactElement {\n const [q, setQ] = useState<string>(\"\");\n const [isDragging, setIsDragging] = useState<boolean>(isDrag);\n const [curNode, setCurNode] = useState<WorkbenchNodeData>();\n const [curElement, setCurElement] = useState<HTMLElement>();\n const [overNode, setOverNode] = useState<WorkbenchNodeData>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [overStatus, setOverStatus] = useState<dragStatusEnum>();\n const [isFocus, setIsFocus] = useState<boolean>();\n const { nodeKey, onBrickDrop, contextMenuFactory, matchNode } =\n useWorkbenchTreeContext();\n const nodes = useMemo(\n () => getNodeTreeByPath(originNode?.slice() ?? [], nodeKey),\n [originNode, nodeKey]\n );\n\n const handleSearchChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setQ(event.target.value);\n },\n []\n );\n\n const handleClearInput = () => {\n setQ(\"\");\n };\n\n const onContextMenu = useMemo(\n () => contextMenuFactory?.(),\n [contextMenuFactory]\n );\n\n const trimmedLowerQ = q?.trim().toLowerCase();\n const filteredNodes = useMemo(() => {\n if (noSearch || !trimmedLowerQ || !nodes) {\n return nodes;\n }\n const walk = (node: WorkbenchNodeData): boolean => {\n node.matchedSelf = matchNode(node, trimmedLowerQ);\n const hasMatchedChildren = node.children?.map(walk).includes(true);\n node.matched = node.matchedSelf || hasMatchedChildren;\n return node.matched;\n };\n nodes.forEach(walk);\n return nodes.slice();\n }, [noSearch, trimmedLowerQ, nodes, matchNode]);\n\n const findDragParent = (element: HTMLElement, equal = true): HTMLElement => {\n let node = element;\n while (node) {\n if (\n node.draggable &&\n (equal || node !== element) &&\n node.tagName !== \"A\"\n ) {\n return node;\n }\n node = node.parentElement;\n }\n };\n\n const findNode = (\n nodes: WorkbenchNodeData[],\n id: string,\n nodeKey: string,\n node: WorkbenchNodeData = null\n ): WorkbenchNodeData => {\n for (const item of nodes) {\n if ((item.data as Record<string, unknown>)[nodeKey] === id) {\n node = item;\n }\n if (item.children) {\n node = findNode(item.children, id, nodeKey, node);\n }\n if (node) break;\n }\n return node;\n };\n\n const getDragState = (\n e: React.DragEvent<HTMLElement>\n ): {\n element: HTMLElement;\n node: WorkbenchNodeData;\n status: dragStatusEnum;\n } => {\n const element = findDragParent(e.target as HTMLElement);\n const id = element.dataset.uid;\n if (element === curElement || id?.includes(\":\")) {\n return;\n }\n const { top, bottom } = element.getBoundingClientRect();\n let status: dragStatusEnum;\n const repair = allowDragToInside ? 5 : 10;\n if (e.clientY < top + repair) {\n status = dragStatusEnum.top;\n } else if (e.clientY > bottom - repair) {\n status = dragStatusEnum.bottom;\n } else {\n status = allowDragToInside ? dragStatusEnum.inside : overStatus;\n }\n\n return {\n element,\n node: findNode(nodes, id, nodeKey),\n status,\n };\n };\n\n const handleOnDragStart = (\n e: React.DragEvent,\n node: WorkbenchNodeData\n ): void => {\n e.stopPropagation();\n if (!allowDrag) return;\n const element = e.target as HTMLElement;\n if (element.dataset?.container) return;\n setIsDragging(true);\n setDragImage(e, element.innerText);\n setCurElement(element);\n setCurNode(node);\n };\n\n const handleOnDragOver = (e: React.DragEvent<HTMLElement>): void => {\n e.preventDefault();\n if (!isDragging) return;\n if ((e.target as HTMLElement).className === \"workbenchTree-placeholder-dom\")\n return;\n const dom = getDragState(e);\n if (dom && !curElement?.contains(dom.element)) {\n setOverElement(dom.element);\n setOverNode(dom.node);\n setOverStatus(dom.status);\n }\n };\n\n const handleOnDragEnd = (): void => {\n setCurElement(null);\n setOverElement(null);\n setOverNode(null);\n setOverStatus(null);\n setIsDragging(false);\n };\n\n const handleOnDrop = (e: React.DragEvent<HTMLElement>): void => {\n if (!isDragging) return;\n if (onBrickDrop) {\n let parentElement = overElement;\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(overStatus)) {\n parentElement = findDragParent(parentElement, false);\n }\n onBrickDrop(e, {\n curElement,\n overElement,\n parentElement,\n overStatus,\n });\n } else {\n if (allowDragToRoot || Number(overElement.dataset.level) !== 1) {\n let realOverNode = overNode;\n const findRealNode = (\n nodes: WorkbenchNodeData[],\n key: string\n ): void => {\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].key === key) {\n realOverNode = nodes[i];\n break;\n }\n if (nodes[i].children) {\n findRealNode(nodes[i].children, key);\n }\n }\n };\n const overUid = overElement.dataset.uid;\n findRealNode(nodes, overUid);\n const filterNodes = (\n nodes: WorkbenchNodeData[]\n ): WorkbenchNodeData[] => {\n let flag = false;\n const { container, uid } = overElement.dataset;\n const realOverKey = container ? realOverNode.originKey : uid;\n const newNodes = nodes.filter((node) => {\n if (node.children) {\n node.children = filterNodes(node.children);\n }\n if (node.key === realOverKey) flag = true;\n return node.key !== curNode.key;\n });\n if (flag) {\n newNodes.splice(\n newNodes.findIndex((item) => item.key === realOverKey) +\n (overStatus === \"bottom\" ? 1 : 0),\n 0,\n curNode\n );\n }\n return newNodes;\n };\n\n const normalizeNode = getNodesByPathTree(nodes);\n const realCurNode = curNode.isContainer\n ? normalizeNode.find((item) => item.key === curNode.originKey)\n : curNode;\n const curNodeData = realCurNode.data as Record<string, unknown>;\n curNodeData.path = realOverNode.parentPath || realOverNode.path;\n\n dropEmit({\n nodes: filterNodes(normalizeNode),\n curNode: realCurNode,\n overNode: realOverNode,\n status: overStatus,\n });\n }\n }\n handleOnDragEnd();\n };\n\n useEffect(() => {\n setIsDragging(isDrag);\n }, [isDrag]);\n\n useEffect(() => {\n window.addEventListener(\"dragend\", handleOnDragEnd);\n return () => {\n window.removeEventListener(\"dragend\", handleOnDragEnd);\n };\n }, []);\n\n return (\n <div\n style={{\n height: \"100%\",\n }}\n className=\"tree-wrapper\"\n onContextMenu={onContextMenu}\n >\n {nodes?.length ? (\n <div>\n {!noSearch && (\n <div\n className=\"searchBox\"\n onContextMenu={(e) => e.stopPropagation()}\n >\n <span\n className={classNames(\"filter-input-wrapper\", {\n focus: isFocus,\n })}\n >\n <span className=\"prefix\">\n <WrappedGeneralIcon\n icon=\"search\"\n lib=\"antd\"\n theme=\"outlined\"\n />\n </span>\n <input\n value={q}\n onChange={handleSearchChange}\n onFocus={() => setIsFocus(true)}\n onBlur={() => setIsFocus(false)}\n autoComplete=\"off\"\n placeholder={searchPlaceholder}\n />\n <span className=\"suffix\">\n {q ? (\n <WrappedGeneralIcon\n className=\"clear-button\"\n icon=\"close-circle\"\n lib=\"antd\"\n theme=\"filled\"\n onClick={handleClearInput}\n />\n ) : null}\n </span>\n </span>\n </div>\n )}\n <SearchingContext.Provider value={!!q}>\n <WorkbenchTreeDndContext.Provider\n value={{\n allow: allowDrag,\n allowDragToRoot: allowDragToRoot,\n dragElement: curElement,\n dragOverElement: overElement,\n dragStatus: overStatus,\n onDragStart: handleOnDragStart,\n }}\n >\n <div\n className={classnames({\n hightlight: isDrag,\n })}\n onDragOver={handleOnDragOver}\n onDrop={handleOnDrop}\n >\n <TreeList nodes={filteredNodes} level={1} />\n </div>\n </WorkbenchTreeDndContext.Provider>\n </SearchingContext.Provider>\n </div>\n ) : (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n </div>\n );\n}\n\nfunction TreeList({ nodes, level }: TreeListProps): ReactElement {\n const lastIndex = nodes.length - 1;\n return (\n <ul className=\"tree\">\n {nodes\n .filter((item) => checkIfOfComputed(item))\n .map((node, index) => (\n <TreeNode\n key={node.key}\n node={node}\n level={level}\n isFirst={index === 0}\n isLast={index === lastIndex}\n />\n ))}\n </ul>\n );\n}\n\nfunction PlaceholderDOM({\n style,\n}: {\n style: React.CSSProperties;\n}): React.ReactElement {\n const { dragStatus } = useWorkbenchTreeDndContext();\n const styles: React.CSSProperties = {\n height: 22,\n border: \"1px dashed goldenrod\",\n opacity: dragStatus === dragStatusEnum.inside ? \"0\" : \"1\",\n ...style,\n };\n\n return <li className=\"workbenchTree-placeholder-dom\" style={styles} />;\n}\nexport interface TreeNodeProps {\n node: WorkbenchNodeData;\n level: number;\n isFirst?: boolean;\n isLast?: boolean;\n skipNotify?: boolean;\n}\n\nfunction TreeNode({\n node,\n level,\n isFirst,\n isLast,\n}: TreeNodeProps): ReactElement {\n const isLeaf = !node.children?.length;\n const isContainer = node.isContainer;\n const {\n hoverKey,\n activeKey,\n basePaddingLeft,\n showMatchedNodeOnly,\n fixedActionsFor,\n collapsible,\n collapsedNodes,\n nodeKey,\n clickFactory,\n mouseEnterFactory,\n mouseLeaveFactory,\n contextMenuFactory,\n onNodeToggle,\n getCollapsedId,\n skipNotify,\n } = useWorkbenchTreeContext();\n const {\n allow,\n allowDragToRoot,\n onDragStart,\n dragElement,\n dragOverElement,\n dragStatus,\n } = useWorkbenchTreeDndContext();\n\n const { actions, actionsHidden, onActionClick } =\n useWorkbenchActionsContext();\n\n const nodePaddingLeft = level * treeLevelPadding + basePaddingLeft - 2;\n const searching = useContext(SearchingContext);\n const [cacheDragStatus, setCacheDragStatus] = useState(null);\n const [collapseClicked, setCollapseClicked] = useState(false);\n const [collapsed, setCollapsed] = useState(\n collapsedNodes?.includes(getCollapsedId?.(node)) ?? false\n );\n\n const onMouseEnter = useMemo(\n () => mouseEnterFactory?.(node),\n [mouseEnterFactory, node]\n );\n const onMouseLeave = useMemo(\n () => mouseLeaveFactory?.(node),\n [mouseLeaveFactory, node]\n );\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n contextMenuFactory?.(node)?.(e);\n },\n [contextMenuFactory, node]\n );\n\n const isActive = activeKey && node.key === activeKey;\n\n const nodeLabelCallback = useMemo(\n () =>\n isActive\n ? (element: HTMLElement) => {\n element?.scrollIntoView?.({\n block: \"center\",\n inline: \"center\",\n // behavior: \"smooth\",\n });\n }\n : null,\n // Only for initial active node.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const nodeUid = useMemo(() => {\n if (isContainer) {\n return node.key;\n }\n if (node.data) {\n const getNodeUid = (data: Record<string, any>): number | string => {\n return data.type === \"mount-point\"\n ? data.parent[nodeKey] || `${data.parent.$$uid}:${data.mountPoint}`\n : data[nodeKey] || data.$$uid;\n };\n return getNodeUid(node.data);\n }\n }, [nodeKey, node, isContainer]);\n\n useEffect(() => {\n if (dragStatus === dragStatusEnum.inside) {\n return;\n }\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(dragStatus)) {\n setCacheDragStatus(dragStatus);\n }\n }, [dragStatus]);\n\n const isDragElement = useMemo(() => {\n if (dragElement) {\n const dragUid = dragElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragElement, nodeUid]);\n\n const isDragActive = useMemo(() => {\n if (dragOverElement) {\n const dragUid = dragOverElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragOverElement, nodeUid]);\n\n const nodeStyle = useMemo((): React.CSSProperties => {\n const commomStyle: React.CSSProperties = {};\n let style: React.CSSProperties = {\n opacity: isDragElement ? 0.2 : 1,\n };\n if (isDragActive) {\n if (dragStatus === dragStatusEnum.inside) {\n style = {\n boxShadow: borderStyle,\n background: \"rgba(255, 255, 255, 0.1)\",\n };\n }\n }\n return Object.assign(commomStyle, style);\n }, [isDragActive, isDragElement, dragStatus]);\n\n const handleCollapse = useCallback((event: React.MouseEvent | MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setCollapseClicked(true);\n setCollapsed((prev) => !prev);\n }, []);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const onLinkClick = useCallback(\n (e: MouseEvent | React.MouseEvent) => {\n if (isContainer) {\n handleCollapse(e);\n } else {\n return clickFactory?.(node)?.();\n }\n },\n [clickFactory, handleCollapse, isContainer, node]\n );\n\n useEffect(() => {\n if (collapseClicked) {\n onNodeToggle?.(getCollapsedId?.(node), collapsed);\n }\n }, [collapseClicked, collapsed, getCollapsedId, node, onNodeToggle]);\n\n // Disallow collapse leaf nodes, or any nodes when searching.\n const allowCollapse = collapsible && !isLeaf && !searching;\n\n if (searching && showMatchedNodeOnly && !node.matched) {\n return null;\n }\n\n return (\n <>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.top && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n <li\n draggable={allow}\n onDragStart={(e) => onDragStart(e, node)}\n data-uid={nodeUid}\n data-level={level}\n style={nodeStyle}\n {...(isContainer\n ? {\n \"data-container\": isContainer,\n }\n : {})}\n >\n <WrappedLink\n tabIndex={0}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onContextMenu={onContextMenu}\n // noEmptyHref={true}\n onClick={onLinkClick}\n {...(skipNotify\n ? {\n // TODO: link should support\n url: {\n pathname: get(node.link, \"url\", \"href\"),\n state: {\n notify: false,\n },\n } as any,\n }\n : { ...pick(node.link, [\"url\", \"href\"]) })}\n >\n <span\n className={classNames(\"nodeLabelRow\", {\n active: isActive,\n hover: hoverKey && node.key === hoverKey,\n matched: searching && node.matchedSelf && !showMatchedNodeOnly,\n fixedActions:\n fixedActionsFor &&\n []\n .concat(fixedActionsFor)\n .some((source) =>\n isMatch(node.data as Record<string, unknown>, source)\n ),\n collapsed: allowCollapse && collapsed,\n collapsible: allowCollapse,\n })}\n >\n <span\n className={classNames(\"nodeLabel\", {\n unreachable: node.unreachable,\n })}\n style={{\n paddingLeft: nodePaddingLeft,\n color: node.labelColor,\n }}\n ref={nodeLabelCallback}\n >\n <span className=\"nodeIconWrapper\">\n {allowCollapse && (\n <span\n className=\"collapseIcon\"\n onClick={handleCollapse}\n onMouseDown={preventMouseEvent}\n title={collapsed ? \"Expand\" : \"Collapse\"}\n role=\"button\"\n >\n <WrappedGeneralIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon={collapsed ? \"right\" : \"down\"}\n />\n </span>\n )}\n <span className=\"nodeIcon\">\n <WrappedGeneralIcon\n {...(node.icon as GeneralIconProps)}\n style={{\n fontSize: (node.icon as unknown as Record<string, string>)\n ?.imgSrc\n ? 14\n : null,\n }}\n />\n </span>\n </span>\n <span className=\"nodeName\">\n {/* {isTransformName\n ? smartDisplayForEvaluableString(node.name)\n : node.name} */}\n {node.name}\n </span>\n </span>\n <WorkbenchMiniActionBar\n className=\"nodeActionsBar\"\n data={node.data}\n isFirst={isFirst}\n isLast={isLast}\n actions={actions}\n onActionClick={onActionClick}\n actionsHidden={actionsHidden}\n />\n {node.badge && (\n <span className=\"badge\">\n <WrappedGeneralIcon {...(node.badge as GeneralIconProps)} />\n </span>\n )}\n </span>\n </WrappedLink>\n {isLeaf || <TreeList nodes={node.children} level={level + 1} />}\n </li>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.bottom && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n </>\n );\n}\n","import _ from \"lodash\";\nimport { WorkbenchNodeData } from \"../interfaces.js\";\n\nexport function getNodeTreeByPath(\n nodes: WorkbenchNodeData[],\n nodeKey: string\n): Array<WorkbenchNodeData> {\n const createNodeByPath = (\n pathList: string[],\n nodes: Array<WorkbenchNodeData>,\n node: WorkbenchNodeData,\n index?: number\n ): void => {\n const path = pathList.shift();\n if (path) {\n pathList.length > 0\n ? pathList.splice(0, 1, `${path}/${pathList[0]}`)\n : pathList;\n const folder = nodes.find(\n (node) => node && node.key === path && node.isContainer\n );\n if (folder) {\n nodes[index] = null;\n createNodeByPath(pathList, folder.children, node);\n } else {\n const newPathList = path.split(\"/\");\n const newNode = {\n name: newPathList.pop(),\n key: path,\n parentPath: newPathList ? newPathList.join(\"/\") : newPathList,\n originKey: node.key,\n data: {\n [nodeKey]: path,\n isContainer: true,\n },\n children: [],\n icon: {\n icon: \"folder\",\n lib: \"antd\",\n theme: \"filled\",\n color: \"orange\",\n },\n isContainer: true,\n } as WorkbenchNodeData;\n if (typeof index === \"number\") {\n nodes[index] = newNode;\n } else {\n nodes.push(newNode);\n }\n createNodeByPath(pathList, newNode.children, node);\n }\n } else {\n nodes.push(node);\n }\n };\n\n nodes.forEach((node, index) => {\n if (node.path) {\n const pathList = node.path.split(\"/\").filter(Boolean);\n createNodeByPath(pathList, nodes, node, index);\n }\n });\n return nodes.filter(Boolean);\n}\n\nexport function getNodesByPathTree(\n nodes: Array<WorkbenchNodeData>\n): Array<WorkbenchNodeData> {\n const result: Array<WorkbenchNodeData> = [];\n const walk = (nodes: Array<WorkbenchNodeData>): void => {\n nodes.forEach((item) => {\n if (item.isContainer) {\n walk(item.children);\n } else {\n result.push(_.omit(item, [\"path\", \"icon\"]) as WorkbenchNodeData);\n }\n });\n };\n walk(nodes);\n return result;\n}\n","export function setDragImage(\n e: DragEvent | React.DragEvent,\n title: string\n): void {\n const canvas = document.createElement(\"canvas\");\n document.body.append(canvas);\n const context = canvas.getContext(\"2d\");\n canvas.width = context.measureText(title).width + 60;\n canvas.height = 20;\n canvas.style.position = \"absolute\";\n canvas.style.left = \"-100%\";\n canvas.style.zIndex = \"-100\";\n\n context.fillStyle = \"#333333\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n\n context.fillStyle = \"#999999\";\n context.font = \"bold 14px Arial\";\n context.fillText(title, 20, 15);\n\n e.dataTransfer.setDragImage(canvas, 0, 0);\n}\n","import { createContext, useContext } from \"react\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { dragStatusEnum } from \"./WorkbenchTreeDndContext.js\";\n\nexport interface dropOptions {\n curElement: HTMLElement;\n overElement: HTMLElement;\n parentElement: HTMLElement;\n overStatus: dragStatusEnum;\n}\n\nexport interface ContextOfWorkbenchTree {\n hoverKey?: string | number;\n activeKey?: string | number;\n basePaddingLeft?: number;\n showMatchedNodeOnly?: boolean;\n isTransformName?: boolean;\n fixedActionsFor?: Record<string, unknown> | Record<string, unknown>[];\n collapsible?: boolean;\n collapsedNodes?: (string | number)[];\n nodeKey?: string;\n clickFactory?(node: WorkbenchNodeData): () => void;\n mouseEnterFactory?(node: WorkbenchNodeData): () => void;\n mouseLeaveFactory?(node: WorkbenchNodeData): () => void;\n contextMenuFactory?(\n node?: WorkbenchNodeData\n ): (event: React.MouseEvent) => void;\n matchNode?(node: WorkbenchNodeData, lowerTrimmedQuery?: string): boolean;\n onNodeToggle?(nodeId: string | number, collapsed: boolean): void;\n getCollapsedId?(node: WorkbenchNodeData): string | number;\n onBrickDrop?(e: React.DragEvent<HTMLElement>, options: dropOptions): void;\n skipNotify?: boolean;\n}\n\nexport const WorkbenchTreeContext = createContext<ContextOfWorkbenchTree>({});\n\nexport function useWorkbenchTreeContext(): ContextOfWorkbenchTree {\n return useContext(WorkbenchTreeContext);\n}\n","export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host-context(html[data-theme=\"light\"]),\n:host-context(html[data-override-theme=\"light\"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context(html[data-override-theme=\"dark-v2\"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["WorkbenchActionsContext","createContext","useWorkbenchActionsContext","useContext","dragStatusEnum","WorkbenchTreeDndContext","useWorkbenchTreeDndContext","WrappedGeneralIcon","wrapBrick","WorkbenchMiniActionBar","_ref","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","checkIfByTransform","length","React","classNames","style","map","WorkbenchSubAction","key","action","_ref2","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","role","onClick","onContextMenu","onMouseDown","icon","WrappedLink","treeLevelPadding","borderStyle","SearchingContext","WorkbenchTree","nodes","originNode","placeholder","searchPlaceholder","isDrag","noSearch","allowDrag","allowDragToRoot","allowDragToInside","dropEmit","q","setQ","useState","isDragging","setIsDragging","curNode","setCurNode","curElement","setCurElement","overNode","setOverNode","overElement","setOverElement","overStatus","setOverStatus","isFocus","setIsFocus","nodeKey","onBrickDrop","contextMenuFactory","matchNode","useWorkbenchTreeContext","_originNode$slice","createNodeByPath","pathList","node","index","path","shift","splice","concat","folder","find","isContainer","children","newPathList","split","newNode","name","pop","parentPath","join","originKey","lib","theme","color","push","forEach","Boolean","getNodeTreeByPath","slice","handleSearchChange","target","value","trimmedLowerQ","trim","toLowerCase","filteredNodes","walk","_node$children","matchedSelf","hasMatchedChildren","includes","matched","findDragParent","element","equal","arguments","undefined","draggable","tagName","parentElement","findNode","id","handleOnDragEnd","useEffect","window","addEventListener","removeEventListener","height","e","focus","onChange","onFocus","onBlur","autoComplete","handleClearInput","Provider","allow","dragElement","dragOverElement","dragStatus","onDragStart","handleOnDragStart","_element$dataset","dataset","container","canvas","document","createElement","body","append","context","getContext","width","measureText","position","left","zIndex","fillStyle","fillRect","font","fillText","dataTransfer","setDragImage","innerText","classnames","hightlight","onDragOver","dom","uid","status","top","bottom","getBoundingClientRect","repair","clientY","inside","getDragState","contains","onDrop","Number","level","realOverNode","findRealNode","i","overUid","filterNodes","flag","realOverKey","newNodes","findIndex","normalizeNode","result","_","getNodesByPathTree","realCurNode","TreeList","lastIndex","checkIfOfComputed","TreeNode","PlaceholderDOM","_ref3","styles","_objectSpread","border","opacity","_ref4","_node$children2","_collapsedNodes$inclu","_node$icon","isLeaf","hoverKey","activeKey","basePaddingLeft","showMatchedNodeOnly","fixedActionsFor","collapsible","collapsedNodes","clickFactory","mouseEnterFactory","mouseLeaveFactory","onNodeToggle","getCollapsedId","skipNotify","nodePaddingLeft","searching","cacheDragStatus","setCacheDragStatus","collapseClicked","setCollapseClicked","collapsed","setCollapsed","onMouseEnter","onMouseLeave","_contextMenuFactory","isActive","nodeLabelCallback","_element$scrollIntoVi","scrollIntoView","call","block","inline","nodeUid","type","parent","$$uid","mountPoint","isDragElement","String","isDragActive","nodeStyle","boxShadow","background","Object","assign","handleCollapse","prev","onLinkClick","_clickFactory","allowCollapse","marginLeft","_extends","tabIndex","url","pathname","get","link","state","notify","pick","active","hover","fixedActions","some","source","isMatch","unreachable","paddingLeft","labelColor","ref","fontSize","imgSrc","badge","WorkbenchTreeContext","deepMatch","lowerTrimmedQuery","Array","isArray","entries","flat","___CSS_LOADER_EXPORT___","module","toString","exports","cssWithMappingToString","list","this","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","k","_k","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","apply","prototype","newClass","default","setFunctionName","t","n","description","defineProperty","configurable","applyDecs2311","r","o","a","c","u","s","f","l","p","d","Symbol","metadata","m","h","create","y","v","g","b","TypeError","applyDec","w","D","S","j","E","I","P","F","set","getOwnPropertyDescriptor","Error","N","O","z","A","H","K","kind","addInitializer","bind","access","has","init","unshift","enumerable","toPropertyKey","checkInRHS","_assertClassBrand","_checkInRHS","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldGet2","_classPrivateFieldInitSpec","privateMap","_classPrivateFieldSet2","_classPrivateGetter","_classPrivateMethodInitSpec","privateSet","add"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/3801.477a0f99.js","mappings":";sLAYaA,GAA0BC,EAAAA,EAAAA,eACrC,CAAC,GAGI,SAASC,IACd,OAAOC,EAAAA,EAAAA,YAAWH,EACpB,sJCfYI,EAAc,SAAdA,GAAc,OAAdA,EAAc,gBAAdA,EAAc,UAAdA,EAAc,gBAAdA,CAAc,MAoBbC,GAA0BJ,EAAAA,EAAAA,eACrC,CAAC,GAGI,SAASK,IACd,OAAOH,EAAAA,EAAAA,YAAWE,EACpB,wBCnBaE,GAAqBC,EAAAA,EAAAA,WAChC,WAcK,SAASC,EAAsBC,GASa,IATZ,KACrCC,EAAI,UACJC,EAAS,IACTC,EAAG,QACHC,EAAO,OACPC,EAAM,QACNC,EAAO,cACPC,EAAa,cACbC,GAC2BR,EACrBS,GAAiBC,EAAAA,EAAAA,UACrB,IAAMJ,aAAO,EAAPA,EAASK,QAAQC,IAASC,EAAAA,EAAAA,oBAAmBD,EAAMX,MACzD,CAACK,EAASL,IAGZ,OAAIM,GAAkBE,UAAAA,EAAgBK,OAC7B,KAIPC,IAAAA,cAAA,OAAKb,UAAWc,IAAW,aAAcd,GAAYe,MAAO,CAAEd,QAC3DM,EAAeS,KAAKN,GACnBG,IAAAA,cAACI,EAAkB,CACjBC,IAAKR,EAAKS,OACVA,OAAQT,EACRX,KAAMA,EACNG,QAASA,EACTC,OAAQA,EACRG,cAAeA,MAKzB,CAUA,SAASW,EAAkBG,GAMqB,IANpB,OAC1BD,EAAM,KACNpB,EAAI,QACJG,EAAO,OACPC,EAAM,cACNG,GACwBc,EAClBC,EACHnB,GAA6B,YAAlBiB,EAAOA,QAClBhB,GAA4B,cAAlBgB,EAAOA,OAEdG,GAAoBC,EAAAA,EAAAA,cACvBC,IACCA,EAAMC,iBACND,EAAME,kBACNL,GACEf,SAAAA,EAAgB,CACda,OAAQA,EAAOA,OACfpB,KAAMA,GACN,GAEN,CAACoB,EAAOA,OAAQpB,EAAMsB,EAAUf,IAG5BqB,GAAoBJ,EAAAA,EAAAA,cAAaC,IACrCA,EAAMC,iBACND,EAAME,iBAAiB,GACtB,IAEH,OACEb,IAAAA,cAAA,KACEb,UAAWc,IAAW,SAAU,CAAEO,SAAUA,IAC5CO,MAAOT,EAAOS,MACdC,KAAK,SACLC,QAASR,EACTS,cAAeJ,EACfK,YAAaL,GAEbd,IAAAA,cAAClB,EAAuBwB,EAAOc,MAGrC,CCzEO,IAAMC,GAActC,EAAAA,EAAAA,WAA2B,WACzCD,GAAqBC,EAAAA,EAAAA,WAChC,WAGIuC,EAAmB,GACnBC,EAAc,oBA0BdC,GAAmBhD,EAAAA,EAAAA,gBAAc,GAEhC,SAASiD,EAAaxC,GAUQ,IATnCyC,MAAOC,EAAU,YACjBC,EAAW,kBACXC,EAAiB,OACjBC,EAAM,SACNC,EAAQ,UACRC,EAAS,gBACTC,EAAe,kBACfC,EAAiB,SACjBC,GACmBlD,GACZmD,EAAGC,IAAQC,EAAAA,EAAAA,UAAiB,KAC5BC,EAAYC,IAAiBF,EAAAA,EAAAA,UAAkBR,IAC/CW,EAASC,IAAcJ,EAAAA,EAAAA,aACvBK,EAAYC,IAAiBN,EAAAA,EAAAA,aAC7BO,EAAUC,IAAeR,EAAAA,EAAAA,aACzBS,EAAaC,IAAkBV,EAAAA,EAAAA,aAC/BW,EAAYC,IAAiBZ,EAAAA,EAAAA,aAC7Ba,EAASC,IAAcd,EAAAA,EAAAA,aACxB,QAAEe,EAAO,YAAEC,EAAW,mBAAEC,EAAkB,UAAEC,IAChDC,EAAAA,EAAAA,KACI/B,GAAQ/B,EAAAA,EAAAA,UACZ,SAAA+D,EAAA,OCzFG,SACLhC,EACA2B,GAEA,IAAMM,EAAmBA,CACvBC,EACAlC,EACAmC,EACAC,KAEA,IAAMC,EAAOH,EAASI,QACtB,GAAID,EAAM,CACRH,EAAS7D,OAAS,GACd6D,EAASK,OAAO,EAAG,EAAG,GAAFC,OAAKH,EAAI,KAAAG,OAAIN,EAAS,KAE9C,IAAMO,EAASzC,EAAM0C,MAClBP,GAASA,GAAQA,EAAKxD,MAAQ0D,GAAQF,EAAKQ,cAE9C,GAAIF,EACFzC,EAAMoC,GAAS,KACfH,EAAiBC,EAAUO,EAAOG,SAAUT,OACvC,CACL,IAAMU,EAAcR,EAAKS,MAAM,KACzBC,EAAU,CACdC,KAAMH,EAAYI,MAClBtE,IAAK0D,EACLa,WAAYL,EAAcA,EAAYM,KAAK,KAAON,EAClDO,UAAWjB,EAAKxD,IAChBnB,KAAM,CACJ,CAACmE,GAAUU,EACXM,aAAa,GAEfC,SAAU,GACVlD,KAAM,CACJA,KAAM,SACN2D,IAAK,OACLC,MAAO,SACPC,MAAO,UAETZ,aAAa,GAEM,iBAAVP,EACTpC,EAAMoC,GAASW,EAEf/C,EAAMwD,KAAKT,GAEbd,EAAiBC,EAAUa,EAAQH,SAAUT,EAC/C,CACF,MACEnC,EAAMwD,KAAKrB,EACb,EASF,OANAnC,EAAMyD,SAAQ,CAACtB,EAAMC,KACnB,GAAID,EAAKE,KAAM,CACb,IAAMH,EAAWC,EAAKE,KAAKS,MAAM,KAAK5E,OAAOwF,SAC7CzB,EAAiBC,EAAUlC,EAAOmC,EAAMC,EAC1C,KAEKpC,EAAM9B,OAAOwF,QACtB,CD6BUC,CAAqC,QAApB3B,EAAC/B,aAAU,EAAVA,EAAY2D,eAAO,IAAA5B,EAAAA,EAAI,GAAIL,EAAQ,GAC3D,CAAC1B,EAAY0B,IAGTkC,GAAqB7E,EAAAA,EAAAA,cACxBC,IACC0B,EAAK1B,EAAM6E,OAAOC,MAAM,GAE1B,IAOIvE,GAAgBvB,EAAAA,EAAAA,UACpB,IAAM4D,aAAkB,EAAlBA,KACN,CAACA,IAGGmC,EAAgBtD,aAAC,EAADA,EAAGuD,OAAOC,cAC1BC,GAAgBlG,EAAAA,EAAAA,UAAQ,KAC5B,GAAIoC,IAAa2D,IAAkBhE,EACjC,OAAOA,EAET,IAAMoE,EAAQjC,IAAqC,IAAAkC,EACjDlC,EAAKmC,YAAcxC,EAAUK,EAAM6B,GACnC,IAAMO,EAAkC,QAAhBF,EAAGlC,EAAKS,gBAAQ,IAAAyB,OAAA,EAAbA,EAAe5F,IAAI2F,GAAMI,UAAS,GAE7D,OADArC,EAAKsC,QAAUtC,EAAKmC,aAAeC,EAC5BpC,EAAKsC,OAAO,EAGrB,OADAzE,EAAMyD,QAAQW,GACPpE,EAAM4D,OAAO,GACnB,CAACvD,EAAU2D,EAAehE,EAAO8B,IAE9B4C,EAAiB,SAACC,GAEtB,IAF0E,IAA9BC,IAAKC,UAAAxG,OAAA,QAAAyG,IAAAD,UAAA,KAAAA,UAAA,GAC7C1C,EAAOwC,EACJxC,GAAM,CACX,GACEA,EAAK4C,YACJH,GAASzC,IAASwC,IACF,MAAjBxC,EAAK6C,QAEL,OAAO7C,EAETA,EAAOA,EAAK8C,aACd,CACF,EAEMC,EAAW,SACflF,EACAmF,EACAxD,GAEsB,IADtBQ,EAAuB0C,UAAAxG,OAAA,QAAAyG,IAAAD,UAAA,GAAAA,UAAA,GAAG,KAE1B,IAAK,IAAM1G,KAAQ6B,EAOjB,GANK7B,EAAKX,KAAiCmE,KAAawD,IACtDhD,EAAOhE,GAELA,EAAKyE,WACPT,EAAO+C,EAAS/G,EAAKyE,SAAUuC,EAAIxD,EAASQ,IAE1CA,EAAM,MAEZ,OAAOA,CACT,EA2DMiD,EAAkBA,KACtBlE,EAAc,MACdI,EAAe,MACfF,EAAY,MACZI,EAAc,MACdV,GAAc,EAAM,EAwFtB,OAXAuE,EAAAA,EAAAA,YAAU,KACRvE,EAAcV,EAAO,GACpB,CAACA,KAEJiF,EAAAA,EAAAA,YAAU,KACRC,OAAOC,iBAAiB,UAAWH,GAC5B,KACLE,OAAOE,oBAAoB,UAAWJ,EAAgB,IAEvD,IAGD9G,IAAAA,cAAA,OACEE,MAAO,CACLiH,OAAQ,QAEVhI,UAAU,eACV+B,cAAeA,GAEdQ,SAAAA,EAAO3B,OACNC,IAAAA,cAAA,YACI+B,GACA/B,IAAAA,cAAA,OACEb,UAAU,YACV+B,cAAgBkG,GAAMA,EAAEvG,mBAExBb,IAAAA,cAAA,QACEb,UAAWc,IAAW,uBAAwB,CAC5CoH,MAAOlE,KAGTnD,IAAAA,cAAA,QAAMb,UAAU,UACda,IAAAA,cAAClB,EAAkB,CACjBsC,KAAK,SACL2D,IAAI,OACJC,MAAM,cAGVhF,IAAAA,cAAA,SACEyF,MAAOrD,EACPkF,SAAU/B,EACVgC,QAASA,IAAMnE,GAAW,GAC1BoE,OAAQA,IAAMpE,GAAW,GACzBqE,aAAa,MACb7F,YAAaC,IAEf7B,IAAAA,cAAA,QAAMb,UAAU,UACbiD,EACCpC,IAAAA,cAAClB,EAAkB,CACjBK,UAAU,eACViC,KAAK,eACL2D,IAAI,OACJC,MAAM,SACN/D,QAxPKyG,KACvBrF,EAAK,GAAG,IAyPU,QAKZrC,IAAAA,cAACwB,EAAiBmG,SAAQ,CAAClC,QAASrD,GAClCpC,IAAAA,cAACpB,EAAwB+I,SAAQ,CAC/BlC,MAAO,CACLmC,MAAO5F,EACPC,gBAAiBA,EACjB4F,YAAalF,EACbmF,gBAAiB/E,EACjBgF,WAAY9E,EACZ+E,YAjLYC,CACxBb,EACAvD,KACS,IAAAqE,EAET,GADAd,EAAEvG,kBACGmB,EAAL,CACA,IAAMqE,EAAUe,EAAE5B,OACC,QAAnB0C,EAAI7B,EAAQ8B,eAAO,IAAAD,GAAfA,EAAiBE,YACrB5F,GAAc,GErMX,SACL4E,EACArG,GAEA,IAAMsH,EAASC,SAASC,cAAc,UACtCD,SAASE,KAAKC,OAAOJ,GACrB,IAAMK,EAAUL,EAAOM,WAAW,MAClCN,EAAOO,MAAQF,EAAQG,YAAY9H,GAAO6H,MAAQ,GAClDP,EAAOlB,OAAS,GAChBkB,EAAOnI,MAAM4I,SAAW,WACxBT,EAAOnI,MAAM6I,KAAO,QACpBV,EAAOnI,MAAM8I,OAAS,OAEtBN,EAAQO,UAAY,UACpBP,EAAQQ,SAAS,EAAG,EAAGb,EAAOO,MAAOP,EAAOlB,QAE5CuB,EAAQO,UAAY,UACpBP,EAAQS,KAAO,kBACfT,EAAQU,SAASrI,EAAO,GAAI,IAE5BqG,EAAEiC,aAAaC,aAAajB,EAAQ,EAAG,EACzC,CFiLIiB,CAAalC,EAAGf,EAAQkD,WACxB3G,EAAcyD,GACd3D,EAAWmB,GANW,CAMN,IAyKN7D,IAAAA,cAAA,OACEb,UAAWqK,IAAW,CACpBC,WAAY3H,IAEd4H,WA1KYtC,IAExB,GADAA,EAAExG,iBACG2B,GACuC,kCAAvC6E,EAAE5B,OAAuBrG,UAA9B,CAEA,IAAMwK,EAhDNvC,KAMA,IAAMf,EAAUD,EAAegB,EAAE5B,QAC3BqB,EAAKR,EAAQ8B,QAAQyB,IAC3B,KAAIvD,IAAY1D,GAAckE,SAAAA,EAAIX,SAAS,MAA3C,CAGA,IACI2D,GADE,IAAEC,EAAG,OAAEC,GAAW1D,EAAQ2D,wBAE1BC,EAAS/H,EAAoB,EAAI,GASvC,OAPE2H,EADEzC,EAAE8C,QAAUJ,EAAMG,EACXtL,EAAemL,IACf1C,EAAE8C,QAAUH,EAASE,EACrBtL,EAAeoL,OAEf7H,EAAoBvD,EAAewL,OAASlH,EAGhD,CACLoD,UACAxC,KAAM+C,EAASlF,EAAOmF,EAAIxD,GAC1BwG,SAfF,CAgBC,EAsBWO,CAAahD,IACrBuC,GAAQhH,SAAAA,EAAY0H,SAASV,EAAItD,WACnCrD,EAAe2G,EAAItD,SACnBvD,EAAY6G,EAAI9F,MAChBX,EAAcyG,EAAIE,QALZ,CAMR,EAiKYS,OAtJQlD,IACpB,GAAK7E,EAAL,CACA,GAAIe,EAAa,CACf,IAAIqD,EAAgB5D,EAChB,CAACpE,EAAemL,IAAKnL,EAAeoL,QAAQ7D,SAASjD,KACvD0D,EAAgBP,EAAeO,GAAe,IAEhDrD,EAAY8D,EAAG,CACbzE,aACAI,cACA4D,gBACA1D,cAEJ,MACE,GAAIhB,GAAyD,IAAtCsI,OAAOxH,EAAYoF,QAAQqC,OAAc,CAC9D,IAAIC,EAAe5H,EACb6H,EAAeA,CACnBhJ,EACArB,KAEA,IAAK,IAAIsK,EAAI,EAAGA,EAAIjJ,EAAM3B,OAAQ4K,IAAK,CACrC,GAAIjJ,EAAMiJ,GAAGtK,MAAQA,EAAK,CACxBoK,EAAe/I,EAAMiJ,GACrB,KACF,CACIjJ,EAAMiJ,GAAGrG,UACXoG,EAAahJ,EAAMiJ,GAAGrG,SAAUjE,EAEpC,GAEIuK,EAAU7H,EAAYoF,QAAQyB,IACpCc,EAAahJ,EAAOkJ,GACpB,IAAMC,EACJnJ,IAEA,IAAIoJ,GAAO,GACL,UAAE1C,EAAS,IAAEwB,GAAQ7G,EAAYoF,QACjC4C,EAAc3C,EAAYqC,EAAa3F,UAAY8E,EACnDoB,EAAWtJ,EAAM9B,QAAQiE,IACzBA,EAAKS,WACPT,EAAKS,SAAWuG,EAAYhH,EAAKS,WAE/BT,EAAKxD,MAAQ0K,IAAaD,GAAO,GAC9BjH,EAAKxD,MAAQoC,EAAQpC,OAU9B,OARIyK,GACFE,EAAS/G,OACP+G,EAASC,WAAWpL,GAASA,EAAKQ,MAAQ0K,KACxB,WAAf9H,EAA0B,EAAI,GACjC,EACAR,GAGGuI,CAAQ,EAGXE,ECvNP,SACLxJ,GAEA,IAAMyJ,EAAmC,GACnCrF,EAAQpE,IACZA,EAAMyD,SAAStF,IACTA,EAAKwE,YACPyB,EAAKjG,EAAKyE,UAEV6G,EAAOjG,KAAKkG,IAAAA,KAAOvL,EAAM,CAAC,OAAQ,SACpC,GACA,EAGJ,OADAiG,EAAKpE,GACEyJ,CACT,CDwM8BE,CAAmB3J,GACnC4J,EAAc7I,EAAQ4B,YACxB6G,EAAc9G,MAAMvE,GAASA,EAAKQ,MAAQoC,EAAQqC,YAClDrC,EACgB6I,EAAYpM,KACpB6E,KAAO0G,EAAa7F,YAAc6F,EAAa1G,KAE3D5B,EAAS,CACPT,MAAOmJ,EAAYK,GACnBzI,QAAS6I,EACTzI,SAAU4H,EACVZ,OAAQ5G,GAEZ,CAEF6D,GAtEuB,CAsEN,GAiFL9G,IAAAA,cAACuL,EAAQ,CAAC7J,MAAOmE,EAAe2E,MAAO,QAM/CxK,IAAAA,cAAA,OAAKb,UAAU,eAAeyC,GAItC,CAEA,SAAS2J,EAAQhL,GAAgD,IAA/C,MAAEmB,EAAK,MAAE8I,GAAsBjK,EACzCiL,EAAY9J,EAAM3B,OAAS,EACjC,OACEC,IAAAA,cAAA,MAAIb,UAAU,QACXuC,EACE9B,QAAQC,IAAS4L,EAAAA,EAAAA,mBAAkB5L,KACnCM,KAAI,CAAC0D,EAAMC,IACV9D,IAAAA,cAAC0L,EAAQ,CACPrL,IAAKwD,EAAKxD,IACVwD,KAAMA,EACN2G,MAAOA,EACPnL,QAAmB,IAAVyE,EACTxE,OAAQwE,IAAU0H,MAK9B,CAEA,SAASG,EAAcC,GAIA,IAJC,MACtB1L,GAGD0L,GACO,WAAE7D,GAAelJ,IACjBgN,GAA2BC,EAAAA,EAAAA,GAAA,CAC/B3E,OAAQ,GACR4E,OAAQ,uBACRC,QAASjE,IAAepJ,EAAewL,OAAS,IAAM,KACnDjK,GAGL,OAAOF,IAAAA,cAAA,MAAIb,UAAU,gCAAgCe,MAAO2L,GAC9D,CASA,SAASH,EAAQO,GAKe,IAAAC,EAAAC,EAAAC,GALd,KAChBvI,EAAI,MACJ2G,EAAK,QACLnL,EAAO,OACPC,GACc2M,EACRI,IAAuB,QAAdH,EAACrI,EAAKS,gBAAQ,IAAA4H,GAAbA,EAAenM,QACzBsE,EAAcR,EAAKQ,aACnB,SACJiI,EAAQ,UACRC,EAAS,gBACTC,EAAe,oBACfC,EAAmB,gBACnBC,EAAe,YACfC,EAAW,eACXC,EAAc,QACdvJ,EAAO,aACPwJ,EAAY,kBACZC,EAAiB,kBACjBC,EAAiB,mBACjBxJ,EAAkB,aAClByJ,EAAY,eACZC,EAAc,WACdC,IACEzJ,EAAAA,EAAAA,MACE,MACJmE,EAAK,gBACL3F,EAAe,YACf+F,EAAW,YACXH,EAAW,gBACXC,EAAe,WACfC,GACElJ,KAEE,QAAEU,EAAO,cAAEC,EAAa,cAAEC,IAC9BhB,EAAAA,EAAAA,KAEI0O,EAAkB3C,EAAQlJ,EAAmBkL,EAAkB,EAC/DY,GAAY1O,EAAAA,EAAAA,YAAW8C,IACtB6L,GAAiBC,KAAsBhL,EAAAA,EAAAA,UAAS,OAChDiL,GAAiBC,KAAsBlL,EAAAA,EAAAA,WAAS,IAChDmL,GAAWC,KAAgBpL,EAAAA,EAAAA,UACgB,QADR6J,EACxCS,aAAc,EAAdA,EAAgB1G,SAAS+G,aAAc,EAAdA,EAAiBpJ,WAAM,IAAAsI,GAAAA,GAG5CwB,IAAehO,EAAAA,EAAAA,UACnB,IAAMmN,aAAiB,EAAjBA,EAAoBjJ,IAC1B,CAACiJ,EAAmBjJ,IAEhB+J,IAAejO,EAAAA,EAAAA,UACnB,IAAMoN,aAAiB,EAAjBA,EAAoBlJ,IAC1B,CAACkJ,EAAmBlJ,IAGhB3C,IAAgBR,EAAAA,EAAAA,cACnB0G,IAAwB,IAAAyG,EACvBzG,EAAEvG,kBACF0C,SAA0B,QAARsK,EAAlBtK,EAAqBM,UAAK,IAAAgK,GAA1BA,EAA6BzG,EAAE,GAEjC,CAAC7D,EAAoBM,IAGjBiK,GAAWvB,GAAa1I,EAAKxD,MAAQkM,EAErCwB,IAAoBpO,EAAAA,EAAAA,UACxB,IACEmO,GACKzH,IAAyB,IAAA2H,EACxB3H,SAAuB,QAAhB2H,EAAP3H,EAAS4H,sBAAc,IAAAD,GAAvBA,EAAAE,KAAA7H,EAA0B,CACxB8H,MAAO,SACPC,OAAQ,UAER,EAEJ,MAGN,IAGIC,IAAU1O,EAAAA,EAAAA,UAAQ,KACtB,OAAI0E,EACKR,EAAKxD,IAEVwD,EAAK3E,KAEgB,iBADHA,EAKF2E,EAAK3E,MAJToP,KACRpP,EAAKqP,OAAOlL,IAAY,GAAJa,OAAOhF,EAAKqP,OAAOC,MAAK,KAAAtK,OAAIhF,EAAKuP,YACrDvP,EAAKmE,IAAYnE,EAAKsP,WAJ9B,EACsBtP,KAMtB,GACC,CAACmE,EAASQ,EAAMQ,KAEnB0C,EAAAA,EAAAA,YAAU,KACJgB,IAAepJ,EAAewL,QAG9B,CAACxL,EAAemL,IAAKnL,EAAeoL,QAAQ7D,SAAS6B,IACvDuF,GAAmBvF,EACrB,GACC,CAACA,IAEJ,IAAM2G,IAAgB/O,EAAAA,EAAAA,UAAQ,MACxBkI,GACcA,EAAYM,QAAQyB,MACjB+E,OAAON,KAG3B,CAACxG,EAAawG,KAEXO,IAAejP,EAAAA,EAAAA,UAAQ,MACvBmI,GACcA,EAAgBK,QAAQyB,MACrB+E,OAAON,KAG3B,CAACvG,EAAiBuG,KAEfQ,IAAYlP,EAAAA,EAAAA,UAAQ,KACxB,IACIO,EAA6B,CAC/B8L,QAAS0C,GAAgB,GAAM,GAUjC,OARIE,IACE7G,IAAepJ,EAAewL,SAChCjK,EAAQ,CACN4O,UAAWvN,EACXwN,WAAY,6BAIXC,OAAOC,OAZ2B,CAAC,EAYR/O,EAAM,GACvC,CAAC0O,GAAcF,GAAe3G,IAE3BmH,IAAiBxO,EAAAA,EAAAA,cAAaC,IAClCA,EAAMC,iBACND,EAAME,kBACN2M,IAAmB,GACnBE,IAAcyB,IAAUA,GAAK,GAC5B,IAEGrO,IAAoBJ,EAAAA,EAAAA,cAAaC,IACrCA,EAAMC,iBACND,EAAME,iBAAiB,GACtB,IAEGuO,IAAc1O,EAAAA,EAAAA,cACjB0G,IAGQ,IAAAiI,EAFP,IAAIhL,EAGF,OAAOwI,SAAoB,QAARwC,EAAZxC,EAAehJ,UAAK,IAAAwL,OAAA,EAApBA,IAFPH,GAAe9H,EAGjB,GAEF,CAACyF,EAAcqC,GAAgB7K,EAAaR,KAG9CkD,EAAAA,EAAAA,YAAU,KACJwG,KACFP,SAAAA,EAAeC,aAAc,EAAdA,EAAiBpJ,GAAO4J,IACzC,GACC,CAACF,GAAiBE,GAAWR,EAAgBpJ,EAAMmJ,IAGtD,IAAMsC,GAAgB3C,IAAgBN,IAAWe,EAEjD,OAAIA,GAAaX,IAAwB5I,EAAKsC,QACrC,KAIPnG,IAAAA,cAAAA,IAAAA,SAAA,KACG4O,KACE3M,GAA6B,IAAVuI,IACpB6C,KAAoB1O,EAAemL,KACjC9J,IAAAA,cAAC2L,EAAc,CACbzL,MAAO,CACLqP,WAAYpC,KAIpBnN,IAAAA,cAAA,MAAAwP,EAAAA,EAAAA,GAAA,CACE/I,UAAWmB,EACXI,YAAcZ,GAAMY,EAAYZ,EAAGvD,GACnC,WAAUwK,GACV,aAAY7D,EACZtK,MAAO2O,IACFxK,EACD,CACE,iBAAkBA,GAEpB,CAAC,GAELrE,IAAAA,cAACqB,GAAWmO,EAAAA,EAAAA,GAAA,CACVC,SAAU,EACV9B,aAAcA,GACdC,aAAcA,GACd1M,cAAeA,GAEfD,QAASmO,IACJlC,EACD,CAEEwC,IAAK,CACHC,UAAUC,EAAAA,EAAAA,KAAI/L,EAAKgM,KAAM,MAAO,QAChCC,MAAO,CACLC,QAAQ,MAGbjE,EAAAA,EAAAA,GAAA,IACIkE,EAAAA,EAAAA,MAAKnM,EAAKgM,KAAM,CAAC,MAAO,WAEjC7P,IAAAA,cAAA,QACEb,UAAWc,IAAW,eAAgB,CACpCgQ,OAAQnC,GACRoC,MAAO5D,GAAYzI,EAAKxD,MAAQiM,EAChCnG,QAASiH,GAAavJ,EAAKmC,cAAgByG,EAC3C0D,aACEzD,GACA,GACGxI,OAAOwI,GACP0D,MAAMC,IACLC,EAAAA,EAAAA,SAAQzM,EAAK3E,KAAiCmR,KAEpD5C,UAAW6B,IAAiB7B,GAC5Bd,YAAa2C,MAGftP,IAAAA,cAAA,QACEb,UAAWc,IAAW,YAAa,CACjCsQ,YAAa1M,EAAK0M,cAEpBrQ,MAAO,CACLsQ,YAAarD,EACblI,MAAOpB,EAAK4M,YAEdC,IAAK3C,IAEL/N,IAAAA,cAAA,QAAMb,UAAU,mBACbmQ,IACCtP,IAAAA,cAAA,QACEb,UAAU,eACV8B,QAASiO,GACT/N,YAAaL,GACbC,MAAO0M,GAAY,SAAW,WAC9BzM,KAAK,UAELhB,IAAAA,cAAClB,EAAkB,CACjBiG,IAAI,OACJC,MAAM,WACN5D,KAAMqM,GAAY,QAAU,UAIlCzN,IAAAA,cAAA,QAAMb,UAAU,YACda,IAAAA,cAAClB,GAAkB0Q,EAAAA,EAAAA,GAAA,GACZ3L,EAAKzC,KAAI,CACdlB,MAAO,CACLyQ,SAAoB,QAAVvE,EAACvI,EAAKzC,YAAI,IAAAgL,GAAVA,EACNwE,OACA,GACA,WAKZ5Q,IAAAA,cAAA,QAAMb,UAAU,YAIb0E,EAAKa,OAGV1E,IAAAA,cAAChB,EAAsB,CACrBG,UAAU,iBACVD,KAAM2E,EAAK3E,KACXG,QAASA,EACTC,OAAQA,EACRC,QAASA,EACTE,cAAeA,EACfD,cAAeA,IAEhBqE,EAAKgN,OACJ7Q,IAAAA,cAAA,QAAMb,UAAU,SACda,IAAAA,cAAClB,EAAwB+E,EAAKgN,UAKrCxE,GAAUrM,IAAAA,cAACuL,EAAQ,CAAC7J,MAAOmC,EAAKS,SAAUkG,MAAOA,EAAQ,KAE3DoE,KACE3M,GAA6B,IAAVuI,IACpB6C,KAAoB1O,EAAeoL,QACjC/J,IAAAA,cAAC2L,EAAc,CACbzL,MAAO,CACLqP,WAAYpC,KAM1B,sEG3rBa2D,GAAuBtS,EAAAA,EAAAA,eAAsC,CAAC,GAEpE,SAASiF,IACd,OAAO/E,EAAAA,EAAAA,YAAWoS,EACpB,8BC9BO,SAASC,EAAU7R,EAAe8R,GACvC,cAAe9R,GACb,IAAK,SACH,OAAOA,EAAK0G,cAAcM,SAAS8K,GACrC,IAAK,UACL,IAAK,SACH,OAAOrC,OAAOzP,GAAMgH,SAAS8K,GAC/B,IAAK,SACH,OAAgB,OAAT9R,EACH,OAAOgH,SAAS8K,IACfC,MAAMC,QAAQhS,GAAQA,EAAO8P,OAAOmC,QAAQjS,GAAMkS,QAAQhB,MACxDvQ,GAASkR,EAAUlR,EAAMmR,KAElC,QACE,OAAO,EAEb,gGCrBIK,QAA0B,GAA4B,KAE1DA,EAAwBnM,KAAK,CAACoM,EAAOzK,GAAI,kWACuD,KAEhG,QAAewK,EAAwBE,yFCLnCF,QAA0B,GAA4B,KAE1DA,EAAwBnM,KAAK,CAACoM,EAAOzK,GAAI,q9GAUqV,KAE9X,QAAewK,EAAwBE,iCCXvCD,EAAOE,QAAU,SAAUC,GACzB,IAAIC,EAAO,GA4EX,OAzEAA,EAAKH,SAAW,WACd,OAAOI,KAAKxR,KAAI,SAAUN,GACxB,IAAI+R,EAAU,GACVC,OAA+B,IAAZhS,EAAK,GAoB5B,OAnBIA,EAAK,KACP+R,GAAW,cAAc1N,OAAOrE,EAAK,GAAI,QAEvCA,EAAK,KACP+R,GAAW,UAAU1N,OAAOrE,EAAK,GAAI,OAEnCgS,IACFD,GAAW,SAAS1N,OAAOrE,EAAK,GAAGE,OAAS,EAAI,IAAImE,OAAOrE,EAAK,IAAM,GAAI,OAE5E+R,GAAWH,EAAuB5R,GAC9BgS,IACFD,GAAW,KAET/R,EAAK,KACP+R,GAAW,KAET/R,EAAK,KACP+R,GAAW,KAENA,CACT,IAAG/M,KAAK,GACV,EAGA6M,EAAK/G,EAAI,SAAWmH,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAAStL,KAE7B,IAAI2L,EAAyB,CAAC,EAC9B,GAAIH,EACF,IAAK,IAAII,EAAI,EAAGA,EAAIT,KAAK5R,OAAQqS,IAAK,CACpC,IAAIvL,EAAK8K,KAAKS,GAAG,GACP,MAANvL,IACFsL,EAAuBtL,IAAM,EAEjC,CAEF,IAAK,IAAIwL,EAAK,EAAGA,EAAKP,EAAQ/R,OAAQsS,IAAM,CAC1C,IAAIxS,EAAO,GAAGqE,OAAO4N,EAAQO,IACzBL,GAAUG,EAAuBtS,EAAK,WAGrB,IAAVqS,SACc,IAAZrS,EAAK,KAGdA,EAAK,GAAK,SAASqE,OAAOrE,EAAK,GAAGE,OAAS,EAAI,IAAImE,OAAOrE,EAAK,IAAM,GAAI,MAAMqE,OAAOrE,EAAK,GAAI,MAF/FA,EAAK,GAAKqS,GAMVH,IACGlS,EAAK,IAGRA,EAAK,GAAK,UAAUqE,OAAOrE,EAAK,GAAI,MAAMqE,OAAOrE,EAAK,GAAI,KAC1DA,EAAK,GAAKkS,GAHVlS,EAAK,GAAKkS,GAMVE,IACGpS,EAAK,IAGRA,EAAK,GAAK,cAAcqE,OAAOrE,EAAK,GAAI,OAAOqE,OAAOrE,EAAK,GAAI,KAC/DA,EAAK,GAAKoS,GAHVpS,EAAK,GAAK,GAAGqE,OAAO+N,IAMxBP,EAAKxM,KAAKrF,GACZ,CACF,EACO6R,CACT,yBClFAJ,EAAOE,QAAU,SAAU7G,GACzB,OAAOA,EAAE,EACX,gBCJA,OAOC,WACA,aAEA,IAAI2H,EAAS,CAAC,EAAEC,eAEhB,SAAStS,IAGR,IAFA,IAAIuS,EAAU,GAEL7H,EAAI,EAAGA,EAAIpE,UAAUxG,OAAQ4K,IAAK,CAC1C,IAAI8H,EAAMlM,UAAUoE,GAChB8H,IACHD,EAAUE,EAAYF,EAASG,EAAWF,IAE5C,CAEA,OAAOD,CACR,CAEA,SAASG,EAAYF,GACpB,GAAmB,iBAARA,GAAmC,iBAARA,EACrC,OAAOA,EAGR,GAAmB,iBAARA,EACV,MAAO,GAGR,GAAIxB,MAAMC,QAAQuB,GACjB,OAAOxS,EAAW2S,MAAM,KAAMH,GAG/B,GAAIA,EAAIlB,WAAavC,OAAO6D,UAAUtB,WAAakB,EAAIlB,SAASA,WAAWrL,SAAS,iBACnF,OAAOuM,EAAIlB,WAGZ,IAAIiB,EAAU,GAEd,IAAK,IAAInS,KAAOoS,EACXH,EAAOpE,KAAKuE,EAAKpS,IAAQoS,EAAIpS,KAChCmS,EAAUE,EAAYF,EAASnS,IAIjC,OAAOmS,CACR,CAEA,SAASE,EAAajN,EAAOqN,GAC5B,OAAKA,EAIDrN,EACIA,EAAQ,IAAMqN,EAGfrN,EAAQqN,EAPPrN,CAQT,CAEqC6L,EAAOE,SAC3CvR,EAAW8S,QAAU9S,EACrBqR,EAAOE,QAAUvR,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIH,CArEA,yECNe,SAAS+S,EAAgB5L,EAAG6L,EAAGC,GAC5C,WAAY,OAAQD,KAAOA,GAAKA,EAAIA,EAAEE,aAAe,IAAMF,EAAI,IAAM,IACrE,IACEjE,OAAOoE,eAAehM,EAAG,OAAQ,CAC/BiM,cAAc,EACd5N,MAAOyN,EAAIA,EAAI,IAAMD,EAAIA,GAE7B,CAAE,MAAO7L,GAAI,CACb,OAAOA,CACT,eCNe,SAASkM,EAAclM,EAAG6L,EAAGC,EAAGK,EAAGC,EAAG7I,GACnD,IAAI8I,EACFC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EAAIC,OAAOC,UAAYD,OAAY,IAAE,mBACrCE,EAAInF,OAAOoE,eACXgB,EAAIpF,OAAOqF,OACXC,EAAI,CAACF,EAAE,MAAOA,EAAE,OAChBG,EAAItB,EAAElT,OACR,SAASyU,EAAEvB,EAAGC,EAAGK,GACf,OAAO,SAAUC,EAAG7I,GAClBuI,IAAMvI,EAAI6I,EAAGA,EAAIpM,GACjB,IAAK,IAAIqM,EAAI,EAAGA,EAAIR,EAAElT,OAAQ0T,IAAK9I,EAAIsI,EAAEQ,GAAGb,MAAMY,EAAGD,EAAI,CAAC5I,GAAK,IAC/D,OAAO4I,EAAI5I,EAAI6I,CACjB,CACF,CACA,SAASiB,EAAErN,EAAG6L,EAAGC,EAAGK,GAClB,GAAI,mBAAqBnM,IAAMmM,QAAK,IAAWnM,GAAI,MAAM,IAAIsN,UAAUzB,EAAI,UAAYC,GAAK,MAAQ,eAAiBK,EAAI,GAAK,kBAC9H,OAAOnM,CACT,CACA,SAASuN,EAASvN,EAAG6L,EAAGC,EAAGK,EAAGC,EAAG7I,EAAGgJ,EAAGC,EAAGC,EAAGC,EAAGC,GAC9C,SAASC,EAAE5M,GACT,IAAK2M,EAAE3M,GAAI,MAAM,IAAIsN,UAAU,sDACjC,CACA,IAAIN,EAAI,GAAGlQ,OAAO+O,EAAE,IAClBsB,EAAItB,EAAE,GACN2B,GAAKjB,EACLkB,EAAI,IAAMrB,EACVsB,EAAI,IAAMtB,EACVuB,EAAI,IAAMvB,EACVwB,EAAI,IAAMxB,EACZ,SAASyB,EAAEhC,EAAGC,EAAGK,GACf,OAAO,SAAUC,EAAG7I,GAClB,OAAOuI,IAAMvI,EAAI6I,EAAGA,EAAIpM,GAAImM,GAAKA,EAAEC,GAAI0B,EAAEjC,GAAG/E,KAAKsF,EAAG7I,EACtD,CACF,CACA,IAAKiK,EAAG,CACN,IAAIM,EAAI,CAAC,EACP9C,EAAI,GACJ+C,EAAIL,EAAI,MAAQC,GAAKF,EAAI,MAAQ,QACnC,GAAIhB,GAAKC,GAAKe,EAAIK,EAAI,CACpBtF,IAAKoD,GAAgB,WACnB,OAAOuB,EAAE5C,KACX,GAAG4B,EAAG,OACN6B,IAAK,SAAahO,GAChB6L,EAAE,GAAGtB,KAAMvK,EACb,GACE8N,EAAEC,GAAKZ,EAAGT,GAAKd,EAAgBkC,EAAEC,GAAI5B,EAAGyB,EAAI,GAAKG,IAAMrB,IAAMoB,EAAIlG,OAAOqG,yBAAyBjO,EAAGmM,KAAMO,IAAMD,EAAG,CACrH,IAAKH,EAAIY,GAAGV,GAAGL,KAAO,IAAMG,EAAIF,GAAI,MAAM8B,MAAM,+CAAiDJ,EAAEC,GAAGzQ,KAAO,0BAC7G4P,GAAGV,GAAGL,GAAKC,EAAI,EAAI,EAAIA,CACzB,CACF,CACA,IAAK,IAAI+B,EAAInO,EAAGoO,EAAIpB,EAAErU,OAAS,EAAGyV,GAAK,EAAGA,GAAKtC,EAAI,EAAI,EAAG,CACxD,IAAIuC,EAAIhB,EAAEL,EAAEoB,GAAI,cAAe,MAAM,GACnCE,EAAIxC,EAAIkB,EAAEoB,EAAI,QAAK,EACnBG,EAAI,CAAC,EACLC,EAAI,CACFC,KAAM,CAAC,QAAS,WAAY,SAAU,SAAU,SAAU,SAASrC,GACnE9O,KAAM6O,EACNW,SAAUT,EACVqC,eAAgB,SAAU1O,EAAG6L,GAC3B,GAAI7L,EAAEmN,EAAG,MAAMe,MAAM,kEACrBb,EAAExB,EAAG,iBAAkB,MAAM,GAAKtI,EAAEzF,KAAK+N,EAC3C,EAAE8C,KAAK,KAAMJ,IAEjB,GAAIf,EAAGlB,EAAI+B,EAAEvH,KAAKwH,EAAGH,EAAGK,GAAID,EAAEpB,EAAI,EAAGE,EAAEf,EAAG,mBAAoB,YAAc6B,EAAI7B,QAAQ,GAAIkC,EAAU,OAAIhC,EAAGgC,EAAW,QAAI/B,EAAGH,EAAIkC,EAAEI,OAAS,CAC5IC,IAAKpC,EAAIE,EAAEgC,OAAS,SAAU3O,GAC5B,OAAOmM,KAAKnM,CACd,GACC2N,IAAMrB,EAAE9D,IAAMiE,EAAImB,EAAI,SAAU5N,GACjC,OAAO4M,EAAE5M,GAAI8N,EAAEzP,KACjB,EAAIwP,EAAE,MAAO,EAAGjB,GAAK,SAAU5M,GAC7B,OAAOA,EAAEmM,EACX,GAAIyB,GAAKF,IAAMpB,EAAE0B,IAAMvB,EAAIoB,EAAE,MAAO,EAAGjB,GAAK,SAAU5M,EAAG6L,GACvD7L,EAAEmM,GAAKN,CACT,GAAIsC,EAAIE,EAAEvH,KAAKwH,EAAGb,EAAI,CACpBjF,IAAKsF,EAAEtF,IACPwF,IAAKF,EAAEE,KACLF,EAAEC,GAAIS,GAAID,EAAEpB,EAAI,EAAGM,GACrB,GAAI,WAAY,OAAQU,IAAMA,GAAI7B,EAAIe,EAAEc,EAAE3F,IAAK,mBAAqBsF,EAAEtF,IAAM8D,IAAKA,EAAIe,EAAEc,EAAEH,IAAK,mBAAqBF,EAAEE,IAAM1B,IAAKA,EAAIe,EAAEc,EAAEW,KAAM,mBAAqB9D,EAAE+D,QAAQzC,QAAQ,QAAI,IAAW6B,EAAG,MAAM,IAAIb,UAAU,iGACtND,EAAEc,GAAIzB,EAAI,QAAU,UAAY,cAAe,YAAcA,EAAI1B,EAAE+D,QAAQZ,GAAKL,EAAEC,GAAKI,EAChG,CACA,OAAO/B,EAAI,GAAKG,EAAEzO,KAAKsP,EAAEpC,EAAGwB,EAAG,GAAIY,EAAE7J,EAAGiJ,EAAG,IAAKE,GAAKc,IAAMf,EAAIgB,EAAIlB,EAAE1P,QAAQ,EAAG,EAAGgR,EAAE,MAAOrB,GAAIqB,EAAE,MAAOrB,IAAMD,EAAEzO,KAAK8P,EAAIE,EAAEC,GAAKV,EAAEvG,KAAK6H,KAAKb,EAAEC,KAAOhB,EAAE/M,EAAGmM,EAAG2B,IAAKK,CACrK,CACA,SAASX,EAAExN,GACT,OAAO+M,EAAE/M,EAAG4M,EAAG,CACbX,cAAc,EACd+C,YAAY,EACZ3Q,MAAOgO,GAEX,CACA,YAAO,IAAW9I,IAAM8I,EAAI9I,EAAEqJ,IAAKP,EAAIW,EAAE,MAAQX,EAAI,KAAOA,GAAII,EAAI,GAAIC,EAAI,SAAW1M,GACrFA,GAAKyM,EAAE3O,KAAKsP,EAAEpN,GAChB,EAAG2M,EAAI,SAAWd,EAAGM,GACnB,IAAK,IAAI5I,EAAI,EAAGA,EAAIuI,EAAEnT,OAAQ4K,IAAK,CACjC,IAAI8I,EAAIP,EAAEvI,GACR+I,EAAID,EAAE,GACNK,EAAI,EAAIJ,EACV,IAAK,EAAIA,IAAMT,IAAMa,GAAKP,EAAG,CAC3B,IAAIQ,EAAIN,EAAE,GACRO,IAAMP,EAAE,GACRU,EAAI,GAAKT,EACXiB,EAAS1B,EAAI7L,EAAIA,EAAEyL,UAAWY,EAAGU,EAAGH,EAAI,IAAMD,GAAI,EAAAsC,EAAA,GAActC,GAAID,EAAGA,EAAI,EAAI,GAAKb,EAAIW,EAAIA,GAAK,GAAKD,EAAIA,GAAK,GAAIE,IAAKZ,EAAGe,EAAGT,EAAGN,GAAKe,EAAI,SAAUf,GAClJ,OAAO,EAAAqD,EAAA,GAAWrD,KAAO7L,CAC3B,EAAIoM,EACN,CACF,CACF,EAAGO,EAAE,EAAG,GAAIA,EAAE,EAAG,GAAIA,EAAE,EAAG,GAAIA,EAAE,EAAG,GAAID,EAAEH,GAAIG,EAAEF,GAAIF,EAAIG,EAAGU,GAAKK,EAAExN,GAAI,CACnEA,EAAGsM,EACH,KAAIA,GACF,IAAIR,EAAI,GACR,OAAOqB,GAAK,CAACK,EAAExN,EAAIuN,EAASvN,EAAG,CAAC6L,GAAIM,EAAGnM,EAAE1C,KAAM,EAAGwO,IAAKsB,EAAEtB,EAAG,GAC9D,EAEJ,+BC1He,SAASqD,EAAkBnP,EAAG6L,EAAGC,GAC9C,GAAI,mBAAqB9L,EAAIA,IAAM6L,EAAI7L,EAAE6O,IAAIhD,GAAI,OAAO1M,UAAUxG,OAAS,EAAIkT,EAAIC,EACnF,MAAM,IAAIwB,UAAU,gDACtB,8ECFe,SAAS8B,EAAYpP,GAClC,GAAI4H,OAAO5H,KAAOA,EAAG,MAAMsN,UAAU,qDAAuD,OAAStN,GAAI,OAAQA,GAAK,SACtH,OAAOA,CACT,+BCJe,SAASqP,EAA2BC,EAAKC,GACtD,GAAIA,EAAkBV,IAAIS,GACxB,MAAM,IAAIhC,UAAU,iEAExB,6ECHe,SAASkC,EAAuBhD,EAAGH,GAChD,OAAOG,EAAEhE,KAAI,OAAiBgE,EAAGH,GACnC,6DCFe,SAASoD,EAA2BH,EAAKI,EAAYrR,IAClE,OAA0BiR,EAAKI,GAC/BA,EAAW1B,IAAIsB,EAAKjR,EACtB,8DCHe,SAASsR,EAAuBnD,EAAGH,EAAGF,GACnD,OAAOK,EAAEwB,KAAI,OAAiBxB,EAAGH,GAAIF,GAAIA,CAC3C,8DCFe,SAASyD,EAAoBpD,EAAGL,EAAGE,GAChD,OAAOA,GAAE,OAAiBG,EAAGL,GAC/B,8DCFe,SAAS0D,EAA4BP,EAAKQ,IACvD,OAA0BR,EAAKQ,GAC/BA,EAAWC,IAAIT,EACjB,+BCJe,SAASlH,IAYtB,OAXAA,EAAWR,OAAOC,OAASD,OAAOC,OAAO8G,OAAS,SAAUvQ,GAC1D,IAAK,IAAImF,EAAI,EAAGA,EAAIpE,UAAUxG,OAAQ4K,IAAK,CACzC,IAAI0F,EAAS9J,UAAUoE,GACvB,IAAK,IAAItK,KAAOgQ,EACVrB,OAAO6D,UAAUN,eAAerE,KAAKmC,EAAQhQ,KAC/CmF,EAAOnF,GAAOgQ,EAAOhQ,GAG3B,CACA,OAAOmF,CACT,EACOgK,EAASoD,MAAMjB,KAAMpL,UAC9B","sources":["webpack:///./src/shared/workbench/WorkbenchActionsContext.ts","webpack:///./src/shared/workbench/WorkbenchTreeDndContext.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx","webpack:///./src/shared/workbench/WorkbenchTree.tsx","webpack:///./src/utils/normalizeTreeNodeWithPath.ts","webpack:///./src/utils/setDragImage.ts","webpack:///./src/shared/workbench/WorkbenchTreeContext.ts","webpack:///./src/utils/deepMatch.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css","webpack:///./src/workbench-tree/WorkbenchTree.shadow.css","webpack:///../../node_modules/css-loader/dist/runtime/api.js","webpack:///../../node_modules/css-loader/dist/runtime/noSourceMaps.js","webpack:///../../node_modules/classnames/index.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/setFunctionName.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/applyDecs2311.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/assertClassBrand.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkInRHS.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/checkPrivateRedeclaration.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldGet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateFieldSet2.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/extends.js"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type {\n ActionClickDetail,\n WorkbenchTreeAction,\n} from \"../../interfaces.js\";\n\nexport interface ContextOfWorkbenchActions {\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport const WorkbenchActionsContext = createContext<ContextOfWorkbenchActions>(\n {}\n);\n\nexport function useWorkbenchActionsContext(): ContextOfWorkbenchActions {\n return useContext(WorkbenchActionsContext);\n}\n","import { createContext, useContext } from \"react\";\nimport { WorkbenchNodeData } from \"../../interfaces.js\";\n\nexport enum dragStatusEnum {\n inside = \"inside\",\n top = \"top\",\n bottom = \"bottom\",\n}\n\ninterface WorkbenchTreeDndContext {\n allow?: boolean;\n allowDragToRoot?: boolean;\n dragElement?: HTMLElement;\n dragOverElement?: HTMLElement;\n dragStatus?: dragStatusEnum;\n onDragStart?: (\n e: React.DragEvent<HTMLElement>,\n node: WorkbenchNodeData\n ) => void;\n onDragOver?: (e: React.DragEvent<HTMLElement>) => void;\n onDrop?: (e: React.DragEvent<HTMLElement>) => void;\n}\n\nexport const WorkbenchTreeDndContext = createContext<WorkbenchTreeDndContext>(\n {} as WorkbenchTreeDndContext\n);\n\nexport function useWorkbenchTreeDndContext(): WorkbenchTreeDndContext {\n return useContext(WorkbenchTreeDndContext);\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../../interfaces.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"eo-icon\"\n);\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(\"actionsBar\", className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(\"action\", { disabled: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <WrappedGeneralIcon {...action.icon} />\n </a>\n );\n}\n","import React, {\n type ChangeEvent,\n useCallback,\n useMemo,\n useState,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n} from \"react\";\n// import { Input } from \"antd\";\nimport { get, isMatch, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { useWorkbenchTreeContext } from \"./WorkbenchTreeContext.js\";\nimport { useWorkbenchActionsContext } from \"./WorkbenchActionsContext.js\";\nimport {\n useWorkbenchTreeDndContext,\n dragStatusEnum,\n} from \"./WorkbenchTreeDndContext.js\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { WorkbenchMiniActionBar } from \"../workbench-mini-action-bar/WorkbenchMiniActionBar.js\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { WorkbenchTreeDndContext } from \"./WorkbenchTreeDndContext.js\";\nimport { setDragImage } from \"../../utils/setDragImage.js\";\nimport classnames from \"classnames\";\nimport {\n getNodesByPathTree,\n getNodeTreeByPath,\n} from \"../../utils/normalizeTreeNodeWithPath.js\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"eo-link\");\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"eo-icon\"\n);\n\nconst treeLevelPadding = 10;\nconst borderStyle = \"0 0 0 1px #ba6d30\";\n\nexport interface dropEmitProps {\n nodes: WorkbenchNodeData[];\n curNode: WorkbenchNodeData;\n overNode: WorkbenchNodeData;\n status: dragStatusEnum;\n}\n\nexport interface WorkbenchTreeProps {\n nodes: WorkbenchNodeData[];\n placeholder?: string;\n searchPlaceholder?: string;\n noSearch?: boolean;\n isDrag?: boolean;\n allowDrag?: boolean;\n allowDragToRoot?: boolean;\n allowDragToInside?: boolean;\n dropEmit?: (detail: dropEmitProps) => void;\n}\n\nexport interface TreeListProps {\n nodes: WorkbenchNodeData[];\n level: number;\n}\n\nconst SearchingContext = createContext(false);\n\nexport function WorkbenchTree({\n nodes: originNode,\n placeholder,\n searchPlaceholder,\n isDrag,\n noSearch,\n allowDrag,\n allowDragToRoot,\n allowDragToInside,\n dropEmit,\n}: WorkbenchTreeProps): ReactElement {\n const [q, setQ] = useState<string>(\"\");\n const [isDragging, setIsDragging] = useState<boolean>(isDrag);\n const [curNode, setCurNode] = useState<WorkbenchNodeData>();\n const [curElement, setCurElement] = useState<HTMLElement>();\n const [overNode, setOverNode] = useState<WorkbenchNodeData>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [overStatus, setOverStatus] = useState<dragStatusEnum>();\n const [isFocus, setIsFocus] = useState<boolean>();\n const { nodeKey, onBrickDrop, contextMenuFactory, matchNode } =\n useWorkbenchTreeContext();\n const nodes = useMemo(\n () => getNodeTreeByPath(originNode?.slice() ?? [], nodeKey),\n [originNode, nodeKey]\n );\n\n const handleSearchChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setQ(event.target.value);\n },\n []\n );\n\n const handleClearInput = () => {\n setQ(\"\");\n };\n\n const onContextMenu = useMemo(\n () => contextMenuFactory?.(),\n [contextMenuFactory]\n );\n\n const trimmedLowerQ = q?.trim().toLowerCase();\n const filteredNodes = useMemo(() => {\n if (noSearch || !trimmedLowerQ || !nodes) {\n return nodes;\n }\n const walk = (node: WorkbenchNodeData): boolean => {\n node.matchedSelf = matchNode(node, trimmedLowerQ);\n const hasMatchedChildren = node.children?.map(walk).includes(true);\n node.matched = node.matchedSelf || hasMatchedChildren;\n return node.matched;\n };\n nodes.forEach(walk);\n return nodes.slice();\n }, [noSearch, trimmedLowerQ, nodes, matchNode]);\n\n const findDragParent = (element: HTMLElement, equal = true): HTMLElement => {\n let node = element;\n while (node) {\n if (\n node.draggable &&\n (equal || node !== element) &&\n node.tagName !== \"A\"\n ) {\n return node;\n }\n node = node.parentElement;\n }\n };\n\n const findNode = (\n nodes: WorkbenchNodeData[],\n id: string,\n nodeKey: string,\n node: WorkbenchNodeData = null\n ): WorkbenchNodeData => {\n for (const item of nodes) {\n if ((item.data as Record<string, unknown>)[nodeKey] === id) {\n node = item;\n }\n if (item.children) {\n node = findNode(item.children, id, nodeKey, node);\n }\n if (node) break;\n }\n return node;\n };\n\n const getDragState = (\n e: React.DragEvent<HTMLElement>\n ): {\n element: HTMLElement;\n node: WorkbenchNodeData;\n status: dragStatusEnum;\n } => {\n const element = findDragParent(e.target as HTMLElement);\n const id = element.dataset.uid;\n if (element === curElement || id?.includes(\":\")) {\n return;\n }\n const { top, bottom } = element.getBoundingClientRect();\n let status: dragStatusEnum;\n const repair = allowDragToInside ? 5 : 10;\n if (e.clientY < top + repair) {\n status = dragStatusEnum.top;\n } else if (e.clientY > bottom - repair) {\n status = dragStatusEnum.bottom;\n } else {\n status = allowDragToInside ? dragStatusEnum.inside : overStatus;\n }\n\n return {\n element,\n node: findNode(nodes, id, nodeKey),\n status,\n };\n };\n\n const handleOnDragStart = (\n e: React.DragEvent,\n node: WorkbenchNodeData\n ): void => {\n e.stopPropagation();\n if (!allowDrag) return;\n const element = e.target as HTMLElement;\n if (element.dataset?.container) return;\n setIsDragging(true);\n setDragImage(e, element.innerText);\n setCurElement(element);\n setCurNode(node);\n };\n\n const handleOnDragOver = (e: React.DragEvent<HTMLElement>): void => {\n e.preventDefault();\n if (!isDragging) return;\n if ((e.target as HTMLElement).className === \"workbenchTree-placeholder-dom\")\n return;\n const dom = getDragState(e);\n if (dom && !curElement?.contains(dom.element)) {\n setOverElement(dom.element);\n setOverNode(dom.node);\n setOverStatus(dom.status);\n }\n };\n\n const handleOnDragEnd = (): void => {\n setCurElement(null);\n setOverElement(null);\n setOverNode(null);\n setOverStatus(null);\n setIsDragging(false);\n };\n\n const handleOnDrop = (e: React.DragEvent<HTMLElement>): void => {\n if (!isDragging) return;\n if (onBrickDrop) {\n let parentElement = overElement;\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(overStatus)) {\n parentElement = findDragParent(parentElement, false);\n }\n onBrickDrop(e, {\n curElement,\n overElement,\n parentElement,\n overStatus,\n });\n } else {\n if (allowDragToRoot || Number(overElement.dataset.level) !== 1) {\n let realOverNode = overNode;\n const findRealNode = (\n nodes: WorkbenchNodeData[],\n key: string\n ): void => {\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].key === key) {\n realOverNode = nodes[i];\n break;\n }\n if (nodes[i].children) {\n findRealNode(nodes[i].children, key);\n }\n }\n };\n const overUid = overElement.dataset.uid;\n findRealNode(nodes, overUid);\n const filterNodes = (\n nodes: WorkbenchNodeData[]\n ): WorkbenchNodeData[] => {\n let flag = false;\n const { container, uid } = overElement.dataset;\n const realOverKey = container ? realOverNode.originKey : uid;\n const newNodes = nodes.filter((node) => {\n if (node.children) {\n node.children = filterNodes(node.children);\n }\n if (node.key === realOverKey) flag = true;\n return node.key !== curNode.key;\n });\n if (flag) {\n newNodes.splice(\n newNodes.findIndex((item) => item.key === realOverKey) +\n (overStatus === \"bottom\" ? 1 : 0),\n 0,\n curNode\n );\n }\n return newNodes;\n };\n\n const normalizeNode = getNodesByPathTree(nodes);\n const realCurNode = curNode.isContainer\n ? normalizeNode.find((item) => item.key === curNode.originKey)\n : curNode;\n const curNodeData = realCurNode.data as Record<string, unknown>;\n curNodeData.path = realOverNode.parentPath || realOverNode.path;\n\n dropEmit({\n nodes: filterNodes(normalizeNode),\n curNode: realCurNode,\n overNode: realOverNode,\n status: overStatus,\n });\n }\n }\n handleOnDragEnd();\n };\n\n useEffect(() => {\n setIsDragging(isDrag);\n }, [isDrag]);\n\n useEffect(() => {\n window.addEventListener(\"dragend\", handleOnDragEnd);\n return () => {\n window.removeEventListener(\"dragend\", handleOnDragEnd);\n };\n }, []);\n\n return (\n <div\n style={{\n height: \"100%\",\n }}\n className=\"tree-wrapper\"\n onContextMenu={onContextMenu}\n >\n {nodes?.length ? (\n <div>\n {!noSearch && (\n <div\n className=\"searchBox\"\n onContextMenu={(e) => e.stopPropagation()}\n >\n <span\n className={classNames(\"filter-input-wrapper\", {\n focus: isFocus,\n })}\n >\n <span className=\"prefix\">\n <WrappedGeneralIcon\n icon=\"search\"\n lib=\"antd\"\n theme=\"outlined\"\n />\n </span>\n <input\n value={q}\n onChange={handleSearchChange}\n onFocus={() => setIsFocus(true)}\n onBlur={() => setIsFocus(false)}\n autoComplete=\"off\"\n placeholder={searchPlaceholder}\n />\n <span className=\"suffix\">\n {q ? (\n <WrappedGeneralIcon\n className=\"clear-button\"\n icon=\"close-circle\"\n lib=\"antd\"\n theme=\"filled\"\n onClick={handleClearInput}\n />\n ) : null}\n </span>\n </span>\n </div>\n )}\n <SearchingContext.Provider value={!!q}>\n <WorkbenchTreeDndContext.Provider\n value={{\n allow: allowDrag,\n allowDragToRoot: allowDragToRoot,\n dragElement: curElement,\n dragOverElement: overElement,\n dragStatus: overStatus,\n onDragStart: handleOnDragStart,\n }}\n >\n <div\n className={classnames({\n hightlight: isDrag,\n })}\n onDragOver={handleOnDragOver}\n onDrop={handleOnDrop}\n >\n <TreeList nodes={filteredNodes} level={1} />\n </div>\n </WorkbenchTreeDndContext.Provider>\n </SearchingContext.Provider>\n </div>\n ) : (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n </div>\n );\n}\n\nfunction TreeList({ nodes, level }: TreeListProps): ReactElement {\n const lastIndex = nodes.length - 1;\n return (\n <ul className=\"tree\">\n {nodes\n .filter((item) => checkIfOfComputed(item))\n .map((node, index) => (\n <TreeNode\n key={node.key}\n node={node}\n level={level}\n isFirst={index === 0}\n isLast={index === lastIndex}\n />\n ))}\n </ul>\n );\n}\n\nfunction PlaceholderDOM({\n style,\n}: {\n style: React.CSSProperties;\n}): React.ReactElement {\n const { dragStatus } = useWorkbenchTreeDndContext();\n const styles: React.CSSProperties = {\n height: 22,\n border: \"1px dashed goldenrod\",\n opacity: dragStatus === dragStatusEnum.inside ? \"0\" : \"1\",\n ...style,\n };\n\n return <li className=\"workbenchTree-placeholder-dom\" style={styles} />;\n}\nexport interface TreeNodeProps {\n node: WorkbenchNodeData;\n level: number;\n isFirst?: boolean;\n isLast?: boolean;\n skipNotify?: boolean;\n}\n\nfunction TreeNode({\n node,\n level,\n isFirst,\n isLast,\n}: TreeNodeProps): ReactElement {\n const isLeaf = !node.children?.length;\n const isContainer = node.isContainer;\n const {\n hoverKey,\n activeKey,\n basePaddingLeft,\n showMatchedNodeOnly,\n fixedActionsFor,\n collapsible,\n collapsedNodes,\n nodeKey,\n clickFactory,\n mouseEnterFactory,\n mouseLeaveFactory,\n contextMenuFactory,\n onNodeToggle,\n getCollapsedId,\n skipNotify,\n } = useWorkbenchTreeContext();\n const {\n allow,\n allowDragToRoot,\n onDragStart,\n dragElement,\n dragOverElement,\n dragStatus,\n } = useWorkbenchTreeDndContext();\n\n const { actions, actionsHidden, onActionClick } =\n useWorkbenchActionsContext();\n\n const nodePaddingLeft = level * treeLevelPadding + basePaddingLeft - 2;\n const searching = useContext(SearchingContext);\n const [cacheDragStatus, setCacheDragStatus] = useState(null);\n const [collapseClicked, setCollapseClicked] = useState(false);\n const [collapsed, setCollapsed] = useState(\n collapsedNodes?.includes(getCollapsedId?.(node)) ?? false\n );\n\n const onMouseEnter = useMemo(\n () => mouseEnterFactory?.(node),\n [mouseEnterFactory, node]\n );\n const onMouseLeave = useMemo(\n () => mouseLeaveFactory?.(node),\n [mouseLeaveFactory, node]\n );\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n contextMenuFactory?.(node)?.(e);\n },\n [contextMenuFactory, node]\n );\n\n const isActive = activeKey && node.key === activeKey;\n\n const nodeLabelCallback = useMemo(\n () =>\n isActive\n ? (element: HTMLElement) => {\n element?.scrollIntoView?.({\n block: \"center\",\n inline: \"center\",\n // behavior: \"smooth\",\n });\n }\n : null,\n // Only for initial active node.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const nodeUid = useMemo(() => {\n if (isContainer) {\n return node.key;\n }\n if (node.data) {\n const getNodeUid = (data: Record<string, any>): number | string => {\n return data.type === \"mount-point\"\n ? data.parent[nodeKey] || `${data.parent.$$uid}:${data.mountPoint}`\n : data[nodeKey] || data.$$uid;\n };\n return getNodeUid(node.data);\n }\n }, [nodeKey, node, isContainer]);\n\n useEffect(() => {\n if (dragStatus === dragStatusEnum.inside) {\n return;\n }\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(dragStatus)) {\n setCacheDragStatus(dragStatus);\n }\n }, [dragStatus]);\n\n const isDragElement = useMemo(() => {\n if (dragElement) {\n const dragUid = dragElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragElement, nodeUid]);\n\n const isDragActive = useMemo(() => {\n if (dragOverElement) {\n const dragUid = dragOverElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragOverElement, nodeUid]);\n\n const nodeStyle = useMemo((): React.CSSProperties => {\n const commomStyle: React.CSSProperties = {};\n let style: React.CSSProperties = {\n opacity: isDragElement ? 0.2 : 1,\n };\n if (isDragActive) {\n if (dragStatus === dragStatusEnum.inside) {\n style = {\n boxShadow: borderStyle,\n background: \"rgba(255, 255, 255, 0.1)\",\n };\n }\n }\n return Object.assign(commomStyle, style);\n }, [isDragActive, isDragElement, dragStatus]);\n\n const handleCollapse = useCallback((event: React.MouseEvent | MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setCollapseClicked(true);\n setCollapsed((prev) => !prev);\n }, []);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const onLinkClick = useCallback(\n (e: MouseEvent | React.MouseEvent) => {\n if (isContainer) {\n handleCollapse(e);\n } else {\n return clickFactory?.(node)?.();\n }\n },\n [clickFactory, handleCollapse, isContainer, node]\n );\n\n useEffect(() => {\n if (collapseClicked) {\n onNodeToggle?.(getCollapsedId?.(node), collapsed);\n }\n }, [collapseClicked, collapsed, getCollapsedId, node, onNodeToggle]);\n\n // Disallow collapse leaf nodes, or any nodes when searching.\n const allowCollapse = collapsible && !isLeaf && !searching;\n\n if (searching && showMatchedNodeOnly && !node.matched) {\n return null;\n }\n\n return (\n <>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.top && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n <li\n draggable={allow}\n onDragStart={(e) => onDragStart(e, node)}\n data-uid={nodeUid}\n data-level={level}\n style={nodeStyle}\n {...(isContainer\n ? {\n \"data-container\": isContainer,\n }\n : {})}\n >\n <WrappedLink\n tabIndex={0}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onContextMenu={onContextMenu}\n // noEmptyHref={true}\n onClick={onLinkClick}\n {...(skipNotify\n ? {\n // TODO: link should support\n url: {\n pathname: get(node.link, \"url\", \"href\"),\n state: {\n notify: false,\n },\n } as any,\n }\n : { ...pick(node.link, [\"url\", \"href\"]) })}\n >\n <span\n className={classNames(\"nodeLabelRow\", {\n active: isActive,\n hover: hoverKey && node.key === hoverKey,\n matched: searching && node.matchedSelf && !showMatchedNodeOnly,\n fixedActions:\n fixedActionsFor &&\n []\n .concat(fixedActionsFor)\n .some((source) =>\n isMatch(node.data as Record<string, unknown>, source)\n ),\n collapsed: allowCollapse && collapsed,\n collapsible: allowCollapse,\n })}\n >\n <span\n className={classNames(\"nodeLabel\", {\n unreachable: node.unreachable,\n })}\n style={{\n paddingLeft: nodePaddingLeft,\n color: node.labelColor,\n }}\n ref={nodeLabelCallback}\n >\n <span className=\"nodeIconWrapper\">\n {allowCollapse && (\n <span\n className=\"collapseIcon\"\n onClick={handleCollapse}\n onMouseDown={preventMouseEvent}\n title={collapsed ? \"Expand\" : \"Collapse\"}\n role=\"button\"\n >\n <WrappedGeneralIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon={collapsed ? \"right\" : \"down\"}\n />\n </span>\n )}\n <span className=\"nodeIcon\">\n <WrappedGeneralIcon\n {...(node.icon as GeneralIconProps)}\n style={{\n fontSize: (node.icon as unknown as Record<string, string>)\n ?.imgSrc\n ? 14\n : null,\n }}\n />\n </span>\n </span>\n <span className=\"nodeName\">\n {/* {isTransformName\n ? smartDisplayForEvaluableString(node.name)\n : node.name} */}\n {node.name}\n </span>\n </span>\n <WorkbenchMiniActionBar\n className=\"nodeActionsBar\"\n data={node.data}\n isFirst={isFirst}\n isLast={isLast}\n actions={actions}\n onActionClick={onActionClick}\n actionsHidden={actionsHidden}\n />\n {node.badge && (\n <span className=\"badge\">\n <WrappedGeneralIcon {...(node.badge as GeneralIconProps)} />\n </span>\n )}\n </span>\n </WrappedLink>\n {isLeaf || <TreeList nodes={node.children} level={level + 1} />}\n </li>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.bottom && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n </>\n );\n}\n","import _ from \"lodash\";\nimport { WorkbenchNodeData } from \"../interfaces.js\";\n\nexport function getNodeTreeByPath(\n nodes: WorkbenchNodeData[],\n nodeKey: string\n): Array<WorkbenchNodeData> {\n const createNodeByPath = (\n pathList: string[],\n nodes: Array<WorkbenchNodeData>,\n node: WorkbenchNodeData,\n index?: number\n ): void => {\n const path = pathList.shift();\n if (path) {\n pathList.length > 0\n ? pathList.splice(0, 1, `${path}/${pathList[0]}`)\n : pathList;\n const folder = nodes.find(\n (node) => node && node.key === path && node.isContainer\n );\n if (folder) {\n nodes[index] = null;\n createNodeByPath(pathList, folder.children, node);\n } else {\n const newPathList = path.split(\"/\");\n const newNode = {\n name: newPathList.pop(),\n key: path,\n parentPath: newPathList ? newPathList.join(\"/\") : newPathList,\n originKey: node.key,\n data: {\n [nodeKey]: path,\n isContainer: true,\n },\n children: [],\n icon: {\n icon: \"folder\",\n lib: \"antd\",\n theme: \"filled\",\n color: \"orange\",\n },\n isContainer: true,\n } as WorkbenchNodeData;\n if (typeof index === \"number\") {\n nodes[index] = newNode;\n } else {\n nodes.push(newNode);\n }\n createNodeByPath(pathList, newNode.children, node);\n }\n } else {\n nodes.push(node);\n }\n };\n\n nodes.forEach((node, index) => {\n if (node.path) {\n const pathList = node.path.split(\"/\").filter(Boolean);\n createNodeByPath(pathList, nodes, node, index);\n }\n });\n return nodes.filter(Boolean);\n}\n\nexport function getNodesByPathTree(\n nodes: Array<WorkbenchNodeData>\n): Array<WorkbenchNodeData> {\n const result: Array<WorkbenchNodeData> = [];\n const walk = (nodes: Array<WorkbenchNodeData>): void => {\n nodes.forEach((item) => {\n if (item.isContainer) {\n walk(item.children);\n } else {\n result.push(_.omit(item, [\"path\", \"icon\"]) as WorkbenchNodeData);\n }\n });\n };\n walk(nodes);\n return result;\n}\n","export function setDragImage(\n e: DragEvent | React.DragEvent,\n title: string\n): void {\n const canvas = document.createElement(\"canvas\");\n document.body.append(canvas);\n const context = canvas.getContext(\"2d\");\n canvas.width = context.measureText(title).width + 60;\n canvas.height = 20;\n canvas.style.position = \"absolute\";\n canvas.style.left = \"-100%\";\n canvas.style.zIndex = \"-100\";\n\n context.fillStyle = \"#333333\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n\n context.fillStyle = \"#999999\";\n context.font = \"bold 14px Arial\";\n context.fillText(title, 20, 15);\n\n e.dataTransfer.setDragImage(canvas, 0, 0);\n}\n","import { createContext, useContext } from \"react\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { dragStatusEnum } from \"./WorkbenchTreeDndContext.js\";\n\nexport interface dropOptions {\n curElement: HTMLElement;\n overElement: HTMLElement;\n parentElement: HTMLElement;\n overStatus: dragStatusEnum;\n}\n\nexport interface ContextOfWorkbenchTree {\n hoverKey?: string | number;\n activeKey?: string | number;\n basePaddingLeft?: number;\n showMatchedNodeOnly?: boolean;\n isTransformName?: boolean;\n fixedActionsFor?: Record<string, unknown> | Record<string, unknown>[];\n collapsible?: boolean;\n collapsedNodes?: (string | number)[];\n nodeKey?: string;\n clickFactory?(node: WorkbenchNodeData): () => void;\n mouseEnterFactory?(node: WorkbenchNodeData): () => void;\n mouseLeaveFactory?(node: WorkbenchNodeData): () => void;\n contextMenuFactory?(\n node?: WorkbenchNodeData\n ): (event: React.MouseEvent) => void;\n matchNode?(node: WorkbenchNodeData, lowerTrimmedQuery?: string): boolean;\n onNodeToggle?(nodeId: string | number, collapsed: boolean): void;\n getCollapsedId?(node: WorkbenchNodeData): string | number;\n onBrickDrop?(e: React.DragEvent<HTMLElement>, options: dropOptions): void;\n skipNotify?: boolean;\n}\n\nexport const WorkbenchTreeContext = createContext<ContextOfWorkbenchTree>({});\n\nexport function useWorkbenchTreeContext(): ContextOfWorkbenchTree {\n return useContext(WorkbenchTreeContext);\n}\n","export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\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, `:host-context(html[data-theme=\"light\"]),\n:host-context(html[data-override-theme=\"light\"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context(html[data-override-theme=\"dark-v2\"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\n }\n if (typeof layer !== \"undefined\") {\n if (typeof item[5] === \"undefined\") {\n item[5] = layer;\n } else {\n item[1] = \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\").concat(item[1], \"}\");\n item[5] = layer;\n }\n }\n if (media) {\n if (!item[2]) {\n item[2] = media;\n } else {\n item[1] = \"@media \".concat(item[2], \" {\").concat(item[1], \"}\");\n item[2] = media;\n }\n }\n if (supports) {\n if (!item[4]) {\n item[4] = \"\".concat(supports);\n } else {\n item[1] = \"@supports (\".concat(item[4], \") {\").concat(item[1], \"}\");\n item[4] = supports;\n }\n }\n list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (i) {\n return i[1];\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import _typeof from \"./typeof.js\";\nexport default function setFunctionName(e, t, n) {\n \"symbol\" == _typeof(t) && (t = (t = t.description) ? \"[\" + t + \"]\" : \"\");\n try {\n Object.defineProperty(e, \"name\", {\n configurable: !0,\n value: n ? n + \" \" + t : t\n });\n } catch (e) {}\n return e;\n}","import _typeof from \"./typeof.js\";\nimport checkInRHS from \"./checkInRHS.js\";\nimport setFunctionName from \"./setFunctionName.js\";\nimport toPropertyKey from \"./toPropertyKey.js\";\nexport default function applyDecs2311(e, t, n, r, o, i) {\n var a,\n c,\n u,\n s,\n f,\n l,\n p,\n d = Symbol.metadata || Symbol[\"for\"](\"Symbol.metadata\"),\n m = Object.defineProperty,\n h = Object.create,\n y = [h(null), h(null)],\n v = t.length;\n function g(t, n, r) {\n return function (o, i) {\n n && (i = o, o = e);\n for (var a = 0; a < t.length; a++) i = t[a].apply(o, r ? [i] : []);\n return r ? i : o;\n };\n }\n function b(e, t, n, r) {\n if (\"function\" != typeof e && (r || void 0 !== e)) throw new TypeError(t + \" must \" + (n || \"be\") + \" a function\" + (r ? \"\" : \" or undefined\"));\n return e;\n }\n function applyDec(e, t, n, r, o, i, u, s, f, l, p) {\n function d(e) {\n if (!p(e)) throw new TypeError(\"Attempted to access private element on non-instance\");\n }\n var h = [].concat(t[0]),\n v = t[3],\n w = !u,\n D = 1 === o,\n S = 3 === o,\n j = 4 === o,\n E = 2 === o;\n function I(t, n, r) {\n return function (o, i) {\n return n && (i = o, o = e), r && r(o), P[t].call(o, i);\n };\n }\n if (!w) {\n var P = {},\n k = [],\n F = S ? \"get\" : j || D ? \"set\" : \"value\";\n if (f ? (l || D ? P = {\n get: setFunctionName(function () {\n return v(this);\n }, r, \"get\"),\n set: function set(e) {\n t[4](this, e);\n }\n } : P[F] = v, l || setFunctionName(P[F], r, E ? \"\" : F)) : l || (P = Object.getOwnPropertyDescriptor(e, r)), !l && !f) {\n if ((c = y[+s][r]) && 7 != (c ^ o)) throw Error(\"Decorating two elements with the same name (\" + P[F].name + \") is not supported yet\");\n y[+s][r] = o < 3 ? 1 : o;\n }\n }\n for (var N = e, O = h.length - 1; O >= 0; O -= n ? 2 : 1) {\n var z = b(h[O], \"A decorator\", \"be\", !0),\n A = n ? h[O - 1] : void 0,\n H = {},\n K = {\n kind: [\"field\", \"accessor\", \"method\", \"getter\", \"setter\", \"class\"][o],\n name: r,\n metadata: a,\n addInitializer: function (e, t) {\n if (e.v) throw Error(\"attempted to call addInitializer after decoration was finished\");\n b(t, \"An initializer\", \"be\", !0), i.push(t);\n }.bind(null, H)\n };\n if (w) c = z.call(A, N, K), H.v = 1, b(c, \"class decorators\", \"return\") && (N = c);else if (K[\"static\"] = s, K[\"private\"] = f, c = K.access = {\n has: f ? p.bind() : function (e) {\n return r in e;\n }\n }, j || (c.get = f ? E ? function (e) {\n return d(e), P.value;\n } : I(\"get\", 0, d) : function (e) {\n return e[r];\n }), E || S || (c.set = f ? I(\"set\", 0, d) : function (e, t) {\n e[r] = t;\n }), N = z.call(A, D ? {\n get: P.get,\n set: P.set\n } : P[F], K), H.v = 1, D) {\n if (\"object\" == _typeof(N) && N) (c = b(N.get, \"accessor.get\")) && (P.get = c), (c = b(N.set, \"accessor.set\")) && (P.set = c), (c = b(N.init, \"accessor.init\")) && k.unshift(c);else if (void 0 !== N) throw new TypeError(\"accessor decorators must return an object with get, set, or init properties or undefined\");\n } else b(N, (l ? \"field\" : \"method\") + \" decorators\", \"return\") && (l ? k.unshift(N) : P[F] = N);\n }\n return o < 2 && u.push(g(k, s, 1), g(i, s, 0)), l || w || (f ? D ? u.splice(-1, 0, I(\"get\", s), I(\"set\", s)) : u.push(E ? P[F] : b.call.bind(P[F])) : m(e, r, P)), N;\n }\n function w(e) {\n return m(e, d, {\n configurable: !0,\n enumerable: !0,\n value: a\n });\n }\n return void 0 !== i && (a = i[d]), a = h(null == a ? null : a), f = [], l = function l(e) {\n e && f.push(g(e));\n }, p = function p(t, r) {\n for (var i = 0; i < n.length; i++) {\n var a = n[i],\n c = a[1],\n l = 7 & c;\n if ((8 & c) == t && !l == r) {\n var p = a[2],\n d = !!a[3],\n m = 16 & c;\n applyDec(t ? e : e.prototype, a, m, d ? \"#\" + p : toPropertyKey(p), l, l < 2 ? [] : t ? s = s || [] : u = u || [], f, !!t, d, r, t && d ? function (t) {\n return checkInRHS(t) === e;\n } : o);\n }\n }\n }, p(8, 0), p(0, 0), p(8, 1), p(0, 1), l(u), l(s), c = f, v || w(e), {\n e: c,\n get c() {\n var n = [];\n return v && [w(e = applyDec(e, [t], r, e.name, 5, n)), g(n, 1)];\n }\n };\n}","export default function _assertClassBrand(e, t, n) {\n if (\"function\" == typeof e ? e === t : e.has(t)) return arguments.length < 3 ? t : n;\n throw new TypeError(\"Private element is not present on this object\");\n}","import _typeof from \"./typeof.js\";\nexport default function _checkInRHS(e) {\n if (Object(e) !== e) throw TypeError(\"right-hand side of 'in' should be an object, got \" + (null !== e ? _typeof(e) : \"null\"));\n return e;\n}","export default function _checkPrivateRedeclaration(obj, privateCollection) {\n if (privateCollection.has(obj)) {\n throw new TypeError(\"Cannot initialize the same private elements twice on an object\");\n }\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldGet2(s, a) {\n return s.get(assertClassBrand(s, a));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateFieldInitSpec(obj, privateMap, value) {\n checkPrivateRedeclaration(obj, privateMap);\n privateMap.set(obj, value);\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateFieldSet2(s, a, r) {\n return s.set(assertClassBrand(s, a), r), r;\n}","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}"],"names":["WorkbenchActionsContext","createContext","useWorkbenchActionsContext","useContext","dragStatusEnum","WorkbenchTreeDndContext","useWorkbenchTreeDndContext","WrappedGeneralIcon","wrapBrick","WorkbenchMiniActionBar","_ref","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","checkIfByTransform","length","React","classNames","style","map","WorkbenchSubAction","key","action","_ref2","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","role","onClick","onContextMenu","onMouseDown","icon","WrappedLink","treeLevelPadding","borderStyle","SearchingContext","WorkbenchTree","nodes","originNode","placeholder","searchPlaceholder","isDrag","noSearch","allowDrag","allowDragToRoot","allowDragToInside","dropEmit","q","setQ","useState","isDragging","setIsDragging","curNode","setCurNode","curElement","setCurElement","overNode","setOverNode","overElement","setOverElement","overStatus","setOverStatus","isFocus","setIsFocus","nodeKey","onBrickDrop","contextMenuFactory","matchNode","useWorkbenchTreeContext","_originNode$slice","createNodeByPath","pathList","node","index","path","shift","splice","concat","folder","find","isContainer","children","newPathList","split","newNode","name","pop","parentPath","join","originKey","lib","theme","color","push","forEach","Boolean","getNodeTreeByPath","slice","handleSearchChange","target","value","trimmedLowerQ","trim","toLowerCase","filteredNodes","walk","_node$children","matchedSelf","hasMatchedChildren","includes","matched","findDragParent","element","equal","arguments","undefined","draggable","tagName","parentElement","findNode","id","handleOnDragEnd","useEffect","window","addEventListener","removeEventListener","height","e","focus","onChange","onFocus","onBlur","autoComplete","handleClearInput","Provider","allow","dragElement","dragOverElement","dragStatus","onDragStart","handleOnDragStart","_element$dataset","dataset","container","canvas","document","createElement","body","append","context","getContext","width","measureText","position","left","zIndex","fillStyle","fillRect","font","fillText","dataTransfer","setDragImage","innerText","classnames","hightlight","onDragOver","dom","uid","status","top","bottom","getBoundingClientRect","repair","clientY","inside","getDragState","contains","onDrop","Number","level","realOverNode","findRealNode","i","overUid","filterNodes","flag","realOverKey","newNodes","findIndex","normalizeNode","result","_","getNodesByPathTree","realCurNode","TreeList","lastIndex","checkIfOfComputed","TreeNode","PlaceholderDOM","_ref3","styles","_objectSpread","border","opacity","_ref4","_node$children2","_collapsedNodes$inclu","_node$icon","isLeaf","hoverKey","activeKey","basePaddingLeft","showMatchedNodeOnly","fixedActionsFor","collapsible","collapsedNodes","clickFactory","mouseEnterFactory","mouseLeaveFactory","onNodeToggle","getCollapsedId","skipNotify","nodePaddingLeft","searching","cacheDragStatus","setCacheDragStatus","collapseClicked","setCollapseClicked","collapsed","setCollapsed","onMouseEnter","onMouseLeave","_contextMenuFactory","isActive","nodeLabelCallback","_element$scrollIntoVi","scrollIntoView","call","block","inline","nodeUid","type","parent","$$uid","mountPoint","isDragElement","String","isDragActive","nodeStyle","boxShadow","background","Object","assign","handleCollapse","prev","onLinkClick","_clickFactory","allowCollapse","marginLeft","_extends","tabIndex","url","pathname","get","link","state","notify","pick","active","hover","fixedActions","some","source","isMatch","unreachable","paddingLeft","labelColor","ref","fontSize","imgSrc","badge","WorkbenchTreeContext","deepMatch","lowerTrimmedQuery","Array","isArray","entries","flat","___CSS_LOADER_EXPORT___","module","toString","exports","cssWithMappingToString","list","this","content","needLayer","modules","media","dedupe","supports","layer","alreadyImportedModules","k","_k","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","apply","prototype","newClass","default","setFunctionName","t","n","description","defineProperty","configurable","applyDecs2311","r","o","a","c","u","s","f","l","p","d","Symbol","metadata","m","h","create","y","v","g","b","TypeError","applyDec","w","D","S","j","E","I","P","F","set","getOwnPropertyDescriptor","Error","N","O","z","A","H","K","kind","addInitializer","bind","access","has","init","unshift","enumerable","toPropertyKey","checkInRHS","_assertClassBrand","_checkInRHS","_checkPrivateRedeclaration","obj","privateCollection","_classPrivateFieldGet2","_classPrivateFieldInitSpec","privateMap","_classPrivateFieldSet2","_classPrivateGetter","_classPrivateMethodInitSpec","privateSet","add"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[3933,6314],{3933:(e,t,r)=>{function o(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,o=arguments.length>3&&void 0!==arguments[3]&&arguments[3];return function(n,a){if("string"==typeof t?n.name===t:t.includes(n.name)){for(var i=[],s=1;s<=r;s++){var c=a[a.length-s];if("MemberExpression"===(null==c?void 0:c.node.type)&&"object"===c.key){var u=c.node;u.computed||"Identifier"!==u.property.type?u.computed&&"Literal"===u.property.type&&"string"==typeof u.property.value?i.push(o?"".concat(n.name,".").concat(u.property.value):u.property.value):e.hasNonStaticUsage=!0:i.push(o?"".concat(n.name,".").concat(u.property.name):u.property.name)}else e.hasNonStaticUsage=!0}i.length===r&&e.usedProperties.add(i.join("."))}}}function n(e,t){return function(r,o,n){if(o.name===e){var a=n[n.length-1],i=n[n.length-2];if("CallExpression"===(null==i?void 0:i.node.type)&&"callee"===(null==i?void 0:i.key)&&"MemberExpression"===(null==a?void 0:a.node.type)&&"object"===a.key&&(a.node.computed?"Literal"===a.node.property.type&&a.node.property.value===t:"Identifier"===a.node.property.type&&a.node.property.name===t)){var s=i.node.arguments;if(s.length>0){var c=s[0];"Literal"===c.type&&"string"==typeof c.value?r.usedArgs.add(c.value):r.hasNonStaticUsage=!0}}}}}r.r(t),r.d(t,{beforeVisitGlobalMember:()=>o,collectAppGetMenuUsage:()=>a,collectInstalledAppsHasUsage:()=>i,collectMemberUsage:()=>p,collectMemberUsageInFunction:()=>g,createProviderClass:()=>c.createProviderClass,scanPermissionActionsInAny:()=>m,scanPermissionActionsInStoryboard:()=>b,strictCollectMemberUsage:()=>l,track:()=>d,trackAll:()=>f,traverseStoryboardExpressions:()=>u,traverseStoryboardFunction:()=>v,traverseStoryboardFunctions:()=>y,unwrapProvider:()=>c.unwrapProvider});var a=n("APP","getMenu"),i=n("INSTALLED_APPS","has"),s=r(7203),c=r(244);function u(e,t,r){var o=new WeakSet,{matchExpressionString:n,visitNotMatchedExpressionString:a,visitNonExpressionString:i,visitObject:u}="string"==typeof r?{matchExpressionString:e=>e.includes(r)}:r;!function e(r){if("string"==typeof r)if((0,s.isEvaluable)(r))if(n(r))try{(0,s.preevaluate)(r,{withParent:!0,hooks:{beforeVisitGlobal(e,o){t(e,o,r)}}})}catch(e){console.error("Parse storyboard expression failed:",e)}else null==a||a(r);else null==i||i(r);else if((0,c.isObject)(r)){if(o.has(r))return;for(var l of(o.add(r),null==u||u(r),Array.isArray(r)?r:Object.values(r)))e(l)}}(e)}function l(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{hasNonStaticUsage:o,nonStaticUsage:n,usedProperties:a}=p(e,t,r);if(o)throw new Error("Non-static usage of ".concat(t,' is prohibited, check your expression: "').concat(n,'"'));return a}function p(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n={usedProperties:new Set,hasNonStaticUsage:!1},a=o(n,t,r);return u(e,((e,t,r)=>{a(e,t),n.hasNonStaticUsage&&(n.nonStaticUsage=r)}),t),n}function d(e,t,r){if(e.includes(t)){var n,a={usedProperties:new Set,hasNonStaticUsage:!1},{expression:i}=(0,s.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:o(a,r)}});if("SequenceExpression"===i.type&&(n=i.expressions[0])&&"Literal"===n.type&&n.value===t){if(a.usedProperties.size>0)return a.usedProperties;console.warn('You are using "'.concat(t,'" but no `').concat(r,"` usage found in your expression: ").concat(JSON.stringify(e)))}}return!1}function f(e){if(e){var t={usedProperties:new Set,hasNonStaticUsage:!1};if((0,s.preevaluate)(e,{withParent:!0,hooks:{beforeVisitGlobal:o(t,["CTX","STATE","FORM_STATE"],1,!0)}}),t.usedProperties.size>0){var r=[...t.usedProperties],n={context:!1,state:!1,formState:!1},a={CTX:"context",STATE:"state",FORM_STATE:"formState"};return r.forEach((e=>{var[t,r]=e.split(".");n[a[t]]||(n[a[t]]=[]),n[a[t]].push(r)})),n}console.warn('You are using track all but no "CTX" or "STATE" or "FORM_STATE" usage found in your expression: '.concat(JSON.stringify(e)))}return!1}function y(e,t){if(Array.isArray(e))for(var r of e)v(r,t)}function v(e,t,r){try{(0,s.precookFunction)(e.source,{typescript:e.typescript,withParent:!0,hooks:{beforeVisitGlobal:t}})}catch(t){r||console.error('Parse storyboard function "'.concat(e.name,'" failed:'),t)}}function g(e,t,r){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,a={usedProperties:new Set,hasNonStaticUsage:!1};if(v(e,o(a,t,n),r),a.hasNonStaticUsage&&!r)throw new Error("Non-static usage of ".concat(t,' is prohibited, check your function: "').concat(e.name,'"'));return a.usedProperties.delete(e.name),a.usedProperties}var h="PERMISSIONS",S="check";function b(e){var t,r=new Set,o=P(r),{customTemplates:n,functions:a}=null!==(t=e.meta)&&void 0!==t?t:{};return u([e.routes,n],o,h),y(a,o),Array.from(r)}function m(e){var t=new Set;return u(e,P(t),h),Array.from(t)}function P(e){return function(t,r){if(t.name===h){var o=r[r.length-1],n=r[r.length-2];if("CallExpression"===(null==n?void 0:n.node.type)&&"callee"===(null==n?void 0:n.key)&&"MemberExpression"===(null==o?void 0:o.node.type)&&"object"===o.key&&(o.node.computed?"Literal"===o.node.property.type&&o.node.property.value===S:"Identifier"===o.node.property.type&&o.node.property.name===S))for(var a of n.node.arguments)"Literal"===a.type&&"string"==typeof a.value&&e.add(a.value)}}}}}]);
2
+ //# sourceMappingURL=3933.3fc2f29b.js.map