WebP Express - Version 0.21.1

Version Description

(released: 27 Oct 2021) * Bugfix: File manager could not handle many images. It now loads tree branches on need basis instead of the complete tree in one go * Bugfix: For mulisite, the redirect after settings save was not working (bug introduced in 0.21.0)

For more info, see the closed issues on the webp-express 0.21.1 milestone

Download this release

Release Info

Developer rosell.dk
Plugin Icon 128x128 WebP Express
Version 0.21.1
Comparing to
See all releases

Code changes from version 0.21.0 to 0.21.1

README.md CHANGED
@@ -704,10 +704,41 @@ The 0.17.0 release contained binaries with dots in their filenames, which caused
704
  ### When is feature X coming? / Roadmap
705
  No schedule. I move forward as time allows. I currently spend a lot of time answering questions in the support forum. If someone would be nice and help out answering questions here, it would allow me to spend that time developing. Also, donations would allow me to turn down some of the more boring requests from my customers, and speed things up here.
706
 
707
- Here are my current plans ahead: 0.21 will probably be a file manager-like interface for converting / bulk converting / viewing conversion logs / comparing original vs webp visually - kind of a merge of current "test converter" and "bulk conversion" interfaces, and with an addition of a file explorer. 0.22 might allow excluding certain files and folders. 0.23 could be supporting Save-Data header in Varied Image Responses mode (send extra compressed images to clients who wants to use as little bandwidth as possible). 0.21 might be displaying rules for NGINX. 0.24 might be an effort to allow webp for all browsers using [this javascript library](http://libwebpjs.hohenlimburg.org/v0.6.0/). Unfortunately, the javascript library does not (currently) support srcset attributes, which is why I moved this item down the priority list. We need srcset to be supported for the feature to be useful. 0.26 might be WAMP support. The current milestones, their subtasks and their progress can be viewed here: https://github.com/rosell-dk/webp-express/milestones
 
 
 
 
 
 
 
 
708
 
709
  If you wish to affect priorities, it is certainly possible. You can try to argue your case in the forum or you can simply let the money do the talking. By donating as little as a cup of coffee on [ko-fi.com/rosell](https://ko-fi.com/rosell), you can leave a wish. I shall take these wishes into account when prioritizing between new features.
710
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
711
  ## Changes in 0.20.1
712
  *(released: 20 Jun 2021)*
713
  * Bugfix: Removed composer.lock. It was locked on PHP 7.2, which caused server error on some sites.
704
  ### When is feature X coming? / Roadmap
705
  No schedule. I move forward as time allows. I currently spend a lot of time answering questions in the support forum. If someone would be nice and help out answering questions here, it would allow me to spend that time developing. Also, donations would allow me to turn down some of the more boring requests from my customers, and speed things up here.
706
 
707
+ Right now I am focusing on the File Manager. I would like to add possibility for converting, bulk converting, viewing conversion logs, viewing stats, etc.
708
+
709
+ Here are other things in pipeline:
710
+ - Excluding certain files and folders.
711
+ - Supporting Save-Data header in Varied Image Responses mode (send extra compressed images to clients who wants to use as little bandwidth as possible).
712
+ - Displaying rules for NGINX.
713
+ - Allow webp for all browsers using [this javascript library](http://libwebpjs.hohenlimburg.org/v0.6.0/). Unfortunately, the javascript library does not (currently) support srcset attributes, which is why I moved this item down the priority list. We need srcset to be supported for the feature to be useful.
714
+
715
+ The current milestones, their subtasks and their progress can be viewed here: https://github.com/rosell-dk/webp-express/milestones
716
 
717
  If you wish to affect priorities, it is certainly possible. You can try to argue your case in the forum or you can simply let the money do the talking. By donating as little as a cup of coffee on [ko-fi.com/rosell](https://ko-fi.com/rosell), you can leave a wish. I shall take these wishes into account when prioritizing between new features.
718
 
719
+
720
+ ## Changes in 0.21.1
721
+ *(released: 27 Oct 2021)*
722
+ * Bugfix: File manager could not handle many images. It now loads tree branches on need basis instead of the complete tree in one go
723
+ * Bugfix: For mulisite, the redirect after settings save was not working (bug introduced in 0.21.0)
724
+
725
+ For more info, see the closed issues on the [webp-express 0.21.1 milestone](https://github.com/rosell-dk/webp-express/milestone/42?closed=1)
726
+
727
+ ## Changes in 0.21.0
728
+ *(released: 25 Oct 2021)*
729
+ * Added image browser (in Media tab)
730
+ * Updated webp convert library to 2.7.0.
731
+ * ImageMagick now supports the "near-lossless" option (provided Imagick >= 7.0.10-54)
732
+ * Added "try-common-system-paths" option for ImageMagick (default: true). Thanks to Henrik Alves for adding this option.
733
+ * Bugfix: Handling Uncaught Fatal Exception during .htaccess read failure. Thanks to Manuel D'Orso from Italy for the fix.
734
+ * Bugfix: File names which were not UTF8 caused trouble in the Bulk Convert. Thank to "mills4078" for the fix
735
+ * Bugfix: Redirection back to settings after saving settings failed on some systems. Thanks to Martin Rehberger (@kingkero) from Germany for the fix.
736
+ * Bugfix: Webp urls did not contain port number (only relevant when the website was not on default port number). Thanks to Nicolas LIENART (@nicolnt) from France for providing the fix.
737
+
738
+ For more info, see the closed issues on the [webp-express 0.21.0 milestone](https://github.com/rosell-dk/webp-express/milestone/41?closed=1) and the
739
+ [webp-convert 2.7.0 milestone](https://github.com/rosell-dk/webp-convert/milestone/24?closed=1)
740
+
741
+
742
  ## Changes in 0.20.1
743
  *(released: 20 Jun 2021)*
744
  * Bugfix: Removed composer.lock. It was locked on PHP 7.2, which caused server error on some sites.
README.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: https://ko-fi.com/rosell
4
  Tags: webp, images, performance
5
  Requires at least: 4.0
6
  Tested up to: 5.8
7
- Stable tag: 0.21.0
8
  Requires PHP: 5.6
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
@@ -759,7 +759,15 @@ If you are wondering why Alter HTML are missing some images, it can be due to on
759
  = When is feature X coming? / Roadmap =
760
  No schedule. I move forward as time allows. I currently spend a lot of time answering questions in the support forum. If someone would be nice and help out answering questions here, it would allow me to spend that time developing. Also, donations would allow me to turn down some of the more boring requests from my customers, and speed things up here.
761
 
762
- Here are my current plans ahead: 0.21 will probably be a file manager-like interface for converting / bulk converting / viewing conversion logs / comparing original vs webp visually - kind of a merge of current "test converter" and "bulk conversion" interfaces, and with an addition of a file explorer. 0.22 might allow excluding certain files and folders. 0.23 could be supporting Save-Data header in Varied Image Responses mode (send extra compressed images to clients who wants to use as little bandwidth as possible). 0.21 might be displaying rules for NGINX. 0.24 might be an effort to allow webp for all browsers using [this javascript library](http://libwebpjs.hohenlimburg.org/v0.6.0/). Unfortunately, the javascript library does not (currently) support srcset attributes, which is why I moved this item down the priority list. We need srcset to be supported for the feature to be useful. 0.26 might be WAMP support. The current milestones, their subtasks and their progress can be viewed here: https://github.com/rosell-dk/webp-express/milestones
 
 
 
 
 
 
 
 
763
 
764
  If you wish to affect priorities, it is certainly possible. You can try to argue your case in the forum or you can simply let the money do the talking. By donating as little as a cup of coffee on [ko-fi.com/rosell](https://ko-fi.com/rosell), you can leave a wish. I shall take these wishes into account when prioritizing between new features.
765
 
@@ -775,6 +783,13 @@ If you want to make sure that my coffee supplies don't run dry, you can even buy
775
 
776
  == Changelog ==
777
 
 
 
 
 
 
 
 
778
  = 0.21.0 =
779
  *(released: 25 Oct 2021)*
780
  * Added image browser (in Media tab)
@@ -807,6 +822,9 @@ For older releases, check out changelog.txt
807
 
808
  == Upgrade Notice ==
809
 
 
 
 
810
  = 0.21.0 =
811
  * Image browser and various bug fixes
812
 
4
  Tags: webp, images, performance
5
  Requires at least: 4.0
6
  Tested up to: 5.8
7
+ Stable tag: 0.21.1
8
  Requires PHP: 5.6
9
  License: GPLv3
10
  License URI: https://www.gnu.org/licenses/gpl-3.0.html
759
  = When is feature X coming? / Roadmap =
760
  No schedule. I move forward as time allows. I currently spend a lot of time answering questions in the support forum. If someone would be nice and help out answering questions here, it would allow me to spend that time developing. Also, donations would allow me to turn down some of the more boring requests from my customers, and speed things up here.
761
 
762
+ Right now I am focusing on the File Manager. I would like to add possibility for converting, bulk converting, viewing conversion logs, viewing stats, etc.
763
+
764
+ Here are other things in pipeline:
765
+ - Excluding certain files and folders.
766
+ - Supporting Save-Data header in Varied Image Responses mode (send extra compressed images to clients who wants to use as little bandwidth as possible).
767
+ - Displaying rules for NGINX.
768
+ - Allow webp for all browsers using [this javascript library](http://libwebpjs.hohenlimburg.org/v0.6.0/). Unfortunately, the javascript library does not (currently) support srcset attributes, which is why I moved this item down the priority list. We need srcset to be supported for the feature to be useful.
769
+
770
+ The current milestones, their subtasks and their progress can be viewed here: https://github.com/rosell-dk/webp-express/milestones
771
 
772
  If you wish to affect priorities, it is certainly possible. You can try to argue your case in the forum or you can simply let the money do the talking. By donating as little as a cup of coffee on [ko-fi.com/rosell](https://ko-fi.com/rosell), you can leave a wish. I shall take these wishes into account when prioritizing between new features.
773
 
783
 
784
  == Changelog ==
785
 
786
+ = 0.21.1 =
787
+ *(released: 27 Oct 2021)*
788
+ * Bugfix: File manager could not handle many images. It now loads tree branches on need basis instead of the complete tree in one go
789
+ * Bugfix: For mulisite, the redirect after settings save was not working (bug introduced in 0.21.0)
790
+
791
+ For more info, see the closed issues on the [webp-express 0.21.1 milestone](https://github.com/rosell-dk/webp-express/milestone/42?closed=1)
792
+
793
  = 0.21.0 =
794
  *(released: 25 Oct 2021)*
795
  * Added image browser (in Media tab)
822
 
823
  == Upgrade Notice ==
824
 
825
+ = 0.21.1 =
826
+ * Two bug fixes
827
+
828
  = 0.21.0 =
829
  * Image browser and various bug fixes
830
 
changelog.txt CHANGED
@@ -1,3 +1,9 @@
 
 
 
 
 
 
1
  = 0.21.0 =
2
  *(released: 25 Oct 2021)*
3
  * Added image browser (in Media tab)
1
+ = 0.21.1 =
2
+ *(released: 27 Oct 2021)*
3
+ * Bugfix: File manager could not handle many images. It now loads tree branches on need basis instead of the complete tree in one go
4
+ * Bugfix: For mulisite, the redirect after settings save was not working (bug introduced in 0.21.0)
5
+ For more info, see the closed issues on the [webp-express 0.21.1 milestone](https://github.com/rosell-dk/webp-express/milestone/42?closed=1)
6
+
7
  = 0.21.0 =
8
  *(released: 25 Oct 2021)*
9
  * Added image browser (in Media tab)
docs/publishing.md CHANGED
@@ -114,12 +114,12 @@ svn status | grep '^!' | awk '{print $2}' | xargs svn delete --force (t
114
  Then add a new tag
115
  ```
116
  cd svn
117
- svn cp trunk tags/0.20.1 (this will copy trunk into a new tag)
118
  ```
119
 
120
  And commit!
121
  ```
122
- svn ci -m '0.20.1'
123
  ```
124
 
125
 
114
  Then add a new tag
115
  ```
116
  cd svn
117
+ svn cp trunk tags/0.21.0 (this will copy trunk into a new tag)
118
  ```
119
 
120
  And commit!
121
  ```
122
+ svn ci -m '0.21.0'
123
  ```
124
 
125
 
lib/classes/AdminUi.php CHANGED
@@ -11,15 +11,6 @@ use \WebPExpress\Multisite;
11
  class AdminUi
12
  {
13
 
14
- public static function getSettingsUrl()
15
- {
16
- if (Multisite::isNetworkActivated()) {
17
- return network_admin_url('settings.php?page=webp_express_settings_page');
18
- } else {
19
- return admin_url('options-general.php?page=webp_express_settings_page');
20
- }
21
- }
22
-
23
  // Add settings link on the plugins page
24
  // The hook was registred in AdminInit
25
  public static function pluginActionLinksFilter($links)
11
  class AdminUi
12
  {
13
 
 
 
 
 
 
 
 
 
 
14
  // Add settings link on the plugins page
15
  // The hook was registred in AdminInit
16
  public static function pluginActionLinksFilter($links)
lib/classes/BulkConvert.php CHANGED
@@ -21,6 +21,7 @@ class BulkConvert
21
  'only-converted' => false,
22
  'only-unconverted' => true,
23
  'image-types' => $config['image-types'],
 
24
  ],
25
  'flattenList' => true,
26
  ];
@@ -76,7 +77,7 @@ class BulkConvert
76
  /**
77
  * $filter: all | converted | not-converted. "not-converted" for example returns paths to images that has not been converted
78
  */
79
- public static function getListRecursively($relDir, &$listOptions)
80
  {
81
  $dir = $listOptions['root'] . '/' . $relDir;
82
 
@@ -99,13 +100,24 @@ class BulkConvert
99
 
100
  if (@is_dir($dir . "/" . $filename)) {
101
  if ($listOptions['flattenList']) {
102
- $results = array_merge($results, self::getListRecursively($relDir . "/" . $filename, $listOptions));
103
  } else {
104
- $results[] = [
105
- 'name' => $filename,
106
- 'isDir' => true,
107
- 'children' => self::getListRecursively($relDir . "/" . $filename, $listOptions)
108
- ];
 
 
 
 
 
 
 
 
 
 
 
109
  }
110
  } else {
111
  // its a file - check if its a jpeg or png
@@ -174,7 +186,7 @@ class BulkConvert
174
  // First try library that claims to do better than mb_detect_encoding
175
  /*
176
  DISABLED, because Onnov EncodingDetector requires PHP 7.2
177
- https://wordpress.org/support/topic/get-http-error-500-after-new-update-2/
178
 
179
  if (!$encodedToUTF8) {
180
  $detector = new EncodingDetector();
@@ -249,6 +261,10 @@ class BulkConvert
249
  'name' => basename($path),
250
  'isConverted' => $webpExists
251
  ];
 
 
 
 
252
  }
253
  }
254
  }
21
  'only-converted' => false,
22
  'only-unconverted' => true,
23
  'image-types' => $config['image-types'],
24
+ 'max-depth' => 100,
25
  ],
26
  'flattenList' => true,
27
  ];
77
  /**
78
  * $filter: all | converted | not-converted. "not-converted" for example returns paths to images that has not been converted
79
  */
80
+ public static function getListRecursively($relDir, &$listOptions, $depth = 0)
81
  {
82
  $dir = $listOptions['root'] . '/' . $relDir;
83
 
100
 
101
  if (@is_dir($dir . "/" . $filename)) {
102
  if ($listOptions['flattenList']) {
103
+ $results = array_merge($results, self::getListRecursively($relDir . "/" . $filename, $listOptions, $depth+1));
104
  } else {
105
+ $r = [
106
+ 'name' => $filename,
107
+ 'isDir' => true,
108
+ ];
109
+ if ($depth > $listOptions['max-depth']) {
110
+ return $r; // one item is enough to determine that it is not empty
111
+ }
112
+ if ($depth < $listOptions['max-depth']) {
113
+ $r['children'] = self::getListRecursively($relDir . "/" . $filename, $listOptions, $depth+1);
114
+ $r['isEmpty'] = (count($r['children']) == 0);
115
+ } else if ($depth == $listOptions['max-depth']) {
116
+ $c = self::getListRecursively($relDir . "/" . $filename, $listOptions, $depth+1);
117
+ $r['isEmpty'] = (count($c) == 0);
118
+ //$r['isEmpty'] = !(new \FilesystemIterator($dir))->valid();
119
+ }
120
+ $results[] = $r;
121
  }
122
  } else {
123
  // its a file - check if its a jpeg or png
186
  // First try library that claims to do better than mb_detect_encoding
187
  /*
188
  DISABLED, because Onnov EncodingDetector requires PHP 7.2
189
+ https://wordpress.org/support/topic/get-http-error-500-after-new-update-2/
190
 
191
  if (!$encodedToUTF8) {
192
  $detector = new EncodingDetector();
261
  'name' => basename($path),
262
  'isConverted' => $webpExists
263
  ];
264
+ if ($depth > $listOptions['max-depth']) {
265
+ return $results; // one item is enough to determine that it is not empty
266
+ }
267
+
268
  }
269
  }
270
  }
lib/classes/ConvertHelperIndependent.php CHANGED
@@ -571,7 +571,7 @@ APACHE
571
  $text = preg_replace('#' . preg_quote($_SERVER["DOCUMENT_ROOT"]) . '#', '[doc-root]', $text);
572
 
573
  // TODO: Put version number somewhere else. Ie \WebPExpress\VersionNumber::version
574
- $text = 'WebP Express 0.21.0. ' . $msgTop . ', ' . date("Y-m-d H:i:s") . "\n\r\n\r" . $text;
575
 
576
  $logFile = self::getLogFilename($source, $logDir);
577
 
571
  $text = preg_replace('#' . preg_quote($_SERVER["DOCUMENT_ROOT"]) . '#', '[doc-root]', $text);
572
 
573
  // TODO: Put version number somewhere else. Ie \WebPExpress\VersionNumber::version
574
+ $text = 'WebP Express 0.21.1. ' . $msgTop . ', ' . date("Y-m-d H:i:s") . "\n\r\n\r" . $text;
575
 
576
  $logFile = self::getLogFilename($source, $logDir);
577
 
lib/classes/DismissableGlobalMessages.php CHANGED
@@ -39,7 +39,7 @@ class DismissableGlobalMessages
39
  $javascript .= ".done(function() {" . $button['javascript'] . "});";
40
  }
41
  if (isset($button['redirect-to-settings'])) {
42
- $javascript .= ".done(function() {location.href='" . AdminUi::getSettingsUrl() . "'});";
43
  }
44
 
45
  $msg .= '<button type="button" class="button ' .
39
  $javascript .= ".done(function() {" . $button['javascript'] . "});";
40
  }
41
  if (isset($button['redirect-to-settings'])) {
42
+ $javascript .= ".done(function() {location.href='" . Paths::getSettingsUrl() . "'});";
43
  }
44
 
45
  $msg .= '<button type="button" class="button ' .
lib/classes/WCFMApi.php CHANGED
@@ -19,8 +19,12 @@ class WCFMApi
19
  $command = sanitize_text_field(stripslashes($_POST['command']));
20
 
21
  switch ($command) {
 
22
  case 'get-tree':
23
  $result = self::processGetTree();
 
 
 
24
  break;
25
  case 'conversion-settings':
26
  $result = self::processConversionSettings();
@@ -284,6 +288,77 @@ class WCFMApi
284
  return $result;
285
  }
286
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
287
  public static function processGetTree() {
288
  $config = Config::loadConfigAndFix();
289
  $rootIds = Paths::filterOutSubRoots($config['scope']);
19
  $command = sanitize_text_field(stripslashes($_POST['command']));
20
 
21
  switch ($command) {
22
+ /*
23
  case 'get-tree':
24
  $result = self::processGetTree();
25
+ break;*/
26
+ case 'get-folder':
27
+ $result = self::processGetFolder();
28
  break;
29
  case 'conversion-settings':
30
  $result = self::processConversionSettings();
288
  return $result;
289
  }
290
 
291
+ public static function processGetFolder() {
292
+
293
+ Validate::postHasKey('args');
294
+
295
+ //$args = json_decode(sanitize_text_field(stripslashes($_POST['args'])), true);
296
+
297
+ $args = $_POST['args'];
298
+ if (!array_key_exists('path', $args)) {
299
+ throw new \Exception('"path" argument missing for command');
300
+ }
301
+
302
+ $path = SanityCheck::noStreamWrappers($args['path']);
303
+ //$pathTokens = explode('/', $path);
304
+ if ($path == '') {
305
+ $result = [
306
+ 'children' => [
307
+ [
308
+ 'name' => '/',
309
+ 'isDir' => true,
310
+ 'nickname' => 'scope'
311
+ ]
312
+ ]
313
+ ];
314
+ return $result;
315
+ }
316
+
317
+ $config = Config::loadConfigAndFix();
318
+ $rootIds = Paths::filterOutSubRoots($config['scope']);
319
+
320
+ if ($path == '/') {
321
+ $result = ['children'=>[]];
322
+ foreach ($rootIds as $rootId) {
323
+ $result['children'][] = [
324
+ 'name' => $rootId,
325
+ 'isDir' => true,
326
+ ];
327
+ }
328
+ return $result;
329
+ }
330
+ $path = SanityCheck::pathWithoutDirectoryTraversal($path);
331
+ $path = ltrim($path, '/');
332
+ $pathTokens = explode('/', $path);
333
+
334
+ $rootId = array_shift($pathTokens);
335
+ $relPath = implode('/', $pathTokens);
336
+
337
+ if (!in_array($rootId, $rootIds)) {
338
+ throw new \Exception('Invalid rootId');
339
+ }
340
+
341
+ if ($relPath == '') {
342
+ $relPath = '.';
343
+ }
344
+
345
+ $absPath = Paths::getAbsDirById($rootId) . '/' . $relPath;
346
+ SanityCheck::absPathExists($absPath);
347
+
348
+ $listOptions = BulkConvert::defaultListOptions($config);
349
+ $listOptions['root'] = Paths::getAbsDirById($rootId);
350
+
351
+ $listOptions['filter']['only-unconverted'] = false;
352
+ $listOptions['flattenList'] = false;
353
+ $listOptions['max-depth'] = 0;
354
+
355
+ //throw new \Exception('Invalid rootId' . print_r($listOptions));
356
+
357
+
358
+ $list = BulkConvert::getListRecursively($relPath, $listOptions);
359
+ return ['children' => $list];
360
+ }
361
+
362
  public static function processGetTree() {
363
  $config = Config::loadConfigAndFix();
364
  $rootIds = Paths::filterOutSubRoots($config['scope']);
lib/classes/WCFMPage.php CHANGED
@@ -51,11 +51,9 @@ class WCFMPage
51
  echo '<scr' . 'ipt src="' . $baseUrl . '/wcfm-options.js?11"></scr' . 'ipt>';
52
  //echo '<scr' . 'ipt type="module" src="' . $baseUrl . '/vendor.js?1"></scr' . 'ipt>';
53
 
54
- // TODO: Use generated name (ie index.bc30fc12.js) and make a script in npm for automatically
55
- // updating this file when copying
56
- echo '<scr' . 'ipt type="module" src="' . $baseUrl . '/wcfm.js?22"></scr' . 'ipt>';
57
-
58
- echo '<link rel="stylesheet" href="' . $baseUrl . '/style.css?9">';
59
  }
60
 
61
  }
51
  echo '<scr' . 'ipt src="' . $baseUrl . '/wcfm-options.js?11"></scr' . 'ipt>';
52
  //echo '<scr' . 'ipt type="module" src="' . $baseUrl . '/vendor.js?1"></scr' . 'ipt>';
53
 
54
+ // TODO: make a script in npm for automatically updating the filenames below when copying
55
+ echo '<scr' . 'ipt type="module" src="' . $baseUrl . '/index.f8d1bd25.js"></scr' . 'ipt>';
56
+ echo '<link rel="stylesheet" href="' . $baseUrl . '/index.ab43bb2c.css">';
 
 
57
  }
58
 
59
  }
lib/options/submit.php CHANGED
@@ -790,6 +790,6 @@ if (!$result['saved-both-config']) {
790
  }
791
  }
792
 
793
- wp_redirect(admin_url('options-general.php?page=webp_express_settings_page'));
794
 
795
  exit();
790
  }
791
  }
792
 
793
+ wp_redirect(Paths::getSettingsUrl());
794
 
795
  exit();
lib/wcfm/{style.css → index.ab43bb2c.css} RENAMED
@@ -1 +1 @@
1
- .splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:after,.splitpanes.default-theme .splitpanes__splitter:before{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:after,.splitpanes.default-theme .splitpanes__splitter:hover:before{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{-webkit-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{-webkit-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.selectbox[data-v-3ed78ba0]{width:200px;position:relative;display:inline-block}.selectbox .box[data-v-3ed78ba0]{border:1px solid black;padding:5px 10px;width:100%;box-sizing:border-box;cursor:pointer;user-select:none}.selectbox .box[data-v-3ed78ba0]:after{position:absolute;content:"";top:14px;right:10px;width:0;height:0;border:6px solid transparent;border-color:black transparent transparent transparent}.selectbox .box.is-open[data-v-3ed78ba0]:after{border-color:transparent transparent black transparent;top:6px}.selectbox .dropdown[data-v-3ed78ba0]{position:absolute;z-index:100;background-color:#fff;border:1px solid #eee;left:0;right:0}.selectbox .dropdown .option[data-v-3ed78ba0]{padding:5px 10px;border-bottom:1px solid #eee}.selectbox .dropdown .option .icon[data-v-3ed78ba0]{width:18px;height:18px;float:right}.selectbox .dropdown .option[data-v-3ed78ba0]:hover{background-color:#eee;cursor:pointer;user-select:none}.help-icon{display:inline-block;margin-left:2px}.convert-option-menu{display:inline-block;margin-left:2px}.menu-inner{font-size:16px}.icon{width:16px;height:16px;vertical-align:top;padding:0 2px 1px}.buttons a:first-child{margin-left:0}.buttons a{margin:0 5px;background-color:#f5f5f5;border-radius:0;color:#000!important;padding:2px 10px;border-color:#fff;text-decoration:none!important;font-family:arial,sans-serif;font-size:13.33px;border-width:1px;border-style:solid;border-bottom-color:#ccc;border-right-color:#ccc}.buttons a:hover{background-color:#fff}.buttons a.mouse-down{border-bottom-color:#fff;border-right-color:#fff;border-top-color:#ccc;border-left-color:#ccc}input[data-v-641ada22]{width:100%}input.small[data-v-641ada22]{max-width:100px}.multiselect__option--selected .click-to-add{display:none}.click-to-add[data-v-6b6f53d2]{float:right;font-size:13px}.vue-toggles{cursor:pointer;display:flex;align-items:center;border-radius:9999px;overflow:hidden;transition:background-color ease .2s,width ease .2s,height ease .2s}.vue-toggles .dot{position:relative;display:flex;align-items:center;border-radius:9999px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:margin ease .2s}.vue-toggles .text{position:absolute;font-family:inherit;user-select:none;white-space:nowrap}@media all and (-ms-high-contrast: none){.vue-toggles .text{top:50%;transform:translateY(-50%)}}@media (prefers-reduced-motion){.vue-toggles,.vue-toggles *,.vue-toggles *:before,.vue-toggles *:after{animation:none!important;transition:none!important;transition-duration:none!important}}.slider-target,.slider-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.slider-target{position:relative}.slider-base,.slider-connects{width:100%;height:100%;position:relative;z-index:1}.slider-connects{overflow:hidden;z-index:0}.slider-connect,.slider-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.slider-connect{height:100%;width:100%}.slider-origin{height:10%;width:10%}.slider-txt-dir-rtl.slider-horizontal .slider-origin{left:0;right:auto}.slider-vertical .slider-origin{width:0}.slider-horizontal .slider-origin{height:0}.slider-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.slider-touch-area{height:100%;width:100%}.slider-state-tap .slider-connect,.slider-state-tap .slider-origin{transition:transform .3s}.slider-state-drag *{cursor:inherit!important}.slider-horizontal{height:6px}.slider-horizontal .slider-handle{width:16px;height:16px;top:-6px;right:-8px}.slider-vertical{width:6px;height:300px}.slider-vertical .slider-handle{width:16px;height:16px;top:-8px;right:-6px}.slider-txt-dir-rtl.slider-horizontal .slider-handle{left:-8px;right:auto}.slider-base{background-color:#d4e0e7}.slider-base,.slider-connects{border-radius:3px}.slider-connect{background:#41b883;cursor:pointer}.slider-draggable{cursor:ew-resize}.slider-vertical .slider-draggable{cursor:ns-resize}.slider-handle{width:16px;height:16px;border-radius:50%;background:#fff;border:0;right:-8px;box-shadow:.5px .5px 2px 1px #00000052;cursor:-webkit-grab;cursor:grab}.slider-handle:focus{outline:none}.slider-active{box-shadow:.5px .5px 2px 1px #0000006b;cursor:-webkit-grabbing;cursor:grabbing}[disabled] .slider-connect{background:#b8b8b8}[disabled].slider-handle,[disabled] .slider-handle,[disabled].slider-target{cursor:not-allowed}[disabled] .slider-tooltip{background:#b8b8b8;border-color:#b8b8b8}.slider-tooltip{position:absolute;display:block;font-size:14px;font-weight:500;white-space:nowrap;padding:2px 5px;min-width:20px;text-align:center;color:#fff;border-radius:5px;border:1px solid #41b883;background:#41b883}.slider-horizontal .slider-tooltip{transform:translate(-50%);left:50%;bottom:24px}.slider-horizontal .slider-tooltip:before{content:"";position:absolute;bottom:-10px;left:50%;width:0;height:0;border:5px solid transparent;border-top-color:inherit;transform:translate(-50%)}.slider-vertical .slider-tooltip{transform:translateY(-50%);top:50%;right:24px}.slider-vertical .slider-tooltip:before{content:"";position:absolute;right:-10px;top:50%;width:0;height:0;border:5px solid transparent;border-left-color:inherit;transform:translateY(-50%)}.slider-horizontal .slider-origin>.slider-tooltip{transform:translate(50%);left:auto;bottom:14px}.slider-vertical .slider-origin>.slider-tooltip{transform:translateY(-18px);top:auto;right:18px}.slider-pips,.slider-pips *{box-sizing:border-box}.slider-pips{position:absolute;color:#999}.slider-value{position:absolute;white-space:nowrap;text-align:center}.slider-value-sub{color:#ccc;font-size:10px}.slider-marker{position:absolute;background:#ccc}.slider-marker-large,.slider-marker-sub{background:#aaa}.slider-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.slider-value-horizontal{transform:translate(-50%,50%)}.slider-rtl .slider-value-horizontal{transform:translate(50%,50%)}.slider-marker-horizontal.slider-marker{margin-left:-1px;width:2px;height:5px}.slider-marker-horizontal.slider-marker-sub{height:10px}.slider-marker-horizontal.slider-marker-large{height:15px}.slider-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.slider-value-vertical{transform:translateY(-50%);padding-left:25px}.slider-rtl .slider-value-vertical{transform:translateY(50%)}.slider-marker-vertical.slider-marker{width:5px;height:2px;margin-top:-1px}.slider-marker-vertical.slider-marker-sub{width:10px}.slider-marker-vertical.slider-marker-large{width:15px}.slider[data-v-636c0afb]{padding:10px 0}.slider .slider-connect{background-color:#0075ff}.slider .slider-tooltip{background-color:#0075ff;border-color:#0075ff;display:none}.slider:hover .slider-tooltip{display:block}.slider .slider-active .slider-tooltip{display:block}.convert-option>div[data-v-5def6a67]:first-child{min-width:210px;vertical-align:top;padding-top:10px}.convert-option>div[data-v-5def6a67]:last-child{width:300px;box-sizing:border-box}.convert-option input.method[data-v-5def6a67]{width:40px}.fade-enter-active[data-v-5def6a67]{transition:all 1s;opacity:0;transform:scale(0);transform:translate(30px)}.fade-enter-to[data-v-5def6a67]{opacity:1;transform:translate(0);transform:scale(1)}.fade-leave-active[data-v-5def6a67]{transition:all 1s;opacity:1}.fade-leave-to[data-v-5def6a67]{opacity:0}.view-select[data-v-563ca147]{display:block;text-align:right}.view *[data-v-563ca147]:first-child{display:inline-block;margin-right:10px}.view *[data-v-563ca147]:last-child{width:200px;display:inline-block}.fileitem.selected p[data-v-1c7f963e]{background:#ccc!important}.fileitem[data-v-1c7f963e]{vertical-align:middle;white-space:nowrap}.fileitem p[data-v-1c7f963e]:hover{background:#eee}.fileitem p[data-v-1c7f963e]{user-select:none;cursor:pointer;margin:0;padding:3px;line-height:25px;border-bottom:1px solid #f2f2f2}.fileitem p .fold-unfold[data-v-1c7f963e]{user-select:none;cursor:pointer}.fileitem p .fold-unfold.empty[data-v-1c7f963e]{visibility:hidden}.fileitem p svg.icon-unfold[data-v-1c7f963e],.fileitem p svg.icon-fold[data-v-1c7f963e]{width:12px;height:12px;vertical-align:middle;padding:3px;margin-right:3px;display:inline-block;border:0px solid grey}.fileitem p svg.icon-folder[data-v-1c7f963e],.fileitem p svg.icon-file[data-v-1c7f963e]{width:20px;height:20px;display:inline;vertical-align:middle;padding-top:1px;padding-bottom:2px;padding-right:5px}.fileitem p svg.icon-file[data-v-1c7f963e]{margin-left:22px}ul{list-style-type:none;padding:0;margin:0}li{margin:0 0 0 20px}.modal-mask{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:table}.modal-mask .modal-wrapper{height:100%;width:100%;padding-top:30px}.modal-mask .modal-wrapper .modal-container{padding:0;background-color:#fff;border-radius:2px;box-shadow:0 2px 8px #00000054;font-family:Helvetica,Arial,sans-serif;position:relative}.modal-mask .modal-wrapper .modal-container .title{position:absolute;left:0px;top:0;right:0;height:20px;background-color:#ccc;padding:5px 0 0 15px;font-size:14px;font-weight:bold}.modal-mask .modal-wrapper .modal-container .close-button{position:absolute;right:2px;top:2px;background-color:#fff;padding:2px 5px;font-size:12px;z-index:999;border-radius:20px;border:1px solid #ccc}.modal-mask .modal-wrapper .modal-container .close-button:hover{cursor:pointer}.modal-mask .modal-wrapper .modal-container .modal-body{position:absolute;top:25px;bottom:0px;left:0;right:0;overflow-y:auto;padding:20px}.modal-mask .modal-wrapper .modal-container .modal-body .close-button-with-text{text-align:right;margin-bottom:5px}.modal-mask .modal-wrapper .modal-container .modal-body .close-button-with-text button{padding:3px 20px}.modal-enter-active,.modal-leave-active{transition:opacity .5s ease}.modal-enter-from,.modal-leave-to{opacity:0}.image-viewport{position:relative}.image-viewport>.zoomer{width:100%;border:solid 1px silver;overflow:hidden}.image-viewport>.zoomer img{vertical-align:top;object-fit:contain;width:100%;height:100%;user-drag:none;-webkit-user-drag:none;-moz-user-drag:none}.image-viewport .zoom-info{display:none;position:absolute;bottom:0px;right:0px;padding:1px 4px;font-size:9px;background-color:#fff}.image-viewport:hover .zoom-info{display:block;cursor:pointer}.variant[data-v-0372e854]{display:inline-block;width:48%;margin-right:2%;margin-bottom:20px}.variant .header .title[data-v-0372e854]{display:inline-block}.variant .header .size[data-v-0372e854]{display:inline-block;float:right}.variant .header .zoom[data-v-0372e854]{display:inline-block;float:right;visibility:hidden}.variant .footer[data-v-0372e854]{font-style:italic;margin-top:2px}.variant .footer .select[data-v-0372e854]{float:right}.variant .footer .select button[data-v-0372e854]{padding:3px 10px}.variant:hover .header .zoom[data-v-0372e854]{visibility:visible}.variants-component .variants .variant.selected[data-v-25a3327e]{background-color:#ccc}.variants-component .variants .variant[data-v-25a3327e]{display:inline-block;width:47%;margin-right:1%;padding:1%;margin-bottom:20px}.variants-component .variants .variant .header .title[data-v-25a3327e]{display:inline-block}.variants-component .variants .variant .header .size[data-v-25a3327e]{display:inline-block;float:right}.variants-component .variants .variant .header .zoom[data-v-25a3327e]{display:inline-block;float:right;visibility:hidden}.variants-component .variants .variant .footer[data-v-25a3327e]{font-style:italic}.variants-component .variants .variant .footer .select[data-v-25a3327e]{float:right}.variants-component .variants .variant .footer .select button[data-v-25a3327e]{padding:3px 10px}.variants-component .variants .variant:hover .header .zoom[data-v-25a3327e]{visibility:visible}.file-properties .error[data-v-32d950b3]{color:red;font-weight:bold}.file-properties .path[data-v-32d950b3]{margin-bottom:20px}.file-properties .path .path[data-v-32d950b3]{color:#666;font-style:italic}.folder-properties .path{margin-bottom:20px}.folder-properties .path .path{color:#666;font-style:italic}.welcome{padding:20px 30px}.welcome .headline h3{margin-top:0;padding-top:0;font-size:24px}.welcome h4{margin-bottom:3px}.convertOptionsButton{position:absolute;right:10px;top:8px}.splitpanes__pane{background-color:#fff!important;padding:0;min-height:80px;box-shadow:inset 0 0 3px #0003}.pane-content{height:100%;overflow-y:auto}.pane-content>*{padding:10px 20px}body,html{height:100%;margin:0;padding:0}.mainpanel,#webpconvert-filemanager{height:100%;min-height:300px;position:relative}.mainpanel{min-height:400px}.wcfm,input{font-family:"Avenir",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#222;font-size:14px}input{padding:5px 8px;border-color:#333;border-width:1px;box-sizing:border-box}div .multiselect{min-height:30px}div .multiselect__select{height:30px;line-height:16px;width:30px}div .multiselect__select:before{border-top-color:#000;border-width:6px 6px 0 6px}div .multiselect__single{margin-bottom:3px}div .multiselect__tags{border-color:#333;border-radius:0;padding:5px 40px 0 5px;min-height:30px}li.multiselect__element{margin-left:0}div .multiselect__tag{margin-bottom:0;padding-bottom:3px;padding-top:3px}fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:48px;height:35px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner:after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\d7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-radius:5px 5px 0 0;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@-webkit-keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}div.v-popper--theme-menu .v-popper__inner{background-color:#66f;color:#fff;padding:10px 15px 11px;line-height:1.2;max-width:300px}.v-popper__inner a{color:#fff;text-decoration:underline}.v-popper__inner p{margin-top:0}.v-popper__inner p:last-child{margin-bottom:0}.table-table{display:table}.table-table>*{display:table-row}.table-table>*>*{display:table-cell;padding:5px 20px 5px 0}.table-inline-block>div>*{display:inline-block;margin-right:10px;padding:5px 20px 5px 0}.table-inline-block>div>*:first-child{width:120px}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;padding:24px;border-radius:6px;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow{border-color:#fff}.v-popper{width:max-content}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow{border-color:#000c}.v-popper__popper{z-index:10000}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative}.v-popper__arrow-container{width:10px;height:10px}.v-popper__arrow{border-style:solid;position:relative;width:0;height:0}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow{border-width:0 5px 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-5px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px}
1
+ .splitpanes{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;height:100%}.splitpanes--vertical{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.splitpanes--horizontal{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.splitpanes--dragging *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.splitpanes__pane{width:100%;height:100%;overflow:hidden}.splitpanes--vertical .splitpanes__pane{-webkit-transition:width .2s ease-out;transition:width .2s ease-out}.splitpanes--horizontal .splitpanes__pane{-webkit-transition:height .2s ease-out;transition:height .2s ease-out}.splitpanes--dragging .splitpanes__pane{-webkit-transition:none;transition:none}.splitpanes__splitter{-ms-touch-action:none;touch-action:none}.splitpanes--vertical>.splitpanes__splitter{min-width:1px;cursor:col-resize}.splitpanes--horizontal>.splitpanes__splitter{min-height:1px;cursor:row-resize}.splitpanes.default-theme .splitpanes__pane{background-color:#f2f2f2}.splitpanes.default-theme .splitpanes__splitter{background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative;-ms-flex-negative:0;flex-shrink:0}.splitpanes.default-theme .splitpanes__splitter:after,.splitpanes.default-theme .splitpanes__splitter:before{content:"";position:absolute;top:50%;left:50%;background-color:#00000026;-webkit-transition:background-color .3s;transition:background-color .3s}.splitpanes.default-theme .splitpanes__splitter:hover:after,.splitpanes.default-theme .splitpanes__splitter:hover:before{background-color:#00000040}.splitpanes.default-theme .splitpanes__splitter:first-child{cursor:auto}.default-theme.splitpanes .splitpanes .splitpanes__splitter{z-index:1}.default-theme.splitpanes--vertical>.splitpanes__splitter,.default-theme .splitpanes--vertical>.splitpanes__splitter{width:7px;border-left:1px solid #eee;margin-left:-1px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after,.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{-webkit-transform:translateY(-50%);transform:translateY(-50%);width:1px;height:30px}.default-theme.splitpanes--vertical>.splitpanes__splitter:before,.default-theme .splitpanes--vertical>.splitpanes__splitter:before{margin-left:-2px}.default-theme.splitpanes--vertical>.splitpanes__splitter:after,.default-theme .splitpanes--vertical>.splitpanes__splitter:after{margin-left:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter,.default-theme .splitpanes--horizontal>.splitpanes__splitter{height:7px;border-top:1px solid #eee;margin-top:-1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after,.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{-webkit-transform:translateX(-50%);transform:translate(-50%);width:30px;height:1px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:before,.default-theme .splitpanes--horizontal>.splitpanes__splitter:before{margin-top:-2px}.default-theme.splitpanes--horizontal>.splitpanes__splitter:after,.default-theme .splitpanes--horizontal>.splitpanes__splitter:after{margin-top:1px}.selectbox[data-v-3ed78ba0]{width:200px;position:relative;display:inline-block}.selectbox .box[data-v-3ed78ba0]{border:1px solid black;padding:5px 10px;width:100%;box-sizing:border-box;cursor:pointer;user-select:none}.selectbox .box[data-v-3ed78ba0]:after{position:absolute;content:"";top:14px;right:10px;width:0;height:0;border:6px solid transparent;border-color:black transparent transparent transparent}.selectbox .box.is-open[data-v-3ed78ba0]:after{border-color:transparent transparent black transparent;top:6px}.selectbox .dropdown[data-v-3ed78ba0]{position:absolute;z-index:100;background-color:#fff;border:1px solid #eee;left:0;right:0}.selectbox .dropdown .option[data-v-3ed78ba0]{padding:5px 10px;border-bottom:1px solid #eee}.selectbox .dropdown .option .icon[data-v-3ed78ba0]{width:18px;height:18px;float:right}.selectbox .dropdown .option[data-v-3ed78ba0]:hover{background-color:#eee;cursor:pointer;user-select:none}.help-icon{display:inline-block;margin-left:2px}.convert-option-menu{display:inline-block;margin-left:2px}.menu-inner{font-size:16px}.icon{width:16px;height:16px;vertical-align:top;padding:0 2px 1px}.buttons a:first-child{margin-left:0}.buttons a{margin:0 5px;background-color:#f5f5f5;border-radius:0;color:#000!important;padding:2px 10px;border-color:#fff;text-decoration:none!important;font-family:arial,sans-serif;font-size:13.33px;border-width:1px;border-style:solid;border-bottom-color:#ccc;border-right-color:#ccc}.buttons a:hover{background-color:#fff}.buttons a.mouse-down{border-bottom-color:#fff;border-right-color:#fff;border-top-color:#ccc;border-left-color:#ccc}input[data-v-641ada22]{width:100%}input.small[data-v-641ada22]{max-width:100px}.multiselect__option--selected .click-to-add{display:none}.click-to-add[data-v-6b6f53d2]{float:right;font-size:13px}.vue-toggles{cursor:pointer;display:flex;align-items:center;border-radius:9999px;overflow:hidden;transition:background-color ease .2s,width ease .2s,height ease .2s}.vue-toggles .dot{position:relative;display:flex;align-items:center;border-radius:9999px;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;transition:margin ease .2s}.vue-toggles .text{position:absolute;font-family:inherit;user-select:none;white-space:nowrap}@media all and (-ms-high-contrast: none){.vue-toggles .text{top:50%;transform:translateY(-50%)}}@media (prefers-reduced-motion){.vue-toggles,.vue-toggles *,.vue-toggles *:before,.vue-toggles *:after{animation:none!important;transition:none!important;transition-duration:none!important}}.slider-target,.slider-target *{-webkit-touch-callout:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-webkit-user-select:none;touch-action:none;-ms-user-select:none;-moz-user-select:none;user-select:none;box-sizing:border-box}.slider-target{position:relative}.slider-base,.slider-connects{width:100%;height:100%;position:relative;z-index:1}.slider-connects{overflow:hidden;z-index:0}.slider-connect,.slider-origin{will-change:transform;position:absolute;z-index:1;top:0;right:0;-ms-transform-origin:0 0;-webkit-transform-origin:0 0;-webkit-transform-style:preserve-3d;transform-origin:0 0;transform-style:flat}.slider-connect{height:100%;width:100%}.slider-origin{height:10%;width:10%}.slider-txt-dir-rtl.slider-horizontal .slider-origin{left:0;right:auto}.slider-vertical .slider-origin{width:0}.slider-horizontal .slider-origin{height:0}.slider-handle{-webkit-backface-visibility:hidden;backface-visibility:hidden;position:absolute}.slider-touch-area{height:100%;width:100%}.slider-state-tap .slider-connect,.slider-state-tap .slider-origin{transition:transform .3s}.slider-state-drag *{cursor:inherit!important}.slider-horizontal{height:6px}.slider-horizontal .slider-handle{width:16px;height:16px;top:-6px;right:-8px}.slider-vertical{width:6px;height:300px}.slider-vertical .slider-handle{width:16px;height:16px;top:-8px;right:-6px}.slider-txt-dir-rtl.slider-horizontal .slider-handle{left:-8px;right:auto}.slider-base{background-color:#d4e0e7}.slider-base,.slider-connects{border-radius:3px}.slider-connect{background:#41b883;cursor:pointer}.slider-draggable{cursor:ew-resize}.slider-vertical .slider-draggable{cursor:ns-resize}.slider-handle{width:16px;height:16px;border-radius:50%;background:#fff;border:0;right:-8px;box-shadow:.5px .5px 2px 1px #00000052;cursor:-webkit-grab;cursor:grab}.slider-handle:focus{outline:none}.slider-active{box-shadow:.5px .5px 2px 1px #0000006b;cursor:-webkit-grabbing;cursor:grabbing}[disabled] .slider-connect{background:#b8b8b8}[disabled].slider-handle,[disabled] .slider-handle,[disabled].slider-target{cursor:not-allowed}[disabled] .slider-tooltip{background:#b8b8b8;border-color:#b8b8b8}.slider-tooltip{position:absolute;display:block;font-size:14px;font-weight:500;white-space:nowrap;padding:2px 5px;min-width:20px;text-align:center;color:#fff;border-radius:5px;border:1px solid #41b883;background:#41b883}.slider-horizontal .slider-tooltip{transform:translate(-50%);left:50%;bottom:24px}.slider-horizontal .slider-tooltip:before{content:"";position:absolute;bottom:-10px;left:50%;width:0;height:0;border:5px solid transparent;border-top-color:inherit;transform:translate(-50%)}.slider-vertical .slider-tooltip{transform:translateY(-50%);top:50%;right:24px}.slider-vertical .slider-tooltip:before{content:"";position:absolute;right:-10px;top:50%;width:0;height:0;border:5px solid transparent;border-left-color:inherit;transform:translateY(-50%)}.slider-horizontal .slider-origin>.slider-tooltip{transform:translate(50%);left:auto;bottom:14px}.slider-vertical .slider-origin>.slider-tooltip{transform:translateY(-18px);top:auto;right:18px}.slider-pips,.slider-pips *{box-sizing:border-box}.slider-pips{position:absolute;color:#999}.slider-value{position:absolute;white-space:nowrap;text-align:center}.slider-value-sub{color:#ccc;font-size:10px}.slider-marker{position:absolute;background:#ccc}.slider-marker-large,.slider-marker-sub{background:#aaa}.slider-pips-horizontal{padding:10px 0;height:80px;top:100%;left:0;width:100%}.slider-value-horizontal{transform:translate(-50%,50%)}.slider-rtl .slider-value-horizontal{transform:translate(50%,50%)}.slider-marker-horizontal.slider-marker{margin-left:-1px;width:2px;height:5px}.slider-marker-horizontal.slider-marker-sub{height:10px}.slider-marker-horizontal.slider-marker-large{height:15px}.slider-pips-vertical{padding:0 10px;height:100%;top:0;left:100%}.slider-value-vertical{transform:translateY(-50%);padding-left:25px}.slider-rtl .slider-value-vertical{transform:translateY(50%)}.slider-marker-vertical.slider-marker{width:5px;height:2px;margin-top:-1px}.slider-marker-vertical.slider-marker-sub{width:10px}.slider-marker-vertical.slider-marker-large{width:15px}.slider[data-v-636c0afb]{padding:10px 0}.slider .slider-connect{background-color:#0075ff}.slider .slider-tooltip{background-color:#0075ff;border-color:#0075ff;display:none}.slider:hover .slider-tooltip{display:block}.slider .slider-active .slider-tooltip{display:block}.convert-option>div[data-v-5def6a67]:first-child{min-width:210px;vertical-align:top;padding-top:10px}.convert-option>div[data-v-5def6a67]:last-child{width:300px;box-sizing:border-box}.convert-option input.method[data-v-5def6a67]{width:40px}.fade-enter-active[data-v-5def6a67]{transition:all 1s;opacity:0;transform:scale(0);transform:translate(30px)}.fade-enter-to[data-v-5def6a67]{opacity:1;transform:translate(0);transform:scale(1)}.fade-leave-active[data-v-5def6a67]{transition:all 1s;opacity:1}.fade-leave-to[data-v-5def6a67]{opacity:0}.view-select[data-v-563ca147]{display:block;text-align:right}.view *[data-v-563ca147]:first-child{display:inline-block;margin-right:10px}.view *[data-v-563ca147]:last-child{width:200px;display:inline-block}.fileitem.selected p[data-v-4fb0cc48]{background:#ccc!important}.fileitem[data-v-4fb0cc48]{vertical-align:middle;white-space:nowrap}.fileitem p[data-v-4fb0cc48]:hover{background:#eee}.fileitem p[data-v-4fb0cc48]{user-select:none;cursor:pointer;margin:0;padding:3px;line-height:25px;border-bottom:1px solid #f2f2f2}.fileitem p .fold-unfold[data-v-4fb0cc48]{user-select:none;cursor:pointer}.fileitem p .fold-unfold.empty[data-v-4fb0cc48]{visibility:hidden}.fileitem p svg.icon-unfold[data-v-4fb0cc48],.fileitem p svg.icon-fold[data-v-4fb0cc48]{width:12px;height:12px;vertical-align:middle;padding:3px;margin-right:3px;display:inline-block;border:0px solid grey}.fileitem p svg.icon-folder[data-v-4fb0cc48],.fileitem p svg.icon-file[data-v-4fb0cc48]{width:20px;height:20px;display:inline;vertical-align:middle;padding-top:1px;padding-bottom:2px;padding-right:5px}.fileitem p svg.icon-file[data-v-4fb0cc48]{margin-left:22px}ul{list-style-type:none;padding:0;margin:0}li{margin:0 0 0 20px}.modal-mask{position:fixed;z-index:9998;top:0;left:0;width:100%;height:100%;background-color:#00000080;display:table}.modal-mask .modal-wrapper{height:100%;width:100%;padding-top:30px}.modal-mask .modal-wrapper .modal-container{padding:0;background-color:#fff;border-radius:2px;box-shadow:0 2px 8px #00000054;font-family:Helvetica,Arial,sans-serif;position:relative}.modal-mask .modal-wrapper .modal-container .title{position:absolute;left:0px;top:0;right:0;height:20px;background-color:#ccc;padding:5px 0 0 15px;font-size:14px;font-weight:bold}.modal-mask .modal-wrapper .modal-container .close-button{position:absolute;right:2px;top:2px;background-color:#fff;padding:2px 5px;font-size:12px;z-index:999;border-radius:20px;border:1px solid #ccc}.modal-mask .modal-wrapper .modal-container .close-button:hover{cursor:pointer}.modal-mask .modal-wrapper .modal-container .modal-body{position:absolute;top:25px;bottom:0px;left:0;right:0;overflow-y:auto;padding:20px}.modal-mask .modal-wrapper .modal-container .modal-body .close-button-with-text{text-align:right;margin-bottom:5px}.modal-mask .modal-wrapper .modal-container .modal-body .close-button-with-text button{padding:3px 20px}.modal-enter-active,.modal-leave-active{transition:opacity .5s ease}.modal-enter-from,.modal-leave-to{opacity:0}.image-viewport{position:relative}.image-viewport>.zoomer{width:100%;border:solid 1px silver;overflow:hidden}.image-viewport>.zoomer img{vertical-align:top;object-fit:contain;width:100%;height:100%;user-drag:none;-webkit-user-drag:none;-moz-user-drag:none}.image-viewport .zoom-info{display:none;position:absolute;bottom:0px;right:0px;padding:1px 4px;font-size:9px;background-color:#fff}.image-viewport:hover .zoom-info{display:block;cursor:pointer}.variant[data-v-0372e854]{display:inline-block;width:48%;margin-right:2%;margin-bottom:20px}.variant .header .title[data-v-0372e854]{display:inline-block}.variant .header .size[data-v-0372e854]{display:inline-block;float:right}.variant .header .zoom[data-v-0372e854]{display:inline-block;float:right;visibility:hidden}.variant .footer[data-v-0372e854]{font-style:italic;margin-top:2px}.variant .footer .select[data-v-0372e854]{float:right}.variant .footer .select button[data-v-0372e854]{padding:3px 10px}.variant:hover .header .zoom[data-v-0372e854]{visibility:visible}.variants-component .variants .variant.selected[data-v-25a3327e]{background-color:#ccc}.variants-component .variants .variant[data-v-25a3327e]{display:inline-block;width:47%;margin-right:1%;padding:1%;margin-bottom:20px}.variants-component .variants .variant .header .title[data-v-25a3327e]{display:inline-block}.variants-component .variants .variant .header .size[data-v-25a3327e]{display:inline-block;float:right}.variants-component .variants .variant .header .zoom[data-v-25a3327e]{display:inline-block;float:right;visibility:hidden}.variants-component .variants .variant .footer[data-v-25a3327e]{font-style:italic}.variants-component .variants .variant .footer .select[data-v-25a3327e]{float:right}.variants-component .variants .variant .footer .select button[data-v-25a3327e]{padding:3px 10px}.variants-component .variants .variant:hover .header .zoom[data-v-25a3327e]{visibility:visible}.file-properties .error[data-v-32d950b3]{color:red;font-weight:bold}.file-properties .path[data-v-32d950b3]{margin-bottom:20px}.file-properties .path .path[data-v-32d950b3]{color:#666;font-style:italic}.folder-properties .path{margin-bottom:20px}.folder-properties .path .path{color:#666;font-style:italic}.welcome{padding:20px 30px}.welcome h4{margin-bottom:3px}.welcome li{list-style-type:disc}.welcome ul{margin:0 0 20px}.welcome .headline h3{margin-top:0;padding-top:0;font-size:24px}.convertOptionsButton{position:absolute;right:10px;top:8px}.splitpanes__pane{background-color:#fff!important;padding:0;min-height:80px;box-shadow:inset 0 0 3px #0003}.pane-content{height:100%;overflow-y:auto}.pane-content>*{padding:10px 20px}body,html{height:100%;margin:0;padding:0}.mainpanel,#webpconvert-filemanager{height:100%;min-height:300px;position:relative}.mainpanel{min-height:400px}.wcfm,input{font-family:"Avenir",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#222;font-size:14px}input{padding:5px 8px;border-color:#333;border-width:1px;box-sizing:border-box}div .multiselect{min-height:30px}div .multiselect__select{height:30px;line-height:16px;width:30px}div .multiselect__select:before{border-top-color:#000;border-width:6px 6px 0 6px}div .multiselect__single{margin-bottom:3px}div .multiselect__tags{border-color:#333;border-radius:0;padding:5px 40px 0 5px;min-height:30px}li.multiselect__element{margin-left:0}div .multiselect__tag{margin-bottom:0;padding-bottom:3px;padding-top:3px}fieldset[disabled] .multiselect{pointer-events:none}.multiselect__spinner{position:absolute;right:1px;top:1px;width:48px;height:35px;background:#fff;display:block}.multiselect__spinner:after,.multiselect__spinner:before{position:absolute;content:"";top:50%;left:50%;margin:-8px 0 0 -8px;width:16px;height:16px;border-radius:100%;border-color:#41b883 transparent transparent;border-style:solid;border-width:2px;box-shadow:0 0 0 1px transparent}.multiselect__spinner:before{-webkit-animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);animation:spinning 2.4s cubic-bezier(.41,.26,.2,.62);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__spinner:after{-webkit-animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);animation:spinning 2.4s cubic-bezier(.51,.09,.21,.8);-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite}.multiselect__loading-enter-active,.multiselect__loading-leave-active{transition:opacity .4s ease-in-out;opacity:1}.multiselect__loading-enter,.multiselect__loading-leave-active{opacity:0}.multiselect,.multiselect__input,.multiselect__single{font-family:inherit;font-size:16px;touch-action:manipulation}.multiselect{box-sizing:content-box;display:block;position:relative;width:100%;min-height:40px;text-align:left;color:#35495e}.multiselect *{box-sizing:border-box}.multiselect:focus{outline:none}.multiselect--disabled{background:#ededed;pointer-events:none;opacity:.6}.multiselect--active{z-index:50}.multiselect--active:not(.multiselect--above) .multiselect__current,.multiselect--active:not(.multiselect--above) .multiselect__input,.multiselect--active:not(.multiselect--above) .multiselect__tags{border-bottom-left-radius:0;border-bottom-right-radius:0}.multiselect--active .multiselect__select{transform:rotate(180deg)}.multiselect--above.multiselect--active .multiselect__current,.multiselect--above.multiselect--active .multiselect__input,.multiselect--above.multiselect--active .multiselect__tags{border-top-left-radius:0;border-top-right-radius:0}.multiselect__input,.multiselect__single{position:relative;display:inline-block;min-height:20px;line-height:20px;border:none;border-radius:5px;background:#fff;padding:0 0 0 5px;width:100%;transition:border .1s ease;box-sizing:border-box;margin-bottom:8px;vertical-align:top}.multiselect__input::-moz-placeholder{color:#35495e}.multiselect__input:-ms-input-placeholder{color:#35495e}.multiselect__input::placeholder{color:#35495e}.multiselect__tag~.multiselect__input,.multiselect__tag~.multiselect__single{width:auto}.multiselect__input:hover,.multiselect__single:hover{border-color:#cfcfcf}.multiselect__input:focus,.multiselect__single:focus{border-color:#a8a8a8;outline:none}.multiselect__single{padding-left:5px;margin-bottom:8px}.multiselect__tags-wrap{display:inline}.multiselect__tags{min-height:40px;display:block;padding:8px 40px 0 8px;border-radius:5px;border:1px solid #e8e8e8;background:#fff;font-size:14px}.multiselect__tag{position:relative;display:inline-block;padding:4px 26px 4px 10px;border-radius:5px;margin-right:10px;color:#fff;line-height:1;background:#41b883;margin-bottom:5px;white-space:nowrap;overflow:hidden;max-width:100%;text-overflow:ellipsis}.multiselect__tag-icon{cursor:pointer;margin-left:7px;position:absolute;right:0;top:0;bottom:0;font-weight:700;font-style:normal;width:22px;text-align:center;line-height:22px;transition:all .2s ease;border-radius:5px}.multiselect__tag-icon:after{content:"\d7";color:#266d4d;font-size:14px}.multiselect__tag-icon:focus:after,.multiselect__tag-icon:hover:after{color:#fff}.multiselect__current{min-height:40px;overflow:hidden;padding:8px 30px 0 12px;white-space:nowrap;border-radius:5px;border:1px solid #e8e8e8}.multiselect__current,.multiselect__select{line-height:16px;box-sizing:border-box;display:block;margin:0;text-decoration:none;cursor:pointer}.multiselect__select{position:absolute;width:40px;height:38px;right:1px;top:1px;padding:4px 8px;text-align:center;transition:transform .2s ease}.multiselect__select:before{position:relative;right:0;top:65%;color:#999;margin-top:4px;border-style:solid;border-width:5px 5px 0 5px;border-color:#999 transparent transparent transparent;content:""}.multiselect__placeholder{color:#adadad;display:inline-block;margin-bottom:10px;padding-top:2px}.multiselect--active .multiselect__placeholder{display:none}.multiselect__content-wrapper{position:absolute;display:block;background:#fff;width:100%;max-height:240px;overflow:auto;border:1px solid #e8e8e8;border-top:none;border-bottom-left-radius:5px;border-bottom-right-radius:5px;z-index:50;-webkit-overflow-scrolling:touch}.multiselect__content{list-style:none;display:inline-block;padding:0;margin:0;min-width:100%;vertical-align:top}.multiselect--above .multiselect__content-wrapper{bottom:100%;border-radius:5px 5px 0 0;border-bottom:none;border-top:1px solid #e8e8e8}.multiselect__content::-webkit-scrollbar{display:none}.multiselect__element{display:block}.multiselect__option{display:block;padding:12px;min-height:40px;line-height:16px;text-decoration:none;text-transform:none;vertical-align:middle;position:relative;cursor:pointer;white-space:nowrap}.multiselect__option:after{top:0;right:0;position:absolute;line-height:40px;padding-right:12px;padding-left:20px;font-size:13px}.multiselect__option--highlight{background:#41b883;outline:none;color:#fff}.multiselect__option--highlight:after{content:attr(data-select);background:#41b883;color:#fff}.multiselect__option--selected{background:#f3f3f3;color:#35495e;font-weight:700}.multiselect__option--selected:after{content:attr(data-selected);color:silver}.multiselect__option--selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect--disabled .multiselect__current,.multiselect--disabled .multiselect__select{background:#ededed;color:#a6a6a6}.multiselect__option--disabled{background:#ededed!important;color:#a6a6a6!important;cursor:text;pointer-events:none}.multiselect__option--group{background:#ededed;color:#35495e}.multiselect__option--group.multiselect__option--highlight{background:#35495e;color:#fff}.multiselect__option--group.multiselect__option--highlight:after{background:#35495e}.multiselect__option--disabled.multiselect__option--highlight{background:#dedede}.multiselect__option--group-selected.multiselect__option--highlight{background:#ff6a6a;color:#fff}.multiselect__option--group-selected.multiselect__option--highlight:after{background:#ff6a6a;content:attr(data-deselect);color:#fff}.multiselect-enter-active,.multiselect-leave-active{transition:all .15s ease}.multiselect-enter,.multiselect-leave-active{opacity:0}.multiselect__strong{margin-bottom:8px;line-height:20px;display:inline-block;vertical-align:top}[dir=rtl] .multiselect{text-align:right}[dir=rtl] .multiselect__select{right:auto;left:1px}[dir=rtl] .multiselect__tags{padding:8px 8px 0 40px}[dir=rtl] .multiselect__content{text-align:right}[dir=rtl] .multiselect__option:after{right:auto;left:0}[dir=rtl] .multiselect__clear{right:auto;left:12px}[dir=rtl] .multiselect__spinner{right:auto;left:1px}@-webkit-keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}@keyframes spinning{0%{transform:rotate(0)}to{transform:rotate(2turn)}}div.v-popper--theme-menu .v-popper__inner{background-color:#66f;color:#fff;padding:10px 15px 11px;line-height:1.2;max-width:300px}.v-popper__inner a{color:#fff;text-decoration:underline}.v-popper__inner p{margin-top:0}.v-popper__inner p:last-child{margin-bottom:0}.table-table{display:table}.table-table>*{display:table-row}.table-table>*>*{display:table-cell;padding:5px 20px 5px 0}.table-inline-block>div>*{display:inline-block;margin-right:10px;padding:5px 20px 5px 0}.table-inline-block>div>*:first-child{width:120px}.resize-observer[data-v-b329ee4c]{position:absolute;top:0;left:0;z-index:-1;width:100%;height:100%;border:none;background-color:transparent;pointer-events:none;display:block;overflow:hidden;opacity:0}.resize-observer[data-v-b329ee4c] object{display:block;position:absolute;top:0;left:0;height:100%;width:100%;overflow:hidden;pointer-events:none;z-index:-1}.v-popper--theme-dropdown .v-popper__inner{background:#fff;color:#000;padding:24px;border-radius:6px;box-shadow:0 6px 30px #0000001a}.v-popper--theme-dropdown .v-popper__arrow{border-color:#fff}.v-popper{width:max-content}.v-popper--theme-tooltip .v-popper__inner{background:rgba(0,0,0,.8);color:#fff;border-radius:6px;padding:7px 12px 6px}.v-popper--theme-tooltip .v-popper__arrow{border-color:#000c}.v-popper__popper{z-index:10000}.v-popper__popper.v-popper__popper--hidden{visibility:hidden;opacity:0;transition:opacity .15s,visibility .15s}.v-popper__popper.v-popper__popper--shown{visibility:visible;opacity:1;transition:opacity .15s}.v-popper__popper.v-popper__popper--skip-transition,.v-popper__popper.v-popper__popper--skip-transition>.v-popper__wrapper{transition:none!important}.v-popper__inner{position:relative}.v-popper__arrow-container{width:10px;height:10px}.v-popper__arrow{border-style:solid;position:relative;width:0;height:0}.v-popper__popper[data-popper-placement^=top] .v-popper__arrow{border-width:5px 5px 0 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow-container{top:0}.v-popper__popper[data-popper-placement^=bottom] .v-popper__arrow{border-width:0 5px 5px 5px;border-left-color:transparent!important;border-right-color:transparent!important;border-top-color:transparent!important;top:-5px}.v-popper__popper[data-popper-placement^=right] .v-popper__arrow{border-width:5px 5px 5px 0;border-left-color:transparent!important;border-top-color:transparent!important;border-bottom-color:transparent!important;left:-5px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow-container{right:-5px}.v-popper__popper[data-popper-placement^=left] .v-popper__arrow{border-width:5px 0 5px 5px;border-top-color:transparent!important;border-right-color:transparent!important;border-bottom-color:transparent!important;right:-5px}
lib/wcfm/index.f8d1bd25.js ADDED
@@ -0,0 +1,27 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import{_ as m,o as c,c as d,a as F,b as l,n as $,d as u,e as v,t as f,p as C,f as k,r as h,g as _,F as b,h as M,i as y,j as R,k as P,m as H,V as Y,w,l as S,v as V,s as X,q as L,u as j}from"./vendor.b4e4e155.js";const B=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const o of document.querySelectorAll('link[rel="modulepreload"]'))n(o);new MutationObserver(o=>{for(const i of o)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&n(a)}).observe(document,{childList:!0,subtree:!0});function s(o){const i={};return o.integrity&&(i.integrity=o.integrity),o.referrerpolicy&&(i.referrerPolicy=o.referrerpolicy),o.crossorigin==="use-credentials"?i.credentials="include":o.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function n(o){if(o.ep)return;o.ep=!0;const i=s(o);fetch(o.href,i)}};B();class z{static post(t,s,n){var o=this;window.wcfmoptions.poster(t,s,function(i){n.call(o,i)},function(){console.log("failure")})}}const U={},E={style:{position:"absolute",width:"0",height:"0"},width:"0",height:"0",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},q=F(`<defs><symbol id="icon-folder" viewBox="0 0 309.267 309.267"><g><path style="fill:#D0994B;" d="M260.944,43.491H125.64c0,0-18.324-28.994-28.994-28.994H48.323c-10.67,0-19.329,8.65-19.329,19.329
2
+ v222.286c0,10.67,8.659,19.329,19.329,19.329h212.621c10.67,0,19.329-8.659,19.329-19.329V62.82
3
+ C280.273,52.15,271.614,43.491,260.944,43.491z"></path><path style="fill:#E4E7E7;" d="M28.994,72.484h251.279v77.317H28.994V72.484z"></path><path style="fill:#F4B459;" d="M19.329,91.814h270.609c10.67,0,19.329,8.65,19.329,19.329l-19.329,164.298
4
+ c0,10.67-8.659,19.329-19.329,19.329H38.658c-10.67,0-19.329-8.659-19.329-19.329L0,111.143C0,100.463,8.659,91.814,19.329,91.814z
5
+ "></path></g></symbol><symbol id="icon-unfold" viewBox="0 0 32 32"><path d="M28,14H18V4c0-1.104-0.896-2-2-2s-2,0.896-2,2v10H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h10v10c0,1.104,0.896,2,2,2 s2-0.896,2-2V18h10c1.104,0,2-0.896,2-2S29.104,14,28,14z"></path></symbol><symbol id="icon-fold" viewBox="0 0 24 24"><g fill="none" stroke="#000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line></g></symbol><symbol id="icon-file" viewBox="0 0 56 56"><g><path style="fill:#E9E9E0;" d="M36.985,0H7.963C7.155,0,6.5,0.655,6.5,1.926V55c0,0.345,0.655,1,1.463,1h40.074
6
+ c0.808,0,1.463-0.655,1.463-1V12.978c0-0.696-0.093-0.92-0.257-1.085L37.607,0.257C37.442,0.093,37.218,0,36.985,0z"></path><polygon style="fill:#D9D7CA;" points="37.5,0.151 37.5,12 49.349,12 "></polygon><circle style="fill:#F3D55B;" cx="18.931" cy="14.431" r="4.569"></circle><polygon style="fill:#26B99A;" points="6.5,39 17.5,39 49.5,39 49.5,28 39.5,18.5 29,30 23.517,24.517 "></polygon><path style="fill:#14A085;" d="M48.037,56H7.963C7.155,56,6.5,55.345,6.5,54.537V39h43v15.537C49.5,55.345,48.845,56,48.037,56z"></path><g></g></g></symbol><svg id="icon-ok" viewBox="0 0 256 256"><g fill="green" stroke="none" transform="translate(0.000000,256.000000) scale(0.100000,-0.100000)"><path d="M1064 2545 c-406 -72 -744 -324 -927 -690 -96 -193 -127 -333 -127 -575 0 -243 33 -387 133 -585 177 -351 518 -606 907 -676 118 -22 393 -17 511 8 110 24 252 78 356 136 327 183 569 525 628 887 19 122 19 338 0 460 -81 498 -483 914 -990 1025 -101 22 -389 28 -491 10z m814 -745 c39 -27 73 -59 77 -70 9 -27 10 -25 -372 -590 -345 -510 -357 -524 -420 -512 -19 4 -98 74 -250 225 -123 121 -225 228 -228 238 -3 10 1 31 9 47 20 40 125 132 149 132 11 0 79 -59 162 -140 79 -77 146 -140 149 -140 3 0 38 48 78 108 95 143 465 678 496 720 35 46 64 42 150 -18z"></path></g></svg><svg id="icon-not-available" viewBox="0 0 500.000000 500.000000" preserveAspectRatio="xMidYMid meet"><g fill="#b11010" stroke="none" transform="translate(0.000000,500.000000) scale(0.100000,-0.100000)"><path d="M2315 4800 c-479 -35 -928 -217 -1303 -527 -352 -293 -615 -702 -738 -1151 -104 -380 -104 -824 0 -1204 107 -389 302 -724 591 -1013 354 -354 785 -572 1279 -646 196 -30 476 -30 672 0 494 74 925 292 1279 646 354 354 571 784 646 1279 30 197 30 475 0 672 -75 495 -292 925 -646 1279 -289 289 -624 484 -1013 591 -228 62 -528 91 -767 74z m353 -511 c458 -50 874 -272 1170 -624 417 -497 536 -1174 308 -1763 -56 -145 -176 -367 -235 -434 -4 -4 -566 552 -1250 1236 l-1243 1243 94 60 c354 229 754 327 1156 282z m864 -3200 c-67 -59 -289 -179 -434 -235 -946 -366 -2024 172 -2322 1158 -47 155 -66 276 -73 453 -13 362 84 704 290 1023 l60 94 1243 -1243 c684 -684 1240 -1246 1236 -1250z"></path></g></svg><svg id="icon-help" viewBox="0 0 400 400" style="enable-background:new 0 0 400 400;" xml:space="preserve"><g><path style="fill:#cccccc;" d="M199.996,0C89.719,0,0,89.72,0,200c0,110.279,89.719,200,199.996,200C310.281,400,400,310.279,400,200
7
+ C400,89.72,310.281,0,199.996,0z M199.996,373.77C104.187,373.77,26.23,295.816,26.23,200
8
+ c0-95.817,77.957-173.769,173.766-173.769c95.816,0,173.772,77.953,173.772,173.769
9
+ C373.769,295.816,295.812,373.77,199.996,373.77z"></path><path style="fill:#000000;" d="M199.996,91.382c-35.176,0-63.789,28.616-63.789,63.793c0,7.243,5.871,13.115,13.113,13.115
10
+ c7.246,0,13.117-5.873,13.117-13.115c0-20.71,16.848-37.562,37.559-37.562c20.719,0,37.566,16.852,37.566,37.562
11
+ c0,20.714-16.849,37.566-37.566,37.566c-7.242,0-13.113,5.873-13.113,13.114v45.684c0,7.243,5.871,13.115,13.113,13.115
12
+ s13.117-5.872,13.117-13.115v-33.938c28.905-6.064,50.68-31.746,50.68-62.427C263.793,119.998,235.176,91.382,199.996,91.382z"></path><path d="M200.004,273.738c-9.086,0-16.465,7.371-16.465,16.462s7.379,16.465,16.465,16.465c9.094,0,16.457-7.374,16.457-16.465
13
+ S209.098,273.738,200.004,273.738z"></path></g></svg><svg id="icon-help2" viewBox="0 0 431.855 431.855" style="enable-background:new 0 0 431.855 431.855;" xml:space="preserve"><g><path style="fill:#aaaaaa;" d="M215.936,0C96.722,0,0.008,96.592,0.008,215.814c0,119.336,96.714,216.041,215.927,216.041
14
+ c119.279,0,215.911-96.706,215.911-216.041C431.847,96.592,335.214,0,215.936,0z M231.323,335.962
15
+ c-5.015,4.463-10.827,6.706-17.411,6.706c-6.812,0-12.754-2.203-17.826-6.617c-5.08-4.406-7.625-10.575-7.625-18.501
16
+ c0-7.031,2.463-12.949,7.373-17.745c4.91-4.796,10.933-7.194,18.078-7.194c7.031,0,12.949,2.398,17.753,7.194
17
+ c4.796,4.796,7.202,10.713,7.202,17.745C238.858,325.362,236.346,331.5,231.323,335.962z M293.856,180.934
18
+ c-3.853,7.145-8.429,13.306-13.737,18.501c-5.292,5.194-14.81,13.924-28.548,26.198c-3.788,3.463-6.836,6.503-9.12,9.12
19
+ c-2.284,2.626-3.991,5.023-5.105,7.202c-1.122,2.178-1.983,4.357-2.593,6.535c-0.61,2.17-1.528,5.999-2.772,11.469
20
+ c-2.113,11.608-8.754,17.411-19.915,17.411c-5.804,0-10.681-1.894-14.656-5.69c-3.959-3.796-5.934-9.429-5.934-16.907
21
+ c0-9.372,1.455-17.493,4.357-24.361c2.886-6.869,6.747-12.892,11.543-18.086c4.804-5.194,11.274-11.356,19.427-18.501
22
+ c7.145-6.251,12.307-10.965,15.485-14.144c3.186-3.186,5.861-6.73,8.031-10.632c2.187-3.91,3.26-8.145,3.26-12.721
23
+ c0-8.933-3.308-16.46-9.957-22.597c-6.641-6.137-15.209-9.21-25.703-9.21c-12.282,0-21.321,3.097-27.125,9.291
24
+ c-5.804,6.194-10.705,15.314-14.729,27.369c-3.804,12.616-11.006,18.923-21.598,18.923c-6.251,0-11.526-2.203-15.826-6.609
25
+ c-4.292-4.406-6.438-9.177-6.438-14.314c0-10.6,3.406-21.346,10.21-32.23c6.812-10.884,16.745-19.899,29.807-27.036
26
+ c13.054-7.145,28.296-10.722,45.699-10.722c16.184,0,30.466,2.991,42.854,8.966c12.388,5.966,21.963,14.087,28.718,24.361
27
+ c6.747,10.266,10.128,21.427,10.128,33.482C299.635,165.473,297.709,173.789,293.856,180.934z"></path></g></svg></defs>`,1),A=[q];function G(e,t){return c(),d("svg",E,A)}var K=m(U,[["render",G]]);const J={name:"FileItem",emits:["toggle","select"],props:{item:Object},data(){return{hover:!1,selected:!1}},inject:["wcfm"],methods:{onClick(e){this.selected=!0,this.$emit("select",this)},getWCFM(){return this.wcfm},getFullPath(){for(var e=this.$parent,t=[];e!==null&&e.$parent!==null;)e.item&&t.push(e.item.name),e=e.$parent;return t.pop(),t=t.reverse().join("/"),t=t.replace("//","/"),t},infoClick(){this.getWCFM().displayInfo(this.getFullPath())},convertClick(){this.getWCFM().onConvertClick(this.getFullPath())}}},x=e=>(C("data-v-4fb0cc48"),e=e(),k(),e),Q={key:0,class:"icon-fold"},ee=x(()=>l("use",{"xlink:href":"#icon-fold"},null,-1)),te=[ee],oe={key:1,class:"icon-unfold"},se=x(()=>l("use",{"xlink:href":"#icon-unfold"},null,-1)),ie=[se],ne=x(()=>l("use",{"xlink:href":"#icon-folder"},null,-1)),le=[ne],ae={key:2,class:"icon-file"},re=x(()=>l("use",{"xlink:href":"#icon-file"},null,-1)),ce=[re];function de(e,t,s,n,o,i){return c(),d("div",{class:$({fileitem:!0,selected:o.selected}),onMouseover:t[2]||(t[2]=a=>o.hover=!0),onMouseleave:t[3]||(t[3]=a=>o.hover=!1),onClick:t[4]||(t[4]=(...a)=>i.onClick&&i.onClick(...a))},[l("p",null,[s.item.isDir?(c(),d("span",{key:0,class:$({"fold-unfold":!0,empty:s.item.isEmpty}),onClick:t[0]||(t[0]=a=>this.$emit("toggle"))},[s.item.isOpen?(c(),d("svg",Q,te)):u("",!0),s.item.isOpen?u("",!0):(c(),d("svg",oe,ie))],2)):u("",!0),s.item.isDir?(c(),d("svg",{key:1,class:"icon-folder",onClick:t[1]||(t[1]=a=>this.$emit("toggle"))},le)):u("",!0),s.item.isDir?u("",!0):(c(),d("svg",ae,ce)),v(" "+f(s.item.nickname||s.item.name),1)])],34)}var he=m(J,[["render",de],["__scopeId","data-v-4fb0cc48"]]);const ue={name:"FileTree",components:{FileItem:he},emits:["select"],props:{item:Object},data(){return{loading:!1}},methods:{load(){var e=this;z.post("get-folder",{path:this.$refs.thefileitem.getFullPath()},function(t){e.loading=!0,e.item.children=t.children.sort(function(s,n){return s.isDir&&!n.isDir?-1:!s.isDir&&n.isDir||s.name>n.name?1:s.name<n.name?-1:0}),e.item.loaded=!0,e.loading=!1})},toggle(){this.item.isOpen=!this.item.isOpen,this.item.loaded||this.load()},onSelect(e){this.$emit("select",e)}},mounted(){let e=this.$refs.thefileitem.getFullPath();(e=="/"||e.indexOf("/")==-1)&&this.toggle()}},me={key:0},_e=l("li",null,"loading...",-1),fe=[_e],pe={key:1,class:"tree"};function ge(e,t,s,n,o,i){const a=h("FileItem"),r=h("FileTree",!0);return c(),d(b,null,[_(a,{ref:"thefileitem",item:s.item,onDblclick:i.toggle,onToggle:i.toggle,onSelect:i.onSelect},null,8,["item","onDblclick","onToggle","onSelect"]),o.loading?(c(),d("ul",me,fe)):u("",!0),s.item.children!==void 0&&s.item.isOpen?(c(),d("ul",pe,[(c(!0),d(b,null,M(s.item.children,p=>(c(),d("li",null,[_(r,{item:p,onSelect:i.onSelect},null,8,["item","onSelect"])]))),256))])):u("",!0)],64)}var ve=m(ue,[["render",ge]]);const ye={name:"Files",components:{FileTree:ve},emits:["select"],props:{item:Object,statusText:String},methods:{onSelect(e){this.selectedItem&&(this.selectedItem.selected=!1),this.selectedItem=e,this.$emit("select",this.selectedItem.getFullPath(),this.selectedItem.item.isDir)}},data(){return{selected:null}}},ze={key:1};function be(e,t,s,n,o,i){const a=h("FileTree");return c(),d(b,null,[s.item?(c(),y(a,{key:0,item:s.item,onSelect:i.onSelect},null,8,["item","onSelect"])):u("",!0),s.item?u("",!0):(c(),d("div",ze,f(s.statusText),1))],64)}var we=m(ye,[["render",be]]);const xe={name:"Modal",emits:["close"],props:{title:{type:String},closeButtonText:{type:String},alignment:{type:String},width:{type:[Number,String],default:"95%"},height:{type:[Number,String],default:"95%"},maxheight:{type:[Number,String],default:"700px"}},computed:{containerStyle(){let e={width:this.width,height:this.height,"max-height":this.maxheight};return this.alignment=="center"&&(e.margin="0px auto"),this.alignment=="right"&&(e.position="absolute",e.right="10px"),e}},methods:{onCloseClick(){this.$emit("close")}}},$e={class:"modal-mask"},Ce={class:"modal-wrapper"},ke={class:"title"},Se={class:"modal-body"},Ve={class:"content"},Ie=v(" default body "),Fe={class:"close-button-with-text"};function Me(e,t,s,n,o,i){return c(),d("div",$e,[l("div",Ce,[l("div",{class:"modal-container",style:R(i.containerStyle)},[l("a",{class:"close-button",onClick:t[0]||(t[0]=(...a)=>i.onCloseClick&&i.onCloseClick(...a))},"X"),l("div",ke,f(s.title),1),l("div",Se,[l("div",Ve,[P(e.$slots,"default",{},()=>[Ie]),l("div",Fe,[l("button",{onClick:t[1]||(t[1]=(...a)=>i.onCloseClick&&i.onCloseClick(...a))},f(s.closeButtonText),1)])])])],4)])])}var Re=m(xe,[["render",Me]]);const Ye={name:"ZoomSlider",components:{Slider:H},emits:["update:zoom"],props:{zoom:{type:Number,default:1}},watch:{exp(e,t){this.$emit("update:zoom",2**e)},zoom(e,t){this.exp=Math.log2(e)}},methods:{sliderFormat(e){return Math.round(2**e*100)+"%"}},mounted(){},data(){return{exp:0}}},Xe={class:"zoom-slider"};function Oe(e,t,s,n,o,i){const a=h("Slider");return c(),d("div",Xe,[_(a,{modelValue:o.exp,"onUpdate:modelValue":t[0]||(t[0]=r=>o.exp=r),min:-4,max:4,width:100,step:-1,format:i.sliderFormat,tooltipPosition:"bottom",orientation:"horizontal"},null,8,["modelValue","format"])])}var De=m(Ye,[["render",Oe]]);const Te={name:"ImageViewport",components:{VueZoomer:Y,ZoomSlider:De},emits:["update:zoom","update:translateX","update:translateY","load","resize"],props:{src:{type:String},height:{type:Number,default:500},zoom:{type:Number,default:1},scaleZoomRatio:{type:Number},translateX:{type:Number,default:1},translateY:{type:Number,default:1}},data(){return{ratio:1,ro:null}},watch:{height(e,t){var s;((s=this.$refs)==null?void 0:s.zoomer)&&(this.$refs.zoomer.onWindowResize(),this.$refs.zoomer.refreshContainerPos())},scaleZoomRatio(e){var t;((t=this.$refs)==null?void 0:t.zoomer)&&(this.$refs.zoomer.onWindowResize(),this.$refs.zoomer.refreshContainerPos()),this.$refs.zoomer.scale=this.zoom*this.scaleZoomRatio},zoom(e,t){this.isImageReady(),this.$refs.zoomer.scale=e*this.scaleZoomRatio},translateX(e,t){this.$refs.zoomer.translateX!=e&&(this.$refs.zoomer.translateX=e)},translateY(e,t){this.$refs.zoomer.translateY!=e&&(this.$refs.zoomer.translateY=e)}},methods:{getGoodContainerHeight(){var e,t,s;if((t=(e=this.$refs)==null?void 0:e.theimg)==null?void 0:t.naturalWidth){let n=this.$refs.theimg.naturalWidth/this.$refs.theimg.naturalHeight,i=((s=this.$refs.root)==null?void 0:s.offsetWidth)/n;return i>300&&(i=300),i}return 300},updateContainerHeight(){},isImageReady(){var e,t,s;return!(!((t=(e=this.$refs)==null?void 0:e.theimg)==null?void 0:t.naturalWidth)||!((s=this.$refs.root)==null?void 0:s.offsetWidth))},calcScaleZoomRatio(){var n,o;if(!this.isImageReady())return 1;let e=this.$refs.theimg.naturalWidth/((n=this.$refs.root)==null?void 0:n.offsetWidth),t=this.$refs.theimg.naturalHeight/((o=this.$refs.root)==null?void 0:o.offsetHeight),s=Math.max(e,t);return isNaN(s)?1:s},updateRatio(){},updateScale(){this.zoom&&(this.$refs.zoomer.scale=this.zoom*this.scaleZoomRatio)},zoomToFit(){},onImgLoad(){var e,t;((t=(e=this.$refs)==null?void 0:e.theimg)==null?void 0:t.naturalWidth)&&this.$emit("load")},onResize(){this.$emit("resize")},onDoubleTap(){console.log("double tab - zoom to 100%"),this.$emit("update:zoom",1),this.$emit("update:translateX",0),this.$emit("update:translateY",0)}},mounted(){window.ResizeObserver&&(this.ro=new ResizeObserver(this.onResize).observe(this.$refs.root)),this.$refs.zoomer.tapDetector.onDoubleTap(this.onDoubleTap),this.$watch("$refs.zoomer.scale",(e,t)=>{this.isImageReady(),this.$emit("update:zoom",e/this.scaleZoomRatio)}),this.$watch("$refs.zoomer.translateX",(e,t)=>{this.$emit("update:translateX",e)}),this.$watch("$refs.zoomer.translateY",(e,t)=>{this.$emit("update:translateY",e)})},beforeDestroy(){window.ResizeObserver&&this.ro.unobserve(this.$refs.zoomer)}},We={ref:"root",class:"image-viewport"},Ne=["src"],Ze={class:"zoom-info"};function Pe(e,t,s,n,o,i){const a=h("v-zoomer");return c(),d("div",We,[_(a,{ref:"zoomer",class:"zoomer",minScale:.1,maxScale:8,onResize:i.onResize,doubleClickToZoom:!1,style:R({height:s.height+"px"}),pivot:"cursor",limitTranslation:!1,lockPanOnNoScale:!1},{default:w(()=>[l("img",{ref:"theimg",src:s.src,onLoad:t[0]||(t[0]=(...r)=>i.onImgLoad&&i.onImgLoad(...r))},null,40,Ne)]),_:1},8,["minScale","onResize","style"]),l("div",Ze," zoom: "+f(Math.round(s.zoom*100))+"% ",1)],512)}var He=m(Te,[["render",Pe]]);const Le={name:"Variant",components:{ImageViewport:He},emits:["select","update:zoom","update:translateX","update:translateY","load","resize"],props:{title:{type:String},info:{type:Object},url:{type:String,default:""},height:{type:Number},zoom:{type:Number},scaleZoomRatio:{type:Number},translateX:{type:Number},translateY:{type:Number},variantIndex:{type:Number}},computed:{imageUrl:function(){var e;return(e=this.info)==null?void 0:e.url},filesize:function(){var t;if(!((t=this.info)==null?void 0:t.size))return"";let e=this.info.size;return e<1024?e+" bytes":(e/=1024,e<1024?Math.round(e*10)/10+" kb":(e/=1024,Math.round(e*10)/10+" MB"))}},methods:{onVariantSelect(){this.$emit("select",this.variantIndex)},onLoad(){this.$emit("load")},zoomToFit(){this.$refs.theport.zoomToFit()}},mounted(){this.$watch("$refs.theport.zoom",(e,t)=>{this.$emit("update:zoom",e)}),this.$watch("$refs.theport.translateX",(e,t)=>{this.$emit("update:translateX",e)}),this.$watch("$refs.theport.translateY",(e,t)=>{this.$emit("update:translateY",e)})},data(){return{}}},je={class:"variant"},Be={class:"header"},Ue={class:"title"},Ee={class:"size"};function qe(e,t,s,n,o,i){const a=h("ImageViewport");return c(),d("div",je,[l("div",Be,[l("div",Ue,f(s.title),1),l("div",Ee,f(i.filesize),1)]),_(a,{ref:"theport",src:i.imageUrl,height:s.height,zoom:s.zoom,"onUpdate:zoom":t[0]||(t[0]=r=>s.zoom=r),scaleZoomRatio:s.scaleZoomRatio,translateX:s.translateX,"onUpdate:translateX":t[1]||(t[1]=r=>s.translateX=r),translateY:s.translateY,"onUpdate:translateY":t[2]||(t[2]=r=>s.translateY=r),onLoad:i.onLoad,onResize:t[3]||(t[3]=r=>this.$emit("resize"))},null,8,["src","height","zoom","scaleZoomRatio","translateX","translateY","onLoad"])])}var O=m(Le,[["render",qe],["__scopeId","data-v-0372e854"]]);const Ae={name:"Variants",components:{Variant:O},emits:["update:zoom","update:translateX","update:translateY"],props:{file:{type:Object},viewport:{type:Object},height:{type:Number},zoom:{type:Number,default:1},translateX:{type:Number,default:0},translateY:{type:Number,default:0}},watch:{file(e,t){}},methods:{onZoomChange(e){this.$emit("update:zoom",e)},onTranslateXChange(e){this.$emit("update:translateX",e)},onTranslateYChange(e){this.$emit("update:translateY",e)},sliderFormat(e){return Math.round(e*100)+"%"},changeImage(){this.imageUrl=="http://localhost:3000/src/assets/dummy.jpg"?this.imageUrl="http://localhost:3000/src/assets/dummy2.jpg":this.imageUrl="http://localhost:3000/src/assets/dummy.jpg",this.selectedVariant=-1},onVariantSelect(e){this.selectedVariant=e}},mounted(){this.$watch("$refs.variants.zoom",(e,t)=>{})},data(){var e="http://localhost:3000/src/assets/200x100.jpg";return{imageUrl:"",selectedVariant:-1,variants:[{title:"Existing conversion",size:732,url:e},{title:"Lossy, q:20",size:35e5,url:e}]}}},D=e=>(C("data-v-25a3327e"),e=e(),k(),e),Ge={class:"variants-component"},Ke=D(()=>l("br",null,null,-1)),Je=D(()=>l("br",null,null,-1)),Qe={class:"variants"};function et(e,t,s,n,o,i){const a=h("Variant");return c(),d("div",Ge,[v(" File: "+f(s.file)+" ",1),l("button",{onClick:t[0]||(t[0]=r=>i.changeImage())},"Change image"),Ke,Je,l("div",Qe,[(c(!0),d(b,null,M(o.variants,(r,p)=>(c(),y(a,{title:r.title,info:r,variantIndex:p,class:$({selected:p==o.selectedVariant}),height:s.height,zoom:s.zoom,"onUpdate:zoom":[t[1]||(t[1]=g=>s.zoom=g),i.onZoomChange],translateX:s.translateX,"onUpdate:translateX":[t[2]||(t[2]=g=>s.translateX=g),i.onTranslateXChange],translateY:s.translateY,"onUpdate:translateY":[t[3]||(t[3]=g=>s.translateY=g),i.onTranslateYChange],onSelect:i.onVariantSelect},null,8,["title","info","variantIndex","class","height","zoom","translateX","translateY","onSelect","onUpdate:zoom","onUpdate:translateX","onUpdate:translateY"]))),256))])])}var tt=m(Ae,[["render",et],["__scopeId","data-v-25a3327e"]]);const ot={name:"FileProperties",components:{Variant:O,Variants:tt},props:{file:{type:Object,default:{}}},watch:{file(e,t){e.isDir||this.load(e.path)}},methods:{onVariantSelect(e){this.selectedVariant=e},onOriginalLoad(){if(this.updateHeight(),this.$refs.original.$refs.theport.calcScaleZoomRatio()>1){let t=this.$refs.original.$refs.theport,s=t.$refs.theimg,n=t.$refs.root,o=s.naturalWidth,i=s.naturalHeight,a=n.offsetWidth,p=this.height/i,g=a/o;this.zoom=Math.min(p,g)}else this.zoom=1;this.translateX=0,this.translateY=0},onOriginalResize(){this.updateHeight()},updateHeight(){this.$refs.original&&(this.height=this.$refs.original.$refs.theport.getGoodContainerHeight(),this.scaleZoomRatio=this.$refs.original.$refs.theport.calcScaleZoomRatio())},reset(){this.originalInfo=null,this.convertedInfo=null,this.errorMsg=""},load(e){let t=this;t.reset(),t.loading=!0,z.post("info",{path:e},function(s){s.success||(t.errorMsg=s.data),t.loading=!1,t.originalInfo=s.original,s.converted&&(t.convertedInfo=s.converted)})}},mounted(){this.file&&this.load(this.file.path)},data(){return{zoom:1,scaleZoomRatio:1,translateX:0,translateY:0,height:100,loading:!1,errorMsg:"",originalInfo:null,convertedInfo:null}}},T=e=>(C("data-v-32d950b3"),e=e(),k(),e),st={class:"file-properties"},it={class:"path"},nt=v(" Path: "),lt={class:"path"},at={key:0,class:"error"},rt=T(()=>l("p",null," Above, you see the original image. If it has been converted, you also see the converted image (provided that your browser supports webp). ",-1)),ct=T(()=>l("p",null," You can zoom in on the image, ie using scroll wheel. Both images will zoom, allowing you to compare the quality. Double-click the image to set zoom to 100%. You can also drag the image. ",-1));function dt(e,t,s,n,o,i){const a=h("Variant");return c(),d("div",st,[l("div",it,[nt,l("span",lt,f(s.file.path),1)]),o.errorMsg?(c(),d("div",at,f(o.errorMsg),1)):u("",!0),S(l("div",null,"Getting info...",512),[[V,o.loading]]),S(_(a,{ref:"original",title:"Original",info:o.originalInfo,height:o.height,zoom:o.zoom,"onUpdate:zoom":t[0]||(t[0]=r=>o.zoom=r),scaleZoomRatio:o.scaleZoomRatio,translateX:o.translateX,"onUpdate:translateX":t[1]||(t[1]=r=>o.translateX=r),translateY:o.translateY,"onUpdate:translateY":t[2]||(t[2]=r=>o.translateY=r),onLoad:i.onOriginalLoad,onResize:i.onOriginalResize},null,8,["info","height","zoom","scaleZoomRatio","translateX","translateY","onLoad","onResize"]),[[V,o.originalInfo]]),S(_(a,{title:"Existing conversion",info:o.convertedInfo,height:o.height,zoom:o.zoom,"onUpdate:zoom":t[3]||(t[3]=r=>o.zoom=r),scaleZoomRatio:o.scaleZoomRatio,translateX:o.translateX,"onUpdate:translateX":t[4]||(t[4]=r=>o.translateX=r),translateY:o.translateY,"onUpdate:translateY":t[5]||(t[5]=r=>o.translateY=r)},null,8,["info","height","zoom","scaleZoomRatio","translateX","translateY"]),[[V,o.convertedInfo]]),rt,ct])}var ht=m(ot,[["render",dt],["__scopeId","data-v-32d950b3"]]);const ut={name:"FolderProperties",components:{},props:{file:{type:Object,default:{}}},watch:{file(e,t){}}},mt={class:"folder-properties"},_t={class:"path"},ft=v(" Path: "),pt={class:"path"},gt=l("p",null," You cannot do anything on folders yet. Browse to an image... ",-1);function vt(e,t,s,n,o,i){return c(),d("div",mt,[l("div",_t,[ft,l("span",pt,f(s.file.path),1)]),gt])}var yt=m(ut,[["render",vt]]);const zt={name:"Welcome"},bt={class:"welcome"},wt=F('<div class="headline"><div>Welcome to</div><h3>WebP Convert file manager 0.2</h3></div><p> At current stage you can browse the image files and compare the original vs the converted file.<br> To open a folder, click the &quot;+&quot; sign next to the folder name or double click the folder name </p><p><h4>Whats new?</h4><i>Changes in 0.2:</i><ul><li>Tree branches are now loaded on need basis (loaded the complete tree in one go was causing timeout on sites with huge amounts of images)</li></ul><i>Changes in 0.1:</i><ul><li>Everything is new! This is the first tentative pre-alpha work-in-progress release.</li></ul></p><p><h4>Whats planned ahead?</h4> Next thing is of course to enable you to trigger conversions. To support development, you can <a href="https://ko-fi.com/rosell" target="_blank">buy me a cup of coffee</a></p>',4),xt=[wt];function $t(e,t,s,n,o,i){return c(),d("div",bt,xt)}var Ct=m(zt,[["render",$t]]);const kt={name:"WCFM",components:{SVGs:K,FileProperties:ht,FolderProperties:yt,Modal:Re,Files:we,Splitpanes:X.exports.Splitpanes,Pane:X.exports.Pane,Welcome:Ct},methods:{onConvertClick(e){var n,o;let t=(o=(n=this.$refs.convertOptions)==null?void 0:n.general)==null?void 0:o.data,s={path:e,convertOptions:t};console.log(s),z.post("convert",s,function(i){console.log("convert response:",i)})},onConvertCloseClick(){console.log("CLRCL"),this.showConvertOptions=!1},onFileSelect(e,t){this.file={path:e,isDir:t}},displayInfo(e){var t=this;z.post("info",{path:e},function(s){t.selectedInfo=s})}},mounted(){var e=this;z.post("get-folder",{path:""},function(t){e.item=t.children[0]})},data(){return{file:null,selectedItem:null,item:null,treeStatusText:"loading file tree...",selectedInfo:{},showConvertOptions:!1}},provide(){return{wcfm:this}}},St={class:"wcfm",style:{overflow:"hidden"}},Vt={class:"pane-content"},It={key:0,class:"pane-content"};function Ft(e,t,s,n,o,i){const a=h("SVGs"),r=h("Files"),p=h("pane"),g=h("FileProperties"),W=h("FolderProperties"),N=h("Welcome"),Z=h("splitpanes");return c(),d("div",St,[_(a),_(Z,{class:"default-theme",style:{position:"absolute",top:"0",left:"0"}},{default:w(()=>[_(p,{size:"30"},{default:w(()=>[l("div",Vt,[l("div",null,[_(r,{item:o.item,statusText:o.treeStatusText,onSelect:i.onFileSelect},null,8,["item","statusText","onSelect"])])])]),_:1}),_(p,{size:"70",style:{"overflow-y":"auto"}},{default:w(()=>[o.file?(c(),d("div",It,[o.file.isDir?u("",!0):(c(),y(g,{key:0,file:o.file},null,8,["file"])),o.file.isDir?(c(),y(W,{key:1,file:o.file},null,8,["file"])):u("",!0)])):u("",!0),o.file?u("",!0):(c(),y(N,{key:1}))]),_:1})]),_:1})])}var Mt=m(kt,[["render",Ft]]);const I=L(Mt);I.use(Y);I.use(j,{defaultHtml:!1});window.wcfmoptions||(window.wcfmoptions={},window.wcfmoptions.poster=function(e,t,s,n){switch(e){case"get-folder":switch(t.path){case"":var o={children:[{name:"/",isDir:!0,nickname:"root"}]};break;case"/":var o={children:[{name:"empty-folder",isDir:!0,isEmpty:!0},{name:"file",isDir:!1,isConverted:!0},{name:"aaa",isDir:!1,isConverted:!0},{name:"test-folder",isDir:!0},{name:"file2",isDir:!1,isConverted:!1}]};break;case"/empty-folder":var o={children:[]};break;case"/test-folder":var o={children:[{name:"banana",isDir:!1},{name:"subfolder",isDir:!0},{name:"apple",isDir:!1}]};break;case"/test-folder/subfolder":var o={children:[{name:"file2",isDir:!1},{name:"file1",isDir:!1}]};break;default:n();return}break;case"conversion-settings":var o={systemStatus:{converterRequirements:{gd:{extensionLoaded:!1,compiledWithWebP:!0}}}};break;case"info":if(t.path=="root/file2")var o={original:{filename:"file.png",size:100,url:"http://localhost:3000/src/assets/200x100.jpg"},converted:{filename:"file.png.webp",size:70,url:"http://localhost:3000/src/assets/200x100.jpg"},log:"blah blah blah"};else if(t.path=="root/file")var o={original:{filename:"file.png",size:100,url:"http://localhost:3000/src/assets/dummy2.jpg"},log:"blah blah blah"};else var o={original:{filename:"file.png",size:100,url:"http://localhost:3000/src/assets/dummy.jpg"},converted:{filename:"file.png.webp",size:70,url:"http://localhost:3000/src/assets/dummy.jpg"},log:"blah blah blah"};break;case"convert":var o={success:!1,msg:"Image type could not be detected"};break;default:var o="ok";break}s(o)});I.mount("#webpconvert-filemanager");
lib/wcfm/wcfm.js DELETED
@@ -1,27 +0,0 @@
1
- import{_ as u,o as c,c as d,a as Z,b as n,n as w,d as m,e as v,t as f,p as C,f as S,r as h,g as _,F as z,h as F,i as y,j as M,k as P,m as H,V as R,w as b,l as k,v as V,s as Y,q as L,u as j}from"./vendor.b4e4e155.js";const B=function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))l(s);new MutationObserver(s=>{for(const i of s)if(i.type==="childList")for(const a of i.addedNodes)a.tagName==="LINK"&&a.rel==="modulepreload"&&l(a)}).observe(document,{childList:!0,subtree:!0});function o(s){const i={};return s.integrity&&(i.integrity=s.integrity),s.referrerpolicy&&(i.referrerPolicy=s.referrerpolicy),s.crossorigin==="use-credentials"?i.credentials="include":s.crossorigin==="anonymous"?i.credentials="omit":i.credentials="same-origin",i}function l(s){if(s.ep)return;s.ep=!0;const i=o(s);fetch(s.href,i)}};B();class x{static post(t,o,l){var s=this;window.wcfmoptions.poster(t,o,function(i){l.call(s,i)},function(){console.log("failure")})}}const U={},E={style:{position:"absolute",width:"0",height:"0"},width:"0",height:"0",version:"1.1",xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink"},A=Z(`<defs><symbol id="icon-folder" viewBox="0 0 309.267 309.267"><g><path style="fill:#D0994B;" d="M260.944,43.491H125.64c0,0-18.324-28.994-28.994-28.994H48.323c-10.67,0-19.329,8.65-19.329,19.329
2
- v222.286c0,10.67,8.659,19.329,19.329,19.329h212.621c10.67,0,19.329-8.659,19.329-19.329V62.82
3
- C280.273,52.15,271.614,43.491,260.944,43.491z"></path><path style="fill:#E4E7E7;" d="M28.994,72.484h251.279v77.317H28.994V72.484z"></path><path style="fill:#F4B459;" d="M19.329,91.814h270.609c10.67,0,19.329,8.65,19.329,19.329l-19.329,164.298
4
- c0,10.67-8.659,19.329-19.329,19.329H38.658c-10.67,0-19.329-8.659-19.329-19.329L0,111.143C0,100.463,8.659,91.814,19.329,91.814z
5
- "></path></g></symbol><symbol id="icon-unfold" viewBox="0 0 32 32"><path d="M28,14H18V4c0-1.104-0.896-2-2-2s-2,0.896-2,2v10H4c-1.104,0-2,0.896-2,2s0.896,2,2,2h10v10c0,1.104,0.896,2,2,2 s2-0.896,2-2V18h10c1.104,0,2-0.896,2-2S29.104,14,28,14z"></path></symbol><symbol id="icon-fold" viewBox="0 0 24 24"><g fill="none" stroke="#000" stroke-width="3" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line></g></symbol><symbol id="icon-file" viewBox="0 0 56 56"><g><path style="fill:#E9E9E0;" d="M36.985,0H7.963C7.155,0,6.5,0.655,6.5,1.926V55c0,0.345,0.655,1,1.463,1h40.074
6
- c0.808,0,1.463-0.655,1.463-1V12.978c0-0.696-0.093-0.92-0.257-1.085L37.607,0.257C37.442,0.093,37.218,0,36.985,0z"></path><polygon style="fill:#D9D7CA;" points="37.5,0.151 37.5,12 49.349,12 "></polygon><circle style="fill:#F3D55B;" cx="18.931" cy="14.431" r="4.569"></circle><polygon style="fill:#26B99A;" points="6.5,39 17.5,39 49.5,39 49.5,28 39.5,18.5 29,30 23.517,24.517 "></polygon><path style="fill:#14A085;" d="M48.037,56H7.963C7.155,56,6.5,55.345,6.5,54.537V39h43v15.537C49.5,55.345,48.845,56,48.037,56z"></path><g></g></g></symbol><svg id="icon-ok" viewBox="0 0 256 256"><g fill="green" stroke="none" transform="translate(0.000000,256.000000) scale(0.100000,-0.100000)"><path d="M1064 2545 c-406 -72 -744 -324 -927 -690 -96 -193 -127 -333 -127 -575 0 -243 33 -387 133 -585 177 -351 518 -606 907 -676 118 -22 393 -17 511 8 110 24 252 78 356 136 327 183 569 525 628 887 19 122 19 338 0 460 -81 498 -483 914 -990 1025 -101 22 -389 28 -491 10z m814 -745 c39 -27 73 -59 77 -70 9 -27 10 -25 -372 -590 -345 -510 -357 -524 -420 -512 -19 4 -98 74 -250 225 -123 121 -225 228 -228 238 -3 10 1 31 9 47 20 40 125 132 149 132 11 0 79 -59 162 -140 79 -77 146 -140 149 -140 3 0 38 48 78 108 95 143 465 678 496 720 35 46 64 42 150 -18z"></path></g></svg><svg id="icon-not-available" viewBox="0 0 500.000000 500.000000" preserveAspectRatio="xMidYMid meet"><g fill="#b11010" stroke="none" transform="translate(0.000000,500.000000) scale(0.100000,-0.100000)"><path d="M2315 4800 c-479 -35 -928 -217 -1303 -527 -352 -293 -615 -702 -738 -1151 -104 -380 -104 -824 0 -1204 107 -389 302 -724 591 -1013 354 -354 785 -572 1279 -646 196 -30 476 -30 672 0 494 74 925 292 1279 646 354 354 571 784 646 1279 30 197 30 475 0 672 -75 495 -292 925 -646 1279 -289 289 -624 484 -1013 591 -228 62 -528 91 -767 74z m353 -511 c458 -50 874 -272 1170 -624 417 -497 536 -1174 308 -1763 -56 -145 -176 -367 -235 -434 -4 -4 -566 552 -1250 1236 l-1243 1243 94 60 c354 229 754 327 1156 282z m864 -3200 c-67 -59 -289 -179 -434 -235 -946 -366 -2024 172 -2322 1158 -47 155 -66 276 -73 453 -13 362 84 704 290 1023 l60 94 1243 -1243 c684 -684 1240 -1246 1236 -1250z"></path></g></svg><svg id="icon-help" viewBox="0 0 400 400" style="enable-background:new 0 0 400 400;" xml:space="preserve"><g><path style="fill:#cccccc;" d="M199.996,0C89.719,0,0,89.72,0,200c0,110.279,89.719,200,199.996,200C310.281,400,400,310.279,400,200
7
- C400,89.72,310.281,0,199.996,0z M199.996,373.77C104.187,373.77,26.23,295.816,26.23,200
8
- c0-95.817,77.957-173.769,173.766-173.769c95.816,0,173.772,77.953,173.772,173.769
9
- C373.769,295.816,295.812,373.77,199.996,373.77z"></path><path style="fill:#000000;" d="M199.996,91.382c-35.176,0-63.789,28.616-63.789,63.793c0,7.243,5.871,13.115,13.113,13.115
10
- c7.246,0,13.117-5.873,13.117-13.115c0-20.71,16.848-37.562,37.559-37.562c20.719,0,37.566,16.852,37.566,37.562
11
- c0,20.714-16.849,37.566-37.566,37.566c-7.242,0-13.113,5.873-13.113,13.114v45.684c0,7.243,5.871,13.115,13.113,13.115
12
- s13.117-5.872,13.117-13.115v-33.938c28.905-6.064,50.68-31.746,50.68-62.427C263.793,119.998,235.176,91.382,199.996,91.382z"></path><path d="M200.004,273.738c-9.086,0-16.465,7.371-16.465,16.462s7.379,16.465,16.465,16.465c9.094,0,16.457-7.374,16.457-16.465
13
- S209.098,273.738,200.004,273.738z"></path></g></svg><svg id="icon-help2" viewBox="0 0 431.855 431.855" style="enable-background:new 0 0 431.855 431.855;" xml:space="preserve"><g><path style="fill:#aaaaaa;" d="M215.936,0C96.722,0,0.008,96.592,0.008,215.814c0,119.336,96.714,216.041,215.927,216.041
14
- c119.279,0,215.911-96.706,215.911-216.041C431.847,96.592,335.214,0,215.936,0z M231.323,335.962
15
- c-5.015,4.463-10.827,6.706-17.411,6.706c-6.812,0-12.754-2.203-17.826-6.617c-5.08-4.406-7.625-10.575-7.625-18.501
16
- c0-7.031,2.463-12.949,7.373-17.745c4.91-4.796,10.933-7.194,18.078-7.194c7.031,0,12.949,2.398,17.753,7.194
17
- c4.796,4.796,7.202,10.713,7.202,17.745C238.858,325.362,236.346,331.5,231.323,335.962z M293.856,180.934
18
- c-3.853,7.145-8.429,13.306-13.737,18.501c-5.292,5.194-14.81,13.924-28.548,26.198c-3.788,3.463-6.836,6.503-9.12,9.12
19
- c-2.284,2.626-3.991,5.023-5.105,7.202c-1.122,2.178-1.983,4.357-2.593,6.535c-0.61,2.17-1.528,5.999-2.772,11.469
20
- c-2.113,11.608-8.754,17.411-19.915,17.411c-5.804,0-10.681-1.894-14.656-5.69c-3.959-3.796-5.934-9.429-5.934-16.907
21
- c0-9.372,1.455-17.493,4.357-24.361c2.886-6.869,6.747-12.892,11.543-18.086c4.804-5.194,11.274-11.356,19.427-18.501
22
- c7.145-6.251,12.307-10.965,15.485-14.144c3.186-3.186,5.861-6.73,8.031-10.632c2.187-3.91,3.26-8.145,3.26-12.721
23
- c0-8.933-3.308-16.46-9.957-22.597c-6.641-6.137-15.209-9.21-25.703-9.21c-12.282,0-21.321,3.097-27.125,9.291
24
- c-5.804,6.194-10.705,15.314-14.729,27.369c-3.804,12.616-11.006,18.923-21.598,18.923c-6.251,0-11.526-2.203-15.826-6.609
25
- c-4.292-4.406-6.438-9.177-6.438-14.314c0-10.6,3.406-21.346,10.21-32.23c6.812-10.884,16.745-19.899,29.807-27.036
26
- c13.054-7.145,28.296-10.722,45.699-10.722c16.184,0,30.466,2.991,42.854,8.966c12.388,5.966,21.963,14.087,28.718,24.361
27
- c6.747,10.266,10.128,21.427,10.128,33.482C299.635,165.473,297.709,173.789,293.856,180.934z"></path></g></svg></defs>`,1),q=[A];function G(e,t){return c(),d("svg",E,q)}var K=u(U,[["render",G]]);const J={name:"FileItem",emits:["toggle","select"],props:{item:Object},data(){return{hover:!1,selected:!1}},inject:["wcfm"],methods:{onClick(e){this.selected=!0,this.$emit("select",this)},getWCFM(){return this.wcfm},getFullPath(){for(var e=this.$parent,t=[];e!==null&&e.$parent!==null;)e.item&&t.push(e.item.name),e=e.$parent;return t.pop(),t.reverse().join("/")},infoClick(){this.getWCFM().displayInfo(this.getFullPath())},convertClick(){this.getWCFM().onConvertClick(this.getFullPath())}}},$=e=>(C("data-v-1c7f963e"),e=e(),S(),e),Q={key:0,class:"icon-fold"},ee=$(()=>n("use",{"xlink:href":"#icon-fold"},null,-1)),te=[ee],oe={key:1,class:"icon-unfold"},se=$(()=>n("use",{"xlink:href":"#icon-unfold"},null,-1)),ie=[se],ne=$(()=>n("use",{"xlink:href":"#icon-folder"},null,-1)),le=[ne],ae={key:2,class:"icon-file"},re=$(()=>n("use",{"xlink:href":"#icon-file"},null,-1)),ce=[re];function de(e,t,o,l,s,i){return c(),d("div",{class:w({fileitem:!0,selected:s.selected}),onMouseover:t[2]||(t[2]=a=>s.hover=!0),onMouseleave:t[3]||(t[3]=a=>s.hover=!1),onClick:t[4]||(t[4]=(...a)=>i.onClick&&i.onClick(...a))},[n("p",null,[o.item.isDir?(c(),d("span",{key:0,class:w({"fold-unfold":!0,empty:o.item.children.length==0}),onClick:t[0]||(t[0]=a=>this.$emit("toggle"))},[o.item.isOpen?(c(),d("svg",Q,te)):m("",!0),o.item.isOpen?m("",!0):(c(),d("svg",oe,ie))],2)):m("",!0),o.item.isDir?(c(),d("svg",{key:1,class:"icon-folder",onClick:t[1]||(t[1]=a=>this.$emit("toggle"))},le)):m("",!0),o.item.isDir?m("",!0):(c(),d("svg",ae,ce)),v(" "+f(o.item.name),1)])],34)}var he=u(J,[["render",de],["__scopeId","data-v-1c7f963e"]]);const ue={name:"FileTree",components:{FileItem:he},emits:["select"],props:{item:Object},methods:{toggle(){this.item.isOpen=!this.item.isOpen},onSelect(e){this.$emit("select",e)}}},me={key:0,class:"tree"};function _e(e,t,o,l,s,i){const a=h("FileItem"),r=h("FileTree",!0);return c(),d(z,null,[_(a,{item:o.item,onDblclick:i.toggle,onToggle:i.toggle,onSelect:i.onSelect},null,8,["item","onDblclick","onToggle","onSelect"]),o.item.children!==void 0&&o.item.isOpen?(c(),d("ul",me,[(c(!0),d(z,null,F(o.item.children,p=>(c(),d("li",null,[_(r,{item:p,onSelect:i.onSelect},null,8,["item","onSelect"])]))),256))])):m("",!0)],64)}var fe=u(ue,[["render",_e]]);const pe={name:"Files",components:{FileTree:fe},emits:["select"],props:{item:Object,statusText:String},methods:{onSelect(e){this.selectedItem&&(this.selectedItem.selected=!1),this.selectedItem=e,this.$emit("select",this.selectedItem.getFullPath(),this.selectedItem.item.isDir)}},data(){return{selected:null}}},ge={key:1};function ve(e,t,o,l,s,i){const a=h("FileTree");return c(),d(z,null,[o.item?(c(),y(a,{key:0,item:o.item,onSelect:i.onSelect},null,8,["item","onSelect"])):m("",!0),o.item?m("",!0):(c(),d("div",ge,f(o.statusText),1))],64)}var ye=u(pe,[["render",ve]]);const ze={name:"Modal",emits:["close"],props:{title:{type:String},closeButtonText:{type:String},alignment:{type:String},width:{type:[Number,String],default:"95%"},height:{type:[Number,String],default:"95%"},maxheight:{type:[Number,String],default:"700px"}},computed:{containerStyle(){let e={width:this.width,height:this.height,"max-height":this.maxheight};return this.alignment=="center"&&(e.margin="0px auto"),this.alignment=="right"&&(e.position="absolute",e.right="10px"),e}},methods:{onCloseClick(){this.$emit("close")}}},be={class:"modal-mask"},xe={class:"modal-wrapper"},$e={class:"title"},we={class:"modal-body"},Ce={class:"content"},Se=v(" default body "),ke={class:"close-button-with-text"};function Ve(e,t,o,l,s,i){return c(),d("div",be,[n("div",xe,[n("div",{class:"modal-container",style:M(i.containerStyle)},[n("a",{class:"close-button",onClick:t[0]||(t[0]=(...a)=>i.onCloseClick&&i.onCloseClick(...a))},"X"),n("div",$e,f(o.title),1),n("div",we,[n("div",Ce,[P(e.$slots,"default",{},()=>[Se]),n("div",ke,[n("button",{onClick:t[1]||(t[1]=(...a)=>i.onCloseClick&&i.onCloseClick(...a))},f(o.closeButtonText),1)])])])],4)])])}var Ie=u(ze,[["render",Ve]]);const Fe={name:"ZoomSlider",components:{Slider:H},emits:["update:zoom"],props:{zoom:{type:Number,default:1}},watch:{exp(e,t){this.$emit("update:zoom",2**e)},zoom(e,t){this.exp=Math.log2(e)}},methods:{sliderFormat(e){return Math.round(2**e*100)+"%"}},mounted(){},data(){return{exp:0}}},Me={class:"zoom-slider"};function Re(e,t,o,l,s,i){const a=h("Slider");return c(),d("div",Me,[_(a,{modelValue:s.exp,"onUpdate:modelValue":t[0]||(t[0]=r=>s.exp=r),min:-4,max:4,width:100,step:-1,format:i.sliderFormat,tooltipPosition:"bottom",orientation:"horizontal"},null,8,["modelValue","format"])])}var Ye=u(Fe,[["render",Re]]);const Xe={name:"ImageViewport",components:{VueZoomer:R,ZoomSlider:Ye},emits:["update:zoom","update:translateX","update:translateY","load","resize"],props:{src:{type:String},height:{type:Number,default:500},zoom:{type:Number,default:1},scaleZoomRatio:{type:Number},translateX:{type:Number,default:1},translateY:{type:Number,default:1}},data(){return{ratio:1,ro:null}},watch:{height(e,t){var o;((o=this.$refs)==null?void 0:o.zoomer)&&(this.$refs.zoomer.onWindowResize(),this.$refs.zoomer.refreshContainerPos())},scaleZoomRatio(e){var t;((t=this.$refs)==null?void 0:t.zoomer)&&(this.$refs.zoomer.onWindowResize(),this.$refs.zoomer.refreshContainerPos()),this.$refs.zoomer.scale=this.zoom*this.scaleZoomRatio},zoom(e,t){this.isImageReady(),this.$refs.zoomer.scale=e*this.scaleZoomRatio},translateX(e,t){this.$refs.zoomer.translateX!=e&&(this.$refs.zoomer.translateX=e)},translateY(e,t){this.$refs.zoomer.translateY!=e&&(this.$refs.zoomer.translateY=e)}},methods:{getGoodContainerHeight(){var e,t,o;if((t=(e=this.$refs)==null?void 0:e.theimg)==null?void 0:t.naturalWidth){let l=this.$refs.theimg.naturalWidth/this.$refs.theimg.naturalHeight,i=((o=this.$refs.root)==null?void 0:o.offsetWidth)/l;return i>300&&(i=300),i}return 300},updateContainerHeight(){},isImageReady(){var e,t,o;return!(!((t=(e=this.$refs)==null?void 0:e.theimg)==null?void 0:t.naturalWidth)||!((o=this.$refs.root)==null?void 0:o.offsetWidth))},calcScaleZoomRatio(){var l,s;if(!this.isImageReady())return 1;let e=this.$refs.theimg.naturalWidth/((l=this.$refs.root)==null?void 0:l.offsetWidth),t=this.$refs.theimg.naturalHeight/((s=this.$refs.root)==null?void 0:s.offsetHeight),o=Math.max(e,t);return isNaN(o)?1:o},updateRatio(){},updateScale(){this.zoom&&(this.$refs.zoomer.scale=this.zoom*this.scaleZoomRatio)},zoomToFit(){},onImgLoad(){var e,t;((t=(e=this.$refs)==null?void 0:e.theimg)==null?void 0:t.naturalWidth)&&this.$emit("load")},onResize(){this.$emit("resize")},onDoubleTap(){console.log("double tab - zoom to 100%"),this.$emit("update:zoom",1),this.$emit("update:translateX",0),this.$emit("update:translateY",0)}},mounted(){window.ResizeObserver&&(this.ro=new ResizeObserver(this.onResize).observe(this.$refs.root)),this.$refs.zoomer.tapDetector.onDoubleTap(this.onDoubleTap),this.$watch("$refs.zoomer.scale",(e,t)=>{this.isImageReady(),this.$emit("update:zoom",e/this.scaleZoomRatio)}),this.$watch("$refs.zoomer.translateX",(e,t)=>{this.$emit("update:translateX",e)}),this.$watch("$refs.zoomer.translateY",(e,t)=>{this.$emit("update:translateY",e)})},beforeDestroy(){window.ResizeObserver&&this.ro.unobserve(this.$refs.zoomer)}},Oe={ref:"root",class:"image-viewport"},Te=["src"],De={class:"zoom-info"};function We(e,t,o,l,s,i){const a=h("v-zoomer");return c(),d("div",Oe,[_(a,{ref:"zoomer",class:"zoomer",minScale:.1,maxScale:8,onResize:i.onResize,doubleClickToZoom:!1,style:M({height:o.height+"px"}),pivot:"cursor",limitTranslation:!1,lockPanOnNoScale:!1},{default:b(()=>[n("img",{ref:"theimg",src:o.src,onLoad:t[0]||(t[0]=(...r)=>i.onImgLoad&&i.onImgLoad(...r))},null,40,Te)]),_:1},8,["minScale","onResize","style"]),n("div",De," zoom: "+f(Math.round(o.zoom*100))+"% ",1)],512)}var Ne=u(Xe,[["render",We]]);const Ze={name:"Variant",components:{ImageViewport:Ne},emits:["select","update:zoom","update:translateX","update:translateY","load","resize"],props:{title:{type:String},info:{type:Object},url:{type:String,default:""},height:{type:Number},zoom:{type:Number},scaleZoomRatio:{type:Number},translateX:{type:Number},translateY:{type:Number},variantIndex:{type:Number}},computed:{imageUrl:function(){var e;return(e=this.info)==null?void 0:e.url},filesize:function(){var t;if(!((t=this.info)==null?void 0:t.size))return"";let e=this.info.size;return e<1024?e+" bytes":(e/=1024,e<1024?Math.round(e*10)/10+" kb":(e/=1024,Math.round(e*10)/10+" MB"))}},methods:{onVariantSelect(){this.$emit("select",this.variantIndex)},onLoad(){this.$emit("load")},zoomToFit(){this.$refs.theport.zoomToFit()}},mounted(){this.$watch("$refs.theport.zoom",(e,t)=>{this.$emit("update:zoom",e)}),this.$watch("$refs.theport.translateX",(e,t)=>{this.$emit("update:translateX",e)}),this.$watch("$refs.theport.translateY",(e,t)=>{this.$emit("update:translateY",e)})},data(){return{}}},Pe={class:"variant"},He={class:"header"},Le={class:"title"},je={class:"size"};function Be(e,t,o,l,s,i){const a=h("ImageViewport");return c(),d("div",Pe,[n("div",He,[n("div",Le,f(o.title),1),n("div",je,f(i.filesize),1)]),_(a,{ref:"theport",src:i.imageUrl,height:o.height,zoom:o.zoom,"onUpdate:zoom":t[0]||(t[0]=r=>o.zoom=r),scaleZoomRatio:o.scaleZoomRatio,translateX:o.translateX,"onUpdate:translateX":t[1]||(t[1]=r=>o.translateX=r),translateY:o.translateY,"onUpdate:translateY":t[2]||(t[2]=r=>o.translateY=r),onLoad:i.onLoad,onResize:t[3]||(t[3]=r=>this.$emit("resize"))},null,8,["src","height","zoom","scaleZoomRatio","translateX","translateY","onLoad"])])}var X=u(Ze,[["render",Be],["__scopeId","data-v-0372e854"]]);const Ue={name:"Variants",components:{Variant:X},emits:["update:zoom","update:translateX","update:translateY"],props:{file:{type:Object},viewport:{type:Object},height:{type:Number},zoom:{type:Number,default:1},translateX:{type:Number,default:0},translateY:{type:Number,default:0}},watch:{file(e,t){}},methods:{onZoomChange(e){this.$emit("update:zoom",e)},onTranslateXChange(e){this.$emit("update:translateX",e)},onTranslateYChange(e){this.$emit("update:translateY",e)},sliderFormat(e){return Math.round(e*100)+"%"},changeImage(){this.imageUrl=="http://localhost:3000/src/assets/dummy.jpg"?this.imageUrl="http://localhost:3000/src/assets/dummy2.jpg":this.imageUrl="http://localhost:3000/src/assets/dummy.jpg",this.selectedVariant=-1},onVariantSelect(e){this.selectedVariant=e}},mounted(){this.$watch("$refs.variants.zoom",(e,t)=>{})},data(){var e="http://localhost:3000/src/assets/200x100.jpg";return{imageUrl:"",selectedVariant:-1,variants:[{title:"Existing conversion",size:732,url:e},{title:"Lossy, q:20",size:35e5,url:e}]}}},O=e=>(C("data-v-25a3327e"),e=e(),S(),e),Ee={class:"variants-component"},Ae=O(()=>n("br",null,null,-1)),qe=O(()=>n("br",null,null,-1)),Ge={class:"variants"};function Ke(e,t,o,l,s,i){const a=h("Variant");return c(),d("div",Ee,[v(" File: "+f(o.file)+" ",1),n("button",{onClick:t[0]||(t[0]=r=>i.changeImage())},"Change image"),Ae,qe,n("div",Ge,[(c(!0),d(z,null,F(s.variants,(r,p)=>(c(),y(a,{title:r.title,info:r,variantIndex:p,class:w({selected:p==s.selectedVariant}),height:o.height,zoom:o.zoom,"onUpdate:zoom":[t[1]||(t[1]=g=>o.zoom=g),i.onZoomChange],translateX:o.translateX,"onUpdate:translateX":[t[2]||(t[2]=g=>o.translateX=g),i.onTranslateXChange],translateY:o.translateY,"onUpdate:translateY":[t[3]||(t[3]=g=>o.translateY=g),i.onTranslateYChange],onSelect:i.onVariantSelect},null,8,["title","info","variantIndex","class","height","zoom","translateX","translateY","onSelect","onUpdate:zoom","onUpdate:translateX","onUpdate:translateY"]))),256))])])}var Je=u(Ue,[["render",Ke],["__scopeId","data-v-25a3327e"]]);const Qe={name:"FileProperties",components:{Variant:X,Variants:Je},props:{file:{type:Object,default:{}}},watch:{file(e,t){e.isDir||this.load(e.path)}},methods:{onVariantSelect(e){this.selectedVariant=e},onOriginalLoad(){if(this.updateHeight(),this.$refs.original.$refs.theport.calcScaleZoomRatio()>1){let t=this.$refs.original.$refs.theport,o=t.$refs.theimg,l=t.$refs.root,s=o.naturalWidth,i=o.naturalHeight,a=l.offsetWidth,p=this.height/i,g=a/s;this.zoom=Math.min(p,g)}else this.zoom=1;this.translateX=0,this.translateY=0},onOriginalResize(){this.updateHeight()},updateHeight(){this.$refs.original&&(this.height=this.$refs.original.$refs.theport.getGoodContainerHeight(),this.scaleZoomRatio=this.$refs.original.$refs.theport.calcScaleZoomRatio())},reset(){this.originalInfo=null,this.convertedInfo=null,this.errorMsg=""},load(e){let t=this;t.reset(),t.loading=!0,x.post("info",{path:e},function(o){o.success||(t.errorMsg=o.data),t.loading=!1,t.originalInfo=o.original,o.converted&&(t.convertedInfo=o.converted)})}},mounted(){this.file&&this.load(this.file.path)},data(){return{zoom:1,scaleZoomRatio:1,translateX:0,translateY:0,height:100,loading:!1,errorMsg:"",originalInfo:null,convertedInfo:null}}},T=e=>(C("data-v-32d950b3"),e=e(),S(),e),et={class:"file-properties"},tt={class:"path"},ot=v(" Path: "),st={class:"path"},it={key:0,class:"error"},nt=T(()=>n("p",null," Above, you see the original image. If it has been converted, you also see the converted image (provided that your browser supports webp). ",-1)),lt=T(()=>n("p",null," You can zoom in on the image, ie using scroll wheel. Both images will zoom, allowing you to compare the quality. Double-click the image to set zoom to 100%. You can also drag the image. ",-1));function at(e,t,o,l,s,i){const a=h("Variant");return c(),d("div",et,[n("div",tt,[ot,n("span",st,f(o.file.path),1)]),s.errorMsg?(c(),d("div",it,f(s.errorMsg),1)):m("",!0),k(n("div",null,"Getting info...",512),[[V,s.loading]]),k(_(a,{ref:"original",title:"Original",info:s.originalInfo,height:s.height,zoom:s.zoom,"onUpdate:zoom":t[0]||(t[0]=r=>s.zoom=r),scaleZoomRatio:s.scaleZoomRatio,translateX:s.translateX,"onUpdate:translateX":t[1]||(t[1]=r=>s.translateX=r),translateY:s.translateY,"onUpdate:translateY":t[2]||(t[2]=r=>s.translateY=r),onLoad:i.onOriginalLoad,onResize:i.onOriginalResize},null,8,["info","height","zoom","scaleZoomRatio","translateX","translateY","onLoad","onResize"]),[[V,s.originalInfo]]),k(_(a,{title:"Existing conversion",info:s.convertedInfo,height:s.height,zoom:s.zoom,"onUpdate:zoom":t[3]||(t[3]=r=>s.zoom=r),scaleZoomRatio:s.scaleZoomRatio,translateX:s.translateX,"onUpdate:translateX":t[4]||(t[4]=r=>s.translateX=r),translateY:s.translateY,"onUpdate:translateY":t[5]||(t[5]=r=>s.translateY=r)},null,8,["info","height","zoom","scaleZoomRatio","translateX","translateY"]),[[V,s.convertedInfo]]),nt,lt])}var rt=u(Qe,[["render",at],["__scopeId","data-v-32d950b3"]]);const ct={name:"FolderProperties",components:{},props:{file:{type:Object,default:{}}},watch:{file(e,t){}}},dt={class:"folder-properties"},ht={class:"path"},ut=v(" Path: "),mt={class:"path"},_t=n("p",null," You cannot do anything on folders yet. Browse to an image... ",-1);function ft(e,t,o,l,s,i){return c(),d("div",dt,[n("div",ht,[ut,n("span",mt,f(o.file.path),1)]),_t])}var pt=u(ct,[["render",ft]]);const gt={name:"Welcome"},vt={class:"welcome"},yt=n("p",{class:"headline"},[n("div",null,"Welcome to"),n("h3",null,"WebP Convert file manager 0.1")],-1),zt=n("p",null,[v(" At current stage you can browse the image files and compare the original vs the converted file."),n("br"),v(' To open a folder, click the "+" sign next to the folder name or double click the folder name')],-1),bt=n("p",null,[n("h4",null,"Whats new?"),v(" Everything is new! This is the first tentative pre-alpha work-in-progress release. ")],-1),xt=n("p",null,[n("h4",null,"Whats planned ahead?"),v(" Next thing is of course to enable you to trigger conversions. To support development, you can "),n("a",{href:"https://ko-fi.com/rosell",target:"_blank"},"buy me a cup of coffee")],-1),$t=[yt,zt,bt,xt];function wt(e,t,o,l,s,i){return c(),d("div",vt,$t)}var Ct=u(gt,[["render",wt]]);const St={name:"WCFM",components:{SVGs:K,FileProperties:rt,FolderProperties:pt,Modal:Ie,Files:ye,Splitpanes:Y.exports.Splitpanes,Pane:Y.exports.Pane,Welcome:Ct},methods:{onConvertClick(e){var l,s;let t=(s=(l=this.$refs.convertOptions)==null?void 0:l.general)==null?void 0:s.data,o={path:e,convertOptions:t};console.log(o),x.post("convert",o,function(i){console.log("convert response:",i)})},onConvertCloseClick(){console.log("CLRCL"),this.showConvertOptions=!1},onFileSelect(e,t){this.file={path:e,isDir:t}},displayInfo(e){var t=this;x.post("info",{path:e},function(o){t.selectedInfo=o})},sortTree(e){var t=this;return e.children.sort(function(o,l){return o.isDir&&!l.isDir?-1:!o.isDir&&l.isDir||o.name>l.name?1:o.name<l.name?-1:0}),e.children.forEach(function(o){o.isDir&&(o=t.sortTree(o))}),e}},mounted(){var e=this;x.post("get-tree",{folder:""},function(t){e.treeStatusText="sorting...",e.item=e.sortTree(t)})},data(){return{file:null,selectedItem:null,item:null,treeStatusText:"loading file tree...",selectedInfo:{},showConvertOptions:!1}},provide(){return{wcfm:this}}},kt={class:"wcfm",style:{overflow:"hidden"}},Vt={class:"pane-content"},It={key:0,class:"pane-content"};function Ft(e,t,o,l,s,i){const a=h("SVGs"),r=h("Files"),p=h("pane"),g=h("FileProperties"),D=h("FolderProperties"),W=h("Welcome"),N=h("splitpanes");return c(),d("div",kt,[_(a),_(N,{class:"default-theme",style:{position:"absolute",top:"0",left:"0"}},{default:b(()=>[_(p,{size:"30"},{default:b(()=>[n("div",Vt,[n("div",null,[_(r,{item:s.item,statusText:s.treeStatusText,onSelect:i.onFileSelect},null,8,["item","statusText","onSelect"])])])]),_:1}),_(p,{size:"70",style:{"overflow-y":"auto"}},{default:b(()=>[s.file?(c(),d("div",It,[s.file.isDir?m("",!0):(c(),y(g,{key:0,file:s.file},null,8,["file"])),s.file.isDir?(c(),y(D,{key:1,file:s.file},null,8,["file"])):m("",!0)])):m("",!0),s.file?m("",!0):(c(),y(W,{key:1}))]),_:1})]),_:1})])}var Mt=u(St,[["render",Ft]]);const I=L(Mt);I.use(R);I.use(j,{defaultHtml:!1});window.wcfmoptions||(window.wcfmoptions={},window.wcfmoptions.poster=function(e,t,o,l){switch(e){case"get-tree":var s={name:"root",isDir:!0,isOpen:!0,children:[{name:"empty-folder",isDir:!0,children:[]},{name:"file",isDir:!1,isConverted:!0},{name:"aaa",isDir:!1,isConverted:!0},{name:"test-folder",isDir:!0,children:[{name:"banana",isDir:!1},{name:"subfolder",isDir:!0,children:[{name:"file2",isDir:!1},{name:"file1",isDir:!1}]},{name:"apple",isDir:!1}]},{name:"file2",isDir:!1,isConverted:!1}]};break;case"conversion-settings":var s={systemStatus:{converterRequirements:{gd:{extensionLoaded:!1,compiledWithWebP:!0}}}};break;case"info":if(t.path=="root/file2")var s={original:{filename:"file.png",size:100,url:"http://localhost:3000/src/assets/200x100.jpg"},converted:{filename:"file.png.webp",size:70,url:"http://localhost:3000/src/assets/200x100.jpg"},log:"blah blah blah"};else if(t.path=="root/file")var s={original:{filename:"file.png",size:100,url:"http://localhost:3000/src/assets/dummy2.jpg"},log:"blah blah blah"};else var s={original:{filename:"file.png",size:100,url:"http://localhost:3000/src/assets/dummy.jpg"},converted:{filename:"file.png.webp",size:70,url:"http://localhost:3000/src/assets/dummy.jpg"},log:"blah blah blah"};break;case"convert":var s={success:!1,msg:"Image type could not be detected"};break;default:var s="ok";break}o(s)});I.mount("#webpconvert-filemanager");
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
webp-express.php CHANGED
@@ -3,7 +3,7 @@
3
  * Plugin Name: WebP Express
4
  * Plugin URI: https://github.com/rosell-dk/webp-express
5
  * Description: Serve autogenerated WebP images instead of jpeg/png to browsers that supports WebP. Works on anything (media library images, galleries, theme images etc).
6
- * Version: 0.21.0
7
  * Author: Bjørn Rosell
8
  * Author URI: https://www.bitwise-it.dk
9
  * License: GPL2
3
  * Plugin Name: WebP Express
4
  * Plugin URI: https://github.com/rosell-dk/webp-express
5
  * Description: Serve autogenerated WebP images instead of jpeg/png to browsers that supports WebP. Works on anything (media library images, galleries, theme images etc).
6
+ * Version: 0.21.1
7
  * Author: Bjørn Rosell
8
  * Author URI: https://www.bitwise-it.dk
9
  * License: GPL2