@emailmaker/filemanager 0.10.101 → 0.10.103

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 (807) hide show
  1. package/adapters/systemFolderPath.d.ts +1 -1
  2. package/assets/image-editor/fonts/Rubik-Black.woff2 +0 -0
  3. package/assets/image-editor/fonts/Rubik-Bold.woff2 +0 -0
  4. package/assets/image-editor/fonts/Rubik-Light.woff2 +0 -0
  5. package/assets/image-editor/fonts/Rubik-Regular.woff2 +0 -0
  6. package/assets/image-editor/fonts/caveat-v23-cyrillic_latin-regular.woff2 +0 -0
  7. package/assets/image-editor/fonts/commissioner-v24-cyrillic_latin-regular.woff2 +0 -0
  8. package/assets/image-editor/fonts/inter-v20-cyrillic_latin-regular.woff2 +0 -0
  9. package/assets/image-editor/fonts/oswald-v57-cyrillic_latin-regular.woff2 +0 -0
  10. package/assets/image-editor/fonts/pacifico-v23-cyrillic_latin-regular.woff2 +0 -0
  11. package/assets/image-editor/fonts/playfair-display-v40-cyrillic_latin-regular.woff2 +0 -0
  12. package/assets/image-editor/images/brushes/black/circle.png +0 -0
  13. package/assets/image-editor/images/brushes/black/diamond.png +0 -0
  14. package/assets/image-editor/images/brushes/black/hline.png +0 -0
  15. package/assets/image-editor/images/brushes/black/pencil.png +0 -0
  16. package/assets/image-editor/images/brushes/black/spray.png +0 -0
  17. package/assets/image-editor/images/brushes/black/square.png +0 -0
  18. package/assets/image-editor/images/brushes/black/vline.png +0 -0
  19. package/assets/image-editor/images/brushes/white/circle.png +0 -0
  20. package/assets/image-editor/images/brushes/white/diamond.png +0 -0
  21. package/assets/image-editor/images/brushes/white/hline.png +0 -0
  22. package/assets/image-editor/images/brushes/white/pencil.png +0 -0
  23. package/assets/image-editor/images/brushes/white/spray.png +0 -0
  24. package/assets/image-editor/images/brushes/white/square.png +0 -0
  25. package/assets/image-editor/images/brushes/white/vline.png +0 -0
  26. package/assets/image-editor/images/filter/blackWhite.jpg +0 -0
  27. package/assets/image-editor/images/filter/blendColor.jpg +0 -0
  28. package/assets/image-editor/images/filter/blur.jpg +0 -0
  29. package/assets/image-editor/images/filter/brightness.jpg +0 -0
  30. package/assets/image-editor/images/filter/brownie.jpg +0 -0
  31. package/assets/image-editor/images/filter/emboss.jpg +0 -0
  32. package/assets/image-editor/images/filter/gamma.jpg +0 -0
  33. package/assets/image-editor/images/filter/grayscale.jpg +0 -0
  34. package/assets/image-editor/images/filter/invert.jpg +0 -0
  35. package/assets/image-editor/images/filter/kodachrome.jpg +0 -0
  36. package/assets/image-editor/images/filter/noise.jpg +0 -0
  37. package/assets/image-editor/images/filter/original.jpg +0 -0
  38. package/assets/image-editor/images/filter/pixelate.jpg +0 -0
  39. package/assets/image-editor/images/filter/polaroid.jpg +0 -0
  40. package/assets/image-editor/images/filter/removeColor.jpg +0 -0
  41. package/assets/image-editor/images/filter/sepia.jpg +0 -0
  42. package/assets/image-editor/images/filter/sharpen.jpg +0 -0
  43. package/assets/image-editor/images/filter/technicolor.jpg +0 -0
  44. package/assets/image-editor/images/filter/vintage.jpg +0 -0
  45. package/assets/image-editor/images/frames/art1/bottom.png +0 -0
  46. package/assets/image-editor/images/frames/art1/bottomLeft.png +0 -0
  47. package/assets/image-editor/images/frames/art1/bottomRight.png +0 -0
  48. package/assets/image-editor/images/frames/art1/left.png +0 -0
  49. package/assets/image-editor/images/frames/art1/right.png +0 -0
  50. package/assets/image-editor/images/frames/art1/thumbnail.png +0 -0
  51. package/assets/image-editor/images/frames/art1/top.png +0 -0
  52. package/assets/image-editor/images/frames/art1/topLeft.png +0 -0
  53. package/assets/image-editor/images/frames/art1/topRight.png +0 -0
  54. package/assets/image-editor/images/frames/art2/bottom.png +0 -0
  55. package/assets/image-editor/images/frames/art2/bottomLeft.png +0 -0
  56. package/assets/image-editor/images/frames/art2/bottomRight.png +0 -0
  57. package/assets/image-editor/images/frames/art2/left.png +0 -0
  58. package/assets/image-editor/images/frames/art2/right.png +0 -0
  59. package/assets/image-editor/images/frames/art2/thumbnail.png +0 -0
  60. package/assets/image-editor/images/frames/art2/top.png +0 -0
  61. package/assets/image-editor/images/frames/art2/topLeft.png +0 -0
  62. package/assets/image-editor/images/frames/art2/topRight.png +0 -0
  63. package/assets/image-editor/images/frames/basic/thumbnail.png +0 -0
  64. package/assets/image-editor/images/frames/ebony/bottom.png +0 -0
  65. package/assets/image-editor/images/frames/ebony/bottomLeft.png +0 -0
  66. package/assets/image-editor/images/frames/ebony/bottomRight.png +0 -0
  67. package/assets/image-editor/images/frames/ebony/left.png +0 -0
  68. package/assets/image-editor/images/frames/ebony/right.png +0 -0
  69. package/assets/image-editor/images/frames/ebony/thumbnail.png +0 -0
  70. package/assets/image-editor/images/frames/ebony/top.png +0 -0
  71. package/assets/image-editor/images/frames/ebony/topLeft.png +0 -0
  72. package/assets/image-editor/images/frames/ebony/topRight.png +0 -0
  73. package/assets/image-editor/images/frames/grunge1/bottom.png +0 -0
  74. package/assets/image-editor/images/frames/grunge1/bottomLeft.png +0 -0
  75. package/assets/image-editor/images/frames/grunge1/bottomRight.png +0 -0
  76. package/assets/image-editor/images/frames/grunge1/left.png +0 -0
  77. package/assets/image-editor/images/frames/grunge1/right.png +0 -0
  78. package/assets/image-editor/images/frames/grunge1/thumbnail.png +0 -0
  79. package/assets/image-editor/images/frames/grunge1/top.png +0 -0
  80. package/assets/image-editor/images/frames/grunge1/topLeft.png +0 -0
  81. package/assets/image-editor/images/frames/grunge1/topRight.png +0 -0
  82. package/assets/image-editor/images/frames/grunge2/bottom.png +0 -0
  83. package/assets/image-editor/images/frames/grunge2/bottomLeft.png +0 -0
  84. package/assets/image-editor/images/frames/grunge2/bottomRight.png +0 -0
  85. package/assets/image-editor/images/frames/grunge2/left.png +0 -0
  86. package/assets/image-editor/images/frames/grunge2/right.png +0 -0
  87. package/assets/image-editor/images/frames/grunge2/thumbnail.png +0 -0
  88. package/assets/image-editor/images/frames/grunge2/top.png +0 -0
  89. package/assets/image-editor/images/frames/grunge2/topLeft.png +0 -0
  90. package/assets/image-editor/images/frames/grunge2/topRight.png +0 -0
  91. package/assets/image-editor/images/frames/oak/bottom.png +0 -0
  92. package/assets/image-editor/images/frames/oak/bottomLeft.png +0 -0
  93. package/assets/image-editor/images/frames/oak/bottomRight.png +0 -0
  94. package/assets/image-editor/images/frames/oak/left.png +0 -0
  95. package/assets/image-editor/images/frames/oak/right.png +0 -0
  96. package/assets/image-editor/images/frames/oak/thumbnail.png +0 -0
  97. package/assets/image-editor/images/frames/oak/top.png +0 -0
  98. package/assets/image-editor/images/frames/oak/topLeft.png +0 -0
  99. package/assets/image-editor/images/frames/oak/topRight.png +0 -0
  100. package/assets/image-editor/images/frames/pine/bottom.png +0 -0
  101. package/assets/image-editor/images/frames/pine/bottomLeft.png +0 -0
  102. package/assets/image-editor/images/frames/pine/bottomRight.png +0 -0
  103. package/assets/image-editor/images/frames/pine/left.png +0 -0
  104. package/assets/image-editor/images/frames/pine/right.png +0 -0
  105. package/assets/image-editor/images/frames/pine/thumbnail.png +0 -0
  106. package/assets/image-editor/images/frames/pine/top.png +0 -0
  107. package/assets/image-editor/images/frames/pine/topLeft.png +0 -0
  108. package/assets/image-editor/images/frames/pine/topRight.png +0 -0
  109. package/assets/image-editor/images/frames/rainbow/bottom.png +0 -0
  110. package/assets/image-editor/images/frames/rainbow/bottomLeft.png +0 -0
  111. package/assets/image-editor/images/frames/rainbow/bottomRight.png +0 -0
  112. package/assets/image-editor/images/frames/rainbow/left.png +0 -0
  113. package/assets/image-editor/images/frames/rainbow/right.png +0 -0
  114. package/assets/image-editor/images/frames/rainbow/thumbnail.png +0 -0
  115. package/assets/image-editor/images/frames/rainbow/top.png +0 -0
  116. package/assets/image-editor/images/frames/rainbow/topLeft.png +0 -0
  117. package/assets/image-editor/images/frames/rainbow/topRight.png +0 -0
  118. package/assets/image-editor/images/gradients/0.png +0 -0
  119. package/assets/image-editor/images/gradients/1.png +0 -0
  120. package/assets/image-editor/images/gradients/10.png +0 -0
  121. package/assets/image-editor/images/gradients/11.png +0 -0
  122. package/assets/image-editor/images/gradients/12.png +0 -0
  123. package/assets/image-editor/images/gradients/2.png +0 -0
  124. package/assets/image-editor/images/gradients/3.png +0 -0
  125. package/assets/image-editor/images/gradients/4.png +0 -0
  126. package/assets/image-editor/images/gradients/5.png +0 -0
  127. package/assets/image-editor/images/gradients/6.png +0 -0
  128. package/assets/image-editor/images/gradients/7.png +0 -0
  129. package/assets/image-editor/images/gradients/8.png +0 -0
  130. package/assets/image-editor/images/gradients/9.png +0 -0
  131. package/assets/image-editor/images/samples/sample1.jpg +0 -0
  132. package/assets/image-editor/images/samples/sample1_thumbnail.jpg +0 -0
  133. package/assets/image-editor/images/samples/sample2.jpg +0 -0
  134. package/assets/image-editor/images/samples/sample2_thumbnail.jpg +0 -0
  135. package/assets/image-editor/images/samples/sample3.jpg +0 -0
  136. package/assets/image-editor/images/samples/sample3_thumbnail.jpg +0 -0
  137. package/assets/image-editor/images/samples/sample4.json +871 -871
  138. package/assets/image-editor/images/stickers/beach/0.svg +25 -25
  139. package/assets/image-editor/images/stickers/beach/1.svg +14 -14
  140. package/assets/image-editor/images/stickers/beach/10.svg +34 -34
  141. package/assets/image-editor/images/stickers/beach/11.svg +27 -27
  142. package/assets/image-editor/images/stickers/beach/12.svg +10 -10
  143. package/assets/image-editor/images/stickers/beach/13.svg +25 -25
  144. package/assets/image-editor/images/stickers/beach/14.svg +16 -16
  145. package/assets/image-editor/images/stickers/beach/15.svg +14 -14
  146. package/assets/image-editor/images/stickers/beach/16.svg +44 -44
  147. package/assets/image-editor/images/stickers/beach/17.svg +35 -35
  148. package/assets/image-editor/images/stickers/beach/18.svg +32 -32
  149. package/assets/image-editor/images/stickers/beach/19.svg +23 -23
  150. package/assets/image-editor/images/stickers/beach/2.svg +14 -14
  151. package/assets/image-editor/images/stickers/beach/20.svg +24 -24
  152. package/assets/image-editor/images/stickers/beach/21.svg +11 -11
  153. package/assets/image-editor/images/stickers/beach/3.svg +26 -26
  154. package/assets/image-editor/images/stickers/beach/4.svg +25 -25
  155. package/assets/image-editor/images/stickers/beach/5.svg +22 -22
  156. package/assets/image-editor/images/stickers/beach/6.svg +20 -20
  157. package/assets/image-editor/images/stickers/beach/7.svg +32 -32
  158. package/assets/image-editor/images/stickers/beach/8.svg +28 -28
  159. package/assets/image-editor/images/stickers/beach/9.svg +18 -18
  160. package/assets/image-editor/images/stickers/bubbles/0.png +0 -0
  161. package/assets/image-editor/images/stickers/bubbles/1.png +0 -0
  162. package/assets/image-editor/images/stickers/bubbles/10.png +0 -0
  163. package/assets/image-editor/images/stickers/bubbles/100.png +0 -0
  164. package/assets/image-editor/images/stickers/bubbles/101.png +0 -0
  165. package/assets/image-editor/images/stickers/bubbles/102.png +0 -0
  166. package/assets/image-editor/images/stickers/bubbles/103.png +0 -0
  167. package/assets/image-editor/images/stickers/bubbles/105.png +0 -0
  168. package/assets/image-editor/images/stickers/bubbles/11.png +0 -0
  169. package/assets/image-editor/images/stickers/bubbles/12.png +0 -0
  170. package/assets/image-editor/images/stickers/bubbles/13.png +0 -0
  171. package/assets/image-editor/images/stickers/bubbles/14.png +0 -0
  172. package/assets/image-editor/images/stickers/bubbles/15.png +0 -0
  173. package/assets/image-editor/images/stickers/bubbles/16.png +0 -0
  174. package/assets/image-editor/images/stickers/bubbles/17.png +0 -0
  175. package/assets/image-editor/images/stickers/bubbles/18.png +0 -0
  176. package/assets/image-editor/images/stickers/bubbles/19.png +0 -0
  177. package/assets/image-editor/images/stickers/bubbles/2.png +0 -0
  178. package/assets/image-editor/images/stickers/bubbles/20.png +0 -0
  179. package/assets/image-editor/images/stickers/bubbles/21.png +0 -0
  180. package/assets/image-editor/images/stickers/bubbles/22.png +0 -0
  181. package/assets/image-editor/images/stickers/bubbles/23.png +0 -0
  182. package/assets/image-editor/images/stickers/bubbles/24.png +0 -0
  183. package/assets/image-editor/images/stickers/bubbles/25.png +0 -0
  184. package/assets/image-editor/images/stickers/bubbles/26.png +0 -0
  185. package/assets/image-editor/images/stickers/bubbles/27.png +0 -0
  186. package/assets/image-editor/images/stickers/bubbles/28.png +0 -0
  187. package/assets/image-editor/images/stickers/bubbles/29.png +0 -0
  188. package/assets/image-editor/images/stickers/bubbles/3.png +0 -0
  189. package/assets/image-editor/images/stickers/bubbles/30.png +0 -0
  190. package/assets/image-editor/images/stickers/bubbles/31.png +0 -0
  191. package/assets/image-editor/images/stickers/bubbles/32.png +0 -0
  192. package/assets/image-editor/images/stickers/bubbles/33.png +0 -0
  193. package/assets/image-editor/images/stickers/bubbles/34.png +0 -0
  194. package/assets/image-editor/images/stickers/bubbles/35.png +0 -0
  195. package/assets/image-editor/images/stickers/bubbles/36.png +0 -0
  196. package/assets/image-editor/images/stickers/bubbles/37.png +0 -0
  197. package/assets/image-editor/images/stickers/bubbles/38.png +0 -0
  198. package/assets/image-editor/images/stickers/bubbles/39.png +0 -0
  199. package/assets/image-editor/images/stickers/bubbles/4.png +0 -0
  200. package/assets/image-editor/images/stickers/bubbles/40.png +0 -0
  201. package/assets/image-editor/images/stickers/bubbles/41.png +0 -0
  202. package/assets/image-editor/images/stickers/bubbles/42.png +0 -0
  203. package/assets/image-editor/images/stickers/bubbles/43.png +0 -0
  204. package/assets/image-editor/images/stickers/bubbles/44.png +0 -0
  205. package/assets/image-editor/images/stickers/bubbles/45.png +0 -0
  206. package/assets/image-editor/images/stickers/bubbles/46.png +0 -0
  207. package/assets/image-editor/images/stickers/bubbles/47.png +0 -0
  208. package/assets/image-editor/images/stickers/bubbles/48.png +0 -0
  209. package/assets/image-editor/images/stickers/bubbles/49.png +0 -0
  210. package/assets/image-editor/images/stickers/bubbles/5.png +0 -0
  211. package/assets/image-editor/images/stickers/bubbles/50.png +0 -0
  212. package/assets/image-editor/images/stickers/bubbles/51.png +0 -0
  213. package/assets/image-editor/images/stickers/bubbles/52.png +0 -0
  214. package/assets/image-editor/images/stickers/bubbles/53.png +0 -0
  215. package/assets/image-editor/images/stickers/bubbles/54.png +0 -0
  216. package/assets/image-editor/images/stickers/bubbles/55.png +0 -0
  217. package/assets/image-editor/images/stickers/bubbles/56.png +0 -0
  218. package/assets/image-editor/images/stickers/bubbles/57.png +0 -0
  219. package/assets/image-editor/images/stickers/bubbles/58.png +0 -0
  220. package/assets/image-editor/images/stickers/bubbles/59.png +0 -0
  221. package/assets/image-editor/images/stickers/bubbles/6.png +0 -0
  222. package/assets/image-editor/images/stickers/bubbles/60.png +0 -0
  223. package/assets/image-editor/images/stickers/bubbles/61.png +0 -0
  224. package/assets/image-editor/images/stickers/bubbles/62.png +0 -0
  225. package/assets/image-editor/images/stickers/bubbles/63.png +0 -0
  226. package/assets/image-editor/images/stickers/bubbles/64.png +0 -0
  227. package/assets/image-editor/images/stickers/bubbles/65.png +0 -0
  228. package/assets/image-editor/images/stickers/bubbles/66.png +0 -0
  229. package/assets/image-editor/images/stickers/bubbles/67.png +0 -0
  230. package/assets/image-editor/images/stickers/bubbles/68.png +0 -0
  231. package/assets/image-editor/images/stickers/bubbles/69.png +0 -0
  232. package/assets/image-editor/images/stickers/bubbles/7.png +0 -0
  233. package/assets/image-editor/images/stickers/bubbles/70.png +0 -0
  234. package/assets/image-editor/images/stickers/bubbles/71.png +0 -0
  235. package/assets/image-editor/images/stickers/bubbles/72.png +0 -0
  236. package/assets/image-editor/images/stickers/bubbles/73.png +0 -0
  237. package/assets/image-editor/images/stickers/bubbles/74.png +0 -0
  238. package/assets/image-editor/images/stickers/bubbles/75.png +0 -0
  239. package/assets/image-editor/images/stickers/bubbles/76.png +0 -0
  240. package/assets/image-editor/images/stickers/bubbles/77.png +0 -0
  241. package/assets/image-editor/images/stickers/bubbles/78.png +0 -0
  242. package/assets/image-editor/images/stickers/bubbles/79.png +0 -0
  243. package/assets/image-editor/images/stickers/bubbles/8.png +0 -0
  244. package/assets/image-editor/images/stickers/bubbles/80.png +0 -0
  245. package/assets/image-editor/images/stickers/bubbles/81.png +0 -0
  246. package/assets/image-editor/images/stickers/bubbles/82.png +0 -0
  247. package/assets/image-editor/images/stickers/bubbles/83.png +0 -0
  248. package/assets/image-editor/images/stickers/bubbles/84.png +0 -0
  249. package/assets/image-editor/images/stickers/bubbles/85.png +0 -0
  250. package/assets/image-editor/images/stickers/bubbles/86.png +0 -0
  251. package/assets/image-editor/images/stickers/bubbles/87.png +0 -0
  252. package/assets/image-editor/images/stickers/bubbles/88.png +0 -0
  253. package/assets/image-editor/images/stickers/bubbles/89.png +0 -0
  254. package/assets/image-editor/images/stickers/bubbles/9.png +0 -0
  255. package/assets/image-editor/images/stickers/bubbles/90.png +0 -0
  256. package/assets/image-editor/images/stickers/bubbles/91.png +0 -0
  257. package/assets/image-editor/images/stickers/bubbles/92.png +0 -0
  258. package/assets/image-editor/images/stickers/bubbles/93.png +0 -0
  259. package/assets/image-editor/images/stickers/bubbles/94.png +0 -0
  260. package/assets/image-editor/images/stickers/bubbles/95.png +0 -0
  261. package/assets/image-editor/images/stickers/bubbles/96.png +0 -0
  262. package/assets/image-editor/images/stickers/bubbles/97.png +0 -0
  263. package/assets/image-editor/images/stickers/bubbles/98.png +0 -0
  264. package/assets/image-editor/images/stickers/bubbles/99.png +0 -0
  265. package/assets/image-editor/images/stickers/categories/beach.svg +17 -17
  266. package/assets/image-editor/images/stickers/categories/clouds.svg +14 -14
  267. package/assets/image-editor/images/stickers/categories/doodles.svg +12 -12
  268. package/assets/image-editor/images/stickers/categories/emoticon.svg +9 -9
  269. package/assets/image-editor/images/stickers/categories/landmark.svg +19 -19
  270. package/assets/image-editor/images/stickers/categories/speech-bubble.svg +5 -5
  271. package/assets/image-editor/images/stickers/categories/star.svg +5 -5
  272. package/assets/image-editor/images/stickers/categories/transportation.svg +17 -17
  273. package/assets/image-editor/images/stickers/clouds/0.png +0 -0
  274. package/assets/image-editor/images/stickers/clouds/1.png +0 -0
  275. package/assets/image-editor/images/stickers/clouds/10.png +0 -0
  276. package/assets/image-editor/images/stickers/clouds/11.png +0 -0
  277. package/assets/image-editor/images/stickers/clouds/12.png +0 -0
  278. package/assets/image-editor/images/stickers/clouds/13.png +0 -0
  279. package/assets/image-editor/images/stickers/clouds/14.png +0 -0
  280. package/assets/image-editor/images/stickers/clouds/2.png +0 -0
  281. package/assets/image-editor/images/stickers/clouds/3.png +0 -0
  282. package/assets/image-editor/images/stickers/clouds/4.png +0 -0
  283. package/assets/image-editor/images/stickers/clouds/5.png +0 -0
  284. package/assets/image-editor/images/stickers/clouds/6.png +0 -0
  285. package/assets/image-editor/images/stickers/clouds/7.png +0 -0
  286. package/assets/image-editor/images/stickers/clouds/8.png +0 -0
  287. package/assets/image-editor/images/stickers/clouds/9.png +0 -0
  288. package/assets/image-editor/images/stickers/doodles/0.svg +201 -201
  289. package/assets/image-editor/images/stickers/doodles/1.svg +255 -255
  290. package/assets/image-editor/images/stickers/doodles/10.svg +160 -160
  291. package/assets/image-editor/images/stickers/doodles/11.svg +393 -393
  292. package/assets/image-editor/images/stickers/doodles/12.svg +293 -293
  293. package/assets/image-editor/images/stickers/doodles/13.svg +251 -251
  294. package/assets/image-editor/images/stickers/doodles/14.svg +370 -370
  295. package/assets/image-editor/images/stickers/doodles/15.svg +194 -194
  296. package/assets/image-editor/images/stickers/doodles/16.svg +383 -383
  297. package/assets/image-editor/images/stickers/doodles/17.svg +346 -346
  298. package/assets/image-editor/images/stickers/doodles/18.svg +286 -286
  299. package/assets/image-editor/images/stickers/doodles/19.svg +241 -241
  300. package/assets/image-editor/images/stickers/doodles/2.svg +227 -227
  301. package/assets/image-editor/images/stickers/doodles/20.svg +330 -330
  302. package/assets/image-editor/images/stickers/doodles/21.svg +200 -200
  303. package/assets/image-editor/images/stickers/doodles/22.svg +308 -308
  304. package/assets/image-editor/images/stickers/doodles/23.svg +518 -518
  305. package/assets/image-editor/images/stickers/doodles/24.svg +207 -207
  306. package/assets/image-editor/images/stickers/doodles/25.svg +260 -260
  307. package/assets/image-editor/images/stickers/doodles/26.svg +380 -380
  308. package/assets/image-editor/images/stickers/doodles/27.svg +222 -222
  309. package/assets/image-editor/images/stickers/doodles/28.svg +164 -164
  310. package/assets/image-editor/images/stickers/doodles/29.svg +271 -271
  311. package/assets/image-editor/images/stickers/doodles/3.svg +272 -272
  312. package/assets/image-editor/images/stickers/doodles/30.svg +283 -283
  313. package/assets/image-editor/images/stickers/doodles/31.svg +257 -257
  314. package/assets/image-editor/images/stickers/doodles/32.svg +276 -276
  315. package/assets/image-editor/images/stickers/doodles/33.svg +198 -198
  316. package/assets/image-editor/images/stickers/doodles/34.svg +314 -314
  317. package/assets/image-editor/images/stickers/doodles/35.svg +236 -236
  318. package/assets/image-editor/images/stickers/doodles/36.svg +273 -273
  319. package/assets/image-editor/images/stickers/doodles/37.svg +284 -284
  320. package/assets/image-editor/images/stickers/doodles/38.svg +167 -167
  321. package/assets/image-editor/images/stickers/doodles/39.svg +381 -381
  322. package/assets/image-editor/images/stickers/doodles/4.svg +216 -216
  323. package/assets/image-editor/images/stickers/doodles/40.svg +198 -198
  324. package/assets/image-editor/images/stickers/doodles/41.svg +259 -259
  325. package/assets/image-editor/images/stickers/doodles/42.svg +371 -371
  326. package/assets/image-editor/images/stickers/doodles/43.svg +198 -198
  327. package/assets/image-editor/images/stickers/doodles/44.svg +174 -174
  328. package/assets/image-editor/images/stickers/doodles/45.svg +178 -178
  329. package/assets/image-editor/images/stickers/doodles/46.svg +211 -211
  330. package/assets/image-editor/images/stickers/doodles/47.svg +195 -195
  331. package/assets/image-editor/images/stickers/doodles/48.svg +293 -293
  332. package/assets/image-editor/images/stickers/doodles/49.svg +191 -191
  333. package/assets/image-editor/images/stickers/doodles/5.svg +179 -179
  334. package/assets/image-editor/images/stickers/doodles/50.svg +323 -323
  335. package/assets/image-editor/images/stickers/doodles/51.svg +308 -308
  336. package/assets/image-editor/images/stickers/doodles/52.svg +162 -162
  337. package/assets/image-editor/images/stickers/doodles/53.svg +263 -263
  338. package/assets/image-editor/images/stickers/doodles/54.svg +175 -175
  339. package/assets/image-editor/images/stickers/doodles/55.svg +177 -177
  340. package/assets/image-editor/images/stickers/doodles/56.svg +160 -160
  341. package/assets/image-editor/images/stickers/doodles/57.svg +115 -115
  342. package/assets/image-editor/images/stickers/doodles/58.svg +327 -327
  343. package/assets/image-editor/images/stickers/doodles/59.svg +197 -197
  344. package/assets/image-editor/images/stickers/doodles/6.svg +388 -388
  345. package/assets/image-editor/images/stickers/doodles/60.svg +414 -414
  346. package/assets/image-editor/images/stickers/doodles/61.svg +287 -287
  347. package/assets/image-editor/images/stickers/doodles/62.svg +193 -193
  348. package/assets/image-editor/images/stickers/doodles/63.svg +329 -329
  349. package/assets/image-editor/images/stickers/doodles/64.svg +150 -150
  350. package/assets/image-editor/images/stickers/doodles/65.svg +275 -275
  351. package/assets/image-editor/images/stickers/doodles/66.svg +174 -174
  352. package/assets/image-editor/images/stickers/doodles/67.svg +343 -343
  353. package/assets/image-editor/images/stickers/doodles/68.svg +242 -242
  354. package/assets/image-editor/images/stickers/doodles/69.svg +160 -160
  355. package/assets/image-editor/images/stickers/doodles/7.svg +194 -194
  356. package/assets/image-editor/images/stickers/doodles/70.svg +365 -365
  357. package/assets/image-editor/images/stickers/doodles/71.svg +454 -454
  358. package/assets/image-editor/images/stickers/doodles/72.svg +162 -162
  359. package/assets/image-editor/images/stickers/doodles/73.svg +393 -393
  360. package/assets/image-editor/images/stickers/doodles/74.svg +206 -206
  361. package/assets/image-editor/images/stickers/doodles/75.svg +275 -275
  362. package/assets/image-editor/images/stickers/doodles/76.svg +350 -350
  363. package/assets/image-editor/images/stickers/doodles/77.svg +323 -323
  364. package/assets/image-editor/images/stickers/doodles/78.svg +316 -316
  365. package/assets/image-editor/images/stickers/doodles/79.svg +503 -503
  366. package/assets/image-editor/images/stickers/doodles/8.svg +185 -185
  367. package/assets/image-editor/images/stickers/doodles/80.svg +235 -235
  368. package/assets/image-editor/images/stickers/doodles/81.svg +184 -184
  369. package/assets/image-editor/images/stickers/doodles/82.svg +246 -246
  370. package/assets/image-editor/images/stickers/doodles/83.svg +125 -125
  371. package/assets/image-editor/images/stickers/doodles/84.svg +168 -168
  372. package/assets/image-editor/images/stickers/doodles/85.svg +138 -138
  373. package/assets/image-editor/images/stickers/doodles/86.svg +223 -223
  374. package/assets/image-editor/images/stickers/doodles/87.svg +475 -475
  375. package/assets/image-editor/images/stickers/doodles/88.svg +172 -172
  376. package/assets/image-editor/images/stickers/doodles/89.svg +199 -199
  377. package/assets/image-editor/images/stickers/doodles/9.svg +368 -368
  378. package/assets/image-editor/images/stickers/doodles/90.svg +298 -298
  379. package/assets/image-editor/images/stickers/doodles/91.svg +176 -176
  380. package/assets/image-editor/images/stickers/doodles/92.svg +152 -152
  381. package/assets/image-editor/images/stickers/doodles/93.svg +206 -206
  382. package/assets/image-editor/images/stickers/doodles/94.svg +202 -202
  383. package/assets/image-editor/images/stickers/doodles/95.svg +114 -114
  384. package/assets/image-editor/images/stickers/doodles/96.svg +149 -149
  385. package/assets/image-editor/images/stickers/doodles/97.svg +197 -197
  386. package/assets/image-editor/images/stickers/doodles/98.svg +397 -397
  387. package/assets/image-editor/images/stickers/doodles/99.svg +502 -502
  388. package/assets/image-editor/images/stickers/emoticons/afro-1.svg +122 -122
  389. package/assets/image-editor/images/stickers/emoticons/afro.svg +85 -85
  390. package/assets/image-editor/images/stickers/emoticons/agent.svg +114 -114
  391. package/assets/image-editor/images/stickers/emoticons/alien-1.svg +60 -60
  392. package/assets/image-editor/images/stickers/emoticons/alien.svg +64 -64
  393. package/assets/image-editor/images/stickers/emoticons/angel.svg +47 -47
  394. package/assets/image-editor/images/stickers/emoticons/angry-1.svg +83 -83
  395. package/assets/image-editor/images/stickers/emoticons/angry-2.svg +48 -48
  396. package/assets/image-editor/images/stickers/emoticons/angry-3.svg +45 -45
  397. package/assets/image-editor/images/stickers/emoticons/angry-4.svg +52 -52
  398. package/assets/image-editor/images/stickers/emoticons/angry-5.svg +62 -62
  399. package/assets/image-editor/images/stickers/emoticons/angry.svg +78 -78
  400. package/assets/image-editor/images/stickers/emoticons/arguing.svg +49 -49
  401. package/assets/image-editor/images/stickers/emoticons/arrogant.svg +98 -98
  402. package/assets/image-editor/images/stickers/emoticons/asian-1.svg +52 -52
  403. package/assets/image-editor/images/stickers/emoticons/asian.svg +54 -54
  404. package/assets/image-editor/images/stickers/emoticons/avatar.svg +49 -49
  405. package/assets/image-editor/images/stickers/emoticons/baby-1.svg +51 -51
  406. package/assets/image-editor/images/stickers/emoticons/baby-2.svg +54 -54
  407. package/assets/image-editor/images/stickers/emoticons/baby.svg +66 -66
  408. package/assets/image-editor/images/stickers/emoticons/bully.svg +68 -68
  409. package/assets/image-editor/images/stickers/emoticons/burglar.svg +75 -75
  410. package/assets/image-editor/images/stickers/emoticons/businessman.svg +52 -52
  411. package/assets/image-editor/images/stickers/emoticons/cheeky-1.svg +83 -83
  412. package/assets/image-editor/images/stickers/emoticons/cheeky.svg +73 -73
  413. package/assets/image-editor/images/stickers/emoticons/clown.svg +75 -75
  414. package/assets/image-editor/images/stickers/emoticons/confused-1.svg +74 -74
  415. package/assets/image-editor/images/stickers/emoticons/confused-2.svg +55 -55
  416. package/assets/image-editor/images/stickers/emoticons/confused-3.svg +45 -45
  417. package/assets/image-editor/images/stickers/emoticons/confused.svg +66 -66
  418. package/assets/image-editor/images/stickers/emoticons/creepy.svg +60 -60
  419. package/assets/image-editor/images/stickers/emoticons/crying-1.svg +55 -55
  420. package/assets/image-editor/images/stickers/emoticons/crying-2.svg +83 -83
  421. package/assets/image-editor/images/stickers/emoticons/crying-3.svg +53 -53
  422. package/assets/image-editor/images/stickers/emoticons/crying.svg +59 -59
  423. package/assets/image-editor/images/stickers/emoticons/dazed-1.svg +63 -63
  424. package/assets/image-editor/images/stickers/emoticons/dazed-2.svg +51 -51
  425. package/assets/image-editor/images/stickers/emoticons/dazed-3.svg +55 -55
  426. package/assets/image-editor/images/stickers/emoticons/dazed.svg +56 -56
  427. package/assets/image-editor/images/stickers/emoticons/dead-1.svg +61 -61
  428. package/assets/image-editor/images/stickers/emoticons/dead-2.svg +80 -80
  429. package/assets/image-editor/images/stickers/emoticons/dead-3.svg +66 -66
  430. package/assets/image-editor/images/stickers/emoticons/dead-4.svg +54 -54
  431. package/assets/image-editor/images/stickers/emoticons/dead-5.svg +52 -52
  432. package/assets/image-editor/images/stickers/emoticons/dead-6.svg +53 -53
  433. package/assets/image-editor/images/stickers/emoticons/dead.svg +54 -54
  434. package/assets/image-editor/images/stickers/emoticons/desperate-1.svg +47 -47
  435. package/assets/image-editor/images/stickers/emoticons/desperate.svg +75 -75
  436. package/assets/image-editor/images/stickers/emoticons/detective.svg +75 -75
  437. package/assets/image-editor/images/stickers/emoticons/dissapointment.svg +70 -70
  438. package/assets/image-editor/images/stickers/emoticons/doctor.svg +61 -61
  439. package/assets/image-editor/images/stickers/emoticons/drunk.svg +55 -55
  440. package/assets/image-editor/images/stickers/emoticons/dumb.svg +50 -50
  441. package/assets/image-editor/images/stickers/emoticons/emo-1.svg +104 -104
  442. package/assets/image-editor/images/stickers/emoticons/emo-2.svg +111 -111
  443. package/assets/image-editor/images/stickers/emoticons/emo.svg +56 -56
  444. package/assets/image-editor/images/stickers/emoticons/emoticon.svg +84 -84
  445. package/assets/image-editor/images/stickers/emoticons/evil.svg +59 -59
  446. package/assets/image-editor/images/stickers/emoticons/faint-1.svg +75 -75
  447. package/assets/image-editor/images/stickers/emoticons/faint.svg +84 -84
  448. package/assets/image-editor/images/stickers/emoticons/flirt-1.svg +81 -81
  449. package/assets/image-editor/images/stickers/emoticons/flirt-2.svg +68 -68
  450. package/assets/image-editor/images/stickers/emoticons/flirt.svg +71 -71
  451. package/assets/image-editor/images/stickers/emoticons/flirty.svg +60 -60
  452. package/assets/image-editor/images/stickers/emoticons/gangster.svg +54 -54
  453. package/assets/image-editor/images/stickers/emoticons/geek-1.svg +76 -76
  454. package/assets/image-editor/images/stickers/emoticons/geek.svg +69 -69
  455. package/assets/image-editor/images/stickers/emoticons/gentleman-1.svg +82 -82
  456. package/assets/image-editor/images/stickers/emoticons/gentleman-2.svg +58 -58
  457. package/assets/image-editor/images/stickers/emoticons/gentleman-3.svg +54 -54
  458. package/assets/image-editor/images/stickers/emoticons/gentleman-4.svg +59 -59
  459. package/assets/image-editor/images/stickers/emoticons/gentleman.svg +57 -57
  460. package/assets/image-editor/images/stickers/emoticons/ginger.svg +55 -55
  461. package/assets/image-editor/images/stickers/emoticons/girl-1.svg +70 -70
  462. package/assets/image-editor/images/stickers/emoticons/girl.svg +73 -73
  463. package/assets/image-editor/images/stickers/emoticons/goofy-1.svg +46 -46
  464. package/assets/image-editor/images/stickers/emoticons/goofy-2.svg +79 -79
  465. package/assets/image-editor/images/stickers/emoticons/goofy-3.svg +79 -79
  466. package/assets/image-editor/images/stickers/emoticons/goofy-4.svg +46 -46
  467. package/assets/image-editor/images/stickers/emoticons/goofy.svg +79 -79
  468. package/assets/image-editor/images/stickers/emoticons/grubby-1.svg +114 -114
  469. package/assets/image-editor/images/stickers/emoticons/grubby.svg +165 -165
  470. package/assets/image-editor/images/stickers/emoticons/happy-1.svg +49 -49
  471. package/assets/image-editor/images/stickers/emoticons/happy-10.svg +62 -62
  472. package/assets/image-editor/images/stickers/emoticons/happy-11.svg +55 -55
  473. package/assets/image-editor/images/stickers/emoticons/happy-12.svg +53 -53
  474. package/assets/image-editor/images/stickers/emoticons/happy-13.svg +58 -58
  475. package/assets/image-editor/images/stickers/emoticons/happy-14.svg +62 -62
  476. package/assets/image-editor/images/stickers/emoticons/happy-15.svg +49 -49
  477. package/assets/image-editor/images/stickers/emoticons/happy-16.svg +49 -49
  478. package/assets/image-editor/images/stickers/emoticons/happy-2.svg +71 -71
  479. package/assets/image-editor/images/stickers/emoticons/happy-3.svg +74 -74
  480. package/assets/image-editor/images/stickers/emoticons/happy-4.svg +77 -77
  481. package/assets/image-editor/images/stickers/emoticons/happy-5.svg +52 -52
  482. package/assets/image-editor/images/stickers/emoticons/happy-6.svg +54 -54
  483. package/assets/image-editor/images/stickers/emoticons/happy-7.svg +58 -58
  484. package/assets/image-editor/images/stickers/emoticons/happy-8.svg +42 -42
  485. package/assets/image-editor/images/stickers/emoticons/happy-9.svg +45 -45
  486. package/assets/image-editor/images/stickers/emoticons/happy.svg +48 -48
  487. package/assets/image-editor/images/stickers/emoticons/harry-potter.svg +68 -68
  488. package/assets/image-editor/images/stickers/emoticons/heisenberg.svg +80 -80
  489. package/assets/image-editor/images/stickers/emoticons/hipster-1.svg +118 -118
  490. package/assets/image-editor/images/stickers/emoticons/hipster-2.svg +49 -49
  491. package/assets/image-editor/images/stickers/emoticons/hipster.svg +48 -48
  492. package/assets/image-editor/images/stickers/emoticons/in-love-1.svg +62 -62
  493. package/assets/image-editor/images/stickers/emoticons/in-love-2.svg +48 -48
  494. package/assets/image-editor/images/stickers/emoticons/in-love-3.svg +49 -49
  495. package/assets/image-editor/images/stickers/emoticons/in-love-4.svg +50 -50
  496. package/assets/image-editor/images/stickers/emoticons/in-love-5.svg +49 -49
  497. package/assets/image-editor/images/stickers/emoticons/in-love-6.svg +53 -53
  498. package/assets/image-editor/images/stickers/emoticons/in-love.svg +57 -57
  499. package/assets/image-editor/images/stickers/emoticons/japan.svg +79 -79
  500. package/assets/image-editor/images/stickers/emoticons/jew.svg +83 -83
  501. package/assets/image-editor/images/stickers/emoticons/joyful-1.svg +72 -72
  502. package/assets/image-editor/images/stickers/emoticons/joyful-2.svg +45 -45
  503. package/assets/image-editor/images/stickers/emoticons/joyful.svg +47 -47
  504. package/assets/image-editor/images/stickers/emoticons/kiss-1.svg +48 -48
  505. package/assets/image-editor/images/stickers/emoticons/kiss-2.svg +59 -59
  506. package/assets/image-editor/images/stickers/emoticons/kiss-3.svg +53 -53
  507. package/assets/image-editor/images/stickers/emoticons/kiss-4.svg +59 -59
  508. package/assets/image-editor/images/stickers/emoticons/kiss.svg +67 -67
  509. package/assets/image-editor/images/stickers/emoticons/laughing-1.svg +54 -54
  510. package/assets/image-editor/images/stickers/emoticons/laughing-2.svg +57 -57
  511. package/assets/image-editor/images/stickers/emoticons/laughing-3.svg +55 -55
  512. package/assets/image-editor/images/stickers/emoticons/laughing.svg +56 -56
  513. package/assets/image-editor/images/stickers/emoticons/listening.svg +55 -55
  514. package/assets/image-editor/images/stickers/emoticons/love.svg +74 -74
  515. package/assets/image-editor/images/stickers/emoticons/manly.svg +75 -75
  516. package/assets/image-editor/images/stickers/emoticons/miserly-1.svg +90 -90
  517. package/assets/image-editor/images/stickers/emoticons/miserly.svg +82 -82
  518. package/assets/image-editor/images/stickers/emoticons/nerd-1.svg +88 -88
  519. package/assets/image-editor/images/stickers/emoticons/nerd-2.svg +73 -73
  520. package/assets/image-editor/images/stickers/emoticons/nerd-3.svg +60 -60
  521. package/assets/image-editor/images/stickers/emoticons/nerd-4.svg +70 -70
  522. package/assets/image-editor/images/stickers/emoticons/nerd.svg +88 -88
  523. package/assets/image-editor/images/stickers/emoticons/ninja.svg +51 -51
  524. package/assets/image-editor/images/stickers/emoticons/pirate-1.svg +92 -92
  525. package/assets/image-editor/images/stickers/emoticons/pirate-2.svg +48 -48
  526. package/assets/image-editor/images/stickers/emoticons/pirate.svg +286 -286
  527. package/assets/image-editor/images/stickers/emoticons/punk-1.svg +134 -134
  528. package/assets/image-editor/images/stickers/emoticons/punk-2.svg +153 -153
  529. package/assets/image-editor/images/stickers/emoticons/punk.svg +82 -82
  530. package/assets/image-editor/images/stickers/emoticons/rapper.svg +51 -51
  531. package/assets/image-editor/images/stickers/emoticons/relieved.svg +56 -56
  532. package/assets/image-editor/images/stickers/emoticons/rich-1.svg +59 -59
  533. package/assets/image-editor/images/stickers/emoticons/rich-2.svg +93 -93
  534. package/assets/image-editor/images/stickers/emoticons/rich.svg +88 -88
  535. package/assets/image-editor/images/stickers/emoticons/rockstar.svg +177 -177
  536. package/assets/image-editor/images/stickers/emoticons/sad-1.svg +43 -43
  537. package/assets/image-editor/images/stickers/emoticons/sad-2.svg +49 -49
  538. package/assets/image-editor/images/stickers/emoticons/sad-3.svg +49 -49
  539. package/assets/image-editor/images/stickers/emoticons/sad-4.svg +49 -49
  540. package/assets/image-editor/images/stickers/emoticons/sad-5.svg +45 -45
  541. package/assets/image-editor/images/stickers/emoticons/sad-6.svg +47 -47
  542. package/assets/image-editor/images/stickers/emoticons/sad.svg +47 -47
  543. package/assets/image-editor/images/stickers/emoticons/scared-1.svg +79 -79
  544. package/assets/image-editor/images/stickers/emoticons/scared-2.svg +59 -59
  545. package/assets/image-editor/images/stickers/emoticons/scared-3.svg +52 -52
  546. package/assets/image-editor/images/stickers/emoticons/scared.svg +45 -45
  547. package/assets/image-editor/images/stickers/emoticons/sceptic-1.svg +59 -59
  548. package/assets/image-editor/images/stickers/emoticons/sceptic-2.svg +80 -80
  549. package/assets/image-editor/images/stickers/emoticons/sceptic-3.svg +59 -59
  550. package/assets/image-editor/images/stickers/emoticons/sceptic-4.svg +46 -46
  551. package/assets/image-editor/images/stickers/emoticons/sceptic-5.svg +43 -43
  552. package/assets/image-editor/images/stickers/emoticons/sceptic-6.svg +42 -42
  553. package/assets/image-editor/images/stickers/emoticons/sceptic-7.svg +50 -50
  554. package/assets/image-editor/images/stickers/emoticons/sceptic.svg +44 -44
  555. package/assets/image-editor/images/stickers/emoticons/secret.svg +48 -48
  556. package/assets/image-editor/images/stickers/emoticons/shocked-1.svg +67 -67
  557. package/assets/image-editor/images/stickers/emoticons/shocked-2.svg +44 -44
  558. package/assets/image-editor/images/stickers/emoticons/shocked-3.svg +48 -48
  559. package/assets/image-editor/images/stickers/emoticons/shocked.svg +46 -46
  560. package/assets/image-editor/images/stickers/emoticons/sick-1.svg +55 -55
  561. package/assets/image-editor/images/stickers/emoticons/sick-2.svg +48 -48
  562. package/assets/image-editor/images/stickers/emoticons/sick-3.svg +49 -49
  563. package/assets/image-editor/images/stickers/emoticons/sick-4.svg +52 -52
  564. package/assets/image-editor/images/stickers/emoticons/sick.svg +52 -52
  565. package/assets/image-editor/images/stickers/emoticons/silent.svg +43 -43
  566. package/assets/image-editor/images/stickers/emoticons/skeleton.svg +64 -64
  567. package/assets/image-editor/images/stickers/emoticons/smile.svg +43 -43
  568. package/assets/image-editor/images/stickers/emoticons/smiling-1.svg +47 -47
  569. package/assets/image-editor/images/stickers/emoticons/smiling.svg +75 -75
  570. package/assets/image-editor/images/stickers/emoticons/smoked.svg +131 -131
  571. package/assets/image-editor/images/stickers/emoticons/smug-1.svg +74 -74
  572. package/assets/image-editor/images/stickers/emoticons/smug-2.svg +82 -82
  573. package/assets/image-editor/images/stickers/emoticons/smug-3.svg +71 -71
  574. package/assets/image-editor/images/stickers/emoticons/smug-4.svg +50 -50
  575. package/assets/image-editor/images/stickers/emoticons/smug-5.svg +64 -64
  576. package/assets/image-editor/images/stickers/emoticons/smug-6.svg +82 -82
  577. package/assets/image-editor/images/stickers/emoticons/smug.svg +96 -96
  578. package/assets/image-editor/images/stickers/emoticons/sporty.svg +68 -68
  579. package/assets/image-editor/images/stickers/emoticons/stunned.svg +72 -72
  580. package/assets/image-editor/images/stickers/emoticons/superhero-1.svg +60 -60
  581. package/assets/image-editor/images/stickers/emoticons/superhero-2.svg +47 -47
  582. package/assets/image-editor/images/stickers/emoticons/superhero-3.svg +48 -48
  583. package/assets/image-editor/images/stickers/emoticons/superhero-4.svg +52 -52
  584. package/assets/image-editor/images/stickers/emoticons/superhero.svg +45 -45
  585. package/assets/image-editor/images/stickers/emoticons/surprised-1.svg +47 -47
  586. package/assets/image-editor/images/stickers/emoticons/surprised.svg +58 -58
  587. package/assets/image-editor/images/stickers/emoticons/thinking.svg +43 -43
  588. package/assets/image-editor/images/stickers/emoticons/tired-1.svg +78 -78
  589. package/assets/image-editor/images/stickers/emoticons/tired-2.svg +65 -65
  590. package/assets/image-editor/images/stickers/emoticons/tired-3.svg +59 -59
  591. package/assets/image-editor/images/stickers/emoticons/tired.svg +83 -83
  592. package/assets/image-editor/images/stickers/emoticons/tough-1.svg +65 -65
  593. package/assets/image-editor/images/stickers/emoticons/tough.svg +158 -158
  594. package/assets/image-editor/images/stickers/emoticons/trendy.svg +57 -57
  595. package/assets/image-editor/images/stickers/emoticons/vampire-1.svg +56 -56
  596. package/assets/image-editor/images/stickers/emoticons/vampire.svg +59 -59
  597. package/assets/image-editor/images/stickers/emoticons/wink-1.svg +54 -54
  598. package/assets/image-editor/images/stickers/emoticons/wink-2.svg +64 -64
  599. package/assets/image-editor/images/stickers/emoticons/wink.svg +73 -73
  600. package/assets/image-editor/images/stickers/emoticons/winking-1.svg +52 -52
  601. package/assets/image-editor/images/stickers/emoticons/winking.svg +43 -43
  602. package/assets/image-editor/images/stickers/emoticons/yawning-1.svg +62 -62
  603. package/assets/image-editor/images/stickers/emoticons/yawning-2.svg +51 -51
  604. package/assets/image-editor/images/stickers/emoticons/yawning-3.svg +51 -51
  605. package/assets/image-editor/images/stickers/emoticons/yawning.svg +73 -73
  606. package/assets/image-editor/images/stickers/emoticons/yelling.svg +80 -80
  607. package/assets/image-editor/images/stickers/emoticons/zombie.svg +65 -65
  608. package/assets/image-editor/images/stickers/landmarks/0.svg +38 -38
  609. package/assets/image-editor/images/stickers/landmarks/1.svg +46 -46
  610. package/assets/image-editor/images/stickers/landmarks/10.svg +18 -18
  611. package/assets/image-editor/images/stickers/landmarks/11.svg +81 -81
  612. package/assets/image-editor/images/stickers/landmarks/12.svg +77 -77
  613. package/assets/image-editor/images/stickers/landmarks/13.svg +42 -42
  614. package/assets/image-editor/images/stickers/landmarks/14.svg +78 -78
  615. package/assets/image-editor/images/stickers/landmarks/15.svg +84 -84
  616. package/assets/image-editor/images/stickers/landmarks/16.svg +87 -87
  617. package/assets/image-editor/images/stickers/landmarks/17.svg +60 -60
  618. package/assets/image-editor/images/stickers/landmarks/18.svg +30 -30
  619. package/assets/image-editor/images/stickers/landmarks/19.svg +36 -36
  620. package/assets/image-editor/images/stickers/landmarks/2.svg +28 -28
  621. package/assets/image-editor/images/stickers/landmarks/20.svg +137 -137
  622. package/assets/image-editor/images/stickers/landmarks/21.svg +63 -63
  623. package/assets/image-editor/images/stickers/landmarks/22.svg +26 -26
  624. package/assets/image-editor/images/stickers/landmarks/23.svg +52 -52
  625. package/assets/image-editor/images/stickers/landmarks/24.svg +56 -56
  626. package/assets/image-editor/images/stickers/landmarks/25.svg +40 -40
  627. package/assets/image-editor/images/stickers/landmarks/26.svg +34 -34
  628. package/assets/image-editor/images/stickers/landmarks/27.svg +32 -32
  629. package/assets/image-editor/images/stickers/landmarks/28.svg +19 -19
  630. package/assets/image-editor/images/stickers/landmarks/29.svg +23 -23
  631. package/assets/image-editor/images/stickers/landmarks/3.svg +36 -36
  632. package/assets/image-editor/images/stickers/landmarks/30.svg +36 -36
  633. package/assets/image-editor/images/stickers/landmarks/31.svg +27 -27
  634. package/assets/image-editor/images/stickers/landmarks/32.svg +25 -25
  635. package/assets/image-editor/images/stickers/landmarks/33.svg +29 -29
  636. package/assets/image-editor/images/stickers/landmarks/34.svg +72 -72
  637. package/assets/image-editor/images/stickers/landmarks/35.svg +18 -18
  638. package/assets/image-editor/images/stickers/landmarks/36.svg +45 -45
  639. package/assets/image-editor/images/stickers/landmarks/37.svg +46 -46
  640. package/assets/image-editor/images/stickers/landmarks/38.svg +44 -44
  641. package/assets/image-editor/images/stickers/landmarks/39.svg +23 -23
  642. package/assets/image-editor/images/stickers/landmarks/4.svg +33 -33
  643. package/assets/image-editor/images/stickers/landmarks/40.svg +25 -25
  644. package/assets/image-editor/images/stickers/landmarks/41.svg +69 -69
  645. package/assets/image-editor/images/stickers/landmarks/42.svg +75 -75
  646. package/assets/image-editor/images/stickers/landmarks/43.svg +44 -44
  647. package/assets/image-editor/images/stickers/landmarks/44.svg +65 -65
  648. package/assets/image-editor/images/stickers/landmarks/45.svg +19 -19
  649. package/assets/image-editor/images/stickers/landmarks/46.svg +47 -47
  650. package/assets/image-editor/images/stickers/landmarks/47.svg +544 -544
  651. package/assets/image-editor/images/stickers/landmarks/48.svg +162 -162
  652. package/assets/image-editor/images/stickers/landmarks/49.svg +70 -70
  653. package/assets/image-editor/images/stickers/landmarks/5.svg +36 -36
  654. package/assets/image-editor/images/stickers/landmarks/50.svg +52 -52
  655. package/assets/image-editor/images/stickers/landmarks/51.svg +110 -110
  656. package/assets/image-editor/images/stickers/landmarks/52.svg +41 -41
  657. package/assets/image-editor/images/stickers/landmarks/53.svg +74 -74
  658. package/assets/image-editor/images/stickers/landmarks/54.svg +36 -36
  659. package/assets/image-editor/images/stickers/landmarks/55.svg +84 -84
  660. package/assets/image-editor/images/stickers/landmarks/56.svg +93 -93
  661. package/assets/image-editor/images/stickers/landmarks/57.svg +67 -67
  662. package/assets/image-editor/images/stickers/landmarks/58.svg +101 -101
  663. package/assets/image-editor/images/stickers/landmarks/59.svg +47 -47
  664. package/assets/image-editor/images/stickers/landmarks/6.svg +59 -59
  665. package/assets/image-editor/images/stickers/landmarks/60.svg +134 -134
  666. package/assets/image-editor/images/stickers/landmarks/61.svg +79 -79
  667. package/assets/image-editor/images/stickers/landmarks/62.svg +43 -43
  668. package/assets/image-editor/images/stickers/landmarks/63.svg +83 -83
  669. package/assets/image-editor/images/stickers/landmarks/64.svg +99 -99
  670. package/assets/image-editor/images/stickers/landmarks/65.svg +79 -79
  671. package/assets/image-editor/images/stickers/landmarks/66.svg +37 -37
  672. package/assets/image-editor/images/stickers/landmarks/67.svg +82 -82
  673. package/assets/image-editor/images/stickers/landmarks/68.svg +216 -216
  674. package/assets/image-editor/images/stickers/landmarks/69.svg +17 -17
  675. package/assets/image-editor/images/stickers/landmarks/7.svg +16 -16
  676. package/assets/image-editor/images/stickers/landmarks/70.svg +45 -45
  677. package/assets/image-editor/images/stickers/landmarks/71.svg +37 -37
  678. package/assets/image-editor/images/stickers/landmarks/72.svg +28 -28
  679. package/assets/image-editor/images/stickers/landmarks/73.svg +25 -25
  680. package/assets/image-editor/images/stickers/landmarks/74.svg +23 -23
  681. package/assets/image-editor/images/stickers/landmarks/75.svg +88 -88
  682. package/assets/image-editor/images/stickers/landmarks/76.svg +25 -25
  683. package/assets/image-editor/images/stickers/landmarks/77.svg +23 -23
  684. package/assets/image-editor/images/stickers/landmarks/78.svg +63 -63
  685. package/assets/image-editor/images/stickers/landmarks/79.svg +25 -25
  686. package/assets/image-editor/images/stickers/landmarks/8.svg +52 -52
  687. package/assets/image-editor/images/stickers/landmarks/80.svg +29 -29
  688. package/assets/image-editor/images/stickers/landmarks/81.svg +44 -44
  689. package/assets/image-editor/images/stickers/landmarks/82.svg +83 -83
  690. package/assets/image-editor/images/stickers/landmarks/83.svg +65 -65
  691. package/assets/image-editor/images/stickers/landmarks/84.svg +31 -31
  692. package/assets/image-editor/images/stickers/landmarks/85.svg +30 -30
  693. package/assets/image-editor/images/stickers/landmarks/86.svg +26 -26
  694. package/assets/image-editor/images/stickers/landmarks/87.svg +132 -132
  695. package/assets/image-editor/images/stickers/landmarks/88.svg +93 -93
  696. package/assets/image-editor/images/stickers/landmarks/89.svg +91 -91
  697. package/assets/image-editor/images/stickers/landmarks/9.svg +70 -70
  698. package/assets/image-editor/images/stickers/landmarks/90.svg +65 -65
  699. package/assets/image-editor/images/stickers/landmarks/91.svg +36 -36
  700. package/assets/image-editor/images/stickers/landmarks/92.svg +66 -66
  701. package/assets/image-editor/images/stickers/landmarks/93.svg +65 -65
  702. package/assets/image-editor/images/stickers/landmarks/94.svg +28 -28
  703. package/assets/image-editor/images/stickers/landmarks/95.svg +31 -31
  704. package/assets/image-editor/images/stickers/landmarks/96.svg +25 -25
  705. package/assets/image-editor/images/stickers/landmarks/97.svg +31 -31
  706. package/assets/image-editor/images/stickers/landmarks/98.svg +52 -52
  707. package/assets/image-editor/images/stickers/landmarks/99.svg +56 -56
  708. package/assets/image-editor/images/stickers/stars/0.png +0 -0
  709. package/assets/image-editor/images/stickers/stars/1.png +0 -0
  710. package/assets/image-editor/images/stickers/stars/2.png +0 -0
  711. package/assets/image-editor/images/stickers/stars/3.png +0 -0
  712. package/assets/image-editor/images/stickers/stars/4.png +0 -0
  713. package/assets/image-editor/images/stickers/stars/5.png +0 -0
  714. package/assets/image-editor/images/stickers/transportation/0.svg +26 -26
  715. package/assets/image-editor/images/stickers/transportation/1.svg +10 -10
  716. package/assets/image-editor/images/stickers/transportation/10.svg +16 -16
  717. package/assets/image-editor/images/stickers/transportation/11.svg +30 -30
  718. package/assets/image-editor/images/stickers/transportation/12.svg +22 -22
  719. package/assets/image-editor/images/stickers/transportation/13.svg +24 -24
  720. package/assets/image-editor/images/stickers/transportation/14.svg +19 -19
  721. package/assets/image-editor/images/stickers/transportation/15.svg +23 -23
  722. package/assets/image-editor/images/stickers/transportation/16.svg +25 -25
  723. package/assets/image-editor/images/stickers/transportation/17.svg +34 -34
  724. package/assets/image-editor/images/stickers/transportation/18.svg +29 -29
  725. package/assets/image-editor/images/stickers/transportation/19.svg +24 -24
  726. package/assets/image-editor/images/stickers/transportation/2.svg +27 -27
  727. package/assets/image-editor/images/stickers/transportation/20.svg +25 -25
  728. package/assets/image-editor/images/stickers/transportation/21.svg +22 -22
  729. package/assets/image-editor/images/stickers/transportation/3.svg +18 -18
  730. package/assets/image-editor/images/stickers/transportation/4.svg +24 -24
  731. package/assets/image-editor/images/stickers/transportation/5.svg +15 -15
  732. package/assets/image-editor/images/stickers/transportation/6.svg +25 -25
  733. package/assets/image-editor/images/stickers/transportation/7.svg +17 -17
  734. package/assets/image-editor/images/stickers/transportation/8.svg +28 -28
  735. package/assets/image-editor/images/stickers/transportation/9.svg +23 -23
  736. package/assets/image-editor/images/textures/0.png +0 -0
  737. package/assets/image-editor/images/textures/1.png +0 -0
  738. package/assets/image-editor/images/textures/10.png +0 -0
  739. package/assets/image-editor/images/textures/11.png +0 -0
  740. package/assets/image-editor/images/textures/12.png +0 -0
  741. package/assets/image-editor/images/textures/13.png +0 -0
  742. package/assets/image-editor/images/textures/14.png +0 -0
  743. package/assets/image-editor/images/textures/15.png +0 -0
  744. package/assets/image-editor/images/textures/16.png +0 -0
  745. package/assets/image-editor/images/textures/17.png +0 -0
  746. package/assets/image-editor/images/textures/18.png +0 -0
  747. package/assets/image-editor/images/textures/19.png +0 -0
  748. package/assets/image-editor/images/textures/2.png +0 -0
  749. package/assets/image-editor/images/textures/20.png +0 -0
  750. package/assets/image-editor/images/textures/21.png +0 -0
  751. package/assets/image-editor/images/textures/22.png +0 -0
  752. package/assets/image-editor/images/textures/23.png +0 -0
  753. package/assets/image-editor/images/textures/24.png +0 -0
  754. package/assets/image-editor/images/textures/25.png +0 -0
  755. package/assets/image-editor/images/textures/26.png +0 -0
  756. package/assets/image-editor/images/textures/27.png +0 -0
  757. package/assets/image-editor/images/textures/28.png +0 -0
  758. package/assets/image-editor/images/textures/3.png +0 -0
  759. package/assets/image-editor/images/textures/4.png +0 -0
  760. package/assets/image-editor/images/textures/5.png +0 -0
  761. package/assets/image-editor/images/textures/6.png +0 -0
  762. package/assets/image-editor/images/textures/7.png +0 -0
  763. package/assets/image-editor/images/textures/8.png +0 -0
  764. package/assets/image-editor/images/textures/9.png +0 -0
  765. package/components/EmIcons/EmIcons.d.ts +30 -15
  766. package/components/ImageIcons/useIconsCopyToFolder.d.ts +2 -2
  767. package/constants/index.d.ts +8 -8
  768. package/debug-script.js +445 -445
  769. package/file-manager-IconsTab-Cv51TWYV.js +2426 -0
  770. package/file-manager-ImageCodeGenerator-DroVucLL.js +368 -0
  771. package/file-manager-JsBarcode-Cji_rnaG.js +2692 -0
  772. package/file-manager-browser-CweGvoKm.js +1229 -0
  773. package/file-manager-hooks-Dg-OcR_x.js +12256 -0
  774. package/file-manager-rolldown-runtime-DtPi1Y-2.js +13 -0
  775. package/file-manager-useMediaListEngine-ByGmaaib.js +921 -0
  776. package/file-manager.css +2 -3373
  777. package/file-manager.esm.js +8932 -2
  778. package/file-manager.js +28 -60217
  779. package/hooks/notifications/useNotificationsBase.d.ts +1 -1
  780. package/hooks/usePixieEditor.d.ts +1 -1
  781. package/i18n.d.ts +0 -1
  782. package/index.d.ts +5 -9
  783. package/mockServiceWorker.js +344 -344
  784. package/notification.d.ts +643 -646
  785. package/package.json +36 -36
  786. package/sample-files.json +104 -104
  787. package/shared/fileManagerApiError.d.ts +2 -2
  788. package/suppress-resize-observer-errors.js +60 -60
  789. package/test-pixie-loading.html +108 -108
  790. package/types.d.ts +8 -0
  791. package/utils/fileFormatUtils.d.ts +2 -2
  792. package/utils/jsonDataProvider.d.ts +4 -4
  793. package/utils/libraryTabLock.d.ts +11 -0
  794. package/utils/libraryTabLock.test.d.ts +1 -0
  795. package/utils/sortHelpers.d.ts +1 -1
  796. package/utils/themeUtils.d.ts +2 -2
  797. package/widgets/layout/errorBoundary/errorBoundary.d.ts +1 -2
  798. package/129.1f7048a0e93daec2ca44.js +0 -3893
  799. package/276.c0a535f6d0c018f0ff32.js +0 -426
  800. package/583.177f1aa2edb14f5f073e.js +0 -2978
  801. package/file-manager-IconsTab-_WPQISpD.js +0 -2
  802. package/file-manager-ImageCodeGenerator-BDrvWfI1.js +0 -2
  803. package/file-manager-JsBarcode-zmCuJ0oz.js +0 -2
  804. package/file-manager-browser-B-aFTXwm.js +0 -2
  805. package/file-manager-index-C_WmI5Gt.js +0 -10
  806. package/fm-icons-tab.dbc6aea218d2ab6b3de5.js +0 -2304
  807. package/fm-image-code-generator.50fded261e49f2abdf2b.js +0 -370
