@next-bricks/visual-builder 1.16.0 → 1.16.1

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 (257) hide show
  1. package/dist/bricks.json +8 -8
  2. package/dist/chunks/1045.ed8e8ff6.js +2 -0
  3. package/dist/chunks/1045.ed8e8ff6.js.map +1 -0
  4. package/dist/chunks/1122.5e99d930.js +2 -0
  5. package/dist/chunks/1122.5e99d930.js.map +1 -0
  6. package/dist/chunks/114.d0ad0448.js +2 -0
  7. package/dist/chunks/114.d0ad0448.js.map +1 -0
  8. package/dist/chunks/1370.f1c0b4dc.js +2 -0
  9. package/dist/chunks/1370.f1c0b4dc.js.map +1 -0
  10. package/dist/chunks/1822.37dd5267.js +3 -0
  11. package/dist/chunks/1822.37dd5267.js.map +1 -0
  12. package/dist/chunks/1889.7ee6209f.js +2 -0
  13. package/dist/chunks/{1889.9f00371e.js.map → 1889.7ee6209f.js.map} +1 -1
  14. package/dist/chunks/1940.0b0de6e5.js +2 -0
  15. package/dist/chunks/1940.0b0de6e5.js.map +1 -0
  16. package/dist/chunks/2052.f1624476.js +2 -0
  17. package/dist/chunks/{2052.5926f210.js.map → 2052.f1624476.js.map} +1 -1
  18. package/dist/chunks/2201.0a5797e4.js +2 -0
  19. package/dist/chunks/{2201.f054fdcf.js.map → 2201.0a5797e4.js.map} +1 -1
  20. package/dist/chunks/2252.0e662bae.js +3 -0
  21. package/dist/chunks/2252.0e662bae.js.map +1 -0
  22. package/dist/chunks/2277.20753c71.js +2 -0
  23. package/dist/chunks/2277.20753c71.js.map +1 -0
  24. package/dist/chunks/2980.77a1f798.js +2 -0
  25. package/dist/chunks/2980.77a1f798.js.map +1 -0
  26. package/dist/chunks/3144.0096b9c3.js +3 -0
  27. package/dist/chunks/{3144.6ad0f014.js.map → 3144.0096b9c3.js.map} +1 -1
  28. package/dist/chunks/3171.a78de2a1.js +2 -0
  29. package/dist/chunks/3171.a78de2a1.js.map +1 -0
  30. package/dist/chunks/3933.a2c38438.js +2 -0
  31. package/dist/chunks/3933.a2c38438.js.map +1 -0
  32. package/dist/chunks/4041.468489fa.js +3 -0
  33. package/dist/chunks/{4041.b50c80d7.js.map → 4041.468489fa.js.map} +1 -1
  34. package/dist/chunks/4658.bca01584.js +2 -0
  35. package/dist/chunks/4658.bca01584.js.map +1 -0
  36. package/dist/chunks/4741.b96ddd0b.js +2 -0
  37. package/dist/chunks/{4741.cf0d2915.js.map → 4741.b96ddd0b.js.map} +1 -1
  38. package/dist/chunks/5250.f22684c9.js +3 -0
  39. package/dist/chunks/{5250.dc33943a.js.map → 5250.f22684c9.js.map} +1 -1
  40. package/dist/chunks/5384.7fbe2a84.js +2 -0
  41. package/dist/chunks/{5384.db165893.js.map → 5384.7fbe2a84.js.map} +1 -1
  42. package/dist/chunks/5399.ea7e9b64.js +2 -0
  43. package/dist/chunks/5399.ea7e9b64.js.map +1 -0
  44. package/dist/chunks/548.cd13d345.js +3 -0
  45. package/dist/chunks/548.cd13d345.js.map +1 -0
  46. package/dist/chunks/5552.3f1c7478.js +2 -0
  47. package/dist/chunks/5552.3f1c7478.js.map +1 -0
  48. package/dist/chunks/6314.0f0f8b7c.js +2 -0
  49. package/dist/chunks/6314.0f0f8b7c.js.map +1 -0
  50. package/dist/chunks/6519.ddef7177.js +2 -0
  51. package/dist/chunks/6519.ddef7177.js.map +1 -0
  52. package/dist/chunks/6773.7837da8c.js +2 -0
  53. package/dist/chunks/{6773.f4d1ef05.js.map → 6773.7837da8c.js.map} +1 -1
  54. package/dist/chunks/6828.d531a98c.js +3 -0
  55. package/dist/chunks/{6828.65e57173.js.map → 6828.d531a98c.js.map} +1 -1
  56. package/dist/chunks/7041.5c093fc7.js +3 -0
  57. package/dist/chunks/7041.5c093fc7.js.LICENSE.txt +1 -0
  58. package/dist/chunks/7041.5c093fc7.js.map +1 -0
  59. package/dist/chunks/7115.3108075e.js +2 -0
  60. package/dist/chunks/7115.3108075e.js.map +1 -0
  61. package/dist/chunks/726.e407e050.js +2 -0
  62. package/dist/chunks/{726.f472432c.js.map → 726.e407e050.js.map} +1 -1
  63. package/dist/chunks/7721.6dd8673d.js +3 -0
  64. package/dist/chunks/{7721.b491f7fa.js.map → 7721.6dd8673d.js.map} +1 -1
  65. package/dist/chunks/7733.a0a60e42.js +2 -0
  66. package/dist/chunks/7733.a0a60e42.js.map +1 -0
  67. package/dist/chunks/790.a1269b3c.js +2 -0
  68. package/dist/chunks/790.a1269b3c.js.map +1 -0
  69. package/dist/chunks/8097.f37c5904.js +2 -0
  70. package/dist/chunks/8097.f37c5904.js.map +1 -0
  71. package/dist/chunks/871.f5ada237.js +2 -0
  72. package/dist/chunks/871.f5ada237.js.map +1 -0
  73. package/dist/chunks/8989.545efad6.js +2 -0
  74. package/dist/chunks/8989.545efad6.js.map +1 -0
  75. package/dist/chunks/9027.e7b6fcc1.js +2 -0
  76. package/dist/chunks/9027.e7b6fcc1.js.map +1 -0
  77. package/dist/chunks/9496.45c0e5bc.js +2 -0
  78. package/dist/chunks/9496.45c0e5bc.js.map +1 -0
  79. package/dist/chunks/9515.edbfa13e.js +2 -0
  80. package/dist/chunks/{9515.07ef90ca.js.map → 9515.edbfa13e.js.map} +1 -1
  81. package/dist/chunks/9542.7b1a990f.js +2 -0
  82. package/dist/chunks/{9542.3e5012b2.js.map → 9542.7b1a990f.js.map} +1 -1
  83. package/dist/chunks/9559.bb8e9b13.js +2 -0
  84. package/dist/chunks/9559.bb8e9b13.js.map +1 -0
  85. package/dist/chunks/9740.104dd9ba.js +2 -0
  86. package/dist/chunks/9740.104dd9ba.js.map +1 -0
  87. package/dist/chunks/9780.bf18ff0d.js +2 -0
  88. package/dist/chunks/9780.bf18ff0d.js.map +1 -0
  89. package/dist/chunks/9844.4328557b.js +2 -0
  90. package/dist/chunks/{9844.bc9b1bf6.js.map → 9844.4328557b.js.map} +1 -1
  91. package/dist/chunks/chat-conversation.f0d470b9.js +2 -0
  92. package/dist/chunks/chat-conversation.f0d470b9.js.map +1 -0
  93. package/dist/chunks/chat-preview.358d19a4.js +3 -0
  94. package/dist/chunks/chat-preview.358d19a4.js.map +1 -0
  95. package/dist/chunks/contract-select.bb780167.js +3 -0
  96. package/dist/chunks/contract-select.bb780167.js.map +1 -0
  97. package/dist/chunks/generate-snippets-context-menu.d4b7c29a.js +2 -0
  98. package/dist/chunks/generate-snippets-context-menu.d4b7c29a.js.map +1 -0
  99. package/dist/chunks/inject-chat-preview-agent.fcb9f3bb.js +2 -0
  100. package/dist/chunks/inject-chat-preview-agent.fcb9f3bb.js.map +1 -0
  101. package/dist/chunks/inject-preview-agent.07d466dd.js +2 -0
  102. package/dist/chunks/{inject-preview-agent.805cc41f.js.map → inject-preview-agent.07d466dd.js.map} +1 -1
  103. package/dist/chunks/main.18b98658.js +2 -0
  104. package/dist/chunks/main.18b98658.js.map +1 -0
  105. package/dist/chunks/page-arch-node.c49d623e.js +3 -0
  106. package/dist/chunks/page-arch-node.c49d623e.js.map +1 -0
  107. package/dist/chunks/pre-generated-container.4b189465.js +2 -0
  108. package/dist/chunks/pre-generated-container.4b189465.js.map +1 -0
  109. package/dist/chunks/pre-generated-preview.a040cb09.js +3 -0
  110. package/dist/chunks/pre-generated-preview.a040cb09.js.map +1 -0
  111. package/dist/chunks/pre-generated-table-view.87ca8307.js +2 -0
  112. package/dist/chunks/pre-generated-table-view.87ca8307.js.map +1 -0
  113. package/dist/chunks/workbench-action-list.d6808912.js +2 -0
  114. package/dist/chunks/workbench-action-list.d6808912.js.map +1 -0
  115. package/dist/chunks/workbench-action.91f531b5.js +3 -0
  116. package/dist/chunks/workbench-action.91f531b5.js.map +1 -0
  117. package/dist/chunks/workbench-history-action.a75a504b.js +3 -0
  118. package/dist/chunks/workbench-history-action.a75a504b.js.map +1 -0
  119. package/dist/chunks/workbench-pane.5b1545d7.js +3 -0
  120. package/dist/chunks/workbench-pane.5b1545d7.js.map +1 -0
  121. package/dist/chunks/workbench-sidebar.8d9d84bc.js +2 -0
  122. package/dist/chunks/workbench-sidebar.8d9d84bc.js.map +1 -0
  123. package/dist/chunks/workbench-tree.03fd4c43.js +3 -0
  124. package/dist/chunks/workbench-tree.03fd4c43.js.map +1 -0
  125. package/dist/index.3649d6dc.js +2 -0
  126. package/dist/index.3649d6dc.js.map +1 -0
  127. package/dist/manifest.json +47 -47
  128. package/dist/types.json +226 -226
  129. package/package.json +4 -4
  130. package/dist/chunks/1045.3cfb5ba7.js +0 -2
  131. package/dist/chunks/1045.3cfb5ba7.js.map +0 -1
  132. package/dist/chunks/1122.10847c89.js +0 -2
  133. package/dist/chunks/1122.10847c89.js.map +0 -1
  134. package/dist/chunks/114.0be1e4c4.js +0 -2
  135. package/dist/chunks/114.0be1e4c4.js.map +0 -1
  136. package/dist/chunks/1369.012de1c7.js +0 -2
  137. package/dist/chunks/1369.012de1c7.js.map +0 -1
  138. package/dist/chunks/1370.bde908f3.js +0 -2
  139. package/dist/chunks/1370.bde908f3.js.map +0 -1
  140. package/dist/chunks/1822.b9d18634.js +0 -3
  141. package/dist/chunks/1822.b9d18634.js.map +0 -1
  142. package/dist/chunks/1889.9f00371e.js +0 -2
  143. package/dist/chunks/1940.223b0e9d.js +0 -2
  144. package/dist/chunks/1940.223b0e9d.js.map +0 -1
  145. package/dist/chunks/2052.5926f210.js +0 -2
  146. package/dist/chunks/2201.f054fdcf.js +0 -2
  147. package/dist/chunks/2252.49deac2a.js +0 -3
  148. package/dist/chunks/2252.49deac2a.js.map +0 -1
  149. package/dist/chunks/2277.79669f0d.js +0 -2
  150. package/dist/chunks/2277.79669f0d.js.map +0 -1
  151. package/dist/chunks/2652.81816881.js +0 -2
  152. package/dist/chunks/2652.81816881.js.map +0 -1
  153. package/dist/chunks/2980.bb2d0952.js +0 -2
  154. package/dist/chunks/2980.bb2d0952.js.map +0 -1
  155. package/dist/chunks/3144.6ad0f014.js +0 -3
  156. package/dist/chunks/3171.3759a7bc.js +0 -2
  157. package/dist/chunks/3171.3759a7bc.js.map +0 -1
  158. package/dist/chunks/3620.d1c28662.js +0 -2
  159. package/dist/chunks/3620.d1c28662.js.map +0 -1
  160. package/dist/chunks/3933.5a4cdee4.js +0 -2
  161. package/dist/chunks/3933.5a4cdee4.js.map +0 -1
  162. package/dist/chunks/4041.b50c80d7.js +0 -3
  163. package/dist/chunks/4103.3bfaf833.js +0 -2
  164. package/dist/chunks/4103.3bfaf833.js.map +0 -1
  165. package/dist/chunks/4658.30fb0b61.js +0 -2
  166. package/dist/chunks/4658.30fb0b61.js.map +0 -1
  167. package/dist/chunks/4741.cf0d2915.js +0 -2
  168. package/dist/chunks/5250.dc33943a.js +0 -3
  169. package/dist/chunks/5384.db165893.js +0 -2
  170. package/dist/chunks/5399.87d8f078.js +0 -2
  171. package/dist/chunks/5399.87d8f078.js.map +0 -1
  172. package/dist/chunks/5552.cce0f361.js +0 -2
  173. package/dist/chunks/5552.cce0f361.js.map +0 -1
  174. package/dist/chunks/6314.05fdaa81.js +0 -2
  175. package/dist/chunks/6314.05fdaa81.js.map +0 -1
  176. package/dist/chunks/6519.538410d7.js +0 -2
  177. package/dist/chunks/6519.538410d7.js.map +0 -1
  178. package/dist/chunks/6773.f4d1ef05.js +0 -2
  179. package/dist/chunks/6828.65e57173.js +0 -3
  180. package/dist/chunks/7115.5e22b22a.js +0 -2
  181. package/dist/chunks/7115.5e22b22a.js.map +0 -1
  182. package/dist/chunks/726.f472432c.js +0 -2
  183. package/dist/chunks/7721.b491f7fa.js +0 -3
  184. package/dist/chunks/7733.a6c1c97f.js +0 -2
  185. package/dist/chunks/7733.a6c1c97f.js.map +0 -1
  186. package/dist/chunks/7780.1ca43b02.js +0 -2
  187. package/dist/chunks/7780.1ca43b02.js.map +0 -1
  188. package/dist/chunks/790.998c811a.js +0 -2
  189. package/dist/chunks/790.998c811a.js.map +0 -1
  190. package/dist/chunks/8097.5c42f68b.js +0 -2
  191. package/dist/chunks/8097.5c42f68b.js.map +0 -1
  192. package/dist/chunks/871.9516e890.js +0 -2
  193. package/dist/chunks/871.9516e890.js.map +0 -1
  194. package/dist/chunks/8989.f2fd0c29.js +0 -2
  195. package/dist/chunks/8989.f2fd0c29.js.map +0 -1
  196. package/dist/chunks/9027.a7e4a11b.js +0 -2
  197. package/dist/chunks/9027.a7e4a11b.js.map +0 -1
  198. package/dist/chunks/9496.cfc9137c.js +0 -2
  199. package/dist/chunks/9496.cfc9137c.js.map +0 -1
  200. package/dist/chunks/9515.07ef90ca.js +0 -2
  201. package/dist/chunks/9542.3e5012b2.js +0 -2
  202. package/dist/chunks/9559.fb37eb8b.js +0 -2
  203. package/dist/chunks/9559.fb37eb8b.js.map +0 -1
  204. package/dist/chunks/9844.bc9b1bf6.js +0 -2
  205. package/dist/chunks/9933.f2bac1e9.js +0 -3
  206. package/dist/chunks/9933.f2bac1e9.js.map +0 -1
  207. package/dist/chunks/chat-conversation.0825ab19.js +0 -2
  208. package/dist/chunks/chat-conversation.0825ab19.js.map +0 -1
  209. package/dist/chunks/chat-preview.31ddc0bf.js +0 -3
  210. package/dist/chunks/chat-preview.31ddc0bf.js.map +0 -1
  211. package/dist/chunks/contract-select.dd2f3bb6.js +0 -3
  212. package/dist/chunks/contract-select.dd2f3bb6.js.map +0 -1
  213. package/dist/chunks/generate-snippets-context-menu.8c78ae9d.js +0 -2
  214. package/dist/chunks/generate-snippets-context-menu.8c78ae9d.js.map +0 -1
  215. package/dist/chunks/inject-chat-preview-agent.895e7805.js +0 -2
  216. package/dist/chunks/inject-chat-preview-agent.895e7805.js.map +0 -1
  217. package/dist/chunks/inject-preview-agent.805cc41f.js +0 -2
  218. package/dist/chunks/main.8e745868.js +0 -2
  219. package/dist/chunks/main.8e745868.js.map +0 -1
  220. package/dist/chunks/page-arch-node.317c7c25.js +0 -3
  221. package/dist/chunks/page-arch-node.317c7c25.js.map +0 -1
  222. package/dist/chunks/pre-generated-container.1901c212.js +0 -2
  223. package/dist/chunks/pre-generated-container.1901c212.js.map +0 -1
  224. package/dist/chunks/pre-generated-preview.a4f882ee.js +0 -3
  225. package/dist/chunks/pre-generated-preview.a4f882ee.js.map +0 -1
  226. package/dist/chunks/pre-generated-table-view.cf8a978d.js +0 -2
  227. package/dist/chunks/pre-generated-table-view.cf8a978d.js.map +0 -1
  228. package/dist/chunks/workbench-action-list.4c70e5af.js +0 -2
  229. package/dist/chunks/workbench-action-list.4c70e5af.js.map +0 -1
  230. package/dist/chunks/workbench-action.6906cb59.js +0 -3
  231. package/dist/chunks/workbench-action.6906cb59.js.map +0 -1
  232. package/dist/chunks/workbench-history-action.a3c68650.js +0 -3
  233. package/dist/chunks/workbench-history-action.a3c68650.js.map +0 -1
  234. package/dist/chunks/workbench-pane.e1117f7d.js +0 -3
  235. package/dist/chunks/workbench-pane.e1117f7d.js.map +0 -1
  236. package/dist/chunks/workbench-sidebar.0daa02f4.js +0 -2
  237. package/dist/chunks/workbench-sidebar.0daa02f4.js.map +0 -1
  238. package/dist/chunks/workbench-tree.35da5fd0.js +0 -3
  239. package/dist/chunks/workbench-tree.35da5fd0.js.map +0 -1
  240. package/dist/index.7e581c1e.js +0 -2
  241. package/dist/index.7e581c1e.js.map +0 -1
  242. /package/dist/chunks/{1822.b9d18634.js.LICENSE.txt → 1822.37dd5267.js.LICENSE.txt} +0 -0
  243. /package/dist/chunks/{2252.49deac2a.js.LICENSE.txt → 2252.0e662bae.js.LICENSE.txt} +0 -0
  244. /package/dist/chunks/{3144.6ad0f014.js.LICENSE.txt → 3144.0096b9c3.js.LICENSE.txt} +0 -0
  245. /package/dist/chunks/{4041.b50c80d7.js.LICENSE.txt → 4041.468489fa.js.LICENSE.txt} +0 -0
  246. /package/dist/chunks/{5250.dc33943a.js.LICENSE.txt → 5250.f22684c9.js.LICENSE.txt} +0 -0
  247. /package/dist/chunks/{9933.f2bac1e9.js.LICENSE.txt → 548.cd13d345.js.LICENSE.txt} +0 -0
  248. /package/dist/chunks/{6828.65e57173.js.LICENSE.txt → 6828.d531a98c.js.LICENSE.txt} +0 -0
  249. /package/dist/chunks/{7721.b491f7fa.js.LICENSE.txt → 7721.6dd8673d.js.LICENSE.txt} +0 -0
  250. /package/dist/chunks/{chat-preview.31ddc0bf.js.LICENSE.txt → chat-preview.358d19a4.js.LICENSE.txt} +0 -0
  251. /package/dist/chunks/{contract-select.dd2f3bb6.js.LICENSE.txt → contract-select.bb780167.js.LICENSE.txt} +0 -0
  252. /package/dist/chunks/{page-arch-node.317c7c25.js.LICENSE.txt → page-arch-node.c49d623e.js.LICENSE.txt} +0 -0
  253. /package/dist/chunks/{pre-generated-preview.a4f882ee.js.LICENSE.txt → pre-generated-preview.a040cb09.js.LICENSE.txt} +0 -0
  254. /package/dist/chunks/{workbench-action.6906cb59.js.LICENSE.txt → workbench-action.91f531b5.js.LICENSE.txt} +0 -0
  255. /package/dist/chunks/{workbench-history-action.a3c68650.js.LICENSE.txt → workbench-history-action.a75a504b.js.LICENSE.txt} +0 -0
  256. /package/dist/chunks/{workbench-pane.e1117f7d.js.LICENSE.txt → workbench-pane.5b1545d7.js.LICENSE.txt} +0 -0
  257. /package/dist/chunks/{workbench-tree.35da5fd0.js.LICENSE.txt → workbench-tree.03fd4c43.js.LICENSE.txt} +0 -0
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[2980],{4940:(e,n,o)=>{o.d(n,{e:()=>a,l:()=>l});var t=o(8769),a=(0,t.createContext)({});function l(){return(0,t.useContext)(a)}},7758:(e,n,o)=>{o.d(n,{cU:()=>N});var t=o(9575),a=o(9740),l=o(8769),r=o.n(l),i=o(1030),c=o.n(i),s=o(3373),d=o.n(s),u=o(9406),p=o(4940),f=function(e){return e.inside="inside",e.top="top",e.bottom="bottom",e}({}),h=(0,l.createContext)({});function m(){return(0,l.useContext)(h)}var b=o(6430),v=o(9974),g=(0,b.wrapBrick)("eo-icon");function x(e){var{data:n,className:o,gap:t,isFirst:a,isLast:i,actions:c,actionsHidden:s,onActionClick:u}=e,p=(0,l.useMemo)((()=>null==c?void 0:c.filter((e=>(0,v.checkIfByTransform)(e,n)))),[c,n]);return s||null==p||!p.length?null:r().createElement("div",{className:d()("actionsBar",o),style:{gap:t}},p.map((e=>r().createElement(k,{key:e.action,action:e,data:n,isFirst:a,isLast:i,onActionClick:u}))))}function k(e){var{action:n,data:o,isFirst:t,isLast:a,onActionClick:i}=e,c=t&&"move-up"===n.action||a&&"move-down"===n.action,s=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c||null==i||i({action:n.action,data:o})}),[n.action,o,c,i]),u=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]);return r().createElement("a",{className:d()("action",{disabled:c}),title:n.title,role:"button",onClick:s,onContextMenu:u,onMouseDown:u},r().createElement(g,n.icon))}var y=(0,b.wrapBrick)("eo-link"),w=(0,b.wrapBrick)("eo-icon"),E=10,C="0 0 0 1px #ba6d30",L=(0,l.createContext)(!1);function N(e){var{nodes:n,placeholder:o,searchPlaceholder:t,isDrag:a,noSearch:i,allowDrag:s,allowDragToRoot:p,allowDragToInside:m,dropEmit:b}=e,[v,g]=(0,l.useState)(""),[x,k]=(0,l.useState)(a),[y,E]=(0,l.useState)(),[C,N]=(0,l.useState)(),[A,I]=(0,l.useState)(),[M,B]=(0,l.useState)(),[D,R]=(0,l.useState)(),[P,F]=(0,l.useState)(),{nodeKey:T,onBrickDrop:O,contextMenuFactory:j,matchNode:z}=(0,u.o)(),_=(0,l.useMemo)((()=>{var e;return function(e,n){var o=(e,t,a,l)=>{var r=e.shift();if(r){e.length>0&&e.splice(0,1,"".concat(r,"/").concat(e[0]));var i=t.find((e=>e&&e.key===r&&e.isContainer));if(i)t[l]=null,o(e,i.children,a);else{var c=r.split("/"),s={name:c.pop(),key:r,parentPath:c?c.join("/"):c,originKey:a.key,data:{[n]:r,isContainer:!0},children:[],icon:{icon:"folder",lib:"antd",theme:"filled",color:"orange"},isContainer:!0};"number"==typeof l?t[l]=s:t.push(s),o(e,s.children,a)}}else t.push(a)};return e.forEach(((n,t)=>{if(n.path){var a=n.path.split("/").filter(Boolean);o(a,e,n,t)}})),e.filter(Boolean)}(null!==(e=null==n?void 0:n.slice())&&void 0!==e?e:[],T)}),[n,T]),K=(0,l.useCallback)((e=>{g(e.target.value)}),[]),W=(0,l.useMemo)((()=>null==j?void 0:j()),[j]),$=null==v?void 0:v.trim().toLowerCase(),H=(0,l.useMemo)((()=>{if(i||!$||!_)return _;var e=n=>{var o;n.matchedSelf=z(n,$);var t=null===(o=n.children)||void 0===o?void 0:o.map(e).includes(!0);return n.matched=n.matchedSelf||t,n.matched};return _.forEach(e),_.slice()}),[i,$,_,z]),U=function(e){for(var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],o=e;o;){if(o.draggable&&(n||o!==e)&&"A"!==o.tagName)return o;o=o.parentElement}},Y=function(e,n,o){var t=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;for(var a of e)if(a.data[o]===n&&(t=a),a.children&&(t=Y(a.children,n,o,t)),t)break;return t},V=()=>{N(null),B(null),I(null),R(null),k(!1)};return(0,l.useEffect)((()=>{k(a)}),[a]),(0,l.useEffect)((()=>(window.addEventListener("dragend",V),()=>{window.removeEventListener("dragend",V)})),[]),r().createElement("div",{style:{height:"100%"},className:"tree-wrapper",onContextMenu:W},null!=_&&_.length?r().createElement("div",null,!i&&r().createElement("div",{className:"searchBox",onContextMenu:e=>e.stopPropagation()},r().createElement("span",{className:d()("filter-input-wrapper",{focus:P})},r().createElement("span",{className:"prefix"},r().createElement(w,{icon:"search",lib:"antd",theme:"outlined"})),r().createElement("input",{value:v,onChange:K,onFocus:()=>F(!0),onBlur:()=>F(!1),autoComplete:"off",placeholder:t}),r().createElement("span",{className:"suffix"},v?r().createElement(w,{className:"clear-button",icon:"close-circle",lib:"antd",theme:"filled",onClick:()=>{g("")}}):null))),r().createElement(L.Provider,{value:!!v},r().createElement(h.Provider,{value:{allow:s,allowDragToRoot:p,dragElement:C,dragOverElement:M,dragStatus:D,onDragStart:(e,n)=>{var o;if(e.stopPropagation(),s){var t=e.target;null!==(o=t.dataset)&&void 0!==o&&o.container||(k(!0),function(e,n){var o=document.createElement("canvas");document.body.append(o);var t=o.getContext("2d");o.width=t.measureText(n).width+60,o.height=20,o.style.position="absolute",o.style.left="-100%",o.style.zIndex="-100",t.fillStyle="#333333",t.fillRect(0,0,o.width,o.height),t.fillStyle="#999999",t.font="bold 14px Arial",t.fillText(n,20,15),e.dataTransfer.setDragImage(o,0,0)}(e,t.innerText),N(t),E(n))}}}},r().createElement("div",{className:d()({hightlight:a}),onDragOver:e=>{if(e.preventDefault(),x&&"workbenchTree-placeholder-dom"!==e.target.className){var n=(e=>{var n=U(e.target),o=n.dataset.uid;if(!(n===C||null!=o&&o.includes(":"))){var t,{top:a,bottom:l}=n.getBoundingClientRect(),r=m?5:10;return t=e.clientY<a+r?f.top:e.clientY>l-r?f.bottom:m?f.inside:D,{element:n,node:Y(_,o,T),status:t}}})(e);!n||null!=C&&C.contains(n.element)||(B(n.element),I(n.node),R(n.status))}},onDrop:e=>{if(x){if(O){var n=M;[f.top,f.bottom].includes(D)&&(n=U(n,!1)),O(e,{curElement:C,overElement:M,parentElement:n,overStatus:D})}else if(p||1!==Number(M.dataset.level)){var o=A,t=(e,n)=>{for(var a=0;a<e.length;a++){if(e[a].key===n){o=e[a];break}e[a].children&&t(e[a].children,n)}},a=M.dataset.uid;t(_,a);var l=e=>{var n=!1,{container:t,uid:a}=M.dataset,r=t?o.originKey:a,i=e.filter((e=>(e.children&&(e.children=l(e.children)),e.key===r&&(n=!0),e.key!==y.key)));return n&&i.splice(i.findIndex((e=>e.key===r))+("bottom"===D?1:0),0,y),i},r=function(e){var n=[],o=e=>{e.forEach((e=>{e.isContainer?o(e.children):n.push(c().omit(e,["path","icon"]))}))};return o(e),n}(_),i=y.isContainer?r.find((e=>e.key===y.originKey)):y;i.data.path=o.parentPath||o.path,b({nodes:l(r),curNode:i,overNode:o,status:D})}V()}}},r().createElement(S,{nodes:H,level:1}))))):r().createElement("div",{className:"placeholder"},o))}function S(e){var{nodes:n,level:o}=e,t=n.length-1;return r().createElement("ul",{className:"tree"},n.filter((e=>(0,v.checkIfOfComputed)(e))).map(((e,n)=>r().createElement(I,{key:e.key,node:e,level:o,isFirst:0===n,isLast:n===t}))))}function A(e){var{style:n}=e,{dragStatus:o}=m(),t=(0,a.A)({height:22,border:"1px dashed goldenrod",opacity:o===f.inside?"0":"1"},n);return r().createElement("li",{className:"workbenchTree-placeholder-dom",style:t})}function I(e){var n,o,c,s,{node:h,level:b,isFirst:v,isLast:g}=e,k=!(null!==(n=h.children)&&void 0!==n&&n.length),N=h.isContainer,{hoverKey:I,activeKey:M,basePaddingLeft:B,showMatchedNodeOnly:D,fixedActionsFor:R,collapsible:P,collapsedNodes:F,nodeKey:T,clickFactory:O,mouseEnterFactory:j,mouseLeaveFactory:z,contextMenuFactory:_,onNodeToggle:K,getCollapsedId:W,skipNotify:$}=(0,u.o)(),{allow:H,allowDragToRoot:U,onDragStart:Y,dragElement:V,dragOverElement:q,dragStatus:G}=m(),{actions:J,actionsHidden:Q,onActionClick:X}=(0,p.l)(),Z=b*E+B-2,ee=(0,l.useContext)(L),[ne,oe]=(0,l.useState)(null),[te,ae]=(0,l.useState)(!1),[le,re]=(0,l.useState)(null!==(o=null==F?void 0:F.includes(null==W?void 0:W(h)))&&void 0!==o&&o),ie=(0,l.useMemo)((()=>null==j?void 0:j(h)),[j,h]),ce=(0,l.useMemo)((()=>null==z?void 0:z(h)),[z,h]),se=(0,l.useCallback)((e=>{var n;e.stopPropagation(),null==_||null===(n=_(h))||void 0===n||n(e)}),[_,h]),de=M&&h.key===M,ue=(0,l.useMemo)((()=>de?e=>{var n;null==e||null===(n=e.scrollIntoView)||void 0===n||n.call(e,{block:"center",inline:"center"})}:null),[]),pe=(0,l.useMemo)((()=>{return N?h.key:h.data?"mount-point"===(e=h.data).type?e.parent[T]||"".concat(e.parent.$$uid,":").concat(e.mountPoint):e[T]||e.$$uid:void 0;var e}),[T,h,N]);(0,l.useEffect)((()=>{G!==f.inside&&[f.top,f.bottom].includes(G)&&oe(G)}),[G]);var fe=(0,l.useMemo)((()=>!!V&&V.dataset.uid===String(pe)),[V,pe]),he=(0,l.useMemo)((()=>!!q&&q.dataset.uid===String(pe)),[q,pe]),me=(0,l.useMemo)((()=>{var e={opacity:fe?.2:1};return he&&G===f.inside&&(e={boxShadow:C,background:"rgba(255, 255, 255, 0.1)"}),Object.assign({},e)}),[he,fe,G]),be=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),ae(!0),re((e=>!e))}),[]),ve=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]),ge=(0,l.useCallback)((e=>{var n;if(!N)return null==O||null===(n=O(h))||void 0===n?void 0:n();be(e)}),[O,be,N,h]);(0,l.useEffect)((()=>{te&&(null==K||K(null==W?void 0:W(h),le))}),[te,le,W,h,K]);var xe=P&&!k&&!ee;return ee&&D&&!h.matched?null:r().createElement(r().Fragment,null,he&&(U||1!==b)&&ne===f.top&&r().createElement(A,{style:{marginLeft:Z}}),r().createElement("li",(0,t.A)({draggable:H,onDragStart:e=>Y(e,h),"data-uid":pe,"data-level":b,style:me},N?{"data-container":N}:{}),r().createElement(y,(0,t.A)({className:"nodeLabelLink",tabIndex:0,onMouseEnter:ie,onMouseLeave:ce,onContextMenu:se,onClick:ge},$?{url:{pathname:(0,i.get)(h.link,"url","href"),state:{notify:!1}}}:(0,a.A)({},(0,i.pick)(h.link,["url","href"]))),r().createElement("span",{className:d()("nodeLabelRow",{active:de,hover:I&&h.key===I,matched:ee&&h.matchedSelf&&!D,fixedActions:R&&[].concat(R).some((e=>(0,i.isMatch)(h.data,e))),collapsed:xe&&le,collapsible:xe})},r().createElement("span",{className:d()("nodeLabel",{unreachable:h.unreachable}),style:{paddingLeft:Z,color:h.labelColor},ref:ue},r().createElement("span",{className:"nodeIconWrapper"},xe&&r().createElement("span",{className:"collapseIcon",onClick:be,onMouseDown:ve,title:le?"Expand":"Collapse",role:"button"},r().createElement(w,{lib:"antd",theme:"outlined",icon:le?"right":"down"})),r().createElement("span",{className:"nodeIcon"},r().createElement(w,(0,t.A)({},h.icon,{style:{fontSize:null!==(c=h.icon)&&void 0!==c&&c.imgSrc?14:null,color:null===(s=h.icon)||void 0===s?void 0:s.color}})))),r().createElement("span",{className:"nodeName"},h.labelPrefix&&r().createElement("span",{style:h.labelPrefix.style},h.labelPrefix.text),h.name)),r().createElement(x,{className:"nodeActionsBar",data:h.data,isFirst:v,isLast:g,actions:J,onActionClick:X,actionsHidden:Q}),h.badge&&r().createElement("span",{className:"badge"},r().createElement(w,(0,t.A)({},h.badge,{style:{color:h.badge.color}}))))),k||r().createElement(S,{nodes:h.children,level:b+1})),he&&(U||1!==b)&&ne===f.bottom&&r().createElement(A,{style:{marginLeft:Z}}))}},9406:(e,n,o)=>{o.d(n,{N:()=>a,o:()=>l});var t=o(8769),a=(0,t.createContext)({});function l(){return(0,t.useContext)(a)}},675:(e,n,o)=>{function t(e,n){switch(typeof e){case"string":return e.toLowerCase().includes(n);case"boolean":case"number":return String(e).includes(n);case"object":return null===e?"null".includes(n):(Array.isArray(e)?e:Object.entries(e).flat()).some((e=>t(e,n)));default:return!1}}o.d(n,{U:()=>t})},6275:(e,n,o)=>{o.d(n,{A:()=>i});var t=o(6758),a=o.n(t),l=o(935),r=o.n(l)()(a());r.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 i=r.toString()},7995:(e,n,o)=>{o.d(n,{A:()=>i});var t=o(6758),a=o.n(t),l=o(935),r=o.n(l)()(a());r.push([e.id,':host,\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}.nodeLabelLink{display:block}.nodeLabelLink::part(link){display:flex}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px;flex:1;min-width:0}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelLink:focus .nodeLabelRow.active{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)}.nodeLabelLink: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 i=r.toString()},9575:(e,n,o)=>{function t(){return t=Object.assign?Object.assign.bind():function(e){for(var n=1;n<arguments.length;n++){var o=arguments[n];for(var t in o)Object.prototype.hasOwnProperty.call(o,t)&&(e[t]=o[t])}return e},t.apply(this,arguments)}o.d(n,{A:()=>t})}}]);
2
- //# sourceMappingURL=2980.bb2d0952.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunks/2980.bb2d0952.js","mappings":"iLAYaA,GAA0BC,EAAAA,EAAAA,eACrC,CAAC,GAGI,SAASC,IACd,OAAOC,EAAAA,EAAAA,YAAWH,EACpB,C,wICfYI,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,C,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,EAAAC,GALd,KAChBxI,EAAI,MACJ2G,EAAK,QACLnL,EAAO,OACPC,GACc2M,EACRK,IAAuB,QAAdJ,EAACrI,EAAKS,gBAAQ,IAAA4H,GAAbA,EAAenM,QACzBsE,EAAcR,EAAKQ,aACnB,SACJkI,EAAQ,UACRC,EAAS,gBACTC,EAAe,oBACfC,EAAmB,gBACnBC,EAAe,YACfC,EAAW,eACXC,EAAc,QACdxJ,EAAO,aACPyJ,EAAY,kBACZC,EAAiB,kBACjBC,EAAiB,mBACjBzJ,EAAkB,aAClB0J,EAAY,eACZC,EAAc,WACdC,IACE1J,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,KAEI2O,EAAkB5C,EAAQlJ,EAAmBmL,EAAkB,EAC/DY,IAAY3O,EAAAA,EAAAA,YAAW8C,IACtB8L,GAAiBC,KAAsBjL,EAAAA,EAAAA,UAAS,OAChDkL,GAAiBC,KAAsBnL,EAAAA,EAAAA,WAAS,IAChDoL,GAAWC,KAAgBrL,EAAAA,EAAAA,UACgB,QADR6J,EACxCU,aAAc,EAAdA,EAAgB3G,SAASgH,aAAc,EAAdA,EAAiBrJ,WAAM,IAAAsI,GAAAA,GAG5CyB,IAAejO,EAAAA,EAAAA,UACnB,IAAMoN,aAAiB,EAAjBA,EAAoBlJ,IAC1B,CAACkJ,EAAmBlJ,IAEhBgK,IAAelO,EAAAA,EAAAA,UACnB,IAAMqN,aAAiB,EAAjBA,EAAoBnJ,IAC1B,CAACmJ,EAAmBnJ,IAGhB3C,IAAgBR,EAAAA,EAAAA,cACnB0G,IAAwB,IAAA0G,EACvB1G,EAAEvG,kBACF0C,SAA0B,QAARuK,EAAlBvK,EAAqBM,UAAK,IAAAiK,GAA1BA,EAA6B1G,EAAE,GAEjC,CAAC7D,EAAoBM,IAGjBkK,GAAWvB,GAAa3I,EAAKxD,MAAQmM,EAErCwB,IAAoBrO,EAAAA,EAAAA,UACxB,IACEoO,GACK1H,IAAyB,IAAA4H,EACxB5H,SAAuB,QAAhB4H,EAAP5H,EAAS6H,sBAAc,IAAAD,GAAvBA,EAAAE,KAAA9H,EAA0B,CACxB+H,MAAO,SACPC,OAAQ,UAER,EAEJ,MAGN,IAGIC,IAAU3O,EAAAA,EAAAA,UAAQ,KACtB,OAAI0E,EACKR,EAAKxD,IAEVwD,EAAK3E,KAEgB,iBADHA,EAKF2E,EAAK3E,MAJTqP,KACRrP,EAAKsP,OAAOnL,IAAY,GAAJa,OAAOhF,EAAKsP,OAAOC,MAAK,KAAAvK,OAAIhF,EAAKwP,YACrDxP,EAAKmE,IAAYnE,EAAKuP,WAJ9B,EACsBvP,KAMtB,GACC,CAACmE,EAASQ,EAAMQ,KAEnB0C,EAAAA,EAAAA,YAAU,KACJgB,IAAepJ,EAAewL,QAG9B,CAACxL,EAAemL,IAAKnL,EAAeoL,QAAQ7D,SAAS6B,IACvDwF,GAAmBxF,EACrB,GACC,CAACA,IAEJ,IAAM4G,IAAgBhP,EAAAA,EAAAA,UAAQ,MACxBkI,GACcA,EAAYM,QAAQyB,MACjBgF,OAAON,KAG3B,CAACzG,EAAayG,KAEXO,IAAelP,EAAAA,EAAAA,UAAQ,MACvBmI,GACcA,EAAgBK,QAAQyB,MACrBgF,OAAON,KAG3B,CAACxG,EAAiBwG,KAEfQ,IAAYnP,EAAAA,EAAAA,UAAQ,KACxB,IACIO,EAA6B,CAC/B8L,QAAS2C,GAAgB,GAAM,GAUjC,OARIE,IACE9G,IAAepJ,EAAewL,SAChCjK,EAAQ,CACN6O,UAAWxN,EACXyN,WAAY,6BAIXC,OAAOC,OAZ2B,CAAC,EAYRhP,EAAM,GACvC,CAAC2O,GAAcF,GAAe5G,IAE3BoH,IAAiBzO,EAAAA,EAAAA,cAAaC,IAClCA,EAAMC,iBACND,EAAME,kBACN4M,IAAmB,GACnBE,IAAcyB,IAAUA,GAAK,GAC5B,IAEGtO,IAAoBJ,EAAAA,EAAAA,cAAaC,IACrCA,EAAMC,iBACND,EAAME,iBAAiB,GACtB,IAEGwO,IAAc3O,EAAAA,EAAAA,cACjB0G,IAGQ,IAAAkI,EAFP,IAAIjL,EAGF,OAAOyI,SAAoB,QAARwC,EAAZxC,EAAejJ,UAAK,IAAAyL,OAAA,EAApBA,IAFPH,GAAe/H,EAGjB,GAEF,CAAC0F,EAAcqC,GAAgB9K,EAAaR,KAG9CkD,EAAAA,EAAAA,YAAU,KACJyG,KACFP,SAAAA,EAAeC,aAAc,EAAdA,EAAiBrJ,GAAO6J,IACzC,GACC,CAACF,GAAiBE,GAAWR,EAAgBrJ,EAAMoJ,IAGtD,IAAMsC,GAAgB3C,IAAgBN,IAAWe,GAEjD,OAAIA,IAAaX,IAAwB7I,EAAKsC,QACrC,KAIPnG,IAAAA,cAAAA,IAAAA,SAAA,KACG6O,KACE5M,GAA6B,IAAVuI,IACpB8C,KAAoB3O,EAAemL,KACjC9J,IAAAA,cAAC2L,EAAc,CACbzL,MAAO,CACLsP,WAAYpC,KAIpBpN,IAAAA,cAAA,MAAAyP,EAAAA,EAAAA,GAAA,CACEhJ,UAAWmB,EACXI,YAAcZ,GAAMY,EAAYZ,EAAGvD,GACnC,WAAUyK,GACV,aAAY9D,EACZtK,MAAO4O,IACFzK,EACD,CACE,iBAAkBA,GAEpB,CAAC,GAELrE,IAAAA,cAACqB,GAAWoO,EAAAA,EAAAA,GAAA,CACVtQ,UAAU,gBACVuQ,SAAU,EACV9B,aAAcA,GACdC,aAAcA,GACd3M,cAAeA,GAEfD,QAASoO,IACJlC,EACD,CAEEwC,IAAK,CACHC,UAAUC,EAAAA,EAAAA,KAAIhM,EAAKiM,KAAM,MAAO,QAChCC,MAAO,CACLC,QAAQ,MAGblE,EAAAA,EAAAA,GAAA,IACImE,EAAAA,EAAAA,MAAKpM,EAAKiM,KAAM,CAAC,MAAO,WAEjC9P,IAAAA,cAAA,QACEb,UAAWc,IAAW,eAAgB,CACpCiQ,OAAQnC,GACRoC,MAAO5D,GAAY1I,EAAKxD,MAAQkM,EAChCpG,QAASkH,IAAaxJ,EAAKmC,cAAgB0G,EAC3C0D,aACEzD,GACA,GACGzI,OAAOyI,GACP0D,MAAMC,IACLC,EAAAA,EAAAA,SAAQ1M,EAAK3E,KAAiCoR,KAEpD5C,UAAW6B,IAAiB7B,GAC5Bd,YAAa2C,MAGfvP,IAAAA,cAAA,QACEb,UAAWc,IAAW,YAAa,CACjCuQ,YAAa3M,EAAK2M,cAEpBtQ,MAAO,CACLuQ,YAAarD,EACbnI,MAAOpB,EAAK6M,YAEdC,IAAK3C,IAELhO,IAAAA,cAAA,QAAMb,UAAU,mBACboQ,IACCvP,IAAAA,cAAA,QACEb,UAAU,eACV8B,QAASkO,GACThO,YAAaL,GACbC,MAAO2M,GAAY,SAAW,WAC9B1M,KAAK,UAELhB,IAAAA,cAAClB,EAAkB,CACjBiG,IAAI,OACJC,MAAM,WACN5D,KAAMsM,GAAY,QAAU,UAIlC1N,IAAAA,cAAA,QAAMb,UAAU,YACda,IAAAA,cAAClB,GAAkB2Q,EAAAA,EAAAA,GAAA,GACb5L,EAAKzC,KAAI,CACblB,MAAO,CACL0Q,SAAoB,QAAVxE,EAACvI,EAAKzC,YAAI,IAAAgL,GAAVA,EACNyE,OACA,GACA,KACJ5L,MAAgB,QAAXoH,EAAExI,EAAKzC,YAAI,IAAAiL,OAAA,EAATA,EAAWpH,YAK1BjF,IAAAA,cAAA,QAAMb,UAAU,YACb0E,EAAKiN,aACJ9Q,IAAAA,cAAA,QAAME,MAAO2D,EAAKiN,YAAY5Q,OAC3B2D,EAAKiN,YAAYC,MAMrBlN,EAAKa,OAGV1E,IAAAA,cAAChB,EAAsB,CACrBG,UAAU,iBACVD,KAAM2E,EAAK3E,KACXG,QAASA,EACTC,OAAQA,EACRC,QAASA,EACTE,cAAeA,EACfD,cAAeA,IAEhBqE,EAAKmN,OACJhR,IAAAA,cAAA,QAAMb,UAAU,SACda,IAAAA,cAAClB,GAAkB2Q,EAAAA,EAAAA,GAAA,GACb5L,EAAKmN,MAAK,CACd9Q,MAAO,CAAE+E,MAAOpB,EAAKmN,MAAM/L,aAMpCqH,GAAUtM,IAAAA,cAACuL,EAAQ,CAAC7J,MAAOmC,EAAKS,SAAUkG,MAAOA,EAAQ,KAE3DqE,KACE5M,GAA6B,IAAVuI,IACpB8C,KAAoB3O,EAAeoL,QACjC/J,IAAAA,cAAC2L,EAAc,CACbzL,MAAO,CACLsP,WAAYpC,KAM1B,C,wDGrsBa6D,GAAuBzS,EAAAA,EAAAA,eAAsC,CAAC,GAEpE,SAASiF,IACd,OAAO/E,EAAAA,EAAAA,YAAWuS,EACpB,C,gBC9BO,SAASC,EAAUhS,EAAeiS,GACvC,cAAejS,GACb,IAAK,SACH,OAAOA,EAAK0G,cAAcM,SAASiL,GACrC,IAAK,UACL,IAAK,SACH,OAAOvC,OAAO1P,GAAMgH,SAASiL,GAC/B,IAAK,SACH,OAAgB,OAATjS,EACH,OAAOgH,SAASiL,IACfC,MAAMC,QAAQnS,GAAQA,EAAO+P,OAAOqC,QAAQpS,GAAMqS,QAAQlB,MACxDxQ,GAASqR,EAAUrR,EAAMsR,KAElC,QACE,OAAO,EAEb,C,kFCrBIK,E,MAA0B,GAA4B,KAE1DA,EAAwBtM,KAAK,CAACuM,EAAO5K,GAAI,kWACuD,KAEhG,QAAe2K,EAAwBE,U,kECLnCF,E,MAA0B,GAA4B,KAE1DA,EAAwBtM,KAAK,CAACuM,EAAO5K,GAAI,k6GAUqV,KAE9X,QAAe2K,EAAwBE,U,iBCjBxB,SAASjC,IAYtB,OAXAA,EAAWR,OAAOC,OAASD,OAAOC,OAAOyC,OAAS,SAAUnM,GAC1D,IAAK,IAAImF,EAAI,EAAGA,EAAIpE,UAAUxG,OAAQ4K,IAAK,CACzC,IAAI2F,EAAS/J,UAAUoE,GACvB,IAAK,IAAItK,KAAOiQ,EACVrB,OAAO2C,UAAUC,eAAe1D,KAAKmC,EAAQjQ,KAC/CmF,EAAOnF,GAAOiQ,EAAOjQ,GAG3B,CACA,OAAOmF,CACT,EACOiK,EAASqC,MAAMC,KAAMxL,UAC9B,C","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/@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 className=\"nodeLabelLink\"\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}\n style={{\n fontSize: (node.icon as unknown as Record<string, string>)\n ?.imgSrc\n ? 14\n : null,\n color: node.icon?.color,\n }}\n />\n </span>\n </span>\n <span className=\"nodeName\">\n {node.labelPrefix && (\n <span style={node.labelPrefix.style}>\n {node.labelPrefix.text}\n </span>\n )}\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\n {...node.badge}\n style={{ color: node.badge.color }}\n />\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,\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}.nodeLabelLink{display:block}.nodeLabelLink::part(link){display:flex}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px;flex:1;min-width:0}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelLink:focus .nodeLabelRow.active{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)}.nodeLabelLink: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","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","_node$icon2","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","labelPrefix","text","badge","WorkbenchTreeContext","deepMatch","lowerTrimmedQuery","Array","isArray","entries","flat","___CSS_LOADER_EXPORT___","module","toString","bind","prototype","hasOwnProperty","apply","this"],"sourceRoot":""}