filecat 7.7.1 → 7.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 (214) hide show
  1. package/build/dist/1045.0e4bdc838c37771a7f50.js +1 -0
  2. package/build/dist/1075.493acb74297c1e753de2.js +1 -0
  3. package/build/dist/1128.b80776fbdbdda36034c3.js +1 -0
  4. package/build/dist/1388.1dcf844b452e3aae3dc0.js +1 -0
  5. package/build/dist/1671.fb137d27b5763953487e.js +1 -0
  6. package/build/dist/{6887.93191dae462af3692775.js → 1738.b8ab2bd79df131e60051.js} +1 -1
  7. package/build/dist/1802.e43e833638f6ba8e22d7.js +1 -0
  8. package/build/dist/1964.bd3d684b50aa5191b413.js +1 -0
  9. package/build/dist/200.bb7f6ce5543bd7ff6d97.js +1 -0
  10. package/build/dist/2105.e4ba1c1d506b3fe14e8e.js +1 -0
  11. package/build/dist/2122.bc10dcdbbfc38e0ef883.js +1 -0
  12. package/build/dist/{3457.18b45379d8bcf7f5f3b5.js → 2180.df641ebaead77c4ada71.js} +1 -1
  13. package/build/dist/2300.9e1baa1c0368abe53d96.js +2 -0
  14. package/build/dist/2479.15722ac55b05c521f4f7.js +1 -0
  15. package/build/dist/2572.8fdddfebb4da2f29dbd8.js +1 -0
  16. package/build/dist/259.81bb9e049e5ef587a96f.js +1 -0
  17. package/build/dist/2674.0c822a9c458f923a4eff.js +1 -0
  18. package/build/dist/{1001.44a1a25c7d6d3f294bf3.js → 2822.9417e764a14f8f5f57dc.js} +1 -1
  19. package/build/dist/2994.c492be0d907fa468a9be.js +1 -0
  20. package/build/dist/{3140.b078ec311f99170b7f4c.js → 3140.794a212da633caf38b3a.js} +2 -2
  21. package/build/dist/3230.7798ab546facfa058b34.js +1 -0
  22. package/build/dist/3233.fb6bffd5e097e4ac9423.js +1 -0
  23. package/build/dist/3283.9386fc7f67aef46604fb.js +1 -0
  24. package/build/dist/3299.d01f5a742d80f4e6e25b.js +1 -0
  25. package/build/dist/3300.b8a3bc571293a6280ed8.js +1 -0
  26. package/build/dist/{3402.d412940350051a52d7ac.js → 3402.b6dc28d2f9bace7cde85.js} +1 -1
  27. package/build/dist/3509.cbcb309fbf49db53229f.js +1 -0
  28. package/build/dist/{3727.b8d9cbae9de47bf8d49b.js → 3510.b975b8bfdee5e8518215.js} +1 -1
  29. package/build/dist/{587.c75ed69a8373139346f9.js → 3566.ba323afadcf41fad2fa7.js} +1 -1
  30. package/build/dist/3608.aff9429024b740ac5cd0.js +1 -0
  31. package/build/dist/3990.5e16453f57b90b01d539.js +1 -0
  32. package/build/dist/4004.de90f1192487a24a0a9a.js +1 -0
  33. package/build/dist/4061.c0eb5824eeb6a59fa827.js +1 -0
  34. package/build/dist/4220.b65b40382726a69ba0bc.js +1 -0
  35. package/build/dist/{3883.70d42c3a335d6833f07e.js → 4376.b022a792fb34fbe50398.js} +1 -1
  36. package/build/dist/4437.4d5a0965043471411a00.js +1 -0
  37. package/build/dist/4469.536491f90535e831ce3e.js +1 -0
  38. package/build/dist/453.8877eb10f13258c290bc.js +1 -0
  39. package/build/dist/4560.8ef2e4b60cc86d019dd6.js +1 -0
  40. package/build/dist/4735.838cd0f656bbf7d99ff6.js +1 -0
  41. package/build/dist/4772.9b95c402a4def0f576e3.js +1 -0
  42. package/build/dist/4985.44cb7d829ca477e368b8.js +1 -0
  43. package/build/dist/5516.645e4a900df9bdc1806c.js +1 -0
  44. package/build/dist/5526.6b4867751becda056ed8.js +1 -0
  45. package/build/dist/5614.fb6bffd5e097e4ac9423.js +1 -0
  46. package/build/dist/5617.8efc3b1d218f80df9b39.js +1 -0
  47. package/build/dist/5744.e9f1efb88a617b05b709.js +1 -0
  48. package/build/dist/583.cef46d6b21c6fa6454cf.js +1 -0
  49. package/build/dist/6089.6d5d19a327284ff3b11c.js +1 -0
  50. package/build/dist/6164.7dae9989dd129479f952.js +1 -0
  51. package/build/dist/6284.10deb80685728f50aa45.js +1 -0
  52. package/build/dist/629.b75b024aacc43e0d69cf.js +1 -0
  53. package/build/dist/6344.291e5dadc74e62739774.js +1 -0
  54. package/build/dist/6492.3ee4060598de873d8e8f.js +1 -0
  55. package/build/dist/6571.b381c44055704e3ba649.js +1 -0
  56. package/build/dist/6731.6763296ce5ae210bc0fe.js +1 -0
  57. package/build/dist/6759.f88b50c41207cb8345d1.js +1 -0
  58. package/build/dist/{4951.88718d978aea2dd40006.js → 6789.34921a30c8a81f0a6407.js} +1 -1
  59. package/build/dist/6800.ee99fd0a88b6acbaaf2c.js +1 -0
  60. package/build/dist/6803.fe4297b1e51c3bfc7f50.js +1 -0
  61. package/build/dist/{313.d51fc773856f078487ad.js → 6806.9ebf089eba60f3b8e946.js} +1 -1
  62. package/build/dist/7038.4e4fc8e405c56d3080e2.js +1 -0
  63. package/build/dist/7310.bf944d03f24fcf109680.js +1 -0
  64. package/build/dist/{359.1b95bd6368196ccaa731.js → 7430.25bf8437ad8f7c1fd36f.js} +1 -1
  65. package/build/dist/7483.5e26ada69b33418c31a8.js +1 -0
  66. package/build/dist/{4087.4796ff56340985c35542.js → 7486.fe0b5f867c08b40a3360.js} +1 -1
  67. package/build/dist/7567.09e1b34ad9bd3e463eb4.js +1 -0
  68. package/build/dist/7834.7a593dcb80ca09f58586.js +1 -0
  69. package/build/dist/784.48a3b71205680f427109.js +1 -0
  70. package/build/dist/7943.54c702542d55f576a576.js +1 -0
  71. package/build/dist/7954.6ce241a8ed27cb26efc6.js +1 -0
  72. package/build/dist/8079.f6f2be43e5d933ae1f6f.js +1 -0
  73. package/build/dist/8677.860320b7f36947e57d11.js +1 -0
  74. package/build/dist/8727.3628c746061aed7a4077.js +1 -0
  75. package/build/dist/9299.ed4de6cd4f4bfa0a966a.js +1 -0
  76. package/build/dist/9324.ef229da9b943484298ba.js +1 -0
  77. package/build/dist/9364.d2570d78afc50fe1b23e.js +1 -0
  78. package/build/dist/9463.2629a7daf4c2865b9b96.js +1 -0
  79. package/build/dist/index.html +1 -1
  80. package/build/dist/main.98bb29605335d9b2219f.js +2 -0
  81. package/build/main.js +1 -1
  82. package/build/threads.work.filecat.js +1 -1
  83. package/package.json +4 -5
  84. package/shell/config/webpack.web.config.js +2 -2
  85. package/build/dist/1075.3ef2e1902e9f7e9e37b1.js +0 -1
  86. package/build/dist/1312.199a506fb836a2412255.js +0 -1
  87. package/build/dist/136.e3bb3c50051edb17454d.js +0 -1
  88. package/build/dist/1478.c58a43bb24820a13eaed.js +0 -1
  89. package/build/dist/1491.901cce0168c42ad319fa.js +0 -1
  90. package/build/dist/1566.4f405afd26063b55129c.js +0 -1
  91. package/build/dist/161.98f6c2a50bf3824a6efb.js +0 -1
  92. package/build/dist/1654.a21a099e2749ef167ea9.js +0 -1
  93. package/build/dist/1875.46dd3a6cc071d45a32f1.js +0 -1
  94. package/build/dist/1883.14c90bbe93fe206906f0.js +0 -1
  95. package/build/dist/1924.c7bd2a2aa0e9bc78c9ba.js +0 -1
  96. package/build/dist/2000.f55ddba9e6313243f028.js +0 -1
  97. package/build/dist/2101.d4efa6a2c1e9169d9225.js +0 -1
  98. package/build/dist/2180.60fe32ab12c2fa1570a4.js +0 -1
  99. package/build/dist/2191.4c4f2fd5127168a81877.js +0 -1
  100. package/build/dist/2213.ceffb8fd7be66b35d079.js +0 -1
  101. package/build/dist/2463.6e530d1e9b5c58dba166.js +0 -1
  102. package/build/dist/2623.8b1e5e391dd4e05fc119.js +0 -1
  103. package/build/dist/2674.3713c09449bdd57b1066.js +0 -1
  104. package/build/dist/2894.8395ec5e280cc6b6c4dc.js +0 -1
  105. package/build/dist/3042.f490cfa4208208262398.js +0 -1
  106. package/build/dist/3096.d0b2c77a23418c545c01.js +0 -1
  107. package/build/dist/311.da79ace98b69a635c41c.js +0 -1
  108. package/build/dist/3166.088cf4a0356c3a6e30a0.js +0 -1
  109. package/build/dist/3233.80bcbba8a50c0f85ceee.js +0 -1
  110. package/build/dist/3357.4f1bf81ecc3c11a3f813.js +0 -1
  111. package/build/dist/3475.d10d21b637761d7d886d.js +0 -1
  112. package/build/dist/3708.04401b24d95214d641e5.js +0 -1
  113. package/build/dist/3752.01fc1f14b29f340e41fd.js +0 -1
  114. package/build/dist/3871.7a387a9dc21883d08423.js +0 -1
  115. package/build/dist/3994.19fb81947d65fc81b0a2.js +0 -1
  116. package/build/dist/4012.b516fdc981e55be2ebb2.js +0 -1
  117. package/build/dist/4122.9ea6b5dd8dc9d2265825.js +0 -1
  118. package/build/dist/4141.06960673a6a484e7b88d.js +0 -1
  119. package/build/dist/4190.ff72264b4f07f6542d33.js +0 -1
  120. package/build/dist/4239.1b49d7c26192fb637d57.js +0 -1
  121. package/build/dist/4288.8dc8f5d962720e084952.js +0 -1
  122. package/build/dist/434.04cdc2a05316f92d1d38.js +0 -1
  123. package/build/dist/4376.f3c60897f70dd4e33d2f.js +0 -1
  124. package/build/dist/4472.38816dfb835d527175d6.js +0 -1
  125. package/build/dist/4473.b42b37616f13be64199b.js +0 -1
  126. package/build/dist/449.3fd75e05da22fe1c5ecc.js +0 -1
  127. package/build/dist/452.4974390f4f4d991216e5.js +0 -1
  128. package/build/dist/4547.36b5848220c04c47bc80.js +0 -1
  129. package/build/dist/4605.ef0f4204b3bf3a18efa6.js +0 -1
  130. package/build/dist/4804.fbd0ffcf57d9dffc15b7.js +0 -1
  131. package/build/dist/482.0c7512372a1fbf61d704.js +0 -1
  132. package/build/dist/4963.22d7db9b376a42d3f00b.js +0 -1
  133. package/build/dist/5097.a0de16bf7b90a8b1157d.js +0 -1
  134. package/build/dist/5123.d9ed79af478b5cc4f1b2.js +0 -1
  135. package/build/dist/5332.8b6e85d8764e907a01d5.js +0 -1
  136. package/build/dist/536.660d866952b46ba53180.js +0 -1
  137. package/build/dist/548.d3d912d0c0c7e835e1dc.js +0 -1
  138. package/build/dist/5516.cc92dfbf06ddcd133dbc.js +0 -1
  139. package/build/dist/5590.585778da623ec71f7722.js +0 -1
  140. package/build/dist/5614.80bcbba8a50c0f85ceee.js +0 -1
  141. package/build/dist/5616.14df0fe505c4dadf4042.js +0 -1
  142. package/build/dist/5695.95dc69f3b02812eb9e93.js +0 -1
  143. package/build/dist/5697.6ac62f99ca19a979f1eb.js +0 -1
  144. package/build/dist/5741.237d817efc942de875e5.js +0 -1
  145. package/build/dist/5849.d26365d4b19533db6fd6.js +0 -1
  146. package/build/dist/5902.3969a79465383ff4bbb4.js +0 -1
  147. package/build/dist/5937.c3f14ccc441bfd06e13d.js +0 -1
  148. package/build/dist/5942.981e03467a3b2c653ab8.js +0 -1
  149. package/build/dist/6029.63e4beb66df7afc65a90.js +0 -1
  150. package/build/dist/6054.f91307b52046172fc5f8.js +0 -1
  151. package/build/dist/6089.0863a6a09be2b97e84e1.js +0 -1
  152. package/build/dist/6095.d845e356a4db8a241cdb.js +0 -1
  153. package/build/dist/6114.ca67e88c701691b3bb1e.js +0 -1
  154. package/build/dist/612.74d77e32957a5c6eb197.js +0 -1
  155. package/build/dist/625.d9e531476b3306e0b837.js +0 -1
  156. package/build/dist/6318.66541f9cef18d14ea3ea.js +0 -1
  157. package/build/dist/6455.5c950f6eb61015409eb6.js +0 -1
  158. package/build/dist/6527.436d2d5d81376e6a54ae.js +0 -1
  159. package/build/dist/6530.2f1b283a902603262048.js +0 -1
  160. package/build/dist/6610.b92f337fcc1b347350fb.js +0 -1
  161. package/build/dist/6926.2786af754adcdabfbede.js +0 -1
  162. package/build/dist/697.62f8b1ec6d2cd40ed316.js +0 -1
  163. package/build/dist/70.be2f9130c93c4175d12f.js +0 -1
  164. package/build/dist/7081.9e1e196fecfcccb4bfb9.js +0 -1
  165. package/build/dist/7128.3573ab2a5f28b79ba89e.js +0 -1
  166. package/build/dist/7163.ad09accaa87e565b8dc0.js +0 -1
  167. package/build/dist/72.a1d87dabb7f0615b3a21.js +0 -1
  168. package/build/dist/7229.50a1700104d1e4732735.js +0 -1
  169. package/build/dist/7332.d024ae75a3da2f7674a1.js +0 -1
  170. package/build/dist/7509.370c49d7ff43e289190c.js +0 -1
  171. package/build/dist/7514.dbf525bade6ffbd70af6.js +0 -2
  172. package/build/dist/7557.7d62939c56391a647067.js +0 -1
  173. package/build/dist/7588.2d840229f62de92b22e5.js +0 -1
  174. package/build/dist/7632.5660653552f755580adc.js +0 -1
  175. package/build/dist/7639.b3c6382de2fde652a40b.js +0 -1
  176. package/build/dist/779.91614fabf5c9eb3aafa0.js +0 -1
  177. package/build/dist/7810.979796e8a3aad6d4d72f.js +0 -1
  178. package/build/dist/7897.8b8070d6abe5c2327168.js +0 -1
  179. package/build/dist/7941.dbef0b0f412899800b13.js +0 -1
  180. package/build/dist/7953.5cd280effe2e967ea490.js +0 -1
  181. package/build/dist/7954.efecc100b407af204add.js +0 -1
  182. package/build/dist/7959.e31a21f28ff463d9d5e9.js +0 -1
  183. package/build/dist/8034.301f1099c4a7ce6c2829.js +0 -1
  184. package/build/dist/8080.e1c9af30bdd818b08c6e.js +0 -1
  185. package/build/dist/8087.6452b67614a0855535a4.js +0 -1
  186. package/build/dist/8140.bbccc589b007f9d410d1.js +0 -1
  187. package/build/dist/8162.e47cccbe327b26a2ea6f.js +0 -1
  188. package/build/dist/8177.d669c6337f8814781f49.js +0 -1
  189. package/build/dist/8322.56c8f4b4ad93b1a866c8.js +0 -1
  190. package/build/dist/8376.01a9f23ba06a78922364.js +0 -1
  191. package/build/dist/8433.e54d57e2cc9408e5e411.js +0 -1
  192. package/build/dist/8460.25f0859cb2266f764113.js +0 -1
  193. package/build/dist/8524.7945bff0063dc5c5903d.js +0 -1
  194. package/build/dist/8782.a5498372f1eb6bab41b7.js +0 -1
  195. package/build/dist/8953.23fe6fe13b28168428d3.js +0 -1
  196. package/build/dist/8964.bdf168262ab40956654a.js +0 -1
  197. package/build/dist/9003.69a0d15e722e1ed455b0.js +0 -1
  198. package/build/dist/9299.c2699815e5339e4045f8.js +0 -1
  199. package/build/dist/9385.2b1afe7b55d4c16f97ad.js +0 -1
  200. package/build/dist/9428.3176bab8f5780f060d51.js +0 -1
  201. package/build/dist/9456.506d55e351dec4f45566.js +0 -1
  202. package/build/dist/9465.8ff5871fb708cf7c1021.js +0 -1
  203. package/build/dist/9500.95d19d78b580734ec35e.js +0 -1
  204. package/build/dist/9512.03215278f26dc63c056d.js +0 -1
  205. package/build/dist/9614.cfdbe03d8e2960b0a53a.js +0 -1
  206. package/build/dist/9651.6bf3e34362f10c1aa35d.js +0 -1
  207. package/build/dist/9788.4a1c2f3626e532d3b44c.js +0 -1
  208. package/build/dist/9943.b62436bd9d0730c715a9.js +0 -1
  209. package/build/dist/9967.216bc8d26440bcbaf785.js +0 -1
  210. package/build/dist/9970.aa60aa700a790ba226f0.js +0 -1
  211. package/build/dist/main.401995af1fd441fa9164.js +0 -2
  212. /package/build/dist/{7514.dbf525bade6ffbd70af6.js.LICENSE.txt → 2300.9e1baa1c0368abe53d96.js.LICENSE.txt} +0 -0
  213. /package/build/dist/{3140.b078ec311f99170b7f4c.js.LICENSE.txt → 3140.794a212da633caf38b3a.js.LICENSE.txt} +0 -0
  214. /package/build/dist/{main.401995af1fd441fa9164.js.LICENSE.txt → main.98bb29605335d9b2219f.js.LICENSE.txt} +0 -0