package/debug-script.js CHANGED
@@ -1,446 +1,446 @@
1
- /**
2
- * Отладочный скрипт для проверки и исправления циклических зависимостей в папках
3
- */
4
- document.addEventListener('DOMContentLoaded', () => {
5
- const debugContainer = document.createElement('div');
6
- debugContainer.style.padding = '20px';
7
- debugContainer.style.margin = '20px';
8
- debugContainer.style.background = '#f0f0f0';
9
- debugContainer.style.border = '1px solid #ddd';
10
- debugContainer.style.borderRadius = '5px';
11
-
12
- const heading = document.createElement('h1');
13
- heading.textContent = 'Отладка структуры папок файлового менеджера';
14
- debugContainer.appendChild(heading);
15
-
16
- // Кнопка для проверки наличия сервера
17
- const checkServerButton = document.createElement('button');
18
- checkServerButton.textContent = 'Проверить состояние сервера';
19
- checkServerButton.style.padding = '10px 15px';
20
- checkServerButton.style.margin = '10px 0';
21
- checkServerButton.style.background = '#722ed1';
22
- checkServerButton.style.color = 'white';
23
- checkServerButton.style.border = 'none';
24
- checkServerButton.style.borderRadius = '4px';
25
- checkServerButton.style.cursor = 'pointer';
26
- debugContainer.appendChild(checkServerButton);
27
-
28
- // Кнопка для проверки циклических зависимостей
29
- const checkButton = document.createElement('button');
30
- checkButton.textContent = 'Проверить и исправить циклические зависимости';
31
- checkButton.style.padding = '10px 15px';
32
- checkButton.style.margin = '10px 0 10px 10px';
33
- checkButton.style.background = '#1890ff';
34
- checkButton.style.color = 'white';
35
- checkButton.style.border = 'none';
36
- checkButton.style.borderRadius = '4px';
37
- checkButton.style.cursor = 'pointer';
38
- debugContainer.appendChild(checkButton);
39
-
40
- // Кнопка для тестирования создания папки
41
- const testCreateFolderButton = document.createElement('button');
42
- testCreateFolderButton.textContent = 'Тест создания папки';
43
- testCreateFolderButton.style.padding = '10px 15px';
44
- testCreateFolderButton.style.margin = '10px 0 10px 10px';
45
- testCreateFolderButton.style.background = '#52c41a';
46
- testCreateFolderButton.style.color = 'white';
47
- testCreateFolderButton.style.border = 'none';
48
- testCreateFolderButton.style.borderRadius = '4px';
49
- testCreateFolderButton.style.cursor = 'pointer';
50
- debugContainer.appendChild(testCreateFolderButton);
51
-
52
- // Лог результатов
53
- const resultLog = document.createElement('div');
54
- resultLog.style.marginTop = '20px';
55
- resultLog.style.padding = '15px';
56
- resultLog.style.background = '#fff';
57
- resultLog.style.border = '1px solid #ddd';
58
- resultLog.style.borderRadius = '4px';
59
- resultLog.style.height = '400px';
60
- resultLog.style.overflowY = 'auto';
61
- resultLog.style.fontFamily = 'monospace';
62
- debugContainer.appendChild(resultLog);
63
-
64
- document.getElementById('root').appendChild(debugContainer);
65
-
66
- // Функция добавления записи в лог
67
- function logMessage(message, type = 'info') {
68
- const logEntry = document.createElement('div');
69
- logEntry.style.margin = '5px 0';
70
- logEntry.style.padding = '5px';
71
-
72
- switch (type) {
73
- case 'error':
74
- logEntry.style.color = '#ff4d4f';
75
- logEntry.style.fontWeight = 'bold';
76
- break;
77
- case 'success':
78
- logEntry.style.color = '#52c41a';
79
- break;
80
- case 'warning':
81
- logEntry.style.color = '#faad14';
82
- break;
83
- default:
84
- logEntry.style.color = '#222';
85
- }
86
-
87
- logEntry.textContent = `[${new Date().toLocaleTimeString()}] ${message}`;
88
- resultLog.appendChild(logEntry);
89
- resultLog.scrollTop = resultLog.scrollHeight;
90
- console.log(`[DEBUG] ${message}`);
91
- }
92
-
93
- // Обработчик кнопки проверки сервера
94
- checkServerButton.addEventListener('click', () => {
95
- resultLog.innerHTML = '';
96
- logMessage('Проверка состояния сервера...');
97
-
98
- if (window.server) {
99
- logMessage('Сервер инициализирован!', 'success');
100
- logMessage(`Версия Mirage: ${window.server.miragejs.VERSION || 'неизвестна'}`);
101
- logMessage('Доступные модели:');
102
-
103
- // Перечисляем доступные модели
104
- try {
105
- const models = window.server.db._collections;
106
- for (const modelName in models) {
107
- logMessage(`- ${modelName}: ${models[modelName].length} записей`);
108
- }
109
- } catch (error) {
110
- logMessage(`Ошибка при получении моделей: ${error.message}`, 'error');
111
- }
112
-
113
- // Проверяем доступ к API через fetch
114
- logMessage('Проверка доступа к API...');
115
-
116
- fetch('/api/folders')
117
- .then(response => {
118
- if (response.ok) {
119
- logMessage('API /api/folders доступен', 'success');
120
- return response.json();
121
- } else {
122
- throw new Error(`HTTP ошибка ${response.status}`);
123
- }
124
- })
125
- .then(data => {
126
- logMessage(`Получено ${data.folders?.length || 0} папок`);
127
- })
128
- .catch(error => {
129
- logMessage(`Ошибка при доступе к API: ${error.message}`, 'error');
130
- });
131
- } else {
132
- logMessage('Сервер не найден в глобальном объекте window!', 'error');
133
- logMessage('Проверяем доступность API напрямую...');
134
-
135
- // Пробуем получить доступ к API даже если server не найден
136
- fetch('/api/folders')
137
- .then(response => {
138
- if (response.ok) {
139
- logMessage('API /api/folders доступен несмотря на отсутствие объекта server', 'success');
140
- } else {
141
- throw new Error(`HTTP ошибка ${response.status}`);
142
- }
143
- })
144
- .catch(error => {
145
- logMessage(`API недоступен: ${error.message}`, 'error');
146
- logMessage('Возможно, сервер не запущен или не настроен правильно', 'warning');
147
- });
148
- }
149
- });
150
-
151
- // Обработчик кнопки проверки циклических зависимостей
152
- checkButton.addEventListener('click', async () => {
153
- resultLog.innerHTML = '';
154
- logMessage('Начинаем проверку структуры папок...');
155
-
156
- try {
157
- // Загружаем папки с сервера
158
- logMessage('Загрузка списка папок...');
159
- const foldersResponse = await fetch('/api/folders');
160
-
161
- if (!foldersResponse.ok) {
162
- throw new Error(`Ошибка при загрузке папок: ${foldersResponse.status}`);
163
- }
164
-
165
- const foldersData = await foldersResponse.json();
166
- const folders = foldersData.folders || [];
167
-
168
- logMessage(`Загружено ${folders.length} папок`, 'success');
169
-
170
- // Проверка на прямые циклические зависимости (папка сама себе родитель)
171
- const directCycles = folders.filter(folder => folder.id === folder.parentId && folder.parentId !== null);
172
-
173
- if (directCycles.length > 0) {
174
- logMessage(`Обнаружено ${directCycles.length} папок с прямыми циклическими зависимостями:`, 'error');
175
- directCycles.forEach(folder => {
176
- logMessage(`- Папка "${folder.name}" (ID: ${folder.id}) является родителем самой себя`, 'error');
177
- });
178
-
179
- // Исправляем прямые циклические зависимости
180
- logMessage('Исправление прямых циклических зависимостей...');
181
-
182
- for (const folder of directCycles) {
183
- logMessage(`Исправление папки "${folder.name}" (ID: ${folder.id})...`);
184
-
185
- // Сбрасываем parentId на null
186
- const fixResponse = await fetch(`/api/folders/${folder.id}`, {
187
- method: 'PATCH',
188
- headers: {
189
- 'Content-Type': 'application/json'
190
- },
191
- body: JSON.stringify({
192
- parentId: null
193
- })
194
- }).catch(error => {
195
- // Если API не поддерживает PATCH, симулируем изменение через консоль
196
- logMessage(`API метод PATCH не поддерживается: ${error.message}`, 'warning');
197
- logMessage(`Симуляция исправления: window.server.db.folders.update(${folder.id}, { parentId: null })`, 'info');
198
-
199
- // Выполняем прямую модификацию в консоли, если доступно
200
- if (window.server && window.server.db && window.server.db.folders) {
201
- const updatedFolder = window.server.db.folders.update(folder.id, { parentId: null });
202
- return { ok: true, json: () => updatedFolder };
203
- }
204
-
205
- return { ok: false };
206
- });
207
-
208
- if (fixResponse.ok) {
209
- logMessage(`Папка "${folder.name}" исправлена`, 'success');
210
- } else {
211
- logMessage(`Не удалось исправить папку "${folder.name}"`, 'error');
212
- }
213
- }
214
- } else {
215
- logMessage('Прямых циклических зависимостей не обнаружено', 'success');
216
- }
217
-
218
- // Ищем непрямые циклические зависимости
219
- logMessage('Проверка на непрямые циклические зависимости...');
220
-
221
- // Функция для проверки циклических зависимостей
222
- function findCyclicDependencies(folders) {
223
- const cyclicFolders = [];
224
-
225
- for (const folder of folders) {
226
- if (!folder.parentId) continue;
227
-
228
- const visited = new Set();
229
- let currentId = folder.parentId;
230
-
231
- while (currentId) {
232
- if (visited.has(currentId)) {
233
- // Цикл обнаружен
234
- cyclicFolders.push(folder);
235
- break;
236
- }
237
-
238
- if (currentId === folder.id) {
239
- // Прямой цикл (уже обработан выше)
240
- break;
241
- }
242
-
243
- visited.add(currentId);
244
-
245
- const parentFolder = folders.find(f => f.id === currentId);
246
- if (!parentFolder) break;
247
-
248
- currentId = parentFolder.parentId;
249
- }
250
- }
251
-
252
- return cyclicFolders;
253
- }
254
-
255
- const cyclicFolders = findCyclicDependencies(folders);
256
-
257
- if (cyclicFolders.length > 0) {
258
- logMessage(`Обнаружено ${cyclicFolders.length} папок с непрямыми циклическими зависимостями:`, 'error');
259
-
260
- cyclicFolders.forEach(folder => {
261
- logMessage(`- Папка "${folder.name}" (ID: ${folder.id}) имеет циклическую зависимость через родителя ${folder.parentId}`, 'error');
262
- });
263
-
264
- // Исправляем непрямые циклические зависимости
265
- logMessage('Исправление непрямых циклических зависимостей...');
266
-
267
- for (const folder of cyclicFolders) {
268
- logMessage(`Исправление папки "${folder.name}" (ID: ${folder.id})...`);
269
-
270
- // Сбрасываем parentId на null
271
- const fixResponse = await fetch(`/api/folders/${folder.id}`, {
272
- method: 'PATCH',
273
- headers: {
274
- 'Content-Type': 'application/json'
275
- },
276
- body: JSON.stringify({
277
- parentId: null
278
- })
279
- }).catch(error => {
280
- // Если API не поддерживает PATCH, симулируем изменение
281
- logMessage(`API метод PATCH не поддерживается: ${error.message}`, 'warning');
282
- logMessage(`Симуляция исправления: window.server.db.folders.update(${folder.id}, { parentId: null })`, 'info');
283
-
284
- // Выполняем прямую модификацию, если доступно
285
- if (window.server && window.server.db && window.server.db.folders) {
286
- const updatedFolder = window.server.db.folders.update(folder.id, { parentId: null });
287
- return { ok: true, json: () => updatedFolder };
288
- }
289
-
290
- return { ok: false };
291
- });
292
-
293
- if (fixResponse.ok) {
294
- logMessage(`Папка "${folder.name}" исправлена`, 'success');
295
- } else {
296
- logMessage(`Не удалось исправить папку "${folder.name}"`, 'error');
297
- }
298
- }
299
- } else {
300
- logMessage('Непрямых циклических зависимостей не обнаружено', 'success');
301
- }
302
-
303
- // Финальная проверка после исправлений
304
- logMessage('Выполняем повторную проверку после исправлений...');
305
-
306
- const finalCheckResponse = await fetch('/api/folders');
307
- const finalFoldersData = await finalCheckResponse.json();
308
- const finalFolders = finalFoldersData.folders || [];
309
-
310
- const remainingDirectCycles = finalFolders.filter(folder => folder.id === folder.parentId && folder.parentId !== null);
311
- const remainingIndirectCycles = findCyclicDependencies(finalFolders);
312
-
313
- if (remainingDirectCycles.length === 0 && remainingIndirectCycles.length === 0) {
314
- logMessage('Все циклические зависимости успешно устранены!', 'success');
315
- } else {
316
- logMessage(`Осталось нерешенных проблем: ${remainingDirectCycles.length + remainingIndirectCycles.length}`, 'warning');
317
- }
318
-
319
- // Визуализация итоговой структуры папок
320
- logMessage('Итоговая структура папок:');
321
-
322
- // Строим карту отношений родитель-дети
323
- const folderMap = {};
324
- finalFolders.forEach(folder => {
325
- if (!folderMap[folder.id]) {
326
- folderMap[folder.id] = {
327
- ...folder,
328
- children: []
329
- };
330
- } else {
331
- folderMap[folder.id] = {
332
- ...folderMap[folder.id],
333
- ...folder
334
- };
335
- }
336
- });
337
-
338
- // Создаем связи родитель-дети
339
- finalFolders.forEach(folder => {
340
- if (folder.parentId && folderMap[folder.parentId]) {
341
- folderMap[folder.parentId].children.push(folderMap[folder.id]);
342
- }
343
- });
344
-
345
- // Корневые папки (без родителя)
346
- const rootFolders = finalFolders.filter(folder => !folder.parentId);
347
-
348
- // Рекурсивная функция для вывода структуры папок
349
- function printFolderStructure(folder, level = 0) {
350
- const indent = ' '.repeat(level);
351
- logMessage(`${indent}└─ ${folder.name} (ID: ${folder.id})`);
352
-
353
- const children = finalFolders.filter(f => f.parentId === folder.id);
354
- children.forEach(child => {
355
- printFolderStructure(child, level + 1);
356
- });
357
- }
358
-
359
- rootFolders.forEach(folder => {
360
- printFolderStructure(folder);
361
- });
362
-
363
- } catch (error) {
364
- logMessage(`Ошибка при выполнении проверки: ${error.message}`, 'error');
365
- console.error('Ошибка при отладке:', error);
366
- }
367
- });
368
-
369
- // Обработчик кнопки тестирования создания папки
370
- testCreateFolderButton.addEventListener('click', async () => {
371
- resultLog.innerHTML = '';
372
- logMessage('Тестирование создания папки...');
373
-
374
- try {
375
- // Генерируем уникальное имя папки для тестирования
376
- const testFolderName = `Тестовая папка ${new Date().toLocaleTimeString()}`;
377
- logMessage(`Создаем папку "${testFolderName}" в корневом каталоге...`);
378
-
379
- // Отправляем запрос на создание папки
380
- const response = await fetch('/api/folders', {
381
- method: 'POST',
382
- headers: {
383
- 'Content-Type': 'application/json'
384
- },
385
- body: JSON.stringify({
386
- name: testFolderName,
387
- parentId: null
388
- })
389
- });
390
-
391
- // Анализируем ответ
392
- logMessage(`Статус ответа: ${response.status} ${response.statusText}`);
393
- const responseData = await response.json();
394
-
395
- // Выводим подробную информацию о структуре ответа
396
- logMessage('Структура ответа сервера:');
397
- const responseStructure = JSON.stringify(responseData, null, 2);
398
-
399
- const responseDetails = document.createElement('pre');
400
- responseDetails.style.backgroundColor = '#f5f5f5';
401
- responseDetails.style.padding = '10px';
402
- responseDetails.style.borderRadius = '4px';
403
- responseDetails.style.fontSize = '12px';
404
- responseDetails.style.overflow = 'auto';
405
- responseDetails.style.maxHeight = '200px';
406
- responseDetails.textContent = responseStructure;
407
- resultLog.appendChild(responseDetails);
408
-
409
- if (response.ok) {
410
- logMessage(`Папка "${testFolderName}" успешно создана!`, 'success');
411
-
412
- // Проверяем структуру ответа
413
- if (responseData.folder) {
414
- logMessage(`ID новой папки: ${responseData.folder.id}`, 'success');
415
- logMessage('Формат ответа: { folder: {...} }', 'info');
416
- } else if (responseData.id) {
417
- logMessage(`ID новой папки: ${responseData.id}`, 'success');
418
- logMessage('Формат ответа: {...}', 'info');
419
- } else {
420
- logMessage('Некорректный формат ответа: отсутствует ID папки', 'error');
421
- }
422
-
423
- // Загружаем список папок для проверки
424
- logMessage('Проверяем, что папка появилась в списке...');
425
- const foldersResponse = await fetch('/api/folders');
426
- const foldersData = await foldersResponse.json();
427
- const folders = foldersData.folders || [];
428
-
429
- // Ищем созданную папку в списке
430
- const folderId = responseData.folder ? responseData.folder.id : responseData.id;
431
- const createdFolder = folders.find(folder => folder.id === folderId);
432
-
433
- if (createdFolder) {
434
- logMessage(`Папка "${createdFolder.name}" найдена в списке!`, 'success');
435
- } else {
436
- logMessage('Папка не найдена в списке после создания!', 'error');
437
- }
438
- } else {
439
- logMessage(`Ошибка при создании папки: ${responseData.error || 'Неизвестная ошибка'}`, 'error');
440
- }
441
- } catch (error) {
442
- logMessage(`Ошибка при тестировании: ${error.message}`, 'error');
443
- console.error('Ошибка при тестировании создания папки:', error);
444
- }
445
- });
1
+ /**
2
+ * Отладочный скрипт для проверки и исправления циклических зависимостей в папках
3
+ */
4
+ document.addEventListener('DOMContentLoaded', () => {
5
+ const debugContainer = document.createElement('div');
6
+ debugContainer.style.padding = '20px';
7
+ debugContainer.style.margin = '20px';
8
+ debugContainer.style.background = '#f0f0f0';
9
+ debugContainer.style.border = '1px solid #ddd';
10
+ debugContainer.style.borderRadius = '5px';
11
+
12
+ const heading = document.createElement('h1');
13
+ heading.textContent = 'Отладка структуры папок файлового менеджера';
14
+ debugContainer.appendChild(heading);
15
+
16
+ // Кнопка для проверки наличия сервера
17
+ const checkServerButton = document.createElement('button');
18
+ checkServerButton.textContent = 'Проверить состояние сервера';
19
+ checkServerButton.style.padding = '10px 15px';
20
+ checkServerButton.style.margin = '10px 0';
21
+ checkServerButton.style.background = '#722ed1';
22
+ checkServerButton.style.color = 'white';
23
+ checkServerButton.style.border = 'none';
24
+ checkServerButton.style.borderRadius = '4px';
25
+ checkServerButton.style.cursor = 'pointer';
26
+ debugContainer.appendChild(checkServerButton);
27
+
28
+ // Кнопка для проверки циклических зависимостей
29
+ const checkButton = document.createElement('button');
30
+ checkButton.textContent = 'Проверить и исправить циклические зависимости';
31
+ checkButton.style.padding = '10px 15px';
32
+ checkButton.style.margin = '10px 0 10px 10px';
33
+ checkButton.style.background = '#1890ff';
34
+ checkButton.style.color = 'white';
35
+ checkButton.style.border = 'none';
36
+ checkButton.style.borderRadius = '4px';
37
+ checkButton.style.cursor = 'pointer';
38
+ debugContainer.appendChild(checkButton);
39
+
40
+ // Кнопка для тестирования создания папки
41
+ const testCreateFolderButton = document.createElement('button');
42
+ testCreateFolderButton.textContent = 'Тест создания папки';
43
+ testCreateFolderButton.style.padding = '10px 15px';
44
+ testCreateFolderButton.style.margin = '10px 0 10px 10px';
45
+ testCreateFolderButton.style.background = '#52c41a';
46
+ testCreateFolderButton.style.color = 'white';
47
+ testCreateFolderButton.style.border = 'none';
48
+ testCreateFolderButton.style.borderRadius = '4px';
49
+ testCreateFolderButton.style.cursor = 'pointer';
50
+ debugContainer.appendChild(testCreateFolderButton);
51
+
52
+ // Лог результатов
53
+ const resultLog = document.createElement('div');
54
+ resultLog.style.marginTop = '20px';
55
+ resultLog.style.padding = '15px';
56
+ resultLog.style.background = '#fff';
57
+ resultLog.style.border = '1px solid #ddd';
58
+ resultLog.style.borderRadius = '4px';
59
+ resultLog.style.height = '400px';
60
+ resultLog.style.overflowY = 'auto';
61
+ resultLog.style.fontFamily = 'monospace';
62
+ debugContainer.appendChild(resultLog);
63
+
64
+ document.getElementById('root').appendChild(debugContainer);
65
+
66
+ // Функция добавления записи в лог
67
+ function logMessage(message, type = 'info') {
68
+ const logEntry = document.createElement('div');
69
+ logEntry.style.margin = '5px 0';
70
+ logEntry.style.padding = '5px';
71
+
72
+ switch (type) {
73
+ case 'error':
74
+ logEntry.style.color = '#ff4d4f';
75
+ logEntry.style.fontWeight = 'bold';
76
+ break;
77
+ case 'success':
78
+ logEntry.style.color = '#52c41a';
79
+ break;
80
+ case 'warning':
81
+ logEntry.style.color = '#faad14';
82
+ break;
83
+ default:
84
+ logEntry.style.color = '#222';
85
+ }
86
+
87
+ logEntry.textContent = `[${new Date().toLocaleTimeString()}] ${message}`;
88
+ resultLog.appendChild(logEntry);
89
+ resultLog.scrollTop = resultLog.scrollHeight;
90
+ console.log(`[DEBUG] ${message}`);
91
+ }
92
+
93
+ // Обработчик кнопки проверки сервера
94
+ checkServerButton.addEventListener('click', () => {
95
+ resultLog.innerHTML = '';
96
+ logMessage('Проверка состояния сервера...');
97
+
98
+ if (window.server) {
99
+ logMessage('Сервер инициализирован!', 'success');
100
+ logMessage(`Версия Mirage: ${window.server.miragejs.VERSION || 'неизвестна'}`);
101
+ logMessage('Доступные модели:');
102
+
103
+ // Перечисляем доступные модели
104
+ try {
105
+ const models = window.server.db._collections;
106
+ for (const modelName in models) {
107
+ logMessage(`- ${modelName}: ${models[modelName].length} записей`);
108
+ }
109
+ } catch (error) {
110
+ logMessage(`Ошибка при получении моделей: ${error.message}`, 'error');
111
+ }
112
+
113
+ // Проверяем доступ к API через fetch
114
+ logMessage('Проверка доступа к API...');
115
+
116
+ fetch('/api/folders')
117
+ .then(response => {
118
+ if (response.ok) {
119
+ logMessage('API /api/folders доступен', 'success');
120
+ return response.json();
121
+ } else {
122
+ throw new Error(`HTTP ошибка ${response.status}`);
123
+ }
124
+ })
125
+ .then(data => {
126
+ logMessage(`Получено ${data.folders?.length || 0} папок`);
127
+ })
128
+ .catch(error => {
129
+ logMessage(`Ошибка при доступе к API: ${error.message}`, 'error');
130
+ });
131
+ } else {
132
+ logMessage('Сервер не найден в глобальном объекте window!', 'error');
133
+ logMessage('Проверяем доступность API напрямую...');
134
+
135
+ // Пробуем получить доступ к API даже если server не найден
136
+ fetch('/api/folders')
137
+ .then(response => {
138
+ if (response.ok) {
139
+ logMessage('API /api/folders доступен несмотря на отсутствие объекта server', 'success');
140
+ } else {
141
+ throw new Error(`HTTP ошибка ${response.status}`);
142
+ }
143
+ })
144
+ .catch(error => {
145
+ logMessage(`API недоступен: ${error.message}`, 'error');
146
+ logMessage('Возможно, сервер не запущен или не настроен правильно', 'warning');
147
+ });
148
+ }
149
+ });
150
+
151
+ // Обработчик кнопки проверки циклических зависимостей
152
+ checkButton.addEventListener('click', async () => {
153
+ resultLog.innerHTML = '';
154
+ logMessage('Начинаем проверку структуры папок...');
155
+
156
+ try {
157
+ // Загружаем папки с сервера
158
+ logMessage('Загрузка списка папок...');
159
+ const foldersResponse = await fetch('/api/folders');
160
+
161
+ if (!foldersResponse.ok) {
162
+ throw new Error(`Ошибка при загрузке папок: ${foldersResponse.status}`);
163
+ }
164
+
165
+ const foldersData = await foldersResponse.json();
166
+ const folders = foldersData.folders || [];
167
+
168
+ logMessage(`Загружено ${folders.length} папок`, 'success');
169
+
170
+ // Проверка на прямые циклические зависимости (папка сама себе родитель)
171
+ const directCycles = folders.filter(folder => folder.id === folder.parentId && folder.parentId !== null);
172
+
173
+ if (directCycles.length > 0) {
174
+ logMessage(`Обнаружено ${directCycles.length} папок с прямыми циклическими зависимостями:`, 'error');
175
+ directCycles.forEach(folder => {
176
+ logMessage(`- Папка "${folder.name}" (ID: ${folder.id}) является родителем самой себя`, 'error');
177
+ });
178
+
179
+ // Исправляем прямые циклические зависимости
180
+ logMessage('Исправление прямых циклических зависимостей...');
181
+
182
+ for (const folder of directCycles) {
183
+ logMessage(`Исправление папки "${folder.name}" (ID: ${folder.id})...`);
184
+
185
+ // Сбрасываем parentId на null
186
+ const fixResponse = await fetch(`/api/folders/${folder.id}`, {
187
+ method: 'PATCH',
188
+ headers: {
189
+ 'Content-Type': 'application/json'
190
+ },
191
+ body: JSON.stringify({
192
+ parentId: null
193
+ })
194
+ }).catch(error => {
195
+ // Если API не поддерживает PATCH, симулируем изменение через консоль
196
+ logMessage(`API метод PATCH не поддерживается: ${error.message}`, 'warning');
197
+ logMessage(`Симуляция исправления: window.server.db.folders.update(${folder.id}, { parentId: null })`, 'info');
198
+
199
+ // Выполняем прямую модификацию в консоли, если доступно
200
+ if (window.server && window.server.db && window.server.db.folders) {
201
+ const updatedFolder = window.server.db.folders.update(folder.id, { parentId: null });
202
+ return { ok: true, json: () => updatedFolder };
203
+ }
204
+
205
+ return { ok: false };
206
+ });
207
+
208
+ if (fixResponse.ok) {
209
+ logMessage(`Папка "${folder.name}" исправлена`, 'success');
210
+ } else {
211
+ logMessage(`Не удалось исправить папку "${folder.name}"`, 'error');
212
+ }
213
+ }
214
+ } else {
215
+ logMessage('Прямых циклических зависимостей не обнаружено', 'success');
216
+ }
217
+
218
+ // Ищем непрямые циклические зависимости
219
+ logMessage('Проверка на непрямые циклические зависимости...');
220
+
221
+ // Функция для проверки циклических зависимостей
222
+ function findCyclicDependencies(folders) {
223
+ const cyclicFolders = [];
224
+
225
+ for (const folder of folders) {
226
+ if (!folder.parentId) continue;
227
+
228
+ const visited = new Set();
229
+ let currentId = folder.parentId;
230
+
231
+ while (currentId) {
232
+ if (visited.has(currentId)) {
233
+ // Цикл обнаружен
234
+ cyclicFolders.push(folder);
235
+ break;
236
+ }
237
+
238
+ if (currentId === folder.id) {
239
+ // Прямой цикл (уже обработан выше)
240
+ break;
241
+ }
242
+
243
+ visited.add(currentId);
244
+
245
+ const parentFolder = folders.find(f => f.id === currentId);
246
+ if (!parentFolder) break;
247
+
248
+ currentId = parentFolder.parentId;
249
+ }
250
+ }
251
+
252
+ return cyclicFolders;
253
+ }
254
+
255
+ const cyclicFolders = findCyclicDependencies(folders);
256
+
257
+ if (cyclicFolders.length > 0) {
258
+ logMessage(`Обнаружено ${cyclicFolders.length} папок с непрямыми циклическими зависимостями:`, 'error');
259
+
260
+ cyclicFolders.forEach(folder => {
261
+ logMessage(`- Папка "${folder.name}" (ID: ${folder.id}) имеет циклическую зависимость через родителя ${folder.parentId}`, 'error');
262
+ });
263
+
264
+ // Исправляем непрямые циклические зависимости
265
+ logMessage('Исправление непрямых циклических зависимостей...');
266
+
267
+ for (const folder of cyclicFolders) {
268
+ logMessage(`Исправление папки "${folder.name}" (ID: ${folder.id})...`);
269
+
270
+ // Сбрасываем parentId на null
271
+ const fixResponse = await fetch(`/api/folders/${folder.id}`, {
272
+ method: 'PATCH',
273
+ headers: {
274
+ 'Content-Type': 'application/json'
275
+ },
276
+ body: JSON.stringify({
277
+ parentId: null
278
+ })
279
+ }).catch(error => {
280
+ // Если API не поддерживает PATCH, симулируем изменение
281
+ logMessage(`API метод PATCH не поддерживается: ${error.message}`, 'warning');
282
+ logMessage(`Симуляция исправления: window.server.db.folders.update(${folder.id}, { parentId: null })`, 'info');
283
+
284
+ // Выполняем прямую модификацию, если доступно
285
+ if (window.server && window.server.db && window.server.db.folders) {
286
+ const updatedFolder = window.server.db.folders.update(folder.id, { parentId: null });
287
+ return { ok: true, json: () => updatedFolder };
288
+ }
289
+
290
+ return { ok: false };
291
+ });
292
+
293
+ if (fixResponse.ok) {
294
+ logMessage(`Папка "${folder.name}" исправлена`, 'success');
295
+ } else {
296
+ logMessage(`Не удалось исправить папку "${folder.name}"`, 'error');
297
+ }
298
+ }
299
+ } else {
300
+ logMessage('Непрямых циклических зависимостей не обнаружено', 'success');
301
+ }
302
+
303
+ // Финальная проверка после исправлений
304
+ logMessage('Выполняем повторную проверку после исправлений...');
305
+
306
+ const finalCheckResponse = await fetch('/api/folders');
307
+ const finalFoldersData = await finalCheckResponse.json();
308
+ const finalFolders = finalFoldersData.folders || [];
309
+
310
+ const remainingDirectCycles = finalFolders.filter(folder => folder.id === folder.parentId && folder.parentId !== null);
311
+ const remainingIndirectCycles = findCyclicDependencies(finalFolders);
312
+
313
+ if (remainingDirectCycles.length === 0 && remainingIndirectCycles.length === 0) {
314
+ logMessage('Все циклические зависимости успешно устранены!', 'success');
315
+ } else {
316
+ logMessage(`Осталось нерешенных проблем: ${remainingDirectCycles.length + remainingIndirectCycles.length}`, 'warning');
317
+ }
318
+
319
+ // Визуализация итоговой структуры папок
320
+ logMessage('Итоговая структура папок:');
321
+
322
+ // Строим карту отношений родитель-дети
323
+ const folderMap = {};
324
+ finalFolders.forEach(folder => {
325
+ if (!folderMap[folder.id]) {
326
+ folderMap[folder.id] = {
327
+ ...folder,
328
+ children: []
329
+ };
330
+ } else {
331
+ folderMap[folder.id] = {
332
+ ...folderMap[folder.id],
333
+ ...folder
334
+ };
335
+ }
336
+ });
337
+
338
+ // Создаем связи родитель-дети
339
+ finalFolders.forEach(folder => {
340
+ if (folder.parentId && folderMap[folder.parentId]) {
341
+ folderMap[folder.parentId].children.push(folderMap[folder.id]);
342
+ }
343
+ });
344
+
345
+ // Корневые папки (без родителя)
346
+ const rootFolders = finalFolders.filter(folder => !folder.parentId);
347
+
348
+ // Рекурсивная функция для вывода структуры папок
349
+ function printFolderStructure(folder, level = 0) {
350
+ const indent = ' '.repeat(level);
351
+ logMessage(`${indent}└─ ${folder.name} (ID: ${folder.id})`);
352
+
353
+ const children = finalFolders.filter(f => f.parentId === folder.id);
354
+ children.forEach(child => {
355
+ printFolderStructure(child, level + 1);
356
+ });
357
+ }
358
+
359
+ rootFolders.forEach(folder => {
360
+ printFolderStructure(folder);
361
+ });
362
+
363
+ } catch (error) {
364
+ logMessage(`Ошибка при выполнении проверки: ${error.message}`, 'error');
365
+ console.error('Ошибка при отладке:', error);
366
+ }
367
+ });
368
+
369
+ // Обработчик кнопки тестирования создания папки
370
+ testCreateFolderButton.addEventListener('click', async () => {
371
+ resultLog.innerHTML = '';
372
+ logMessage('Тестирование создания папки...');
373
+
374
+ try {
375
+ // Генерируем уникальное имя папки для тестирования
376
+ const testFolderName = `Тестовая папка ${new Date().toLocaleTimeString()}`;
377
+ logMessage(`Создаем папку "${testFolderName}" в корневом каталоге...`);
378
+
379
+ // Отправляем запрос на создание папки
380
+ const response = await fetch('/api/folders', {
381
+ method: 'POST',
382
+ headers: {
383
+ 'Content-Type': 'application/json'
384
+ },
385
+ body: JSON.stringify({
386
+ name: testFolderName,
387
+ parentId: null
388
+ })
389
+ });
390
+
391
+ // Анализируем ответ
392
+ logMessage(`Статус ответа: ${response.status} ${response.statusText}`);
393
+ const responseData = await response.json();
394
+
395
+ // Выводим подробную информацию о структуре ответа
396
+ logMessage('Структура ответа сервера:');
397
+ const responseStructure = JSON.stringify(responseData, null, 2);
398
+
399
+ const responseDetails = document.createElement('pre');
400
+ responseDetails.style.backgroundColor = '#f5f5f5';
401
+ responseDetails.style.padding = '10px';
402
+ responseDetails.style.borderRadius = '4px';
403
+ responseDetails.style.fontSize = '12px';
404
+ responseDetails.style.overflow = 'auto';
405
+ responseDetails.style.maxHeight = '200px';
406
+ responseDetails.textContent = responseStructure;
407
+ resultLog.appendChild(responseDetails);
408
+
409
+ if (response.ok) {
410
+ logMessage(`Папка "${testFolderName}" успешно создана!`, 'success');
411
+
412
+ // Проверяем структуру ответа
413
+ if (responseData.folder) {
414
+ logMessage(`ID новой папки: ${responseData.folder.id}`, 'success');
415
+ logMessage('Формат ответа: { folder: {...} }', 'info');
416
+ } else if (responseData.id) {
417
+ logMessage(`ID новой папки: ${responseData.id}`, 'success');
418
+ logMessage('Формат ответа: {...}', 'info');
419
+ } else {
420
+ logMessage('Некорректный формат ответа: отсутствует ID папки', 'error');
421
+ }
422
+
423
+ // Загружаем список папок для проверки
424
+ logMessage('Проверяем, что папка появилась в списке...');
425
+ const foldersResponse = await fetch('/api/folders');
426
+ const foldersData = await foldersResponse.json();
427
+ const folders = foldersData.folders || [];
428
+
429
+ // Ищем созданную папку в списке
430
+ const folderId = responseData.folder ? responseData.folder.id : responseData.id;
431
+ const createdFolder = folders.find(folder => folder.id === folderId);
432
+
433
+ if (createdFolder) {
434
+ logMessage(`Папка "${createdFolder.name}" найдена в списке!`, 'success');
435
+ } else {
436
+ logMessage('Папка не найдена в списке после создания!', 'error');
437
+ }
438
+ } else {
439
+ logMessage(`Ошибка при создании папки: ${responseData.error || 'Неизвестная ошибка'}`, 'error');
440
+ }
441
+ } catch (error) {
442
+ logMessage(`Ошибка при тестировании: ${error.message}`, 'error');
443
+ console.error('Ошибка при тестировании создания папки:', error);
444
+ }
445
+ });
446
446
  });