@@ -0,0 +1 @@
1
+ (self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[3233,5614],{33616(e){var n;self,n=()=>(()=>{"use strict";var e,n={};return e=n,Object.defineProperty(e,"__esModule",{value:!0}),e.FitAddon=void 0,e.FitAddon=class{activate(e){this._terminal=e}dispose(){}fit(){const e=this.proposeDimensions();if(!e||!this._terminal||isNaN(e.cols)||isNaN(e.rows))return;const n=this._terminal._core;this._terminal.rows===e.rows&&this._terminal.cols===e.cols||(n._renderService.clear(),this._terminal.resize(e.cols,e.rows))}proposeDimensions(){if(!this._terminal)return;if(!this._terminal.element||!this._terminal.element.parentElement)return;const e=this._terminal._core,n=e._renderService.dimensions;if(0===n.css.cell.width||0===n.css.cell.height)return;const t=0===this._terminal.options.scrollback?0:e.viewport.scrollBarWidth,r=window.getComputedStyle(this._terminal.element.parentElement),o=parseInt(r.getPropertyValue("height")),i=Math.max(0,parseInt(r.getPropertyValue("width"))),s=window.getComputedStyle(this._terminal.element),l=o-(parseInt(s.getPropertyValue("padding-top"))+parseInt(s.getPropertyValue("padding-bottom"))),a=i-(parseInt(s.getPropertyValue("padding-right"))+parseInt(s.getPropertyValue("padding-left")))-t;return{cols:Math.max(2,Math.floor(a/n.css.cell.width)),rows:Math.max(1,Math.floor(l/n.css.cell.height))}}},n})(),e.exports=n()},40654(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>E});var r=t(96540),o=t(33616),i=(t(97856),t(85072)),s=t.n(i),l=t(97825),a=t.n(l),c=t(77659),d=t.n(c),u=t(55056),m=t.n(u),p=t(10540),h=t.n(p),x=t(41113),f=t.n(x),g=t(86739),v={};v.styleTagTransform=f(),v.setAttributes=m(),v.insert=d().bind(null,"head"),v.domAPI=a(),v.insertStyleElement=h();s()(g.A,v);g.A&&g.A.locals&&g.A.locals;var y=t(40505),_=t(62042),b=t(84369),w=t(74848);function E(e){const[n,t]=(0,r.useState)(25),i=(0,r.useRef)(null),s=(0,r.useCallback)(new o.FitAddon,[]),l=(0,r.useRef)(null),a=(0,r.useRef)(null),{dragging:c,on_pointer_down:d,on_pointer_up:u}=(0,b.y)({direction:"vertical",target_ref:l,get_start_size:()=>n,px_to_unit:e=>e/parseFloat(getComputedStyle(l.current).fontSize),min:()=>{const e=parseFloat(getComputedStyle(l.current).fontSize);return 2.25+i.current.offsetHeight/e},max:()=>{const e=parseFloat(getComputedStyle(l.current).fontSize);return window.innerHeight/e-4},throttle:32,on_change:e=>{s.fit(),t(parseFloat(e.toFixed(2)))}});if((0,r.useEffect)(()=>{e.terminal&&(e.terminal.options.convertEol=!0,e.terminal.open(a.current),e.terminal.loadAddon(s),s.fit(),e.init&&e.init(e.terminal.rows,e.terminal.cols),e.terminal.attachCustomKeyEventHandler(n=>{if(n.ctrlKey&&"c"===n.key){const t=e.terminal.getSelection();if(t)return(0,y.lW)(t),(0,_.SK)("已复制"),n.preventDefault(),e.terminal.focus(),!1}else if("keydown"===n.type&&"v"===n.key&&n.ctrlKey)return!1;return!0}))},[e.terminal]),(0,r.useEffect)(()=>()=>{e.terminal&&e.terminal.dispose()},[]),e.show)return e.get_simple?(0,w.jsx)("div",{className:"pty",style:{height:"100%"},ref:a}):(0,w.jsxs)("div",{className:"shell",style:{height:`${n}em`,display:""+(e.file_shell_hidden?"none":"block")},ref:l,children:[(0,w.jsx)("div",{className:"shell__divider",ref:i,onPointerDown:d,onPointerUp:u}),(0,w.jsx)("div",{className:"pty",style:{height:n-1+"em"},ref:a}),c&&(0,w.jsx)("div",{className:"shell__overlay",onPointerUp:u})]})}},85614(e,n,t){"use strict";t.r(n),t.d(n,{default:()=>s});var r=t(96540),o=(t(40654),t(74848));const i=r.lazy(()=>Promise.resolve().then(t.bind(t,40654)));function s(e){return(0,o.jsx)(r.Fragment,{children:(0,o.jsx)(i,{...e})})}},84369(e,n,t){"use strict";t.d(n,{y:()=>s});var r=t(96540),o=t(2543);function i(e){if(void 0!==e)return"function"==typeof e?e():e}function s(e){const{direction:n="vertical",target_ref:t,get_start_size:s,px_to_unit:l,min:a,max:c,throttle:d,on_change:u,on_drag_end:m}=e,[p,h]=(0,r.useState)(!1),x=(0,r.useRef)(null),f=(0,r.useRef)(u);f.current=u;const g=e=>"vertical"===n?e.clientY:e.clientX,v=(0,r.useRef)({direction:n,get_start_size:s,px_to_unit:l,min:a,max:c,get_pos:g});v.current={direction:n,get_start_size:s,px_to_unit:l,min:a,max:c,get_pos:g};const y=(0,r.useCallback)(e=>{const n=x.current;if(!n)return;const{px_to_unit:t,min:r,max:o,get_pos:s}=v.current,l=n.pos-s(e);let a=n.size+t(l);const c=i(r),d=i(o);void 0!==c&&(a=Math.max(c,a)),void 0!==d&&(a=Math.min(d,a)),f.current(a)},[]),_=r.useMemo(()=>void 0===d?y:o.throttle(e=>y(e),d),[d,y]),b=(0,r.useCallback)(()=>{x.current=null,h(!1);const e=_;"function"==typeof e.cancel&&e.cancel(),m?.()},[_,m]),w=(0,r.useCallback)(e=>{const{get_start_size:n,get_pos:t}=v.current;x.current={pos:t(e),size:n()},h(!0)},[]);return(0,r.useEffect)(()=>{if(!p)return;const e=t?.current??window;return e.addEventListener("pointermove",_),e.addEventListener("pointerup",b),()=>{e.removeEventListener("pointermove",_),e.removeEventListener("pointerup",b)}},[p,_,b,t]),(0,r.useEffect)(()=>{const e=_;return()=>{"function"==typeof e.cancel&&e.cancel()}},[_]),{dragging:p,on_pointer_down:w,on_pointer_up:b}}},86739(e,n,t){"use strict";t.d(n,{A:()=>l});var r=t(31601),o=t.n(r),i=t(76314),s=t.n(i)()(o());s.push([e.id,'/**\n * Copyright (c) 2014 The xterm.js authors. All rights reserved.\n * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)\n * https://github.com/chjj/term.js\n * @license MIT\n *\n * Permission is hereby granted, free of charge, to any person obtaining a copy\n * of this software and associated documentation files (the "Software"), to deal\n * in the Software without restriction, including without limitation the rights\n * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n * copies of the Software, and to permit persons to whom the Software is\n * furnished to do so, subject to the following conditions:\n *\n * The above copyright notice and this permission notice shall be included in\n * all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n * THE SOFTWARE.\n *\n * Originally forked from (with the author\'s permission):\n * Fabrice Bellard\'s javascript vt100 for jslinux:\n * http://bellard.org/jslinux/\n * Copyright (c) 2011 Fabrice Bellard\n * The original design remains. The terminal itself\n * has been extended to include xterm CSI codes, among\n * other features.\n */\n\n/**\n * Default styles for xterm.js\n */\n\n.xterm {\n cursor: text;\n position: relative;\n user-select: none;\n -ms-user-select: none;\n -webkit-user-select: none;\n}\n\n.xterm.focus,\n.xterm:focus {\n outline: none;\n}\n\n.xterm .xterm-helpers {\n position: absolute;\n top: 0;\n /**\n * The z-index of the helpers must be higher than the canvases in order for\n * IMEs to appear on top.\n */\n z-index: 5;\n}\n\n.xterm .xterm-helper-textarea {\n padding: 0;\n border: 0;\n margin: 0;\n /* Move textarea out of the screen to the far left, so that the cursor is not visible */\n position: absolute;\n opacity: 0;\n left: -9999em;\n top: 0;\n width: 0;\n height: 0;\n z-index: -5;\n /** Prevent wrapping so the IME appears against the textarea at the correct position */\n white-space: nowrap;\n overflow: hidden;\n resize: none;\n}\n\n.xterm .composition-view {\n /* TODO: Composition position got messed up somewhere */\n background: #000;\n color: #FFF;\n display: none;\n position: absolute;\n white-space: nowrap;\n z-index: 1;\n}\n\n.xterm .composition-view.active {\n display: block;\n}\n\n.xterm .xterm-viewport {\n /* On OS X this is required in order for the scroll bar to appear fully opaque */\n background-color: #000;\n overflow-y: scroll;\n cursor: default;\n position: absolute;\n right: 0;\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n.xterm .xterm-screen {\n position: relative;\n}\n\n.xterm .xterm-screen canvas {\n position: absolute;\n left: 0;\n top: 0;\n}\n\n.xterm .xterm-scroll-area {\n visibility: hidden;\n}\n\n.xterm-char-measure-element {\n display: inline-block;\n visibility: hidden;\n position: absolute;\n top: 0;\n left: -9999em;\n line-height: normal;\n}\n\n.xterm.enable-mouse-events {\n /* When mouse events are enabled (eg. tmux), revert to the standard pointer cursor */\n cursor: default;\n}\n\n.xterm.xterm-cursor-pointer,\n.xterm .xterm-cursor-pointer {\n cursor: pointer;\n}\n\n.xterm.column-select.focus {\n /* Column selection mode */\n cursor: crosshair;\n}\n\n.xterm .xterm-accessibility:not(.debug),\n.xterm .xterm-message {\n position: absolute;\n left: 0;\n top: 0;\n bottom: 0;\n right: 0;\n z-index: 10;\n color: transparent;\n pointer-events: none;\n}\n\n.xterm .xterm-accessibility-tree:not(.debug) *::selection {\n color: transparent;\n}\n\n.xterm .xterm-accessibility-tree {\n user-select: text;\n white-space: pre;\n}\n\n.xterm .live-region {\n position: absolute;\n left: -9999px;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.xterm-dim {\n /* Dim should not apply to background, so the opacity of the foreground color is applied\n * explicitly in the generated class and reset to 1 here */\n opacity: 1 !important;\n}\n\n.xterm-underline-1 { text-decoration: underline; }\n.xterm-underline-2 { text-decoration: double underline; }\n.xterm-underline-3 { text-decoration: wavy underline; }\n.xterm-underline-4 { text-decoration: dotted underline; }\n.xterm-underline-5 { text-decoration: dashed underline; }\n\n.xterm-overline {\n text-decoration: overline;\n}\n\n.xterm-overline.xterm-underline-1 { text-decoration: overline underline; }\n.xterm-overline.xterm-underline-2 { text-decoration: overline double underline; }\n.xterm-overline.xterm-underline-3 { text-decoration: overline wavy underline; }\n.xterm-overline.xterm-underline-4 { text-decoration: overline dotted underline; }\n.xterm-overline.xterm-underline-5 { text-decoration: overline dashed underline; }\n\n.xterm-strikethrough {\n text-decoration: line-through;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration {\n\tz-index: 6;\n\tposition: absolute;\n}\n\n.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer {\n\tz-index: 7;\n}\n\n.xterm-decoration-overview-ruler {\n z-index: 8;\n position: absolute;\n top: 0;\n right: 0;\n pointer-events: none;\n}\n\n.xterm-decoration-top {\n z-index: 2;\n position: relative;\n}\n',""]);const l=s}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[5617],{65617(e,r,t){t.d(r,{diagram:()=>i});var a=t(13230),s=(t(96755),t(1672),t(10561),t(338),t(24980),t(27838),t(96865),t(48159),t(44505),t(69793),t(43287),t(12505),t(86535),t(31293),t(86827)),i={parser:a.Zk,get db(){return new a.u4(2)},renderer:a.q7,styles:a.tM,init:(0,s.K)(e=>{e.state||(e.state={}),e.state.arrowMarkerAbsolute=e.arrowMarkerAbsolute},"init")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[5516,5744],{52811(e,t,n){n.r(t),n.d(t,{default:()=>w,parseScene:()=>f});var r=n(96540),a=n(64572),s=n(34843),o=n(82893),l=n(14284),c=n(34289),i=n(62042),d=n(52671),u=n(57889),p=n(22022),m=n(53459),g=(n(3561),n(74848));function f(e){if(!e)return null;const t="string"==typeof e?e:e.context??e.data??e;if(!t)return null;try{return"string"==typeof t?JSON.parse(t):t}catch{return null}}function w(){const[e,t]=(0,s.fp)(o.AG.excalidraw_editor),[n,w]=(0,r.useState)(null),[x,v]=(0,r.useState)(null),[y,h]=(0,r.useState)(!1),S=(0,d.Zp)(),{t:A}=(0,p.Bd)(),k=(0,r.useRef)(()=>{});(0,r.useEffect)(()=>{k.current=z}),(0,r.useEffect)(()=>{let t=!1;return(async()=>{if(e?.url){h(!0);try{const n=await u.l.get(e.url);if(t)return;const r=f(n);if(!r)throw new Error("invalid excalidraw scene");v(r)}catch{t||(v(null),(0,i.zN)("Load Excalidraw file failed"))}finally{t||h(!1)}}else v(null)})(),()=>{t=!0}},[e?.url]);const z=async()=>{if(!n)return void(0,i.zN)("Editor is not ready");const t=n.getSceneElements(),r=n.getAppState(),s=n.getFiles(),o=(0,a.nu)(t,r,s,"local"),d=JSON.parse(o);d.appState={...d.appState??{},zoom:r.zoom,scrollX:r.scrollX,scrollY:r.scrollY,viewBackgroundColor:r.viewBackgroundColor,gridSize:r.gridSize};(await l.$M.post(`save/${encodeURIComponent((0,c.GG)("file",(0,c.vX)()))}${e.name}`,{context:JSON.stringify(d)})).code===m.m.Success&&(0,i.SK)("保存成功")};return(0,r.useEffect)(()=>{const e=e=>{(e.ctrlKey||e.metaKey)&&("s"===e.key||"S"===e.key||83===e.keyCode)&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),k.current())};return window.addEventListener("keydown",e,!0),document.addEventListener("keydown",e,!0),()=>{window.removeEventListener("keydown",e,!0),document.removeEventListener("keydown",e,!0)}},[]),(0,g.jsx)("div",{id:"excalidraw-container",children:(0,g.jsxs)("div",{className:"excalidraw-context",children:[y&&(0,g.jsx)("div",{className:"common-box common-box-center",children:"Loading..."}),!y&&x&&(0,g.jsx)(a.Td,{langCode:"zh-CN",initialData:x,excalidrawAPI:e=>w(e),onKeyDown:e=>!(!e.ctrlKey&&!e.metaKey||"s"!==e.key&&"S"!==e.key&&83!==e.keyCode)&&(e.preventDefault(),k.current(),!0),UIOptions:{dockedSidebarBreakpoint:0},children:(0,g.jsxs)(a.zU,{children:[(0,g.jsx)(a.zU.Item,{onSelect:()=>{t({}),S((0,c.vX)()),e?.close?.()},children:A("关闭")}),(0,g.jsx)(a.zU.Item,{onSelect:z,children:A("保存到服务器")}),(0,g.jsxs)(a.zU.Group,{title:"Excalidraw items",children:[(0,g.jsx)(a.zU.DefaultItems.LoadScene,{}),(0,g.jsx)(a.zU.DefaultItems.Export,{}),(0,g.jsx)(a.zU.DefaultItems.SaveToActiveFile,{}),(0,g.jsx)(a.zU.DefaultItems.SaveAsImage,{}),(0,g.jsx)(a.zU.DefaultItems.ClearCanvas,{}),(0,g.jsx)(a.zU.DefaultItems.ToggleTheme,{}),(0,g.jsx)(a.zU.DefaultItems.ChangeCanvasBackground,{})]})]})},e.url??"excalidraw")]})})}},16575(e,t,n){n.r(t),n.d(t,{default:()=>p});var r=n(96540),a=n(64572),s=n(57889),o=n(14284),l=n(62042),c=n(53459),i=n(22022),d=n(52811),u=(n(3561),n(74848));function p(e){const{t}=(0,i.Bd)(),[n,p]=(0,r.useState)(null),[m,g]=(0,r.useState)(null),[f,w]=(0,r.useState)(!1),x=(0,r.useRef)(!1),v=(0,r.useRef)(!1),y=(0,r.useRef)({api:n,props:e});y.current={api:n,props:e};const h=async()=>{const e=(()=>{const e=y.current.api;if(!e)return null;const t=e.getSceneElements(),n=e.getAppState(),r=e.getFiles(),s=(0,a.nu)(t,n,r,"local"),o=JSON.parse(s);return o.appState={...o.appState??{},zoom:n.zoom,scrollX:n.scrollX,scrollY:n.scrollY,viewBackgroundColor:n.viewBackgroundColor,gridSize:n.gridSize},JSON.stringify(o)})();if(null===e)return(0,l.zN)(t("编辑器尚未就绪")),!1;return(await o.$M.post(`save/${encodeURIComponent(y.current.props.save_path)}`,{context:e})).code===c.m.Success&&(x.current=!1,y.current.props.on_dirty?.(!1),y.current.props.on_saved?.(),(0,l.SK)(t("保存成功")),!0)};return(0,r.useEffect)(()=>{e.register?.({save:h,is_dirty:()=>x.current})},[e.register]),(0,r.useEffect)(()=>{let n=!1;return(async()=>{if(e.url){w(!0);try{const t=await s.l.get(e.url);if(n)return;const r=(0,d.parseScene)(t);if(!r)throw new Error("invalid excalidraw scene");g(r)}catch{n||(g(null),(0,l.zN)(t("加载画板失败")))}finally{n||w(!1)}}else g(null)})(),()=>{n=!0}},[e.url]),(0,r.useEffect)(()=>{const e=e=>{(e.ctrlKey||e.metaKey)&&("s"===e.key||"S"===e.key||83===e.keyCode)&&(e.preventDefault(),e.stopPropagation(),e.stopImmediatePropagation(),h())};return window.addEventListener("keydown",e,!0),document.addEventListener("keydown",e,!0),()=>{window.removeEventListener("keydown",e,!0),document.removeEventListener("keydown",e,!0)}},[]),(0,u.jsxs)("div",{className:"excalidraw-inline",children:[f&&(0,u.jsx)("div",{className:"common-box common-box-center",children:"Loading..."}),!f&&m&&(0,u.jsx)(a.Td,{langCode:"zh-CN",initialData:m,excalidrawAPI:e=>p(e),onChange:()=>{v.current?x.current||(x.current=!0,y.current.props.on_dirty?.(!0)):v.current=!0},onKeyDown:e=>!(!e.ctrlKey&&!e.metaKey||"s"!==e.key&&"S"!==e.key&&83!==e.keyCode)&&(e.preventDefault(),h(),!0),UIOptions:{dockedSidebarBreakpoint:0},children:(0,u.jsxs)(a.zU,{children:[(0,u.jsx)(a.zU.Item,{onSelect:()=>h(),children:t("保存到服务器")}),(0,u.jsxs)(a.zU.Group,{title:"Excalidraw items",children:[(0,u.jsx)(a.zU.DefaultItems.Export,{}),(0,u.jsx)(a.zU.DefaultItems.SaveAsImage,{}),(0,u.jsx)(a.zU.DefaultItems.ClearCanvas,{}),(0,u.jsx)(a.zU.DefaultItems.ToggleTheme,{}),(0,u.jsx)(a.zU.DefaultItems.ChangeCanvasBackground,{})]})]})},e.reset_key??e.url??"excalidraw")]})}},51953(e){e.exports="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMUlEQVQ4T2NkYGAQYcAP3uCTZhw1gGGYhAGBZIA/nYDCgBDAm9BGDWAAJyRCgLaBCAAgXwixzAS0pgAAAABJRU5ErkJggg=="},17834(e){e.exports='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>'},56933(e){e.exports='data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="292.4" height="292.4" viewBox="0 0 292 292"><path fill="%23ced4da" d="M287 197L159 69c-4-3-8-5-13-5s-9 2-13 5L5 197c-3 4-5 8-5 13s2 9 5 13c4 4 8 5 13 5h256c5 0 9-1 13-5s5-8 5-13-1-9-5-13z"/></svg>'}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[583],{15350(e,t,n){n.d(t,{m:()=>o});var i=n(86827),o=class{constructor(e){this.init=e,this.records=this.init()}static{(0,i.K)(this,"ImperativeState")}reset(){this.records=this.init()}}},77454(e,t,n){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}n.d(t,{S:()=>i}),(0,n(86827).K)(i,"populateCommonDb")},30583(e,t,n){n.d(t,{diagram:()=>W});var i=n(15350),o=n(77454),r=n(5637),s=n(43287),c=n(12505),a=n(86535),d=n(31293),l=n(86827),h=n(34376),p=/[─━│┃└┗├┣]/,g=/[└┗├┣]/,f=/[─━]/,u=/^[\s│┃]+$/,w=/^\s*(title[\t ]|accTitle[\t ]*:|accDescr[\t ]*[:{])/,x=/^\s*%%/;function m(e){return e.some(e=>p.test(e))}function b(e){for(const t of e){const e=g.exec(t);if(e?.index&&e.index>0)return e.index}return 4}function y(e,t){return e.replace(/\bline\s+(\d+)\b/gi,(e,n)=>{const i=parseInt(n,10),o=t.get(i);return o?`line ${o}`:e})}function k(e){const t=e.split("\n"),n=new Map;let i=-1;for(const[e,n]of t.entries())if("treeView-beta"===n.trim()){i=e;break}if(-1===i)return{text:e,lineMap:n};const o=[];for(let e=i+1;e<t.length;e++){const n=t[e];""===n.trim()||x.test(n)||w.test(n)||(u.test(n)||o.push(n.replace(/\t/g," ")))}if(!m(o))return{text:e,lineMap:n};const r=b(o),s=[];let c=0;for(let e=0;e<=i;e++)s.push(t[e]),c++,n.set(c,e+1);for(let e=i+1;e<t.length;e++){const i=t[e],o=e+1;if(""===i.trim()){s.push(i),c++,n.set(c,o);continue}if(x.test(i)){s.push(i),c++,n.set(c,o);continue}if(w.test(i)){s.push(i),c++,n.set(c,o);continue}if(u.test(i))continue;const a=i.replace(/\t/g," "),d=g.exec(a);if(void 0!==d?.index){const e=d.index,t=Math.round(e/r)+1;let i=e+1;for(;i<a.length&&f.test(a[i]);)i++;for(;i<a.length&&" "===a[i];)i++;const l=a.slice(i).trimEnd();if(!l)throw new Error(`Line ${o}: Empty node — expected a filename or directory name after the box-drawing prefix`);const h=" ".repeat(t);s.push(h+l),c++,n.set(c,o)}else{if(/^[\s─━│┃└┗├┣]+$/.test(a))continue;if(p.test(a))s.push(i),c++,n.set(c,o);else{if(/^\s+/.test(a))throw new Error(`Line ${o}: Unexpected indentation without box-drawing characters. In box-drawing format, use ├── or └── prefixes for indented nodes.`);s.push(i),c++,n.set(c,o)}}}return{text:s.join("\n"),lineMap:n}}(0,l.K)(m,"isBoxDrawingFormat"),(0,l.K)(b,"inferSegmentWidth"),(0,l.K)(y,"remapErrorLines"),(0,l.K)(k,"preprocessBoxDrawing");var $=new i.m(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",nodeType:"directory",children:[]}]})),v=(0,l.K)(()=>{$.reset(),(0,a.IU)()},"clear"),C=(0,l.K)(()=>$.records.stack[0],"getRoot"),K=(0,l.K)(()=>$.records.cnt,"getCount"),V=a.UI.treeView,B=(0,l.K)(()=>(0,c.$t)(V,(0,a.zj)().treeView),"getConfig"),T={clear:v,addNode:(0,l.K)((e,t,n,i,o,r)=>{for(;e<=$.records.stack[$.records.stack.length-1].level;)$.records.stack.pop();const s={id:$.records.cnt++,level:e,name:t,nodeType:n,icon:o,cssClass:i,description:r,children:[]};$.records.stack[$.records.stack.length-1].children.push(s),$.records.stack.push(s)},"addNode"),getRoot:C,getCount:K,getConfig:B,getAccTitle:a.iN,getAccDescription:a.m7,getDiagramTitle:a.ab,setAccDescription:a.EI,setAccTitle:a.SV,setDiagramTitle:a.ke},I=(0,l.K)(e=>{(0,o.S)(e,T);for(const t of e.nodes){const e="number"==typeof t.indent?t.indent:0;let n=t.name;const i=n.endsWith("/");i&&(n=n.slice(0,-1));const o=i?"directory":"file",r=t.classAnnotation||void 0,s=t.iconAnnotation,c=void 0!==s?s||"none":void 0,d=t.descAnnotation||void 0,l=d?(0,a.jZ)(d,(0,a.zj)()):void 0;T.addNode(e,n,o,r,c,l)}},"populate"),M={parse:(0,l.K)(async e=>{const{text:t,lineMap:n}=k(e);try{const e=await(0,h.qg)("treeView",t);d.R.debug(e),I(e)}catch(e){throw n.size>0&&e instanceof Error&&(e.message=y(e.message,n)),e}},"parse")},D={prefix:"mermaid-treeview",height:24,width:24,icons:{folder:{body:'<path fill="currentColor" d="M10.59 4.59A2 2 0 0 0 9.17 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.17z"/>'},file:{body:'<path fill="currentColor" fill-rule="evenodd" d="M6 2a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8.83a2 2 0 0 0-.59-1.42l-4.82-4.82A2 2 0 0 0 13.17 2H6Zm7.5 1.9l4.6 4.6h-3.6a1 1 0 0 1-1-1V3.9Z" clip-rule="evenodd"/>'}}};function A(e,t){const n=t?.filenameIcons?.[e];if(n)return n;const i=e.lastIndexOf(".");if(i>0){const n=e.substring(i).toLowerCase(),o=t?.extensionIcons;return o?.[n]??o?.[n.slice(1)]}}function E(e,t){return e.includes(":")?e:e in D.icons||!t?`${D.prefix}:${e}`:`${t}:${e}`}function S(e,t){if("none"!==e.icon){if(e.icon)return E(e.icon,t.defaultIconPack);if(t.showIcons){if("file"===e.nodeType){const n=A(e.name,t);if("none"===n)return;if(n)return E(n,t.defaultIconPack)}return`${D.prefix}:${"directory"===e.nodeType?"folder":"file"}`}}}(0,l.K)(A,"detectIcon"),(0,l.K)(E,"qualifyIcon"),(0,l.K)(S,"getNodeIcon"),(0,s.pC)([{name:D.prefix,icons:D}]);var z=(0,l.K)(async(e,t)=>{const n=[],i=(0,l.K)(e=>{const o=S(e,t);o&&n.push({icon:o,node:e}),e.children.forEach(i)},"collect");i(e);const o=await Promise.all(n.map(async({icon:e,node:t})=>({id:t.id,svg:await(0,s.WY)(e,{height:14,width:14})})));return new Map(o.map(({id:e,svg:t})=>[e,t]))},"resolveNodeIcons"),N=(0,l.K)((e,t,n,i,o,r)=>{const s=i.append("g");let c="treeView-node-label";"directory"===n.nodeType&&(c+=" treeView-node-dir"),n.cssClass&&(c+=` ${n.cssClass}`);const a=S(n,o),d=void 0!==a;a&&s.append("g").attr("class","treeView-node-icon").attr("transform",`translate(${e+o.paddingX}, ${t+o.paddingY})`).html(r.get(n.id)??"");const l=s.append("text").text(n.name).attr("dominant-baseline","middle").attr("class",c),{height:h,width:p}=l.node().getBBox(),g=h+2*o.paddingY,f=e+o.paddingX+(d?18:0);l.attr("x",f),l.attr("y",t+g/2);const u=f+p,w=p+2*o.paddingX+(d?18:0);return n.BBox={x:e,y:t,width:w,height:g},n.cssClass?.split(/\s+/).includes("highlight")&&s.insert("rect",":first-child").attr("x",e).attr("y",t+1).attr("width",0).attr("height",g-2).attr("rx",3).attr("class","treeView-highlight-bg"),{node:n,nodeGroup:s,labelRightEdge:u,centerY:t+g/2}},"positionLabel"),R=(0,l.K)((e,t,n,i,o,r)=>e.append("line").attr("x1",t).attr("y1",n).attr("x2",i).attr("y2",o).attr("stroke-width",r).attr("class","treeView-node-line"),"positionLine"),X=(0,l.K)((e,t,n,i)=>{let o=0,r=0;const s=[],c=(0,l.K)((e,t,n,c)=>{const a=c*(n.rowIndent+n.paddingX),d=N(a,o,t,e,n,i);s.push(d);const{height:l,width:h}=t.BBox;R(e,a-n.rowIndent,o+l/2,a,o+l/2,n.lineThickness),r=Math.max(r,a+h),o+=l},"drawNode"),a=(0,l.K)((t,i=0)=>{c(e,t,n,i),t.children.forEach(e=>{a(e,i+1)});const{x:o,y:r,height:s}=t.BBox;if(t.children.length){const{y:i,height:c}=t.children[t.children.length-1].BBox;R(e,o+n.paddingX,r+s,o+n.paddingX,i+c/2+n.lineThickness/2,n.lineThickness)}},"processNode");a(t);const d=s.filter(e=>e.node.description);if(d.length>0){const e=Math.max(...s.map(e=>e.labelRightEdge))+16;for(const t of d){const i=t.nodeGroup.append("text").text(t.node.description).attr("dominant-baseline","middle").attr("class","treeView-node-description").attr("x",e).attr("y",t.centerY).node().getBBox();r=Math.max(r,e+i.width+n.paddingX)}}for(const e of s)if(e.node.cssClass?.split(/\s+/).includes("highlight")){const t=e.nodeGroup.select(".treeView-highlight-bg");if(!t.empty()){const n=r-e.node.BBox.x+8;t.attr("width",n),r=Math.max(r,e.node.BBox.x+n+2)}}return{totalHeight:o,totalWidth:r}},"drawTree"),L={labelFontSize:"16px",labelColor:"black",lineColor:"black",iconColor:"#546e7a",descriptionColor:"#6a9955",highlightBg:"rgba(255, 193, 7, 0.15)",highlightStroke:"#ffc107"},W={db:T,renderer:{draw:(0,l.K)(async(e,t,n,i)=>{d.R.debug("Rendering treeView diagram\n"+e);const o=i.db,s=o.getRoot(),c=o.getConfig(),l=(0,r.D)(t),h=l.append("g");h.attr("class","tree-view");const p=await z(s,c),{totalHeight:g,totalWidth:f}=X(h,s,c,p);l.attr("viewBox",`-${c.lineThickness/2} 0 ${f} ${g}`),(0,a.a$)(l,g,f,c.useMaxWidth)},"draw")},parser:M,styles:(0,l.K)(({treeView:e})=>{const{labelFontSize:t,labelColor:n,lineColor:i,iconColor:o,descriptionColor:r,highlightBg:s,highlightStroke:a}=(0,c.$t)(L,e);return`\n .treeView-node-label {\n font-size: ${t};\n fill: ${n};\n white-space: pre;\n }\n .treeView-node-dir {\n font-weight: bold;\n }\n .treeView-node-line {\n stroke: ${i};\n }\n .treeView-node-icon {\n color: ${o};\n }\n .treeView-node-description {\n font-size: ${t};\n fill: ${r};\n font-style: italic;\n white-space: pre;\n }\n .treeView-highlight-bg {\n fill: ${s};\n stroke: ${a};\n stroke-width: 1;\n }\n `},"styles")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6089],{96089(a,e,c){c.d(e,{diagram:()=>s.AC});var s=c(27038);c(64918),c(96755),c(1672),c(841),c(10561),c(338),c(24980),c(27838),c(96865),c(48159),c(44505),c(69793),c(43287),c(12505),c(86535),c(31293),c(86827)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6164],{77454(e,t,n){function i(e,t){e.accDescr&&t.setAccDescription?.(e.accDescr),e.accTitle&&t.setAccTitle?.(e.accTitle),e.title&&t.setDiagramTitle?.(e.title)}n.d(t,{S:()=>i}),(0,n(86827).K)(i,"populateCommonDb")},19279(e,t,n){n.d(t,{$:()=>N,U:()=>B,db:()=>f});var i=n(5637),r=n(86535),a=n(31293),o=n(86827),l="",s="",d="",c=[],m=new Map,h=(0,o.K)(e=>(0,r.jZ)(e,(0,r.D7)()),"sanitizeText"),p=(0,o.K)(e=>{switch(e.type){case"terminal":return{...e,value:h(e.value)};case"nonterminal":return{...e,name:h(e.name)};case"sequence":return{...e,elements:e.elements.map(p)};case"choice":return{...e,alternatives:e.alternatives.map(p)};case"optional":return{...e,element:p(e.element)};case"repetition":return{...e,element:p(e.element),separator:e.separator?p(e.separator):void 0};case"special":return{...e,text:h(e.text)}}},"sanitizeAstNode"),u=(0,o.K)(()=>{l="",s="",d="",c.length=0,m.clear(),(0,r.IU)(),a.R.debug("[Railroad] Database cleared")},"clear"),g=(0,o.K)(e=>{l=h(e),a.R.debug("[Railroad] Title set:",e)},"setTitle"),T=(0,o.K)(()=>l,"getTitle"),f={clear:u,setTitle:g,getTitle:T,addRule:(0,o.K)(e=>{const t={...e,name:h(e.name),definition:p(e.definition),comment:e.comment?h(e.comment):void 0};a.R.debug("[Railroad] Adding rule:",t.name),m.has(t.name)&&a.R.warn(`[Railroad] Rule '${t.name}' is already defined. Overwriting.`),c.push(t),m.set(t.name,t)},"addRule"),getRules:(0,o.K)(()=>c,"getRules"),getRule:(0,o.K)(e=>m.get(e),"getRule"),setAccTitle:(0,o.K)(e=>{s=h(e).replace(/^\s+/g,""),a.R.debug("[Railroad] Accessibility title set:",e)},"setAccTitle"),getAccTitle:(0,o.K)(()=>s,"getAccTitle"),setAccDescription:(0,o.K)(e=>{d=h(e).replace(/\n\s+/g,"\n"),a.R.debug("[Railroad] Accessibility description set:",e)},"setAccDescription"),getAccDescription:(0,o.K)(()=>d,"getAccDescription"),setDiagramTitle:g,getDiagramTitle:T},x={compactMode:!1,padding:10,verticalSeparation:8,horizontalSeparation:10,arcRadius:10,fontSize:14,fontFamily:"monospace",terminalFill:"#FFFFC0",terminalStroke:"#000000",terminalTextColor:"#000000",nonTerminalFill:"#FFFFFF",nonTerminalStroke:"#000000",nonTerminalTextColor:"#000000",lineColor:"#000000",strokeWidth:2,markerFill:"#000000",commentFill:"#E8E8E8",commentStroke:"#888888",commentTextColor:"#666666",specialFill:"#F0E0FF",specialStroke:"#8800CC",ruleNameColor:"#000066",showMarkers:!0,markerRadius:5},w=/^#(?:[\da-f]{3,4}|[\da-f]{6}|[\da-f]{8})$|^(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch)\([\d\s%+,./-]+\)$|^[a-z]+$/i,k=/^[\w "',.-]+$/,C=new Set(["compactMode","padding","verticalSeparation","horizontalSeparation","arcRadius","fontSize","fontFamily","terminalFill","terminalStroke","terminalTextColor","nonTerminalFill","nonTerminalStroke","nonTerminalTextColor","lineColor","strokeWidth","markerFill","commentFill","commentStroke","commentTextColor","specialFill","specialStroke","ruleNameColor","showMarkers","markerRadius"]),F=(0,o.K)(e=>!!e&&Object.keys(e).every(e=>"railroad"===e||C.has(e)),"isRailroadStyleOptions"),S=(0,o.K)(e=>e?"railroad"in e&&e.railroad?e.railroad:F(e)?e:{}:{},"extractRailroadOverrides"),$=(0,o.K)(e=>{if(!e||F(e))return{};const{railroad:t,svgId:n,theme:i,look:r,...a}=e;return a},"extractThemeOverrides"),y=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;const n=e.trim();return w.test(n)?n:t},"sanitizeColorValue"),R=(0,o.K)((e,t)=>{if("string"!=typeof e)return t;const n=e.trim();return k.test(n)?n:t},"sanitizeFontFamilyValue"),b=(0,o.K)((e,t)=>{const n="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):Number.NaN;return Number.isFinite(n)&&n>=0?n:t},"sanitizeNumberValue"),v=(0,o.K)(e=>{const t="number"==typeof e?e:"string"==typeof e?Number.parseFloat(e):Number.NaN;return Number.isFinite(t)&&t>0?t:void 0},"parseThemeFontSize"),z=(0,o.K)(e=>{const t=R(e.fontFamily,x.fontFamily),n=v(e.fontSize)??x.fontSize;return{...x,fontFamily:t,fontSize:n,terminalFill:y(e.secondBkg??e.secondaryColor,x.terminalFill),terminalStroke:y(e.secondaryBorderColor??e.lineColor,x.terminalStroke),terminalTextColor:y(e.secondaryTextColor??e.textColor,x.terminalTextColor),nonTerminalFill:y(e.mainBkg??e.background,x.nonTerminalFill),nonTerminalStroke:y(e.primaryBorderColor??e.lineColor,x.nonTerminalStroke),nonTerminalTextColor:y(e.primaryTextColor??e.textColor,x.nonTerminalTextColor),lineColor:y(e.lineColor,x.lineColor),markerFill:y(e.lineColor,x.markerFill),commentFill:y(e.labelBackground??e.tertiaryColor,x.commentFill),commentStroke:y(e.tertiaryBorderColor??e.lineColor,x.commentStroke),commentTextColor:y(e.tertiaryTextColor??e.textColor,x.commentTextColor),specialFill:y(e.tertiaryColor??e.secondaryColor,x.specialFill),specialStroke:y(e.tertiaryBorderColor??e.secondaryBorderColor,x.specialStroke),ruleNameColor:y(e.titleColor??e.textColor,x.ruleNameColor)}},"buildThemeDefaults"),K=(0,o.K)(e=>{const t=(0,r.zj)(),n={...(0,r.P$)(),...t.themeVariables??{},...$(e)},i=z(n),a={...t.railroad??{},...S(e)};return{compactMode:a.compactMode??i.compactMode,padding:b(a.padding,i.padding),verticalSeparation:b(a.verticalSeparation,i.verticalSeparation),horizontalSeparation:b(a.horizontalSeparation,i.horizontalSeparation),arcRadius:b(a.arcRadius,i.arcRadius),fontSize:b(a.fontSize,i.fontSize),fontFamily:R(a.fontFamily,i.fontFamily),terminalFill:y(a.terminalFill,i.terminalFill),terminalStroke:y(a.terminalStroke,i.terminalStroke),terminalTextColor:y(a.terminalTextColor,i.terminalTextColor),nonTerminalFill:y(a.nonTerminalFill,i.nonTerminalFill),nonTerminalStroke:y(a.nonTerminalStroke,i.nonTerminalStroke),nonTerminalTextColor:y(a.nonTerminalTextColor,i.nonTerminalTextColor),lineColor:y(a.lineColor,i.lineColor),strokeWidth:b(a.strokeWidth,i.strokeWidth),markerFill:y(a.markerFill,i.markerFill),commentFill:y(a.commentFill,i.commentFill),commentStroke:y(a.commentStroke,i.commentStroke),commentTextColor:y(a.commentTextColor,i.commentTextColor),specialFill:y(a.specialFill,i.specialFill),specialStroke:y(a.specialStroke,i.specialStroke),ruleNameColor:y(a.ruleNameColor,i.ruleNameColor),showMarkers:a.showMarkers??i.showMarkers,markerRadius:b(a.markerRadius,i.markerRadius)}},"buildRailroadStyleOptions"),N=(0,o.K)(e=>{const{fontFamily:t,fontSize:n,terminalFill:i,terminalStroke:r,terminalTextColor:a,nonTerminalFill:o,nonTerminalStroke:l,nonTerminalTextColor:s,lineColor:d,strokeWidth:c,markerFill:m,commentFill:h,commentStroke:p,commentTextColor:u,specialFill:g,specialStroke:T,ruleNameColor:f}=K(e);return`\n .railroad-diagram {\n font-family: ${t};\n font-size: ${n}px;\n }\n\n .railroad-terminal rect {\n fill: ${i};\n stroke: ${r};\n stroke-width: ${c}px;\n }\n\n .railroad-terminal text {\n fill: ${a};\n font-family: ${t};\n font-size: ${n}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-nonterminal rect {\n fill: ${o};\n stroke: ${l};\n stroke-width: ${c}px;\n }\n\n .railroad-nonterminal text {\n fill: ${s};\n font-family: ${t};\n font-size: ${n}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-line {\n stroke: ${d};\n stroke-width: ${c}px;\n fill: none;\n }\n\n .railroad-start circle,\n .railroad-end circle {\n fill: ${m};\n }\n\n .railroad-comment ellipse {\n fill: ${h};\n stroke: ${p};\n stroke-width: ${c}px;\n }\n\n .railroad-comment text {\n fill: ${u};\n font-style: italic;\n font-family: ${t};\n font-size: ${n}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-special rect {\n fill: ${g};\n stroke: ${T};\n stroke-width: ${c}px;\n stroke-dasharray: 5,3;\n }\n\n .railroad-special text {\n fill: ${s};\n font-family: ${t};\n font-size: ${n}px;\n text-anchor: middle;\n dominant-baseline: middle;\n }\n\n .railroad-rule-name {\n font-weight: bold;\n fill: ${f};\n font-family: ${t};\n font-size: ${n}px;\n }\n\n .railroad-group {\n /* Grouping container, no specific styles */\n }\n`},"getStyles"),M=class{constructor(){this.d=""}static{(0,o.K)(this,"PathBuilder")}moveTo(e,t){return this.d+=`M ${e} ${t} `,this}lineTo(e,t){return this.d+=`L ${e} ${t} `,this}horizontalTo(e){return this.d+=`H ${e} `,this}verticalTo(e){return this.d+=`V ${e} `,this}arcTo(e,t,n,i,r,a,o){return this.d+=`A ${e} ${t} ${n} ${i?1:0} ${r?1:0} ${a} ${o} `,this}build(){return this.d.trim()}},A=class{constructor(e,t=K()){this.textCache=new Map,this.svg=e,this.config=t}static{(0,o.K)(this,"RailroadRenderer")}measureText(e){if(this.textCache.has(e))return this.textCache.get(e);const t=this.svg.append("text").attr("font-family",this.config.fontFamily).attr("font-size",this.config.fontSize).text(e),n=t.node().getBBox(),i={width:n.width,height:n.height};return t.remove(),this.textCache.set(e,i),i}renderTerminal(e,t){const n=this.measureText(t),i=n.width+2*this.config.padding,r=n.height+2*this.config.padding,a=e.append("g").attr("class","railroad-terminal");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",r).attr("rx",10).attr("ry",10),a.append("text").attr("x",i/2).attr("y",r/2).text(t),{element:a.node(),dimensions:{width:i,height:r,up:r/2,down:r/2}}}renderNonTerminal(e,t){const n=this.measureText(t),i=n.width+2*this.config.padding,r=n.height+2*this.config.padding,a=e.append("g").attr("class","railroad-nonterminal");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",r),a.append("text").attr("x",i/2).attr("y",r/2).text(t),{element:a.node(),dimensions:{width:i,height:r,up:r/2,down:r/2}}}renderSequence(e,t){const n=t.map(t=>this.renderExpression(e,t));let i=0,r=0,a=0;for(const e of n)i+=e.dimensions.width,r=Math.max(r,e.dimensions.up),a=Math.max(a,e.dimensions.down);i+=(n.length-1)*this.config.horizontalSeparation;const o=e.append("g").attr("class","railroad-sequence");let l=0;for(let e=0;e<n.length;e++){const t=n[e],i=r-t.dimensions.up;if(o.node().appendChild(t.element).setAttribute("transform",`translate(${l}, ${i})`),e<n.length-1){const e=l+t.dimensions.width,n=e+this.config.horizontalSeparation,i=r;o.append("path").attr("class","railroad-line").attr("d",(new M).moveTo(e,i).lineTo(n,i).build())}l+=t.dimensions.width+this.config.horizontalSeparation}return{element:o.node(),dimensions:{width:i,height:r+a,up:r,down:a}}}renderChoice(e,t){const n=t.map(t=>this.renderExpression(e,t));let i=0,r=0;for(const e of n)i=Math.max(i,e.dimensions.width),r+=e.dimensions.height;r+=(n.length-1)*this.config.verticalSeparation;const a=this.config.arcRadius,o=i+4*a,l=e.append("g").attr("class","railroad-choice");let s=0;const d=r/2;for(const e of n){const t=s,n=t+e.dimensions.up,r=2*a+(i-e.dimensions.width)/2;l.node().appendChild(e.element).setAttribute("transform",`translate(${r}, ${t})`);const c=new M,m=n>d;n===d?c.moveTo(0,d).lineTo(r,n):c.moveTo(0,d).arcTo(a,a,0,!1,m,a,d+(m?a:-a)).lineTo(a,n-(m?a:-a)).arcTo(a,a,0,!1,!m,2*a,n).lineTo(r,n),l.append("path").attr("class","railroad-line").attr("d",c.build());const h=new M,p=r+e.dimensions.width,u=o-2*a;n===d?h.moveTo(p,n).lineTo(o,d):h.moveTo(p,n).lineTo(u,n).arcTo(a,a,0,!1,!m,o-a,n+(m?-a:a)).lineTo(o-a,d+(m?a:-a)).arcTo(a,a,0,!1,m,o,d),l.append("path").attr("class","railroad-line").attr("d",h.build()),s+=e.dimensions.height+this.config.verticalSeparation}return{element:l.node(),dimensions:{width:o,height:r,up:d,down:r-d}}}renderOptional(e,t){const n=this.renderExpression(e,t),i=this.config.arcRadius,r=2*i,a=n.dimensions.width+4*i,o=n.dimensions.height+r,l=e.append("g").attr("class","railroad-optional"),s=2*i,d=r;l.node().appendChild(n.element).setAttribute("transform",`translate(${s}, ${d})`);const c=d+n.dimensions.up,m=(new M).moveTo(0,c).lineTo(2*i,c);l.append("path").attr("class","railroad-line").attr("d",m.build());const h=(new M).moveTo(s+n.dimensions.width,c).lineTo(a,c);l.append("path").attr("class","railroad-line").attr("d",h.build());const p=(new M).moveTo(0,c).arcTo(i,i,0,!1,!1,i,c-i).lineTo(i,i).arcTo(i,i,0,!1,!0,2*i,0).lineTo(a-2*i,0).arcTo(i,i,0,!1,!0,a-i,i).lineTo(a-i,c-i).arcTo(i,i,0,!1,!1,a,c);return l.append("path").attr("class","railroad-line").attr("d",p.build()),{element:l.node(),dimensions:{width:a,height:o,up:c,down:o-c}}}renderRepetition(e,t,n){const i=this.renderExpression(e,t),r=this.config.arcRadius,a=2*r,o=i.dimensions.width+4*r,l=0===n,s=i.dimensions.height+a+(l?a:0),d=e.append("g").attr("class","railroad-repetition"),c=2*r,m=l?a:0;d.node().appendChild(i.element).setAttribute("transform",`translate(${c}, ${m})`);const h=m+i.dimensions.up;d.append("path").attr("class","railroad-line").attr("d",(new M).moveTo(0,h).lineTo(2*r,h).build()),d.append("path").attr("class","railroad-line").attr("d",(new M).moveTo(c+i.dimensions.width,h).lineTo(o,h).build());const p=m+i.dimensions.height+r,u=(new M).moveTo(c+i.dimensions.width,h).arcTo(r,r,0,!1,!0,c+i.dimensions.width+r,h+r).lineTo(c+i.dimensions.width+r,p).arcTo(r,r,0,!1,!0,c+i.dimensions.width,p+r).lineTo(2*r,p+r).arcTo(r,r,0,!1,!0,r,p).lineTo(r,h+r).arcTo(r,r,0,!1,!0,2*r,h);if(d.append("path").attr("class","railroad-line").attr("d",u.build()),l){const e=(new M).moveTo(0,h).arcTo(r,r,0,!1,!1,r,h-r).lineTo(r,r).arcTo(r,r,0,!1,!0,2*r,0).lineTo(o-2*r,0).arcTo(r,r,0,!1,!0,o-r,r).lineTo(o-r,h-r).arcTo(r,r,0,!1,!1,o,h);d.append("path").attr("class","railroad-line").attr("d",e.build())}return{element:d.node(),dimensions:{width:o,height:s,up:h,down:s-h}}}renderSpecial(e,t){const n=this.measureText("? "+t+" ?"),i=n.width+2*this.config.padding,r=n.height+2*this.config.padding,a=e.append("g").attr("class","railroad-special");return a.append("rect").attr("x",0).attr("y",0).attr("width",i).attr("height",r),a.append("text").attr("x",i/2).attr("y",r/2).text("? "+t+" ?"),{element:a.node(),dimensions:{width:i,height:r,up:r/2,down:r/2}}}renderExpression(e,t){switch(t.type){case"terminal":return this.renderTerminal(e,t.value);case"nonterminal":return this.renderNonTerminal(e,t.name);case"sequence":return this.renderSequence(e,t.elements);case"choice":return this.renderChoice(e,t.alternatives);case"optional":return this.renderOptional(e,t.element);case"repetition":return this.renderRepetition(e,t.element,t.min);case"special":return this.renderSpecial(e,t.text);default:throw new Error(`Unknown node type: ${t.type}`)}}renderRule(e,t){const n=this.svg.append("g").attr("class","railroad-rule").attr("transform",`translate(0, ${t})`),i=e.name+" =",r=this.measureText(i).width+20,a=r+20,o=n.append("g"),l=this.renderExpression(o,e.definition),s=Math.max(20,l.dimensions.up),d=s-l.dimensions.up;o.attr("transform",`translate(${a}, ${d})`);n.append("g").attr("class","railroad-rule-name-group").append("text").attr("class","railroad-rule-name").attr("x",0).attr("y",s).text(i);n.append("g").attr("class","railroad-start").append("circle").attr("cx",r).attr("cy",s).attr("r",this.config.markerRadius);return n.append("g").attr("class","railroad-end").append("circle").attr("cx",a+l.dimensions.width+10).attr("cy",s).attr("r",this.config.markerRadius),n.append("path").attr("class","railroad-line").attr("d",(new M).moveTo(r+this.config.markerRadius,s).lineTo(a,s).build()),n.append("path").attr("class","railroad-line").attr("d",(new M).moveTo(a+l.dimensions.width,s).lineTo(a+l.dimensions.width+10-this.config.markerRadius,s).build()),{height:Math.max(40,d+l.dimensions.height+2*this.config.padding),width:a+l.dimensions.width+10+this.config.markerRadius}}renderDiagram(e){let t=this.config.padding,n=0;for(const i of e){const e=this.renderRule(i,t);t+=e.height+this.config.verticalSeparation,n=Math.max(n,e.width)}return{width:n+2*this.config.padding,height:t+this.config.padding}}},D=(0,o.K)((e,t,n)=>{(0,r.a$)(e,t.height,t.width,n),e.attr("viewBox",`0 0 ${t.width} ${t.height}`)},"configureRailroadSvgSize"),B={draw:(0,o.K)((e,t,n)=>{a.R.debug("[Railroad] Rendering diagram\n"+e);try{const e=(0,i.D)(t);e.attr("class","railroad-diagram");const n=(0,r.zj)().railroad,o=n?.useMaxWidth??!0,l=f.getRules();if(a.R.debug(`[Railroad] Rendering ${l.length} rules`),0===l.length)return a.R.warn("[Railroad] No rules to render"),void D(e,{height:100,width:200},o);const s=new A(e,K()).renderDiagram(l);D(e,s,o),a.R.debug("[Railroad] Render complete")}catch(e){throw a.R.error("[Railroad] Render error:",e),e}},"draw")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[6284],{64918(t,e,n){n.d(e,{o:()=>i});var i=(0,n(86827).K)(()=>"\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n","getIconStyles")},16284(t,e,n){n.d(e,{diagram:()=>C});var i=n(5637),s=n(64918),r=n(841),o=n(24980),a=n(96865),c=(n(48159),n(44505),n(69793),n(43287),n(12505),n(86535)),l=n(31293),h=n(86827),u=n(5097),g=n(78041),d=n(75263),p=function(){var t=(0,h.K)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,4],n=[1,13],i=[1,12],s=[1,15],r=[1,16],o=[1,20],a=[1,19],c=[6,7,8],l=[1,26],u=[1,24],g=[1,25],d=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],k=[1,6,7,11,13,16,17,20,23],_=[1,38],E={trace:(0,h.K)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,h.K)(function(t,e,n,i,s,r,o){var a=r.length-1;switch(s){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",r[a-1].id),i.addNode(r[a-2].length,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 16:i.getLogger().info("Node: ",r[a].id),i.addNode(r[a-1].length,r[a].id,r[a].descr,r[a].type);break;case 17:i.getLogger().trace("Icon: ",r[a]),i.decorateNode({icon:r[a]});break;case 18:case 23:i.decorateNode({class:r[a]});break;case 19:i.getLogger().trace("SPACELIST");break;case 20:i.getLogger().trace("Node: ",r[a-1].id),i.addNode(0,r[a-1].id,r[a-1].descr,r[a-1].type,r[a]);break;case 21:i.getLogger().trace("Node: ",r[a].id),i.addNode(0,r[a].id,r[a].descr,r[a].type);break;case 22:i.decorateNode({icon:r[a]});break;case 27:i.getLogger().trace("node found ..",r[a-2]),this.$={id:r[a-1],descr:r[a-1],type:i.getType(r[a-2],r[a])};break;case 28:this.$={id:r[a],descr:r[a],type:0};break;case 29:i.getLogger().trace("node found ..",r[a-3]),this.$={id:r[a-3],descr:r[a-1],type:i.getType(r[a-2],r[a])};break;case 30:this.$=r[a-1]+r[a];break;case 31:this.$=r[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:n,7:[1,10],9:9,12:11,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(c,[2,3]),{1:[2,2]},t(c,[2,4]),t(c,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:n,9:22,12:11,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},{6:l,7:u,10:23,11:g},t(d,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:o,23:a}),t(d,[2,19]),t(d,[2,21],{15:30,24:p}),t(d,[2,22]),t(d,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:l,7:u,10:34,11:g},{1:[2,7],6:n,12:21,13:i,14:14,16:s,17:r,18:17,19:18,20:o,23:a},t(f,[2,14],{7:m,11:b}),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(d,[2,16],{15:37,24:p}),t(d,[2,17]),t(d,[2,18]),t(d,[2,20],{24:_}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(k,[2,11]),t(k,[2,12]),t(d,[2,15],{24:_}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,h.K)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,h.K)(function(t){var e=this,n=[0],i=[],s=[null],r=[],o=this.table,a="",c=0,l=0,u=0,g=r.slice.call(arguments,1),d=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);d.setInput(t,p.yy),p.yy.lexer=d,p.yy.parser=this,void 0===d.yylloc&&(d.yylloc={});var f=d.yylloc;r.push(f);var m=d.options&&d.options.ranges;function b(){var t;return"number"!=typeof(t=i.pop()||d.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"==typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,h.K)(function(t){n.length=n.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,h.K)(b,"lex");for(var k,_,E,S,N,x,D,L,I,v={};;){if(E=n[n.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null==k&&(k=b()),S=o[E]&&o[E][k]),void 0===S||!S.length||!S[0]){var C="";for(x in I=[],o[E])this.terminals_[x]&&x>2&&I.push("'"+this.terminals_[x]+"'");C=d.showPosition?"Parse error on line "+(c+1)+":\n"+d.showPosition()+"\nExpecting "+I.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:d.match,token:this.terminals_[k]||k,line:d.yylineno,loc:f,expected:I})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+k);switch(S[0]){case 1:n.push(k),s.push(d.yytext),r.push(d.yylloc),n.push(S[1]),k=null,_?(k=_,_=null):(l=d.yyleng,a=d.yytext,c=d.yylineno,f=d.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[S[1]][1],v.$=s[s.length-D],v._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},m&&(v._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),void 0!==(N=this.performAction.apply(v,[a,l,c,p.yy,S[1],s,r].concat(g))))return N;D&&(n=n.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),n.push(this.productions_[S[1]][0]),s.push(v.$),r.push(v._$),L=o[n[n.length-2]][n[n.length-1]],n.push(L);break;case 3:return!0}}return!0},"parse")},S=function(){return{EOF:1,parseError:(0,h.K)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,h.K)(function(t,e){return this.yy=e||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,h.K)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,h.K)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),n.length-1&&(this.yylineno-=n.length-1);var s=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,h.K)(function(){return this._more=!0,this},"more"),reject:(0,h.K)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,h.K)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,h.K)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,h.K)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,h.K)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,h.K)(function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1},"test_match"),next:(0,h.K)(function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;r<s.length;r++)if((n=this._input.match(this.rules[s[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,h.K)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,h.K)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,h.K)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,h.K)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,h.K)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,h.K)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,h.K)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,h.K)(function(t,e,n,i){switch(n){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const n=/\n\s*/g;return e.yytext=e.yytext.replace(n,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}}}();function N(){this.yy={}}return E.lexer=S,(0,h.K)(N,"Parser"),N.prototype=E,E.Parser=N,new N}();p.parser=p;var y=p,f=[],m=[],b=0,k={},_=(0,h.K)(()=>{f=[],m=[],b=0,k={}},"clear"),E=(0,h.K)(t=>{if(0===f.length)return null;const e=f[0].level;let n=null;for(let t=f.length-1;t>=0;t--)if(f[t].level!==e||n||(n=f[t]),f[t].level<e)throw new Error('Items without section detected, found section ("'+f[t].label+'")');return t===n?.level?null:n},"getSection"),S=(0,h.K)(function(){return m},"getSections"),N=(0,h.K)(function(){const t=[],e=S(),n=(0,c.D7)();for(const i of e){const e={id:i.id,label:(0,c.jZ)(i.label??"",n),labelType:"markdown",isGroup:!0,ticket:i.ticket,shape:"kanbanSection",level:i.level,look:n.look};t.push(e);const s=f.filter(t=>t.parentId===i.id);for(const e of s){const s={id:e.id,parentId:i.id,label:(0,c.jZ)(e.label??"",n),labelType:"markdown",isGroup:!1,ticket:e?.ticket,priority:e?.priority,assigned:e?.assigned,icon:e?.icon,shape:"kanbanItem",level:e.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(s)}}return{nodes:t,edges:[],other:{},config:(0,c.D7)()}},"getData"),x=(0,h.K)((t,e,n,i,s)=>{const o=(0,c.D7)();let a=o.mindmap?.padding??c.UI.mindmap.padding;switch(i){case D.ROUNDED_RECT:case D.RECT:case D.HEXAGON:a*=2}const l={id:(0,c.jZ)(e,o)||"kbn"+b++,level:t,label:(0,c.jZ)(n,o),width:o.mindmap?.maxNodeWidth??c.UI.mindmap.maxNodeWidth,padding:a,isGroup:!1};if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}";const e=(0,r.H)(t,{schema:r.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw new Error(`No such shape: ${e.shape}. Shape names should be lowercase.`);e?.shape&&"kanbanItem"===e.shape&&(l.shape=e?.shape),e?.label&&(l.label=e?.label),e?.icon&&(l.icon=e?.icon.toString()),e?.assigned&&(l.assigned=e?.assigned.toString()),e?.ticket&&(l.ticket=e?.ticket.toString()),e?.priority&&(l.priority=e?.priority)}const h=E(t);h?l.parentId=h.id||"kbn"+b++:m.push(l),f.push(l)},"addNode"),D={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},L={clear:_,addNode:x,getSections:S,getData:N,nodeType:D,getType:(0,h.K)((t,e)=>{switch(l.R.debug("In get type",t,e),t){case"[":return D.RECT;case"(":return")"===e?D.ROUNDED_RECT:D.CLOUD;case"((":return D.CIRCLE;case")":return D.CLOUD;case"))":return D.BANG;case"{{":return D.HEXAGON;default:return D.DEFAULT}},"getType"),setElementForId:(0,h.K)((t,e)=>{k[t]=e},"setElementForId"),decorateNode:(0,h.K)(t=>{if(!t)return;const e=(0,c.D7)(),n=f[f.length-1];t.icon&&(n.icon=(0,c.jZ)(t.icon,e)),t.class&&(n.cssClasses=(0,c.jZ)(t.class,e))},"decorateNode"),type2Str:(0,h.K)(t=>{switch(t){case D.DEFAULT:return"no-border";case D.RECT:return"rect";case D.ROUNDED_RECT:return"rounded-rect";case D.CIRCLE:return"circle";case D.CLOUD:return"cloud";case D.BANG:return"bang";case D.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),getLogger:(0,h.K)(()=>l.R,"getLogger"),getElementById:(0,h.K)(t=>k[t],"getElementById")},I={draw:(0,h.K)(async(t,e,n,s)=>{l.R.debug("Rendering kanban diagram\n"+t);const r=s.db.getData(),h=(0,c.D7)();h.htmlLabels=!1;const u=(0,i.D)(e);for(const t of r.nodes)t.domId=`${e}-${t.id}`;const g=u.append("g");g.attr("class","sections");const d=u.append("g");d.attr("class","items");const p=r.nodes.filter(t=>t.isGroup);let y=0;const f=[];let m=25;for(const t of p){const e=h?.kanban?.sectionWidth||200;y+=1,t.x=e*y+10*(y-1)/2,t.width=e,t.y=0,t.height=3*e,t.rx=5,t.ry=5,t.cssClasses=t.cssClasses+" section-"+y;const n=await(0,o.U)(g,t);m=Math.max(m,n?.labelBBox?.height),f.push(n)}let b=0;for(const t of p){const e=f[b];b+=1;const n=h?.kanban?.sectionWidth||200,i=3*-n/2+m;let s=i;const o=r.nodes.filter(e=>e.parentId===t.id);for(const e of o){if(e.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");e.x=t.x,e.width=n-15;const i=(await(0,a.on)(d,e,{config:h})).node().getBBox();e.y=s+i.height/2,await(0,a.U_)(e),s=e.y+i.height/2+5}const c=e.cluster.select("rect"),l=Math.max(s-i+30,50)+(m-25);c.attr("height",l)}(0,c.ot)(void 0,u,h.mindmap?.padding??c.UI.kanban.padding,h.mindmap?.useMaxWidth??c.UI.kanban.useMaxWidth)},"draw")},v=(0,h.K)(t=>{let e="";for(let e=0;e<t.THEME_COLOR_LIMIT;e++)t["lineColor"+e]=t["lineColor"+e]||t["cScaleInv"+e],(0,u.A)(t["lineColor"+e])?t["lineColor"+e]=(0,g.A)(t["lineColor"+e],20):t["lineColor"+e]=(0,d.A)(t["lineColor"+e],20);const n=(0,h.K)((e,n)=>t.darkMode?(0,d.A)(e,n):(0,g.A)(e,n),"adjuster");for(let i=0;i<t.THEME_COLOR_LIMIT;i++){const s=""+(17-3*i);e+=`\n .section-${i-1} rect, .section-${i-1} path, .section-${i-1} circle, .section-${i-1} polygon, .section-${i-1} path {\n fill: ${n(t["cScale"+i],10)};\n stroke: ${n(t["cScale"+i],10)};\n\n }\n .section-${i-1} text {\n fill: ${t["cScaleLabel"+i]};\n }\n .node-icon-${i-1} {\n font-size: 40px;\n color: ${t["cScaleLabel"+i]};\n }\n .section-edge-${i-1}{\n stroke: ${t["cScale"+i]};\n }\n .edge-depth-${i-1}{\n stroke-width: ${s};\n }\n .section-${i-1} line {\n stroke: ${t["cScaleInv"+i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${t.background};\n stroke: ${t.nodeBorder};\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ${t.background};\n stroke: ${t.nodeBorder};\n text-decoration: underline;\n }\n `}return e},"genSections"),C={db:L,renderer:I,parser:y,styles:(0,h.K)(t=>`\n .edge {\n stroke-width: 3;\n }\n ${v(t)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${t.git0};\n }\n .section-root text {\n fill: ${t.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${t.textColor};\n fill: ${t.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n ${(0,s.o)()}\n`,"getStyles")}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunkfilecat=self.webpackChunkfilecat||[]).push([[629],{77454(t,e,n){function a(t,e){t.accDescr&&e.setAccDescription?.(t.accDescr),t.accTitle&&e.setAccTitle?.(t.accTitle),t.title&&e.setDiagramTitle?.(t.title)}n.d(e,{S:()=>a}),(0,n(86827).K)(a,"populateCommonDb")},53010(t,e,n){n.d(e,{diagram:()=>A});var a=n(77454),r=n(5637),i=n(12505),o=n(86535),c=n(31293),s=n(86827),l=n(34376),d=(0,s.K)(()=>({domains:new Map,transitions:[]}),"createDefaultData"),f=d(),p={getDomains:(0,s.K)(()=>f.domains,"getDomains"),getTransitions:(0,s.K)(()=>f.transitions,"getTransitions"),setDomains:(0,s.K)(t=>{if(t)for(const e of t){const t=e.domain,n=(e.items??[]).map(t=>({label:t.label}));f.domains.set(t,{name:t,items:n})}},"setDomains"),setTransitions:(0,s.K)(t=>{t&&(f.transitions=t.filter(t=>t.from!==t.to||(c.R.warn(`Cynefin: self-loop transition on domain "${t.from}" is not meaningful and will be skipped.`),!1)).map(t=>({from:t.from,to:t.to,label:t.label||void 0})))},"setTransitions"),getConfig:(0,s.K)(()=>(0,i.$t)({...o.UI.cynefin,...(0,o.zj)().cynefin}),"getConfig"),clear:(0,s.K)(()=>{(0,o.IU)(),f=d()},"clear"),setAccTitle:o.SV,getAccTitle:o.iN,setDiagramTitle:o.ke,getDiagramTitle:o.ab,getAccDescription:o.m7,setAccDescription:o.EI},m=(0,s.K)(t=>{(0,a.S)(t,p),p.setDomains(t.domains),p.setTransitions(t.transitions)},"populate"),y={parse:(0,s.K)(async t=>{const e=await(0,l.qg)("cynefin",t);c.R.debug(e),m(e)},"parse")};function x(t){let e=t+1831565813|0;return e=Math.imul(e^e>>>15,1|e),e^=e+Math.imul(e^e>>>7,61|e),((e^e>>>14)>>>0)/4294967296}function h(t){let e=0;for(let n=0;n<t.length;n++){e=(e<<5)-e+t.charCodeAt(n),e|=0}return e}function $(t,e){return"number"==typeof t&&Number.isFinite(t)&&0!==t?t:h(e)}function g(t,e,n,a){const r=t/2,i=a??.015*t,o=e/7,c=[];for(let t=0;t<=7;t++){const e=x(n+17*t)*i*2-i;c.push({x:r+e,y:t*o})}let s=`M${c[0].x},${c[0].y}`;for(let t=0;t<c.length-1;t++){const e=c[t],a=c[t+1],r=(e.y+a.y)/2,o=1.5*i*(t%2==0?1:-1)*x(n+31*t+7);s+=` C${e.x+o},${r} ${a.x-o},${r} ${a.x},${a.y}`}return s}function u(t,e,n,a){const r=e/2,i=a??.015*e,o=t/7,c=[];for(let t=0;t<=7;t++){const e=x(n+23*t)*i*2-i;c.push({x:t*o,y:r+e})}let s=`M${c[0].x},${c[0].y}`;for(let t=0;t<c.length-1;t++){const e=c[t],a=c[t+1],r=(e.x+a.x)/2,o=1.5*i*(t%2==0?1:-1)*x(n+37*t+11);s+=` C${r},${e.y+o} ${r},${a.y-o} ${a.x},${a.y}`}return s}function b(t,e){const n=t/2,a=.5*e,r=.03*t;return[`M${n},${a}`,`C${n+r},${a+.2*(e-a)}`,`${n-1.5*r},${a+.55*(e-a)}`,`${n+.5*r},${a+.75*(e-a)}`,`C${n-r},${a+.85*(e-a)}`,`${n+.3*r},${a+.95*(e-a)}`,`${n},${e}`].join(" ")}function w(t,e,n,a){return[`M${t-n},${e}`,`A${n},${a} 0 1,1 ${t+n},${e}`,`A${n},${a} 0 1,1 ${t-n},${e}`,"Z"].join(" ")}(0,s.K)(x,"seededRandom"),(0,s.K)(h,"hashString"),(0,s.K)($,"resolveSeed"),(0,s.K)(g,"generateFoldPath"),(0,s.K)(u,"generateHorizontalBoundary"),(0,s.K)(b,"generateCliffPath"),(0,s.K)(w,"generateConfusionPath");var C={complex:{model:"Probe → Sense → Respond",practice:"Emergent Practices"},complicated:{model:"Sense → Analyse → Respond",practice:"Good Practices"},clear:{model:"Sense → Categorise → Respond",practice:"Best Practices"},chaotic:{model:"Act → Sense → Respond",practice:"Novel Practices"},confusion:{model:"",practice:"Disorder"}},k=(0,s.K)((t,e)=>{const n=t/2,a=e/2;return{complex:{cx:n/2,cy:a/2,x:0,y:0,w:n,h:a},complicated:{cx:n+n/2,cy:a/2,x:n,y:0,w:n,h:a},chaotic:{cx:n/2,cy:a+a/2,x:0,y:a,w:n,h:a},clear:{cx:n+n/2,cy:a+a/2,x:n,y:a,w:n,h:a},confusion:{cx:n,cy:a,x:.7*n,y:.7*a,w:.6*n,h:.6*a}}},"getDomainLayouts"),D=(0,s.K)(()=>{const t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinDomainColors"),K={draw:(0,s.K)((t,e,n,a)=>{const i=a.db,s=i.getDomains(),l=i.getTransitions(),d=i.getDiagramTitle(),f=i.getAccTitle(),p=i.getAccDescription(),m=i.getConfig(),y=D();c.R.debug("Rendering Cynefin diagram");const x=m.width,h=m.height,K=m.padding,T=m.showDomainDescriptions,A=m.boundaryAmplitude,B=x+2*K,S=h+2*K,z={complex:y.complexBg,complicated:y.complicatedBg,clear:y.clearBg,chaotic:y.chaoticBg,confusion:y.confusionBg},v=(0,r.D)(e);(0,o.a$)(v,S,B,m.useMaxWidth??!0),v.attr("viewBox",`0 0 ${B} ${S}`),f&&v.append("title").text(f),p&&v.append("desc").text(p);const M=v.append("g").attr("transform",`translate(${K}, ${K})`),I=k(x,h),L=$(m.seed,e),P=M.append("g").attr("class","cynefin-backgrounds"),R=["complex","complicated","chaotic","clear"];for(const t of R){const e=I[t];P.append("rect").attr("class","cynefinDomain").attr("x",e.x).attr("y",e.y).attr("width",e.w).attr("height",e.h).attr("fill",z[t]).attr("fill-opacity",.4).attr("stroke","none")}const F=M.append("g").attr("class","cynefin-boundaries");F.append("path").attr("class","cynefinBoundary").attr("d",g(x,h,L,A)).attr("fill","none"),F.append("path").attr("class","cynefinBoundary").attr("d",u(x,h,L+100,A)).attr("fill","none"),F.append("path").attr("class","cynefinCliff").attr("d",b(x,h)).attr("fill","none");const j=.15*x,W=.15*h;M.append("path").attr("class","cynefinConfusion").attr("d",w(x/2,h/2,j,W)).attr("fill",z.confusion).attr("fill-opacity",.5);const E=M.append("g").attr("class","cynefin-labels");for(const t of R){const e=I[t];E.append("text").attr("class","cynefinDomainLabel").attr("x",e.cx).attr("y",T?e.cy-30:e.cy).attr("text-anchor","middle").attr("dominant-baseline","middle").text(t.charAt(0).toUpperCase()+t.slice(1))}if(E.append("text").attr("class","cynefinDomainLabel").attr("x",x/2).attr("y",T?h/2-10:h/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text("Confusion"),T){const t=M.append("g").attr("class","cynefin-subtitles");for(const e of R){const n=I[e],a=C[e];t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy-10).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.model),t.append("text").attr("class","cynefinSubtitle").attr("x",n.cx).attr("y",n.cy+5).attr("text-anchor","middle").attr("dominant-baseline","middle").text(a.practice)}t.append("text").attr("class","cynefinSubtitle").attr("x",x/2).attr("y",h/2+8).attr("text-anchor","middle").attr("dominant-baseline","middle").text(C.confusion.practice)}const H=M.append("g").attr("class","cynefin-items"),N=26,U=["complex","complicated","chaotic","clear","confusion"];for(const t of U){const e=s.get(t);if(!e||0===e.items.length)continue;const n=I[t],a="confusion"===t;let r,i=e.items,o=0;if(a&&e.items.length>3&&(o=e.items.length-3,i=e.items.slice(0,3)),a){const t=T?22:14;r=n.cy+t}else r=n.cy+(T?25:15);if([...i].forEach((e,a)=>{const i=r+30*a,o=H.append("g"),c=o.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(e.label);let s=7*e.label.length;const l=c.node();if(l&&"function"==typeof l.getBBox){const t=l.getBBox();t.width>0&&(s=t.width)}const d=s+20,f=n.cx-d/2;o.attr("transform",`translate(${f}, ${i})`),o.insert("rect","text").attr("class","cynefinItem").attr("x",0).attr("y",0).attr("width",d).attr("height",N).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.95),c.attr("x",d/2).attr("y",13)}),o>0){const e=r+30*i.length,a=`+${o} more`,c=H.append("g"),s=c.append("text").attr("class","cynefinItemText").attr("x",0).attr("y",13).attr("text-anchor","middle").attr("dominant-baseline","central").text(a);let l=7*a.length;const d=s.node();if(d&&"function"==typeof d.getBBox){const t=d.getBBox();t.width>0&&(l=t.width)}const f=l+20,p=n.cx-f/2;c.attr("transform",`translate(${p}, ${e})`),c.insert("rect","text").attr("class","cynefinItemOverflow").attr("x",0).attr("y",0).attr("width",f).attr("height",N).attr("rx",4).attr("ry",4).attr("fill",z[t]).attr("fill-opacity",.6),s.attr("x",f/2).attr("y",13)}}if(l.length>0){const t=v.select("defs").empty()?v.append("defs"):v.select("defs"),n=`cynefin-arrow-${e}`;t.append("marker").attr("id",n).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("class","cynefinArrowHead");const a=M.append("g").attr("class","cynefin-arrows");l.forEach(t=>{const e=I[t.from],r=I[t.to];if(!e||!r)return;if(t.from===t.to)return void c.R.warn(`Cynefin renderer: skipping self-loop on domain "${t.from}"`);const i=e.cx,o=e.cy,s=r.cx,l=r.cy,d=(i+s)/2,f=(o+l)/2,p=s-i,m=l-o,y=Math.sqrt(p*p+m*m),x=.15*y,h=d+-m/y*x,$=f+p/y*x;a.append("path").attr("class","cynefinArrowLine").attr("d",`M${i},${o} Q${h},${$} ${s},${l}`).attr("fill","none").attr("marker-end",`url(#${n})`),t.label&&a.append("text").attr("class","cynefinArrowLabel").attr("x",h).attr("y",$-6).attr("text-anchor","middle").attr("dominant-baseline","auto").text(t.label)})}d&&M.append("text").attr("class","cynefinTitle").attr("x",x/2).attr("y",-K/2).attr("text-anchor","middle").attr("dominant-baseline","middle").text(d)},"draw")},T=(0,s.K)(()=>{const t=(0,o.P$)(),e=(0,o.zj)();return(0,i.$t)(t,e.themeVariables).cynefin},"getCynefinTheme"),A={parser:y,db:p,renderer:K,styles:(0,s.K)(()=>{const t=T();return`\n\t.cynefinDomain {\n\t\tstroke: none;\n\t}\n\t.cynefinDomainLabel {\n\t\tfont-size: ${t.domainFontSize}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t.cynefinSubtitle {\n\t\tfont-size: ${t.itemFontSize-1}px;\n\t\tfill: ${t.textColor};\n\t\tfont-style: italic;\n\t}\n\t.cynefinItem {\n\t\tfill-opacity: 0.95;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t}\n\t.cynefinItemText {\n\t\tfont-size: ${t.itemFontSize}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinItemOverflow {\n\t\tfill-opacity: 0.6;\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1;\n\t\tstroke-dasharray: 3 2;\n\t}\n\t.cynefinBoundary {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: ${t.boundaryWidth};\n\t\tstroke-dasharray: 6 3;\n\t}\n\t.cynefinCliff {\n\t\tstroke: ${t.cliffColor};\n\t\tstroke-width: ${t.cliffWidth};\n\t}\n\t.cynefinConfusion {\n\t\tstroke: ${t.boundaryColor};\n\t\tstroke-width: 1.5;\n\t\tstroke-dasharray: 4 2;\n\t}\n\t.cynefinArrowLine {\n\t\tstroke: ${t.arrowColor};\n\t\tstroke-width: ${t.arrowWidth};\n\t\tfill: none;\n\t}\n\t.cynefinArrowHead {\n\t\tfill: ${t.arrowColor};\n\t\tstroke: none;\n\t}\n\t.cynefinArrowLabel {\n\t\tfont-size: ${t.itemFontSize-1}px;\n\t\tfill: ${t.textColor};\n\t}\n\t.cynefinTitle {\n\t\tfont-size: ${t.domainFontSize+2}px;\n\t\tfont-weight: bold;\n\t\tfill: ${t.labelColor};\n\t}\n\t`},"styles")}}}]);