From 28639b5ddf270a4979ab3b8301d9cd414e0c3f9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?John=20Molakvo=C3=A6=20=28skjnldsv=29?= Date: Mon, 13 Jul 2020 12:30:53 +0200 Subject: Add php cs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: John Molakvoæ (skjnldsv) --- .github/workflows/lint.yml | 48 +- .gitignore | 2 + .php_cs.dist | 17 + .stylelintrc.js | 26 - appinfo/app.php | 1 + composer.json | 23 +- composer.lock | 2074 +++++++++++++++++++++++++++++++++++ js/photos.1.js | 4 +- js/photos.1.js.map | 2 +- js/photos.4.js | 4 +- js/photos.4.js.map | 2 +- js/photos.5.js | 6 +- js/photos.5.js.map | 2 +- js/photos.6.js | 6 +- js/photos.6.js.map | 2 +- js/photos.js | 2 +- js/photos.js.map | 2 +- lib/AppInfo/Application.php | 6 +- lib/Controller/AlbumsController.php | 3 +- lib/Controller/PageController.php | 3 +- stylelint.config.js | 32 + 21 files changed, 2208 insertions(+), 59 deletions(-) create mode 100644 .php_cs.dist delete mode 100644 .stylelintrc.js create mode 100644 composer.lock create mode 100644 stylelint.config.js diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml index 229fb498..8d74b98f 100644 --- a/.github/workflows/lint.yml +++ b/.github/workflows/lint.yml @@ -28,6 +28,30 @@ jobs: - name: Lint run: composer run lint + php-cs-fixer: + runs-on: ubuntu-latest + + strategy: + matrix: + php-versions: ['7.4'] + + name: cs php${{ matrix.php-versions }} + steps: + - name: Checkout + uses: actions/checkout@master + + - name: Set up php + uses: shivammathur/setup-php@master + with: + php-version: ${{ matrix.php-versions }} + coverage: none + + - name: Install dependencies + run: composer i + + - name: Run coding standards check + run: composer run cs:check || ( echo 'Please run `composer run cs:fix` to format your code' && exit 1 ) + node: runs-on: ubuntu-latest @@ -35,7 +59,7 @@ jobs: matrix: node-versions: [12.x] - name: node${{ matrix.node-versions }} + name: eslint node${{ matrix.node-versions }} steps: - uses: actions/checkout@v2 @@ -49,3 +73,25 @@ jobs: - name: Lint run: npm run lint + + stylelint: + runs-on: ubuntu-latest + + strategy: + matrix: + node-versions: [12.x] + + name: stylelint node${{ matrix.node-versions }} + steps: + - uses: actions/checkout@v2 + + - name: Set up node ${{ matrix.node-versions }} + uses: actions/setup-node@v1 + with: + node-versions: ${{ matrix.node-versions }} + + - name: Install dependencies + run: npm ci + + - name: Lint + run: npm run stylelint diff --git a/.gitignore b/.gitignore index 3e2030bf..48c0e0ff 100644 --- a/.gitignore +++ b/.gitignore @@ -16,3 +16,5 @@ yarn-error.log* build/ coverage/ +vendor +.php_cs.cache diff --git a/.php_cs.dist b/.php_cs.dist new file mode 100644 index 00000000..8a0cb43c --- /dev/null +++ b/.php_cs.dist @@ -0,0 +1,17 @@ +getFinder() + ->notPath('build') + ->notPath('l10n') + ->notPath('src') + ->notPath('vendor') + ->in(__DIR__); +return $config; diff --git a/.stylelintrc.js b/.stylelintrc.js deleted file mode 100644 index b9937526..00000000 --- a/.stylelintrc.js +++ /dev/null @@ -1,26 +0,0 @@ -module.exports = { - extends: 'stylelint-config-recommended-scss', - rules: { - indentation: 'tab', - 'selector-type-no-unknown': null, - 'number-leading-zero': null, - 'rule-empty-line-before': [ - 'always', - { - ignore: ['after-comment', 'inside-block'] - } - ], - 'declaration-empty-line-before': [ - 'never', - { - ignore: ['after-declaration'] - } - ], - 'comment-empty-line-before': null, - 'selector-type-case': null, - 'selector-list-comma-newline-after': null, - 'no-descending-specificity': null, - 'string-quotes': 'single' - }, - plugins: ['stylelint-scss'] -} diff --git a/appinfo/app.php b/appinfo/app.php index 12482fcd..d92d2370 100644 --- a/appinfo/app.php +++ b/appinfo/app.php @@ -21,4 +21,5 @@ * */ use OCA\Photos\AppInfo\Application; + \OC::$server->query(Application::class); diff --git a/composer.json b/composer.json index 391ab0c6..553d690d 100644 --- a/composer.json +++ b/composer.json @@ -1,12 +1,15 @@ { - "name": "nextcloud/photos", - "description": "Lint config for nextcloud/photos", - "license": "MIT", - "config": { - "optimize-autoloader": true, - "classmap-authoritative": true - }, - "scripts": { - "lint": "find . -name \\*.php -not -path './vendor/*' -exec php -l \"{}\" \\;" - } + "name": "nextcloud/photos", + "config": { + "optimize-autoloader": true, + "classmap-authoritative": true + }, + "scripts": { + "cs:fix": "php-cs-fixer fix", + "cs:check": "php-cs-fixer fix --dry-run --diff", + "lint": "find . -name \\*.php -not -path './vendor/*' -print0 | xargs -0 -n1 php -l" + }, + "require-dev": { + "nextcloud/coding-standard": "^0.3.0" + } } diff --git a/composer.lock b/composer.lock new file mode 100644 index 00000000..bcffb0b1 --- /dev/null +++ b/composer.lock @@ -0,0 +1,2074 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "c15e50cfc225f7f761c6eccdd8335f54", + "packages": [], + "packages-dev": [ + { + "name": "composer/semver", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/c6bea70230ef4dd483e6bbcab6005f682ed3a8de", + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "time": "2020-01-13T12:06:48+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "1.4.2", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51", + "reference": "fa2aaf99e2087f013a14f7432c1cd2dd7d8f1f51", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-06-04T11:16:35+00:00" + }, + { + "name": "doctrine/annotations", + "version": "1.10.3", + "source": { + "type": "git", + "url": "https://github.com/doctrine/annotations.git", + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/5db60a4969eba0e0c197a19c077780aadbc43c5d", + "reference": "5db60a4969eba0e0c197a19c077780aadbc43c5d", + "shasum": "" + }, + "require": { + "doctrine/lexer": "1.*", + "ext-tokenizer": "*", + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/cache": "1.*", + "phpunit/phpunit": "^7.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.9.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "Docblock Annotations Parser", + "homepage": "http://www.doctrine-project.org", + "keywords": [ + "annotations", + "docblock", + "parser" + ], + "time": "2020-05-25T17:24:27+00:00" + }, + { + "name": "doctrine/lexer", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/e864bbf5904cb8f5bb334f99209b48018522f042", + "reference": "e864bbf5904cb8f5bb334f99209b48018522f042", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "phpstan/phpstan": "^0.11.8", + "phpunit/phpunit": "^8.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2020-05-25T17:44:05+00:00" + }, + { + "name": "friendsofphp/php-cs-fixer", + "version": "v2.16.4", + "source": { + "type": "git", + "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", + "reference": "1023c3458137ab052f6ff1e09621a721bfdeca13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/1023c3458137ab052f6ff1e09621a721bfdeca13", + "reference": "1023c3458137ab052f6ff1e09621a721bfdeca13", + "shasum": "" + }, + "require": { + "composer/semver": "^1.4", + "composer/xdebug-handler": "^1.2", + "doctrine/annotations": "^1.2", + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^5.6 || ^7.0", + "php-cs-fixer/diff": "^1.3", + "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0", + "symfony/event-dispatcher": "^3.0 || ^4.0 || ^5.0", + "symfony/filesystem": "^3.0 || ^4.0 || ^5.0", + "symfony/finder": "^3.0 || ^4.0 || ^5.0", + "symfony/options-resolver": "^3.0 || ^4.0 || ^5.0", + "symfony/polyfill-php70": "^1.0", + "symfony/polyfill-php72": "^1.4", + "symfony/process": "^3.0 || ^4.0 || ^5.0", + "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0" + }, + "require-dev": { + "johnkary/phpunit-speedtrap": "^1.1 || ^2.0 || ^3.0", + "justinrainbow/json-schema": "^5.0", + "keradus/cli-executor": "^1.2", + "mikey179/vfsstream": "^1.6", + "php-coveralls/php-coveralls": "^2.1", + "php-cs-fixer/accessible-object": "^1.0", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.1", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.1", + "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.1", + "phpunitgoodpractices/traits": "^1.8", + "symfony/phpunit-bridge": "^5.1", + "symfony/yaml": "^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "ext-dom": "For handling output formats in XML", + "ext-mbstring": "For handling non-UTF8 characters.", + "php-cs-fixer/phpunit-constraint-isidenticalstring": "For IsIdenticalString constraint.", + "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "For XmlMatchesXsd constraint.", + "symfony/polyfill-mbstring": "When enabling `ext-mbstring` is not possible." + }, + "bin": [ + "php-cs-fixer" + ], + "type": "application", + "autoload": { + "psr-4": { + "PhpCsFixer\\": "src/" + }, + "classmap": [ + "tests/Test/AbstractFixerTestCase.php", + "tests/Test/AbstractIntegrationCaseFactory.php", + "tests/Test/AbstractIntegrationTestCase.php", + "tests/Test/Assert/AssertTokensTrait.php", + "tests/Test/IntegrationCase.php", + "tests/Test/IntegrationCaseFactory.php", + "tests/Test/IntegrationCaseFactoryInterface.php", + "tests/Test/InternalIntegrationCaseFactory.php", + "tests/Test/IsIdenticalConstraint.php", + "tests/TestCase.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Dariusz Rumiński", + "email": "dariusz.ruminski@gmail.com" + } + ], + "description": "A tool to automatically fix PHP code style", + "funding": [ + { + "url": "https://github.com/keradus", + "type": "github" + } + ], + "time": "2020-06-27T23:57:46+00:00" + }, + { + "name": "nextcloud/coding-standard", + "version": "v0.3.0", + "source": { + "type": "git", + "url": "https://github.com/nextcloud/coding-standard.git", + "reference": "4f5cd012760f8293e19e602651a0ecaa265e4db9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nextcloud/coding-standard/zipball/4f5cd012760f8293e19e602651a0ecaa265e4db9", + "reference": "4f5cd012760f8293e19e602651a0ecaa265e4db9", + "shasum": "" + }, + "require": { + "friendsofphp/php-cs-fixer": "^2.16", + "php": "^7.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "Nextcloud\\CodingStandard\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Christoph Wurst", + "email": "christoph@winzerhof-wurst.at" + } + ], + "description": "Nextcloud coding standards for the php cs fixer", + "time": "2020-04-10T14:57:18+00:00" + }, + { + "name": "paragonie/random_compat", + "version": "v9.99.99", + "source": { + "type": "git", + "url": "https://github.com/paragonie/random_compat.git", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/paragonie/random_compat/zipball/84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "reference": "84b4dfb120c6f9b4ff7b3685f9b8f1aa365a0c95", + "shasum": "" + }, + "require": { + "php": "^7" + }, + "require-dev": { + "phpunit/phpunit": "4.*|5.*", + "vimeo/psalm": "^1" + }, + "suggest": { + "ext-libsodium": "Provides a modern crypto API that can be used to generate random bytes." + }, + "type": "library", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paragon Initiative Enterprises", + "email": "security@paragonie.com", + "homepage": "https://paragonie.com" + } + ], + "description": "PHP 5.x polyfill for random_bytes() and random_int() from PHP 7", + "keywords": [ + "csprng", + "polyfill", + "pseudorandom", + "random" + ], + "time": "2018-07-02T15:55:56+00:00" + }, + { + "name": "php-cs-fixer/diff", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/PHP-CS-Fixer/diff.git", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/78bb099e9c16361126c86ce82ec4405ebab8e756", + "reference": "78bb099e9c16361126c86ce82ec4405ebab8e756", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7.23 || ^6.4.3", + "symfony/process": "^3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "SpacePossum" + } + ], + "description": "sebastian/diff v2 backport support for PHP5.6", + "homepage": "https://github.com/PHP-CS-Fixer", + "keywords": [ + "diff" + ], + "time": "2018-02-15T16:58:55+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2020-03-23T09:12:05+00:00" + }, + { + "name": "symfony/console", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "34ac555a3627e324b660e318daa07572e1140123" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/34ac555a3627e324b660e318daa07572e1140123", + "reference": "34ac555a3627e324b660e318daa07572e1140123", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1|^2", + "symfony/string": "^5.1" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-15T12:59:21+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "reference": "5e20b83385a77593259c9f8beb2c43cd03b2ac14", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:49:21+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "cc0d059e2e997e79ca34125a52f3e33de4424ac7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/cc0d059e2e997e79ca34125a52f3e33de4424ac7", + "reference": "cc0d059e2e997e79ca34125a52f3e33de4424ac7", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/event-dispatcher-contracts": "^2", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/expression-language": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/service-contracts": "^1.1|^2", + "symfony/stopwatch": "^4.4|^5.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony EventDispatcher Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-20T17:43:50+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/f6f613d74cfc5a623fc36294d3451eb7fa5a042b", + "reference": "f6f613d74cfc5a623fc36294d3451eb7fa5a042b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/event-dispatcher": "^1" + }, + "suggest": { + "symfony/event-dispatcher-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-06T13:23:11+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "6e4320f06d5f2cce0d96530162491f4465179157" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/6e4320f06d5f2cce0d96530162491f4465179157", + "reference": "6e4320f06d5f2cce0d96530162491f4465179157", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-30T20:35:19+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "4298870062bfc667cb78d2b379be4bf5dec5f187" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/4298870062bfc667cb78d2b379be4bf5dec5f187", + "reference": "4298870062bfc667cb78d2b379be4bf5dec5f187", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-20T17:43:50+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "663f5dd5e14057d1954fe721f9709d35837f2447" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/663f5dd5e14057d1954fe721f9709d35837f2447", + "reference": "663f5dd5e14057d1954fe721f9709d35837f2447", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony OptionsResolver Component", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-23T13:08:13+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d", + "reference": "2edd75b8b35d62fd3eeabba73b26b8f1f60ce13d", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:46:27+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/6e4dbcf5e81eba86e36731f94fe56b1726835846", + "reference": "6e4dbcf5e81eba86e36731f94fe56b1726835846", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:46:27+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "40309d1700e8f72447bb9e7b54af756eeea35620" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/40309d1700e8f72447bb9e7b54af756eeea35620", + "reference": "40309d1700e8f72447bb9e7b54af756eeea35620", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-14T14:40:37+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "7110338d81ce1cbc3e273136e4574663627037a7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/7110338d81ce1cbc3e273136e4574663627037a7", + "reference": "7110338d81ce1cbc3e273136e4574663627037a7", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:46:27+00:00" + }, + { + "name": "symfony/polyfill-php70", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php70.git", + "reference": "471b096aede7025bace8eb356b9ac801aaba7e2d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php70/zipball/471b096aede7025bace8eb356b9ac801aaba7e2d", + "reference": "471b096aede7025bace8eb356b9ac801aaba7e2d", + "shasum": "" + }, + "require": { + "paragonie/random_compat": "~1.0|~2.0|~9.99", + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php70\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:46:27+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.17.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "f048e612a3905f34931127360bdd2def19a5e582" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/f048e612a3905f34931127360bdd2def19a5e582", + "reference": "f048e612a3905f34931127360bdd2def19a5e582", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-12T16:47:27+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fa0837fe02d617d31fbb25f990655861bb27bd1a", + "reference": "fa0837fe02d617d31fbb25f990655861bb27bd1a", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:46:27+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.17.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4a5b6bba3259902e386eb80dd1956181ee90b5b2", + "reference": "4a5b6bba3259902e386eb80dd1956181ee90b5b2", + "shasum": "" + }, + "require": { + "php": ">=7.0.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.17-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-06T08:46:27+00:00" + }, + { + "name": "symfony/process", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "7f6378c1fa2147eeb1b4c385856ce9de0d46ebd1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/7f6378c1fa2147eeb1b4c385856ce9de0d46ebd1", + "reference": "7f6378c1fa2147eeb1b4c385856ce9de0d46ebd1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.15" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-30T20:35:19+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.1.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/58c7475e5457c5492c26cc740cc0ad7464be9442", + "reference": "58c7475e5457c5492c26cc740cc0ad7464be9442", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-07-06T13:23:11+00:00" + }, + { + "name": "symfony/stopwatch", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/stopwatch.git", + "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/0f7c58cf81dbb5dd67d423a89d577524a2ec0323", + "reference": "0f7c58cf81dbb5dd67d423a89d577524a2ec0323", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/service-contracts": "^1.0|^2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Stopwatch Component", + "homepage": "https://symfony.com", + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-05-20T17:43:50+00:00" + }, + { + "name": "symfony/string", + "version": "v5.1.2", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "ac70459db781108db7c6d8981dd31ce0e29e3298" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/ac70459db781108db7c6d8981dd31ce0e29e3298", + "reference": "ac70459db781108db7c6d8981dd31ce0e29e3298", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony String component", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-06-11T12:16:36+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "1.1.0" +} diff --git a/js/photos.1.js b/js/photos.1.js index a8229598..4a49fb3d 100644 --- a/js/photos.1.js +++ b/js/photos.1.js @@ -1,2 +1,2 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{259:function(t,a,i){"use strict";var e=i(266),o=i.n(e);function n(t,a,i,e,o,n,r){try{var s=t[n](r),d=s.value}catch(t){return void i(t)}s.done?a(d):Promise.resolve(d).then(e,o)}a.a=function(t){var a=o.a.CancelToken.source();return{request:function(){var i,e=(i=regeneratorRuntime.mark((function i(e,o){return regeneratorRuntime.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",t(e,Object.assign({cancelToken:a.token},o)));case 1:case"end":return i.stop()}}),i)})),function(){var t=this,a=arguments;return new Promise((function(e,o){var r=i.apply(t,a);function s(t){n(r,e,o,s,d,"next",t)}function d(t){n(r,e,o,s,d,"throw",t)}s(void 0)}))});return function(t,a){return e.apply(this,arguments)}}(),cancel:a.cancel}}},276:function(t,a,i){"use strict";var e=i(141),o=Object(e.loadState)("photos","mimes");a.a=o},277:function(t,a,i){var e=i(385);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("4deb72a7",e,!0,{})},281:function(t,a,i){var e=i(389);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("019e1002",e,!0,{})},282:function(t,a,i){var e=i(391);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("7086606b",e,!0,{})},283:function(t,a,i){var e=i(395);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("545fc046",e,!0,{})},305:function(t,a,i){"use strict";function e(t,a,i,e,o,n,r){try{var s=t[n](r),d=s.value}catch(t){return void i(t)}s.done?a(d):Promise.resolve(d).then(e,o)}var o={name:"EmptyContent",props:{illustrationName:{type:String,default:""}},data:function(){return{illustration:""}},computed:{haveIllustration:function(){return""!==this.illustrationName},isLoaded:function(){return!this.haveIllustration||""!==this.illustration},isReady:function(){return!this.haveIllustration||this.haveIllustration&&this.isLoaded}},watch:{illustrationName:function(){this.getIllustration()}},beforeMount:function(){this.getIllustration()},methods:{getIllustration:function(){var t,a=this;return(t=regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a.illustration="",""===a.illustrationName){t.next=12;break}return t.prev=2,t.next=5,i(383)("./".concat(a.illustrationName,".svg"));case 5:e=t.sent,a.illustration=e.default,t.next=12;break;case 9:t.prev=9,t.t0=t.catch(2),console.error("Could not get the error illustration",t.t0);case 12:case"end":return t.stop()}}),t,null,[[2,9]])})),function(){var a=this,i=arguments;return new Promise((function(o,n){var r=t.apply(a,i);function s(t){e(r,o,n,s,d,"next",t)}function d(t){e(r,o,n,s,d,"throw",t)}s(void 0)}))})()}}},n=(i(384),i(78)),r=Object(n.a)(o,(function(){var t=this,a=t.$createElement,i=t._self._c||a;return t.isReady?i("div",{staticClass:"emptycontent"},[t.haveIllustration?i("div",{staticClass:"illustration",domProps:{innerHTML:t._s(t.illustration)}}):i("div",{staticClass:"icon-error"}),t._v(" "),i("h2",[t._t("default")],2),t._v(" "),i("p",{directives:[{name:"show",rawName:"v-show",value:t.$slots.desc,expression:"$slots.desc"}]},[t._t("desc")],2)]):t._e()}),[],!1,null,null,null);a.a=r.exports},306:function(a,i,e){"use strict";var o=e(18),n=e(21),r={name:"File",inheritAttrs:!1,props:{basename:{type:String,required:!0},filename:{type:String,required:!0},etag:{type:String,required:!0},fileid:{type:Number,required:!0},mime:{type:String,required:!0},list:{type:Array,required:!0},loadMore:{type:Function,default:function(){return[]}}},data:function(){return{loaded:!1}},computed:{davPath:function(){return Object(o.generateRemoteUrl)("dav/files/".concat(Object(n.getCurrentUser)().uid))+this.filename},ariaUuid:function(){return"image-".concat(this.fileid)},ariaLabel:function(){return t("photos",'Open the full size "{name}" image',{name:this.basename})},isImage:function(){return this.mime.startsWith("image")},src:function(){return Object(o.generateUrl)("/core/preview?fileId=".concat(this.fileid,"&x=",256,"&y=",256,"&a=false&v=").concat(this.etag))}},beforeDestroy:function(){this.$refs.src=""},methods:{openViewer:function(){OCA.Viewer.open({path:this.filename,list:this.list,loadMore:this.loadMore})},onLoad:function(){this.loaded=!0}}},s=(e(388),e(78)),d=Object(s.a)(r,(function(){var t=this,a=t.$createElement,i=t._self._c||a;return i("a",{staticClass:"file",class:{"file--clear":!t.loaded},attrs:{href:t.davPath,"aria-label":t.ariaLabel},on:{click:function(a){return a.preventDefault(),t.openViewer(a)}}},[i("transition",{attrs:{name:"fade"}},[i("img",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],ref:"img",attrs:{src:t.src,alt:t.basename,"aria-describedby":t.ariaUuid},on:{load:t.onLoad}})]),t._v(" "),t.loaded?t._e():i("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"url(#placeholder__gradient)"}},[t.isImage?i("use",{attrs:{"xlink:href":"#placeholder--img"}}):i("use",{attrs:{"xlink:href":"#placeholder--video"}})]),t._v(" "),i("p",{staticClass:"hidden-visually",attrs:{id:t.ariaUuid}},[t._v(t._s(t.basename))]),t._v(" "),i("div",{staticClass:"cover",attrs:{role:"none"}})],1)}),[],!1,null,"bd62cb82",null);i.a=d.exports},307:function(t,a,i){"use strict";var e={name:"Grid"},o=(i(390),i(78)),n=Object(o.a)(e,(function(){var t=this.$createElement,a=this._self._c||t;return a("transition-group",{staticClass:"photos-grid",attrs:{role:"grid",name:"list",tag:"div"}},[this._t("default"),this._v(" "),a("div",{key:"footer",staticClass:"photos-grid__footer-spacer",attrs:{role:"none"}})],2)}),[],!1,null,"05633275",null);a.a=n.exports},308:function(a,i,e){"use strict";var o=e(392),n=e.n(o),r=e(393),s={name:"Navigation",components:{ActionButton:e.n(r).a,Actions:n.a},inheritAttrs:!1,props:{basename:{type:String,required:!0},filename:{type:String,required:!0},showActions:{type:Boolean,default:!1},rootTitle:{type:String,default:t("photos","Photos")}},computed:{isRoot:function(){return"/"===this.filename},name:function(){return this.isRoot?this.rootTitle:this.basename},parentPath:function(){var t=this.filename.split("/");t.pop();var a=t.join("/");return this.isRoot||""===a.trim()?"/":t.join("/")},parentName:function(){return this.parentPath&&this.parentPath.split("/").pop()},backToText:function(){return"/"===this.parentPath?t("photos","Back to {folder}",{folder:this.rootTitle}):t("photos","Back to {folder}",{folder:this.parentName})},to:function(){var t=/^\/?(.*)/i.exec(this.parentPath)[1],a=Object.assign({},this.$route,{params:{path:t}}),i=a.name,e=a.params;return""===t?{name:i}:decodeURIComponent(this.$router.resolve({name:i,params:e}).resolved.path)}},methods:{folderUp:function(){this.$router.push(this.to)},showSidebar:function(){OCA.Files.Sidebar.open(this.filename)}}},d=(e(394),e(78)),p=Object(d.a)(s,(function(){var t=this,a=t.$createElement,i=t._self._c||a;return i("div",{staticClass:"photos-navigation",class:{"photos-navigation--root":t.isRoot},attrs:{role:"toolbar"}},[t.isRoot?t._e():i("Actions",{staticClass:"photos-navigation__back"},[i("ActionButton",{attrs:{icon:"icon-confirm"},on:{click:t.folderUp}},[t._v("\n\t\t\t"+t._s(t.backToText)+"\n\t\t")])],1),t._v(" "),i("h2",{staticClass:"photos-navigation__title"},[t._v("\n\t\t"+t._s(t.name)+"\n\t")]),t._v(" "),!t.isRoot&&t.showActions?i("Actions",{staticClass:"photos-navigation__share"},[i("ActionButton",{attrs:{icon:"icon-shared"},on:{click:t.showSidebar}},[t._v("\n\t\t\t"+t._s(t.t("photos","Share this folder"))+"\n\t\t")])],1):t._e()],1)}),[],!1,null,"60433307",null);i.a=p.exports},383:function(t,a,i){var e={"./empty.svg":[509,7],"./folder.svg":[510,8],"./images.svg":[511,9]};function o(t){if(!i.o(e,t))return Promise.resolve().then((function(){var a=new Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}));var a=e[t],o=a[0];return i.e(a[1]).then((function(){return i.t(o,7)}))}o.keys=function(){return Object.keys(e)},o.id=383,t.exports=o},384:function(t,a,i){"use strict";var e=i(277);i.n(e).a},385:function(t,a,i){(a=i(151)(!1)).push([t.i,".emptycontent{grid-column:1/-1;margin-top:20vh}.illustration{min-width:200px;max-width:15%;width:300px;margin:auto;margin-bottom:20px;position:relative}.illustration svg{width:100%;height:100%;max-height:40vh}.illustration [fill*='6c63ff']{fill:var(--color-primary-element)}\n",""]),t.exports=a},388:function(t,a,i){"use strict";var e=i(281);i.n(e).a},389:function(t,a,i){(a=i(151)(!1)).push([t.i,".file[data-v-bd62cb82],.folder[data-v-bd62cb82]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-bd62cb82],.folder .cover[data-v-bd62cb82]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-bd62cb82],.file:active .cover[data-v-bd62cb82],.file:hover .cover[data-v-bd62cb82],.file:focus .cover[data-v-bd62cb82],.folder.active .cover[data-v-bd62cb82],.folder:active .cover[data-v-bd62cb82],.folder:hover .cover[data-v-bd62cb82],.folder:focus .cover[data-v-bd62cb82]{opacity:.3}.file--clear.active .cover[data-v-bd62cb82],.file--clear:active .cover[data-v-bd62cb82],.file--clear:hover .cover[data-v-bd62cb82],.file--clear:focus .cover[data-v-bd62cb82],.folder--clear.active .cover[data-v-bd62cb82],.folder--clear:active .cover[data-v-bd62cb82],.folder--clear:hover .cover[data-v-bd62cb82],.folder--clear:focus .cover[data-v-bd62cb82]{opacity:.1}.fade-enter-active[data-v-bd62cb82],.fade-leave-active[data-v-bd62cb82]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-bd62cb82],.fade-leave-to[data-v-bd62cb82]{opacity:0}img[data-v-bd62cb82]{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}svg[data-v-bd62cb82]{position:absolute;width:70%;height:70%}\n",""]),t.exports=a},390:function(t,a,i){"use strict";var e=i(282);i.n(e).a},391:function(t,a,i){(a=i(151)(!1)).push([t.i,".photos-grid[data-v-05633275]{display:grid;align-items:center;justify-content:center;grid-template-columns:repeat(10, 1fr);position:relative}.photos-grid__footer-spacer[data-v-05633275]{grid-column:1;padding-bottom:100%}.list-move[data-v-05633275]{transition:transform var(--animation-quick)}@media (min-width: 0px) and (max-width: 400px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(3, 1fr)}}@media (min-width: 400px) and (max-width: 700px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 700px) and (max-width: 1024px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1024px) and (max-width: 1280px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 1280px) and (max-width: 1440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1440px) and (max-width: 1600px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(6, 1fr)}}@media (min-width: 1600px) and (max-width: 2048px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(7, 1fr)}}@media (min-width: 2048px) and (max-width: 2560px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(8, 1fr)}}@media (min-width: 2560px) and (max-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(9, 1fr)}}@media (min-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(10, 1fr)}}\n",""]),t.exports=a},394:function(t,a,i){"use strict";var e=i(283);i.n(e).a},395:function(t,a,i){(a=i(151)(!1)).push([t.i,".icon-confirm[data-v-60433307]{transform:rotate(180deg)}.photos-navigation[data-v-60433307]{display:flex;position:absolute;height:44px;align-items:center;max-width:100%}.photos-navigation__title[data-v-60433307]{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photos-navigation__share[data-v-60433307]{margin-left:10px}.photos-navigation__back[data-v-60433307],.photos-navigation__share[data-v-60433307]{flex-grow:0;flex-shrink:0}@media (min-width: 0px) and (max-width: 400px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 400px) and (max-width: 700px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 700px) and (max-width: 1024px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1024px) and (max-width: 1280px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1280px) and (max-width: 1440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1440px) and (max-width: 1600px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1600px) and (max-width: 2048px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 2048px) and (max-width: 2560px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 2560px) and (max-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}\n",""]),t.exports=a}}]); -//# sourceMappingURL=photos.1.js.map?v=c2c3a385fba855951c8d \ No newline at end of file +(window.webpackJsonp=window.webpackJsonp||[]).push([[1],{259:function(t,a,i){"use strict";var e=i(266),o=i.n(e);function n(t,a,i,e,o,n,r){try{var s=t[n](r),d=s.value}catch(t){return void i(t)}s.done?a(d):Promise.resolve(d).then(e,o)}a.a=function(t){var a=o.a.CancelToken.source();return{request:function(){var i,e=(i=regeneratorRuntime.mark((function i(e,o){return regeneratorRuntime.wrap((function(i){for(;;)switch(i.prev=i.next){case 0:return i.abrupt("return",t(e,Object.assign({cancelToken:a.token},o)));case 1:case"end":return i.stop()}}),i)})),function(){var t=this,a=arguments;return new Promise((function(e,o){var r=i.apply(t,a);function s(t){n(r,e,o,s,d,"next",t)}function d(t){n(r,e,o,s,d,"throw",t)}s(void 0)}))});return function(t,a){return e.apply(this,arguments)}}(),cancel:a.cancel}}},276:function(t,a,i){"use strict";var e=i(141),o=Object(e.loadState)("photos","mimes");a.a=o},277:function(t,a,i){var e=i(385);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("4deb72a7",e,!0,{})},281:function(t,a,i){var e=i(389);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("019e1002",e,!0,{})},282:function(t,a,i){var e=i(391);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("7086606b",e,!0,{})},283:function(t,a,i){var e=i(395);"string"==typeof e&&(e=[[t.i,e,""]]),e.locals&&(t.exports=e.locals);(0,i(152).default)("545fc046",e,!0,{})},305:function(t,a,i){"use strict";function e(t,a,i,e,o,n,r){try{var s=t[n](r),d=s.value}catch(t){return void i(t)}s.done?a(d):Promise.resolve(d).then(e,o)}var o={name:"EmptyContent",props:{illustrationName:{type:String,default:""}},data:function(){return{illustration:""}},computed:{haveIllustration:function(){return""!==this.illustrationName},isLoaded:function(){return!this.haveIllustration||""!==this.illustration},isReady:function(){return!this.haveIllustration||this.haveIllustration&&this.isLoaded}},watch:{illustrationName:function(){this.getIllustration()}},beforeMount:function(){this.getIllustration()},methods:{getIllustration:function(){var t,a=this;return(t=regeneratorRuntime.mark((function t(){var e;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(a.illustration="",""===a.illustrationName){t.next=12;break}return t.prev=2,t.next=5,i(383)("./".concat(a.illustrationName,".svg"));case 5:e=t.sent,a.illustration=e.default,t.next=12;break;case 9:t.prev=9,t.t0=t.catch(2),console.error("Could not get the error illustration",t.t0);case 12:case"end":return t.stop()}}),t,null,[[2,9]])})),function(){var a=this,i=arguments;return new Promise((function(o,n){var r=t.apply(a,i);function s(t){e(r,o,n,s,d,"next",t)}function d(t){e(r,o,n,s,d,"throw",t)}s(void 0)}))})()}}},n=(i(384),i(78)),r=Object(n.a)(o,(function(){var t=this,a=t.$createElement,i=t._self._c||a;return t.isReady?i("div",{staticClass:"emptycontent"},[t.haveIllustration?i("div",{staticClass:"illustration",domProps:{innerHTML:t._s(t.illustration)}}):i("div",{staticClass:"icon-error"}),t._v(" "),i("h2",[t._t("default")],2),t._v(" "),i("p",{directives:[{name:"show",rawName:"v-show",value:t.$slots.desc,expression:"$slots.desc"}]},[t._t("desc")],2)]):t._e()}),[],!1,null,null,null);a.a=r.exports},307:function(a,i,e){"use strict";var o=e(18),n=e(21),r={name:"File",inheritAttrs:!1,props:{basename:{type:String,required:!0},filename:{type:String,required:!0},etag:{type:String,required:!0},fileid:{type:Number,required:!0},mime:{type:String,required:!0},list:{type:Array,required:!0},loadMore:{type:Function,default:function(){return[]}}},data:function(){return{loaded:!1}},computed:{davPath:function(){return Object(o.generateRemoteUrl)("dav/files/".concat(Object(n.getCurrentUser)().uid))+this.filename},ariaUuid:function(){return"image-".concat(this.fileid)},ariaLabel:function(){return t("photos",'Open the full size "{name}" image',{name:this.basename})},isImage:function(){return this.mime.startsWith("image")},src:function(){return Object(o.generateUrl)("/core/preview?fileId=".concat(this.fileid,"&x=",256,"&y=",256,"&a=false&v=").concat(this.etag))}},beforeDestroy:function(){this.$refs.src=""},methods:{openViewer:function(){OCA.Viewer.open({path:this.filename,list:this.list,loadMore:this.loadMore})},onLoad:function(){this.loaded=!0}}},s=(e(388),e(78)),d=Object(s.a)(r,(function(){var t=this,a=t.$createElement,i=t._self._c||a;return i("a",{staticClass:"file",class:{"file--clear":!t.loaded},attrs:{href:t.davPath,"aria-label":t.ariaLabel},on:{click:function(a){return a.preventDefault(),t.openViewer(a)}}},[i("transition",{attrs:{name:"fade"}},[i("img",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],ref:"img",attrs:{src:t.src,alt:t.basename,"aria-describedby":t.ariaUuid},on:{load:t.onLoad}})]),t._v(" "),t.loaded?t._e():i("svg",{attrs:{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",fill:"url(#placeholder__gradient)"}},[t.isImage?i("use",{attrs:{"xlink:href":"#placeholder--img"}}):i("use",{attrs:{"xlink:href":"#placeholder--video"}})]),t._v(" "),i("p",{staticClass:"hidden-visually",attrs:{id:t.ariaUuid}},[t._v(t._s(t.basename))]),t._v(" "),i("div",{staticClass:"cover",attrs:{role:"none"}})],1)}),[],!1,null,"bd62cb82",null);i.a=d.exports},308:function(t,a,i){"use strict";var e={name:"Grid"},o=(i(390),i(78)),n=Object(o.a)(e,(function(){var t=this.$createElement,a=this._self._c||t;return a("transition-group",{staticClass:"photos-grid",attrs:{role:"grid",name:"list",tag:"div"}},[this._t("default"),this._v(" "),a("div",{key:"footer",staticClass:"photos-grid__footer-spacer",attrs:{role:"none"}})],2)}),[],!1,null,"05633275",null);a.a=n.exports},309:function(a,i,e){"use strict";var o=e(392),n=e.n(o),r=e(393),s={name:"Navigation",components:{ActionButton:e.n(r).a,Actions:n.a},inheritAttrs:!1,props:{basename:{type:String,required:!0},filename:{type:String,required:!0},showActions:{type:Boolean,default:!1},rootTitle:{type:String,default:t("photos","Photos")}},computed:{isRoot:function(){return"/"===this.filename},name:function(){return this.isRoot?this.rootTitle:this.basename},parentPath:function(){var t=this.filename.split("/");t.pop();var a=t.join("/");return this.isRoot||""===a.trim()?"/":t.join("/")},parentName:function(){return this.parentPath&&this.parentPath.split("/").pop()},backToText:function(){return"/"===this.parentPath?t("photos","Back to {folder}",{folder:this.rootTitle}):t("photos","Back to {folder}",{folder:this.parentName})},to:function(){var t=/^\/?(.*)/i.exec(this.parentPath)[1],a=Object.assign({},this.$route,{params:{path:t}}),i=a.name,e=a.params;return""===t?{name:i}:decodeURIComponent(this.$router.resolve({name:i,params:e}).resolved.path)}},methods:{folderUp:function(){this.$router.push(this.to)},showSidebar:function(){OCA.Files.Sidebar.open(this.filename)}}},d=(e(394),e(78)),p=Object(d.a)(s,(function(){var t=this,a=t.$createElement,i=t._self._c||a;return i("div",{staticClass:"photos-navigation",class:{"photos-navigation--root":t.isRoot},attrs:{role:"toolbar"}},[t.isRoot?t._e():i("Actions",{staticClass:"photos-navigation__back"},[i("ActionButton",{attrs:{icon:"icon-confirm"},on:{click:t.folderUp}},[t._v("\n\t\t\t"+t._s(t.backToText)+"\n\t\t")])],1),t._v(" "),i("h2",{staticClass:"photos-navigation__title"},[t._v("\n\t\t"+t._s(t.name)+"\n\t")]),t._v(" "),!t.isRoot&&t.showActions?i("Actions",{staticClass:"photos-navigation__share"},[i("ActionButton",{attrs:{icon:"icon-shared"},on:{click:t.showSidebar}},[t._v("\n\t\t\t"+t._s(t.t("photos","Share this folder"))+"\n\t\t")])],1):t._e()],1)}),[],!1,null,"60433307",null);i.a=p.exports},383:function(t,a,i){var e={"./empty.svg":[509,7],"./folder.svg":[510,8],"./images.svg":[511,9]};function o(t){if(!i.o(e,t))return Promise.resolve().then((function(){var a=new Error("Cannot find module '"+t+"'");throw a.code="MODULE_NOT_FOUND",a}));var a=e[t],o=a[0];return i.e(a[1]).then((function(){return i.t(o,7)}))}o.keys=function(){return Object.keys(e)},o.id=383,t.exports=o},384:function(t,a,i){"use strict";var e=i(277);i.n(e).a},385:function(t,a,i){(a=i(151)(!1)).push([t.i,".emptycontent{grid-column:1/-1;margin-top:20vh}.illustration{min-width:200px;max-width:15%;width:300px;margin:auto;margin-bottom:20px;position:relative}.illustration svg{width:100%;height:100%;max-height:40vh}.illustration [fill*='6c63ff']{fill:var(--color-primary-element)}\n",""]),t.exports=a},388:function(t,a,i){"use strict";var e=i(281);i.n(e).a},389:function(t,a,i){(a=i(151)(!1)).push([t.i,".file[data-v-bd62cb82],.folder[data-v-bd62cb82]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-bd62cb82],.folder .cover[data-v-bd62cb82]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-bd62cb82],.file:active .cover[data-v-bd62cb82],.file:hover .cover[data-v-bd62cb82],.file:focus .cover[data-v-bd62cb82],.folder.active .cover[data-v-bd62cb82],.folder:active .cover[data-v-bd62cb82],.folder:hover .cover[data-v-bd62cb82],.folder:focus .cover[data-v-bd62cb82]{opacity:.3}.file--clear.active .cover[data-v-bd62cb82],.file--clear:active .cover[data-v-bd62cb82],.file--clear:hover .cover[data-v-bd62cb82],.file--clear:focus .cover[data-v-bd62cb82],.folder--clear.active .cover[data-v-bd62cb82],.folder--clear:active .cover[data-v-bd62cb82],.folder--clear:hover .cover[data-v-bd62cb82],.folder--clear:focus .cover[data-v-bd62cb82]{opacity:.1}.fade-enter-active[data-v-bd62cb82],.fade-leave-active[data-v-bd62cb82]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-bd62cb82],.fade-leave-to[data-v-bd62cb82]{opacity:0}img[data-v-bd62cb82]{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}svg[data-v-bd62cb82]{position:absolute;width:70%;height:70%}\n",""]),t.exports=a},390:function(t,a,i){"use strict";var e=i(282);i.n(e).a},391:function(t,a,i){(a=i(151)(!1)).push([t.i,".photos-grid[data-v-05633275]{display:grid;align-items:center;justify-content:center;grid-template-columns:repeat(10, 1fr);position:relative}.photos-grid__footer-spacer[data-v-05633275]{grid-column:1;padding-bottom:100%}.list-move[data-v-05633275]{transition:transform var(--animation-quick)}@media (min-width: 0px) and (max-width: 400px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(3, 1fr)}}@media (min-width: 400px) and (max-width: 700px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 700px) and (max-width: 1024px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1024px) and (max-width: 1280px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 1280px) and (max-width: 1440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1440px) and (max-width: 1600px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(6, 1fr)}}@media (min-width: 1600px) and (max-width: 2048px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(7, 1fr)}}@media (min-width: 2048px) and (max-width: 2560px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(8, 1fr)}}@media (min-width: 2560px) and (max-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(9, 1fr)}}@media (min-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(10, 1fr)}}\n",""]),t.exports=a},394:function(t,a,i){"use strict";var e=i(283);i.n(e).a},395:function(t,a,i){(a=i(151)(!1)).push([t.i,".icon-confirm[data-v-60433307]{transform:rotate(180deg)}.photos-navigation[data-v-60433307]{display:flex;position:absolute;height:44px;align-items:center;max-width:100%}.photos-navigation__title[data-v-60433307]{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photos-navigation__share[data-v-60433307]{margin-left:10px}.photos-navigation__back[data-v-60433307],.photos-navigation__share[data-v-60433307]{flex-grow:0;flex-shrink:0}@media (min-width: 0px) and (max-width: 400px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 400px) and (max-width: 700px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 700px) and (max-width: 1024px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1024px) and (max-width: 1280px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1280px) and (max-width: 1440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1440px) and (max-width: 1600px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1600px) and (max-width: 2048px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 2048px) and (max-width: 2560px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 2560px) and (max-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}\n",""]),t.exports=a}}]); +//# sourceMappingURL=photos.1.js.map?v=1a3fa74ea770abf1f64a \ No newline at end of file diff --git a/js/photos.1.js.map b/js/photos.1.js.map index a21d7dce..451beedf 100644 --- a/js/photos.1.js.map +++ b/js/photos.1.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///./src/utils/CancelableRequest.js","webpack:///./src/services/AllowedMimes.js","webpack:///./src/components/EmptyContent.vue?7e62","webpack:///./src/components/File.vue?61cc","webpack:///./src/components/Grid.vue?0734","webpack:///./src/components/Navigation.vue?3bc5","webpack:///src/components/EmptyContent.vue","webpack:///./src/components/EmptyContent.vue?ff18","webpack:///./src/components/EmptyContent.vue","webpack:///./src/components/EmptyContent.vue?9bb1","webpack:///./src/components/File.vue?305b","webpack:///./src/components/File.vue?c451","webpack:///src/components/File.vue","webpack:///./src/components/File.vue","webpack:///./src/components/Grid.vue?be98","webpack:///./src/components/Grid.vue?b7c0","webpack:///src/components/Grid.vue","webpack:///./src/components/Grid.vue","webpack:///./src/components/Navigation.vue?dcf8","webpack:///./src/components/Navigation.vue?4411","webpack:///src/components/Navigation.vue","webpack:///./src/components/Navigation.vue","webpack:///./src/assets/Illustrations lazy ^\\.\\/.*\\.svg$ namespace object","webpack:///./src/components/EmptyContent.vue?6d8f","webpack:///./src/components/EmptyContent.vue?fa3c","webpack:///./src/components/File.vue?5ffe","webpack:///./src/components/File.vue?75fe","webpack:///./src/components/Grid.vue?cb90","webpack:///./src/components/Grid.vue?7ccc","webpack:///./src/components/Navigation.vue?da09","webpack:///./src/components/Navigation.vue?8709"],"names":["CancelableRequest","request","cancelToken","axios","CancelToken","source","url","options","Object","assign","token","cancel","mimes","loadState","content","module","i","locals","exports","add","default","component","_vm","this","_h","$createElement","_c","_self","staticClass","domProps","_s","illustration","_v","_t","directives","name","rawName","value","$slots","expression","_e","class","loaded","attrs","davPath","ariaLabel","on","$event","preventDefault","openViewer","ref","src","basename","ariaUuid","onLoad","key","isRoot","folderUp","backToText","showActions","showSidebar","t","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","___CSS_LOADER_API_IMPORT___","push"],"mappings":"yOA8DeA,IAzBW,SAASC,GAIlC,IAAMC,EAZyBC,IAAMC,YAAYC,SA2BjD,MAAO,CACNJ,QARU,e,EAAA,G,EAAA,yBAAG,WAAeK,EAAKC,GAApB,yGACNN,EACNK,EACAE,OAAOC,OAAO,CAAEP,YAAaA,EAAYQ,OAASH,KAHtC,0C,+KAAH,wDASVI,OAAQT,EAAYS,U,iCC1DtB,aAwBMC,EAAQC,oBAAU,SAAU,SACnBD,O,oBCtBf,IAAIE,EAAU,EAAQ,KACA,iBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAC7DA,EAAQG,SAAQF,EAAOG,QAAUJ,EAAQG,SAG/BE,EADH,EAAQ,KAA+DC,SAChE,WAAYN,GAAS,EAAM,K,oBCL5C,IAAIA,EAAU,EAAQ,KACA,iBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAC7DA,EAAQG,SAAQF,EAAOG,QAAUJ,EAAQG,SAG/BE,EADH,EAAQ,KAA+DC,SAChE,WAAYN,GAAS,EAAM,K,oBCL5C,IAAIA,EAAU,EAAQ,KACA,iBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAC7DA,EAAQG,SAAQF,EAAOG,QAAUJ,EAAQG,SAG/BE,EADH,EAAQ,KAA+DC,SAChE,WAAYN,GAAS,EAAM,K,oBCL5C,IAAIA,EAAU,EAAQ,KACA,iBAAZA,IAAsBA,EAAU,CAAC,CAACC,EAAOC,EAAIF,EAAS,MAC7DA,EAAQG,SAAQF,EAAOG,QAAUJ,EAAQG,SAG/BE,EADH,EAAQ,KAA+DC,SAChE,WAAYN,GAAS,EAAM,K,0JC2B5C,ICnC4L,EDmC5L,CACA,oBACA,OACA,kBACA,YACA,aAGA,KARA,WASA,OACA,kBAGA,UAMA,iBANA,WAOA,kCAQA,SAfA,WAgBA,8BAGA,wBASA,QA5BA,WA6BA,qEAOA,OACA,iBADA,WAEA,yBAGA,YAtDA,WAuDA,wBAGA,SAIA,gBAJA,WAIA,I,EAAA,c,EAAA,+HACA,kBACA,wBAFA,0CAIA,+CAJA,OAIA,EAJA,OAKA,yBALA,gDAOA,2DAPA,wD,qMEzFIO,EAAY,YACd,GCTW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAQF,EAAW,QAAEI,EAAG,MAAM,CAACE,YAAY,gBAAgB,CAAEN,EAAoB,iBAAEI,EAAG,MAAM,CAACE,YAAY,eAAeC,SAAS,CAAC,UAAYP,EAAIQ,GAAGR,EAAIS,iBAAiBL,EAAG,MAAM,CAACE,YAAY,eAAeN,EAAIU,GAAG,KAAKN,EAAG,KAAK,CAACJ,EAAIW,GAAG,YAAY,GAAGX,EAAIU,GAAG,KAAKN,EAAG,IAAI,CAACQ,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOf,EAAIgB,OAAW,KAAEC,WAAW,iBAAiB,CAACjB,EAAIW,GAAG,SAAS,KAAKX,EAAIkB,OACzc,IDWpB,EACA,KACA,KACA,MAIa,IAAAnB,E,0CEnBf,I,gBCAoL,ECuDpL,CACA,YACA,gBAEA,OACA,UACA,YACA,aAEA,UACA,YACA,aAEA,MACA,YACA,aAEA,QACA,YACA,aAEA,MACA,YACA,aAEA,MACA,WACA,aAEA,UACA,cACA,+BAIA,KAnCA,WAoCA,OACA,YAIA,UACA,QADA,WAEA,uGAEA,SAJA,WAKA,oCAEA,UAPA,WAQA,6EAEA,QAVA,WAWA,sCAEA,IAbA,WAcA,gIAIA,cA3DA,WA6DA,mBAGA,SACA,WADA,WAEA,6EAEA,OAJA,WAKA,kB,iBCpHIA,EAAY,YACd,GHTW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,IAAI,CAACE,YAAY,OAAOa,MAAM,CAAC,eAAgBnB,EAAIoB,QAAQC,MAAM,CAAC,KAAOrB,EAAIsB,QAAQ,aAAatB,EAAIuB,WAAWC,GAAG,CAAC,MAAQ,SAASC,GAAgC,OAAxBA,EAAOC,iBAAwB1B,EAAI2B,WAAWF,MAAW,CAACrB,EAAG,aAAa,CAACiB,MAAM,CAAC,KAAO,SAAS,CAACjB,EAAG,MAAM,CAACQ,WAAW,CAAC,CAACC,KAAK,OAAOC,QAAQ,SAASC,MAAOf,EAAU,OAAEiB,WAAW,WAAWW,IAAI,MAAMP,MAAM,CAAC,IAAMrB,EAAI6B,IAAI,IAAM7B,EAAI8B,SAAS,mBAAmB9B,EAAI+B,UAAUP,GAAG,CAAC,KAAOxB,EAAIgC,YAAYhC,EAAIU,GAAG,KAAOV,EAAIoB,OAAwPpB,EAAIkB,KAApPd,EAAG,MAAM,CAACiB,MAAM,CAAC,MAAQ,6BAA6B,QAAU,YAAY,KAAO,gCAAgC,CAAErB,EAAW,QAAEI,EAAG,MAAM,CAACiB,MAAM,CAAC,aAAa,uBAAuBjB,EAAG,MAAM,CAACiB,MAAM,CAAC,aAAa,2BAAoCrB,EAAIU,GAAG,KAAKN,EAAG,IAAI,CAACE,YAAY,kBAAkBe,MAAM,CAAC,GAAKrB,EAAI+B,WAAW,CAAC/B,EAAIU,GAAGV,EAAIQ,GAAGR,EAAI8B,aAAa9B,EAAIU,GAAG,KAAKN,EAAG,MAAM,CAACE,YAAY,QAAQe,MAAM,CAAC,KAAO,WAAW,KAC58B,IGWpB,EACA,KACA,WACA,MAIa,IAAAtB,E,0CCnBf,ICAoL,ECmCpL,CACA,a,iBC5BIA,EAAY,YACd,GHTW,WAAa,IAAiBG,EAATD,KAAgBE,eAAmBC,EAAnCH,KAA0CI,MAAMD,IAAIF,EAAG,OAAOE,EAAG,mBAAmB,CAACE,YAAY,cAAce,MAAM,CAAC,KAAO,OAAO,KAAO,OAAO,IAAM,QAAQ,CAAhKpB,KAAqKU,GAAG,WAAxKV,KAAuLS,GAAG,KAAKN,EAAG,MAAM,CAAC6B,IAAI,SAAS3B,YAAY,6BAA6Be,MAAM,CAAC,KAAO,WAAW,KACpS,IGWpB,EACA,KACA,WACA,MAIa,IAAAtB,E,0CCnBf,I,2BCA0L,EC+C1L,CACA,kBAEA,YACA,a,OAAA,EACA,aAEA,gBAEA,OACA,UACA,YACA,aAEA,UACA,YACA,aAEA,aACA,aACA,YAEA,WACA,YACA,+BAIA,UACA,OADA,WAEA,2BAEA,KAJA,WAKA,mBACA,eAEA,eAEA,WAVA,WAWA,+BACA,QACA,kBACA,kCACA,IACA,aAEA,WAlBA,WAmBA,0DAEA,WArBA,WAsBA,4BACA,uDAEA,yDAUA,GAnCA,WAsCA,IACA,EADA,YACA,yBAJA,EAOA,8BACA,kBADA,EAPA,EAOA,OAPA,EAOA,OAMA,aACA,SAIA,4EAIA,SACA,SADA,WAEA,4BAEA,YAJA,WAKA,yC,iBCjIIA,EAAY,YACd,GHTW,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,oBAAoBa,MAAM,CAAC,0BAA2BnB,EAAIkC,QAAQb,MAAM,CAAC,KAAO,YAAY,CAAGrB,EAAIkC,OAAoMlC,EAAIkB,KAAhMd,EAAG,UAAU,CAACE,YAAY,2BAA2B,CAACF,EAAG,eAAe,CAACiB,MAAM,CAAC,KAAO,gBAAgBG,GAAG,CAAC,MAAQxB,EAAImC,WAAW,CAACnC,EAAIU,GAAG,WAAWV,EAAIQ,GAAGR,EAAIoC,YAAY,aAAa,GAAYpC,EAAIU,GAAG,KAAKN,EAAG,KAAK,CAACE,YAAY,4BAA4B,CAACN,EAAIU,GAAG,SAASV,EAAIQ,GAAGR,EAAIa,MAAM,UAAUb,EAAIU,GAAG,MAAOV,EAAIkC,QAAUlC,EAAIqC,YAAajC,EAAG,UAAU,CAACE,YAAY,4BAA4B,CAACF,EAAG,eAAe,CAACiB,MAAM,CAAC,KAAO,eAAeG,GAAG,CAAC,MAAQxB,EAAIsC,cAAc,CAACtC,EAAIU,GAAG,WAAWV,EAAIQ,GAAGR,EAAIuC,EAAE,SAAU,sBAAsB,aAAa,GAAGvC,EAAIkB,MAAM,KACrwB,IGWpB,EACA,KACA,WACA,MAIa,IAAAnB,E,6BCnBf,IAAIyC,EAAM,CACT,cAAe,CACd,IACA,GAED,eAAgB,CACf,IACA,GAED,eAAgB,CACf,IACA,IAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,WAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,WACzC,OAAOJ,EAAoBJ,EAAEa,EAAI,MAGnCX,EAAoBY,KAAO,WAC1B,OAAOnE,OAAOmE,KAAKb,IAEpBC,EAAoBW,GAAK,IACzB3D,EAAOG,QAAU6C,G,iCChCjB,oBAAmZ,G,qBCEnZ7C,EADkC,EAAQ,IAChC0D,EAA4B,IAE9BC,KAAK,CAAC9D,EAAOC,EAAI,uRAAwR,KAEjTD,EAAOG,QAAUA,G,iCCNjB,oBAAma,G,qBCEnaA,EADkC,EAAQ,IAChC0D,EAA4B,IAE9BC,KAAK,CAAC9D,EAAOC,EAAI,46CAA66C,KAEt8CD,EAAOG,QAAUA,G,iCCNjB,oBAAma,G,qBCEnaA,EADkC,EAAQ,IAChC0D,EAA4B,IAE9BC,KAAK,CAAC9D,EAAOC,EAAI,mxDAAoxD,KAE7yDD,EAAOG,QAAUA,G,iCCNjB,oBAAya,G,qBCEzaA,EADkC,EAAQ,IAChC0D,EAA4B,IAE9BC,KAAK,CAAC9D,EAAOC,EAAI,ssFAAusF,KAEhuFD,EAAOG,QAAUA","file":"photos.1.js?v=c2c3a385fba855951c8d","sourcesContent":["/**\n * @copyright Copyright (c) 2019 Marco Ambrosini \n *\n * @author Marco Ambrosini \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\n\n/**\n * Create a cancel token\n * @returns {CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {function} request the axios promise request\n * @returns {Object}\n */\nconst CancelableRequest = function(request) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {Object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\treturn request(\n\t\t\turl,\n\t\t\tObject.assign({ cancelToken: cancelToken.token }, options)\n\t\t)\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n\nexport default CancelableRequest\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst mimes = loadState('photos', 'mimes')\nexport default mimes\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmptyContent.vue?vue&type=template&id=5881a110&\"\nimport script from \"./EmptyContent.vue?vue&type=script&lang=js&\"\nexport * from \"./EmptyContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('div',{staticClass:\"emptycontent\"},[(_vm.haveIllustration)?_c('div',{staticClass:\"illustration\",domProps:{\"innerHTML\":_vm._s(_vm.illustration)}}):_c('div',{staticClass:\"icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._t(\"default\")],2),_vm._v(\" \"),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$slots.desc),expression:\"$slots.desc\"}]},[_vm._t(\"desc\")],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"file\",class:{'file--clear': !_vm.loaded},attrs:{\"href\":_vm.davPath,\"aria-label\":_vm.ariaLabel},on:{\"click\":function($event){$event.preventDefault();return _vm.openViewer($event)}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],ref:\"img\",attrs:{\"src\":_vm.src,\"alt\":_vm.basename,\"aria-describedby\":_vm.ariaUuid},on:{\"load\":_vm.onLoad}})]),_vm._v(\" \"),(!_vm.loaded)?_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\",\"fill\":\"url(#placeholder__gradient)\"}},[(_vm.isImage)?_c('use',{attrs:{\"xlink:href\":\"#placeholder--img\"}}):_c('use',{attrs:{\"xlink:href\":\"#placeholder--video\"}})]):_vm._e(),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":_vm.ariaUuid}},[_vm._v(_vm._s(_vm.basename))]),_vm._v(\" \"),_c('div',{staticClass:\"cover\",attrs:{\"role\":\"none\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=bd62cb82&scoped=true&\"\nimport script from \"./File.vue?vue&type=script&lang=js&\"\nexport * from \"./File.vue?vue&type=script&lang=js&\"\nimport style0 from \"./File.vue?vue&type=style&index=0&id=bd62cb82&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bd62cb82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition-group',{staticClass:\"photos-grid\",attrs:{\"role\":\"grid\",\"name\":\"list\",\"tag\":\"div\"}},[_vm._t(\"default\"),_vm._v(\" \"),_c('div',{key:\"footer\",staticClass:\"photos-grid__footer-spacer\",attrs:{\"role\":\"none\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./Grid.vue?vue&type=template&id=05633275&scoped=true&\"\nimport script from \"./Grid.vue?vue&type=script&lang=js&\"\nexport * from \"./Grid.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Grid.vue?vue&type=style&index=0&id=05633275&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"05633275\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"photos-navigation\",class:{'photos-navigation--root': _vm.isRoot},attrs:{\"role\":\"toolbar\"}},[(!_vm.isRoot)?_c('Actions',{staticClass:\"photos-navigation__back\"},[_c('ActionButton',{attrs:{\"icon\":\"icon-confirm\"},on:{\"click\":_vm.folderUp}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.backToText)+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('h2',{staticClass:\"photos-navigation__title\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.isRoot && _vm.showActions)?_c('Actions',{staticClass:\"photos-navigation__share\"},[_c('ActionButton',{attrs:{\"icon\":\"icon-shared\"},on:{\"click\":_vm.showSidebar}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Share this folder'))+\"\\n\\t\\t\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=60433307&scoped=true&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=60433307&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60433307\",\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./empty.svg\": [\n\t\t509,\n\t\t7\n\t],\n\t\"./folder.svg\": [\n\t\t510,\n\t\t8\n\t],\n\t\"./images.svg\": [\n\t\t511,\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 383;\nmodule.exports = webpackAsyncContext;","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emptycontent{grid-column:1/-1;margin-top:20vh}.illustration{min-width:200px;max-width:15%;width:300px;margin:auto;margin-bottom:20px;position:relative}.illustration svg{width:100%;height:100%;max-height:40vh}.illustration [fill*='6c63ff']{fill:var(--color-primary-element)}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=bd62cb82&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=bd62cb82&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".file[data-v-bd62cb82],.folder[data-v-bd62cb82]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-bd62cb82],.folder .cover[data-v-bd62cb82]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-bd62cb82],.file:active .cover[data-v-bd62cb82],.file:hover .cover[data-v-bd62cb82],.file:focus .cover[data-v-bd62cb82],.folder.active .cover[data-v-bd62cb82],.folder:active .cover[data-v-bd62cb82],.folder:hover .cover[data-v-bd62cb82],.folder:focus .cover[data-v-bd62cb82]{opacity:.3}.file--clear.active .cover[data-v-bd62cb82],.file--clear:active .cover[data-v-bd62cb82],.file--clear:hover .cover[data-v-bd62cb82],.file--clear:focus .cover[data-v-bd62cb82],.folder--clear.active .cover[data-v-bd62cb82],.folder--clear:active .cover[data-v-bd62cb82],.folder--clear:hover .cover[data-v-bd62cb82],.folder--clear:focus .cover[data-v-bd62cb82]{opacity:.1}.fade-enter-active[data-v-bd62cb82],.fade-leave-active[data-v-bd62cb82]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-bd62cb82],.fade-leave-to[data-v-bd62cb82]{opacity:0}img[data-v-bd62cb82]{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}svg[data-v-bd62cb82]{position:absolute;width:70%;height:70%}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=style&index=0&id=05633275&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=style&index=0&id=05633275&scoped=true&lang=scss&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".photos-grid[data-v-05633275]{display:grid;align-items:center;justify-content:center;grid-template-columns:repeat(10, 1fr);position:relative}.photos-grid__footer-spacer[data-v-05633275]{grid-column:1;padding-bottom:100%}.list-move[data-v-05633275]{transition:transform var(--animation-quick)}@media (min-width: 0px) and (max-width: 400px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(3, 1fr)}}@media (min-width: 400px) and (max-width: 700px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 700px) and (max-width: 1024px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1024px) and (max-width: 1280px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 1280px) and (max-width: 1440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1440px) and (max-width: 1600px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(6, 1fr)}}@media (min-width: 1600px) and (max-width: 2048px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(7, 1fr)}}@media (min-width: 2048px) and (max-width: 2560px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(8, 1fr)}}@media (min-width: 2560px) and (max-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(9, 1fr)}}@media (min-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(10, 1fr)}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=60433307&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=60433307&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".icon-confirm[data-v-60433307]{transform:rotate(180deg)}.photos-navigation[data-v-60433307]{display:flex;position:absolute;height:44px;align-items:center;max-width:100%}.photos-navigation__title[data-v-60433307]{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photos-navigation__share[data-v-60433307]{margin-left:10px}.photos-navigation__back[data-v-60433307],.photos-navigation__share[data-v-60433307]{flex-grow:0;flex-shrink:0}@media (min-width: 0px) and (max-width: 400px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 400px) and (max-width: 700px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 700px) and (max-width: 1024px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1024px) and (max-width: 1280px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1280px) and (max-width: 1440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1440px) and (max-width: 1600px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1600px) and (max-width: 2048px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 2048px) and (max-width: 2560px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 2560px) and (max-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/utils/CancelableRequest.js","webpack:///./src/services/AllowedMimes.js","webpack:///./src/components/EmptyContent.vue?7e62","webpack:///./src/components/File.vue?61cc","webpack:///./src/components/Grid.vue?0734","webpack:///./src/components/Navigation.vue?3bc5","webpack:///src/components/EmptyContent.vue","webpack:///./src/components/EmptyContent.vue?ff18","webpack:///./src/components/EmptyContent.vue","webpack:///./src/components/EmptyContent.vue?9bb1","webpack:///./src/components/File.vue?305b","webpack:///./src/components/File.vue?c451","webpack:///src/components/File.vue","webpack:///./src/components/File.vue","webpack:///./src/components/Grid.vue?be98","webpack:///./src/components/Grid.vue?b7c0","webpack:///src/components/Grid.vue","webpack:///./src/components/Grid.vue","webpack:///./src/components/Navigation.vue?dcf8","webpack:///./src/components/Navigation.vue?4411","webpack:///src/components/Navigation.vue","webpack:///./src/components/Navigation.vue","webpack:///./src/assets/Illustrations lazy ^\\.\\/.*\\.svg$ namespace object","webpack:///./src/components/EmptyContent.vue?6d8f","webpack:///./src/components/EmptyContent.vue?fa3c","webpack:///./src/components/File.vue?5ffe","webpack:///./src/components/File.vue?75fe","webpack:///./src/components/Grid.vue?cb90","webpack:///./src/components/Grid.vue?7ccc","webpack:///./src/components/Navigation.vue?da09","webpack:///./src/components/Navigation.vue?8709"],"names":["CancelableRequest","request","cancelToken","axios","CancelToken","source","url","options","Object","assign","token","cancel","mimes","loadState","content","module","i","locals","exports","add","default","component","_vm","this","_h","$createElement","_c","_self","staticClass","domProps","_s","illustration","_v","_t","directives","name","rawName","value","$slots","expression","_e","class","loaded","attrs","davPath","ariaLabel","on","$event","preventDefault","openViewer","ref","src","basename","ariaUuid","onLoad","key","isRoot","folderUp","backToText","showActions","showSidebar","t","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","___CSS_LOADER_API_IMPORT___","push"],"mappings":"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","file":"photos.1.js?v=1a3fa74ea770abf1f64a","sourcesContent":["/**\n * @copyright Copyright (c) 2019 Marco Ambrosini \n *\n * @author Marco Ambrosini \n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\n\n/**\n * Create a cancel token\n * @returns {CancelTokenSource}\n */\nconst createCancelToken = () => axios.CancelToken.source()\n\n/**\n * Creates a cancelable axios 'request object'.\n *\n * @param {function} request the axios promise request\n * @returns {Object}\n */\nconst CancelableRequest = function(request) {\n\t/**\n\t * Generate an axios cancel token\n\t */\n\tconst cancelToken = createCancelToken()\n\n\t/**\n\t * Execute the request\n\t *\n\t * @param {string} url the url to send the request to\n\t * @param {Object} [options] optional config for the request\n\t */\n\tconst fetch = async function(url, options) {\n\t\treturn request(\n\t\t\turl,\n\t\t\tObject.assign({ cancelToken: cancelToken.token }, options)\n\t\t)\n\t}\n\n\treturn {\n\t\trequest: fetch,\n\t\tcancel: cancelToken.cancel,\n\t}\n}\n\nexport default CancelableRequest\n","/**\n * @copyright Copyright (c) 2018 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { loadState } from '@nextcloud/initial-state'\n\nconst mimes = loadState('photos', 'mimes')\nexport default mimes\n","// style-loader: Adds some css to the DOM by adding a \n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./EmptyContent.vue?vue&type=template&id=5881a110&\"\nimport script from \"./EmptyContent.vue?vue&type=script&lang=js&\"\nexport * from \"./EmptyContent.vue?vue&type=script&lang=js&\"\nimport style0 from \"./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.isReady)?_c('div',{staticClass:\"emptycontent\"},[(_vm.haveIllustration)?_c('div',{staticClass:\"illustration\",domProps:{\"innerHTML\":_vm._s(_vm.illustration)}}):_c('div',{staticClass:\"icon-error\"}),_vm._v(\" \"),_c('h2',[_vm._t(\"default\")],2),_vm._v(\" \"),_c('p',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$slots.desc),expression:\"$slots.desc\"}]},[_vm._t(\"desc\")],2)]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('a',{staticClass:\"file\",class:{'file--clear': !_vm.loaded},attrs:{\"href\":_vm.davPath,\"aria-label\":_vm.ariaLabel},on:{\"click\":function($event){$event.preventDefault();return _vm.openViewer($event)}}},[_c('transition',{attrs:{\"name\":\"fade\"}},[_c('img',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.loaded),expression:\"loaded\"}],ref:\"img\",attrs:{\"src\":_vm.src,\"alt\":_vm.basename,\"aria-describedby\":_vm.ariaUuid},on:{\"load\":_vm.onLoad}})]),_vm._v(\" \"),(!_vm.loaded)?_c('svg',{attrs:{\"xmlns\":\"http://www.w3.org/2000/svg\",\"viewBox\":\"0 0 32 32\",\"fill\":\"url(#placeholder__gradient)\"}},[(_vm.isImage)?_c('use',{attrs:{\"xlink:href\":\"#placeholder--img\"}}):_c('use',{attrs:{\"xlink:href\":\"#placeholder--video\"}})]):_vm._e(),_vm._v(\" \"),_c('p',{staticClass:\"hidden-visually\",attrs:{\"id\":_vm.ariaUuid}},[_vm._v(_vm._s(_vm.basename))]),_vm._v(\" \"),_c('div',{staticClass:\"cover\",attrs:{\"role\":\"none\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./File.vue?vue&type=template&id=bd62cb82&scoped=true&\"\nimport script from \"./File.vue?vue&type=script&lang=js&\"\nexport * from \"./File.vue?vue&type=script&lang=js&\"\nimport style0 from \"./File.vue?vue&type=style&index=0&id=bd62cb82&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"bd62cb82\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('transition-group',{staticClass:\"photos-grid\",attrs:{\"role\":\"grid\",\"name\":\"list\",\"tag\":\"div\"}},[_vm._t(\"default\"),_vm._v(\" \"),_c('div',{key:\"footer\",staticClass:\"photos-grid__footer-spacer\",attrs:{\"role\":\"none\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./Grid.vue?vue&type=template&id=05633275&scoped=true&\"\nimport script from \"./Grid.vue?vue&type=script&lang=js&\"\nexport * from \"./Grid.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Grid.vue?vue&type=style&index=0&id=05633275&scoped=true&lang=scss&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"05633275\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"photos-navigation\",class:{'photos-navigation--root': _vm.isRoot},attrs:{\"role\":\"toolbar\"}},[(!_vm.isRoot)?_c('Actions',{staticClass:\"photos-navigation__back\"},[_c('ActionButton',{attrs:{\"icon\":\"icon-confirm\"},on:{\"click\":_vm.folderUp}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.backToText)+\"\\n\\t\\t\")])],1):_vm._e(),_vm._v(\" \"),_c('h2',{staticClass:\"photos-navigation__title\"},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.name)+\"\\n\\t\")]),_vm._v(\" \"),(!_vm.isRoot && _vm.showActions)?_c('Actions',{staticClass:\"photos-navigation__share\"},[_c('ActionButton',{attrs:{\"icon\":\"icon-shared\"},on:{\"click\":_vm.showSidebar}},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Share this folder'))+\"\\n\\t\\t\")])],1):_vm._e()],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=script&lang=js&\"","\n\n\n\n\n\n\n","import { render, staticRenderFns } from \"./Navigation.vue?vue&type=template&id=60433307&scoped=true&\"\nimport script from \"./Navigation.vue?vue&type=script&lang=js&\"\nexport * from \"./Navigation.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Navigation.vue?vue&type=style&index=0&id=60433307&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"60433307\",\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./empty.svg\": [\n\t\t509,\n\t\t7\n\t],\n\t\"./folder.svg\": [\n\t\t510,\n\t\t8\n\t],\n\t\"./images.svg\": [\n\t\t511,\n\t\t9\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 7);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 383;\nmodule.exports = webpackAsyncContext;","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EmptyContent.vue?vue&type=style&index=0&lang=scss&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".emptycontent{grid-column:1/-1;margin-top:20vh}.illustration{min-width:200px;max-width:15%;width:300px;margin:auto;margin-bottom:20px;position:relative}.illustration svg{width:100%;height:100%;max-height:40vh}.illustration [fill*='6c63ff']{fill:var(--color-primary-element)}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=bd62cb82&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./File.vue?vue&type=style&index=0&id=bd62cb82&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".file[data-v-bd62cb82],.folder[data-v-bd62cb82]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-bd62cb82],.folder .cover[data-v-bd62cb82]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-bd62cb82],.file:active .cover[data-v-bd62cb82],.file:hover .cover[data-v-bd62cb82],.file:focus .cover[data-v-bd62cb82],.folder.active .cover[data-v-bd62cb82],.folder:active .cover[data-v-bd62cb82],.folder:hover .cover[data-v-bd62cb82],.folder:focus .cover[data-v-bd62cb82]{opacity:.3}.file--clear.active .cover[data-v-bd62cb82],.file--clear:active .cover[data-v-bd62cb82],.file--clear:hover .cover[data-v-bd62cb82],.file--clear:focus .cover[data-v-bd62cb82],.folder--clear.active .cover[data-v-bd62cb82],.folder--clear:active .cover[data-v-bd62cb82],.folder--clear:hover .cover[data-v-bd62cb82],.folder--clear:focus .cover[data-v-bd62cb82]{opacity:.1}.fade-enter-active[data-v-bd62cb82],.fade-leave-active[data-v-bd62cb82]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-bd62cb82],.fade-leave-to[data-v-bd62cb82]{opacity:0}img[data-v-bd62cb82]{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}svg[data-v-bd62cb82]{position:absolute;width:70%;height:70%}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=style&index=0&id=05633275&scoped=true&lang=scss&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Grid.vue?vue&type=style&index=0&id=05633275&scoped=true&lang=scss&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".photos-grid[data-v-05633275]{display:grid;align-items:center;justify-content:center;grid-template-columns:repeat(10, 1fr);position:relative}.photos-grid__footer-spacer[data-v-05633275]{grid-column:1;padding-bottom:100%}.list-move[data-v-05633275]{transition:transform var(--animation-quick)}@media (min-width: 0px) and (max-width: 400px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(3, 1fr)}}@media (min-width: 400px) and (max-width: 700px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 8px 8px 8px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 700px) and (max-width: 1024px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1024px) and (max-width: 1280px){.photos-grid[data-v-05633275]{gap:8px;padding:66px 44px 44px 44px;grid-template-columns:repeat(4, 1fr)}}@media (min-width: 1280px) and (max-width: 1440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(5, 1fr)}}@media (min-width: 1440px) and (max-width: 1600px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(6, 1fr)}}@media (min-width: 1600px) and (max-width: 2048px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 66px 66px 66px;grid-template-columns:repeat(7, 1fr)}}@media (min-width: 2048px) and (max-width: 2560px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(8, 1fr)}}@media (min-width: 2560px) and (max-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(9, 1fr)}}@media (min-width: 3440px){.photos-grid[data-v-05633275]{gap:8px;padding:88px 88px 88px 88px;grid-template-columns:repeat(10, 1fr)}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=60433307&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Navigation.vue?vue&type=style&index=0&id=60433307&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".icon-confirm[data-v-60433307]{transform:rotate(180deg)}.photos-navigation[data-v-60433307]{display:flex;position:absolute;height:44px;align-items:center;max-width:100%}.photos-navigation__title[data-v-60433307]{margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photos-navigation__share[data-v-60433307]{margin-left:10px}.photos-navigation__back[data-v-60433307],.photos-navigation__share[data-v-60433307]{flex-grow:0;flex-shrink:0}@media (min-width: 0px) and (max-width: 400px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 400px) and (max-width: 700px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:8px}}@media (min-width: 700px) and (max-width: 1024px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1024px) and (max-width: 1280px){.photos-navigation[data-v-60433307]{top:14.66667px}.photos-navigation__back[data-v-60433307]{margin:0 0px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:44px}}@media (min-width: 1280px) and (max-width: 1440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1440px) and (max-width: 1600px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 1600px) and (max-width: 2048px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 11px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:66px}}@media (min-width: 2048px) and (max-width: 2560px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 2560px) and (max-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}@media (min-width: 3440px){.photos-navigation[data-v-60433307]{top:29.33333px}.photos-navigation__back[data-v-60433307]{margin:0 22px}.photos-navigation--root .photos-navigation__title[data-v-60433307]{padding-left:88px}}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n"],"sourceRoot":""} \ No newline at end of file diff --git a/js/photos.4.js b/js/photos.4.js index 6c377762..feb81636 100644 --- a/js/photos.4.js +++ b/js/photos.4.js @@ -62,5 +62,5 @@ var o="\n\t\n\t\n\t\n\t. * - */var g=function(){return h.apply(this,arguments)};function h(){return(h=f(regeneratorRuntime.mark((function t(){var e,n,o,r,i,p,f=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return e=f.length>0&&void 0!==f[0]&&f[0],n=f.length>1&&void 0!==f[1]?f[1]:{},n=Object.assign({},{page:0,perPage:10*d.sizes.max.count},n),o="/files/".concat(Object(s.getCurrentUser)().uid),r=c.a.reduce((function(t,e){return"".concat(t,"\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t").concat(e,"\n\t\t\n\t")}),""),i=e?"\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t1\n\t\t\t":"",n=Object.assign({method:"SEARCH",headers:{"content-Type":"text/xml"},data:'\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t'.concat(l.a,"\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t").concat(o,"\n\t\t\t\t\t\t\tinfinity\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t").concat(r,"\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t").concat(i,"\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t").concat(Object(s.getCurrentUser)().uid,"\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t").concat(n.perPage,"\n\t\t\t\t\t\t").concat(n.page*n.perPage,"\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t"),deep:!0,details:!0},n),t.next=9,u.a.getDirectoryContents("",n);case 9:return p=t.sent,t.abrupt("return",p.data.map((function(t){return Object(a.b)(t)})).map((function(t){return Object.assign({},t,{filename:t.filename.replace(o,"")})})));case 11:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var m=n(305),w=n(306);let v="undefined",b=typeof window!==v?window:{},y=typeof performance!==v?performance:Date,R=()=>y.now(),x="AnimationFrame",C="cancel"+x,O="request"+x,T=b[O]&&b[O].bind(b),P=b[C]&&b[C].bind(b);if(!T||!P){let t=0;T=e=>{let n=R(),o=Math.max(t+1e3/60,n);return setTimeout(()=>{e(t=o)},o-n)},P=function(t){return clearTimeout(t)}}const j=(t,e)=>{const n=R(),o={},r=()=>{R()-n>=e?t.call(null):o.v=T(r)};return o.v=T(r),o};var q=n(307),D=new(n(0).default)({data:function(){return{gridConfig:d.sizes.max}},watch:{gridConfig:function(t){this.$emit("changed",t)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){var t=Object.keys(d.sizes).find((function(t){return t>document.documentElement.clientWidth}));this.gridConfig=d.sizes[t]}}}),S={data:function(){return{gridConfig:{}}},created:function(){var t=this;D.$on("changed",(function(e){t.gridConfig=e})),console.debug("Current grid config",D.gridConfig),this.gridConfig=D.gridConfig},beforeDestroy:function(){D.$off("changed",this.gridConfig)}},E={name:"VirtualGrid",components:{Grid:q.a},mixins:[S],props:{list:{type:Array,default:function(){return[]}},props:{type:Function,default:function(){return{}}},component:{type:Function,required:!0},loadingPage:{type:Boolean,default:!1}},data:function(){return{shownFirstRow:0,shownLastRow:this.getRowNumber(this.list.length-1)}},computed:{shownList:function(){var t=this;return this.list.filter((function(e,n){return t.isVisible(n)}))},topPadding:function(){return"".concat(100*this.shownFirstRow,"%")},bottomPadding:function(){return"".concat(100*(this.lastRow-this.shownLastRow),"%")},lastRow:function(){return this.getRowNumber(this.list.length-1)}},created:function(){window.addEventListener("resize",this.onDocumentScroll),window.addEventListener("scroll",this.onDocumentScroll)},mounted:function(){this.onDocumentScroll()},beforeDestroy:function(){window.removeEventListener("resize",this.onDocumentScroll),window.removeEventListener("scroll",this.onDocumentScroll)},methods:{debounceOnDocumentScroll:function(){var t;this.debounceOnDocumentScrollRequest&&(t=this.debounceOnDocumentScrollRequest,P(t.v||-1)),this.debounceOnDocumentScrollRequest=j(this.onDocumentScroll,150)},onDocumentScroll:function(){var t=this.$refs.grid.$el,e=getComputedStyle(t),n=parseFloat(e.gridTemplateColumns.split(" ")[0],10),o=this.roundToTen(window.pageYOffset-this.gridConfig.marginTop),r=Math.floor(o/(n+this.gridConfig.gap))-1,i=Math.ceil(window.innerHeight/n)+r+1;this.shownFirstRow=Math.max(r,0),this.shownLastRow=Math.min(i,this.lastRow),this.shownLastRow>=this.lastRow&&this.$emit("bottomReached")},isVisible:function(t){var e=this.getRowNumber(t);return e>=this.shownFirstRow&&e0,expression:"shownFirstRow > 0"}],key:"filler-top",ref:"filler-top",staticClass:"grid-filler grid-filler--top",style:{paddingBottom:t.topPadding},attrs:{role:"none"}}),t._v(" "),t._l(t.shownList,(function(e,o){return n(t.component(e),t._b({key:e.fileid,ref:"item-"+o,refInFor:!0,tag:"component",class:"row-"+t.getRowNumber(o),attrs:{list:t.list}},"component",t.props(e),!1))})),t._v(" "),t.loadingPage?n("div",{key:"grid-loading",staticClass:"grid-loading icon-loading",attrs:{role:"none"}}):t._e(),t._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:t.shownLastRow0&&void 0!==f[0]&&f[0],n=f.length>1&&void 0!==f[1]?f[1]:{},n=Object.assign({},{page:0,perPage:10*d.sizes.max.count},n),o="/files/".concat(Object(s.getCurrentUser)().uid),r=c.a.reduce((function(t,e){return"".concat(t,"\n\t\t\n\t\t\t\n\t\t\t\t\n\t\t\t\n\t\t\t").concat(e,"\n\t\t\n\t")}),""),i=e?"\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t\t1\n\t\t\t":"",n=Object.assign({method:"SEARCH",headers:{"content-Type":"text/xml"},data:'\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t'.concat(l.a,"\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t").concat(o,"\n\t\t\t\t\t\t\tinfinity\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t").concat(r,"\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t").concat(i,"\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t").concat(Object(s.getCurrentUser)().uid,"\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t").concat(n.perPage,"\n\t\t\t\t\t\t").concat(n.page*n.perPage,"\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t"),deep:!0,details:!0},n),t.next=9,u.a.getDirectoryContents("",n);case 9:return p=t.sent,t.abrupt("return",p.data.map((function(t){return Object(a.b)(t)})).map((function(t){return Object.assign({},t,{filename:t.filename.replace(o,"")})})));case 11:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var m=n(305),w=n(307);let v="undefined",b=typeof window!==v?window:{},y=typeof performance!==v?performance:Date,R=()=>y.now(),x="AnimationFrame",C="cancel"+x,O="request"+x,T=b[O]&&b[O].bind(b),P=b[C]&&b[C].bind(b);if(!T||!P){let t=0;T=e=>{let n=R(),o=Math.max(t+1e3/60,n);return setTimeout(()=>{e(t=o)},o-n)},P=function(t){return clearTimeout(t)}}const j=(t,e)=>{const n=R(),o={},r=()=>{R()-n>=e?t.call(null):o.v=T(r)};return o.v=T(r),o};var q=n(308),D=new(n(0).default)({data:function(){return{gridConfig:d.sizes.max}},watch:{gridConfig:function(t){this.$emit("changed",t)}},created:function(){window.addEventListener("resize",this.handleWindowResize),this.handleWindowResize()},beforeDestroy:function(){window.removeEventListener("resize",this.handleWindowResize)},methods:{handleWindowResize:function(){var t=Object.keys(d.sizes).find((function(t){return t>document.documentElement.clientWidth}));this.gridConfig=d.sizes[t]}}}),S={data:function(){return{gridConfig:{}}},created:function(){var t=this;D.$on("changed",(function(e){t.gridConfig=e})),console.debug("Current grid config",D.gridConfig),this.gridConfig=D.gridConfig},beforeDestroy:function(){D.$off("changed",this.gridConfig)}},E={name:"VirtualGrid",components:{Grid:q.a},mixins:[S],props:{list:{type:Array,default:function(){return[]}},props:{type:Function,default:function(){return{}}},component:{type:Function,required:!0},loadingPage:{type:Boolean,default:!1}},data:function(){return{shownFirstRow:0,shownLastRow:this.getRowNumber(this.list.length-1)}},computed:{shownList:function(){var t=this;return this.list.filter((function(e,n){return t.isVisible(n)}))},topPadding:function(){return"".concat(100*this.shownFirstRow,"%")},bottomPadding:function(){return"".concat(100*(this.lastRow-this.shownLastRow),"%")},lastRow:function(){return this.getRowNumber(this.list.length-1)}},created:function(){window.addEventListener("resize",this.onDocumentScroll),window.addEventListener("scroll",this.onDocumentScroll)},mounted:function(){this.onDocumentScroll()},beforeDestroy:function(){window.removeEventListener("resize",this.onDocumentScroll),window.removeEventListener("scroll",this.onDocumentScroll)},methods:{debounceOnDocumentScroll:function(){var t;this.debounceOnDocumentScrollRequest&&(t=this.debounceOnDocumentScrollRequest,P(t.v||-1)),this.debounceOnDocumentScrollRequest=j(this.onDocumentScroll,150)},onDocumentScroll:function(){var t=this.$refs.grid.$el,e=getComputedStyle(t),n=parseFloat(e.gridTemplateColumns.split(" ")[0],10),o=this.roundToTen(window.pageYOffset-this.gridConfig.marginTop),r=Math.floor(o/(n+this.gridConfig.gap))-1,i=Math.ceil(window.innerHeight/n)+r+1;this.shownFirstRow=Math.max(r,0),this.shownLastRow=Math.min(i,this.lastRow),this.shownLastRow>=this.lastRow&&this.$emit("bottomReached")},isVisible:function(t){var e=this.getRowNumber(t);return e>=this.shownFirstRow&&e0,expression:"shownFirstRow > 0"}],key:"filler-top",ref:"filler-top",staticClass:"grid-filler grid-filler--top",style:{paddingBottom:t.topPadding},attrs:{role:"none"}}),t._v(" "),t._l(t.shownList,(function(e,o){return n(t.component(e),t._b({key:e.fileid,ref:"item-"+o,refInFor:!0,tag:"component",class:"row-"+t.getRowNumber(o),attrs:{list:t.list}},"component",t.props(e),!1))})),t._v(" "),t.loadingPage?n("div",{key:"grid-loading",staticClass:"grid-loading icon-loading",attrs:{role:"none"}}):t._e(),t._v(" "),n("span",{directives:[{name:"show",rawName:"v-show",value:t.shownLastRow\n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst request = require('webdav/dist/node/request')\n\nconst oldPrepareRequestOptions = request.prepareRequestOptions\n\n// While we wait for official cancellable webdav requests\n// https://github.com/perry-mitchell/webdav-client/issues/179\n// let's properly forward our axios options through webdav to axios\n\nrequest.prepareRequestOptions = function(requestOptions, methodOptions) {\n\t// add our cancelToken support\n\tif (methodOptions.cancelToken && typeof methodOptions.cancelToken === 'object') {\n\t\trequestOptions.cancelToken = methodOptions.cancelToken\n\t}\n\n\t// exploit old method\n\toldPrepareRequestOptions(requestOptions, methodOptions)\n\n\t// allow us to override the request method\n\tif (methodOptions.method && typeof methodOptions.method === 'string') {\n\t\trequestOptions.method = methodOptions.method\n\t}\n}\n\nmodule.exports = request\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport webdav from 'webdav'\nimport axios from '@nextcloud/axios'\nimport parseUrl from 'url-parse'\nimport { generateRemoteUrl } from '@nextcloud/router'\n\n// force our axios\nconst patcher = webdav.getPatcher()\npatcher.patch('request', axios)\n\n// init webdav client on default dav endpoint\nconst remote = generateRemoteUrl(`dav`)\nconst client = webdav.createClient(remote)\n\nexport const remotePath = parseUrl(remote).pathname\nexport default client\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst props = `\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t`\n\nexport { props }\nexport default `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${props}\n\t\t\t\t\n\t\t\t`\n","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./VirtualGrid.vue?vue&type=template&id=4517b139&scoped=true&\"\nimport script from \"./VirtualGrid.vue?vue&type=script&lang=js&\"\nexport * from \"./VirtualGrid.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VirtualGrid.vue?vue&type=style&index=0&id=4517b139&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4517b139\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Grid',{ref:\"grid\"},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shownFirstRow > 0),expression:\"shownFirstRow > 0\"}],key:\"filler-top\",ref:\"filler-top\",staticClass:\"grid-filler grid-filler--top\",style:({paddingBottom: _vm.topPadding}),attrs:{\"role\":\"none\"}}),_vm._v(\" \"),_vm._l((_vm.shownList),function(item,index){return _c(_vm.component(item),_vm._b({key:item.fileid,ref:(\"item-\" + index),refInFor:true,tag:\"component\",class:(\"row-\" + (_vm.getRowNumber(index))),attrs:{\"list\":_vm.list}},'component',_vm.props(item),false))}),_vm._v(\" \"),(_vm.loadingPage)?_c('div',{key:\"grid-loading\",staticClass:\"grid-loading icon-loading\",attrs:{\"role\":\"none\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shownLastRow < _vm.lastRow),expression:\"shownLastRow < lastRow\"}],key:\"filler-bottom\",ref:\"filler-bottom\",staticClass:\"grid-filler grid-filler--bottom\",style:({paddingBottom: _vm.bottomPadding}),attrs:{\"role\":\"none\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Timeline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Timeline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Timeline.vue?vue&type=template&id=563a6ae0&\"\nimport script from \"./Timeline.vue?vue&type=script&lang=js&\"\nexport * from \"./Timeline.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/patchedRequest.js","webpack:///./src/services/DavClient.js","webpack:///./src/services/DavRequest.js","webpack:///./src/components/VirtualGrid.vue?633d","webpack:///./src/assets/grid-sizes.js","webpack:///./node_modules/debounce/index.js","webpack:///./src/components/VirtualGrid.vue?dcd9","webpack:///./src/components/VirtualGrid.vue?6307","webpack:///./src/views/Timeline.vue?58d2","webpack:///./src/services/PhotoSearch.js","webpack:///./node_modules/@essentials/raf/dist/module/index.js","webpack:///./node_modules/@essentials/request-timeout/dist/es/index.js","webpack:///./src/services/GridConfig.js","webpack:///./src/mixins/GridConfig.js","webpack:///./src/components/VirtualGrid.vue?d88f","webpack:///src/components/VirtualGrid.vue","webpack:///./src/components/VirtualGrid.vue","webpack:///./src/components/VirtualGrid.vue?e82b","webpack:///src/views/Timeline.vue","webpack:///./src/views/Timeline.vue?21b8","webpack:///./src/views/Timeline.vue"],"names":["request","require","oldPrepareRequestOptions","prepareRequestOptions","requestOptions","methodOptions","cancelToken","method","module","exports","webdav","getPatcher","patch","axios","remote","generateRemoteUrl","client","createClient","parseUrl","pathname","props","content","i","locals","add","default","sizes","400","marginTop","marginW","count","gap","700","1024","1280","1440","1600","2048","2560","3440","max","debounce","func","wait","immediate","timeout","args","context","timestamp","result","later","last","Date","now","setTimeout","apply","debounced","this","arguments","callNow","clear","clearTimeout","flush","___CSS_LOADER_API_IMPORT___","push","onlyFavorites","options","Object","assign","page","perPage","prefixPath","getCurrentUser","uid","orMime","allowedMimes","reduce","str","mime","eqFavorites","headers","data","deep","details","getDirectoryContents","response","map","genFileInfo","filename","replace","u","win","window","p","performance","af","Caf","Raf","raf","bind","caf","lastTime","callback","curr","next","Math","h","requestTimeout","fn","delay","start","handle","loop","call","v","Vue","gridConfig","watch","val","$emit","created","addEventListener","handleWindowResize","beforeDestroy","removeEventListener","methods","currentSize","keys","find","size","document","documentElement","clientWidth","getGridConfig","$on","console","debug","$off","_vm","_h","$createElement","_c","_self","ref","directives","name","rawName","value","shownFirstRow","expression","key","staticClass","style","paddingBottom","topPadding","attrs","_v","_l","item","index","component","_b","fileid","refInFor","tag","class","getRowNumber","list","_e","shownLastRow","lastRow","bottomPadding","error","_s","t","loading","isEmpty","path","rootTitle","getComponent","fileList","loadingPage","getProps","on","onBottomReached"],"mappings":"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","file":"photos.4.js?v=828d728feb40d9b0ea76","sourcesContent":["/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst request = require('webdav/dist/node/request')\n\nconst oldPrepareRequestOptions = request.prepareRequestOptions\n\n// While we wait for official cancellable webdav requests\n// https://github.com/perry-mitchell/webdav-client/issues/179\n// let's properly forward our axios options through webdav to axios\n\nrequest.prepareRequestOptions = function(requestOptions, methodOptions) {\n\t// add our cancelToken support\n\tif (methodOptions.cancelToken && typeof methodOptions.cancelToken === 'object') {\n\t\trequestOptions.cancelToken = methodOptions.cancelToken\n\t}\n\n\t// exploit old method\n\toldPrepareRequestOptions(requestOptions, methodOptions)\n\n\t// allow us to override the request method\n\tif (methodOptions.method && typeof methodOptions.method === 'string') {\n\t\trequestOptions.method = methodOptions.method\n\t}\n}\n\nmodule.exports = request\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport webdav from 'webdav'\nimport axios from '@nextcloud/axios'\nimport parseUrl from 'url-parse'\nimport { generateRemoteUrl } from '@nextcloud/router'\n\n// force our axios\nconst patcher = webdav.getPatcher()\npatcher.patch('request', axios)\n\n// init webdav client on default dav endpoint\nconst remote = generateRemoteUrl(`dav`)\nconst client = webdav.createClient(remote)\n\nexport const remotePath = parseUrl(remote).pathname\nexport default client\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\nconst props = `\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t`\n\nexport { props }\nexport default `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${props}\n\t\t\t\t\n\t\t\t`\n","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./VirtualGrid.vue?vue&type=template&id=4517b139&scoped=true&\"\nimport script from \"./VirtualGrid.vue?vue&type=script&lang=js&\"\nexport * from \"./VirtualGrid.vue?vue&type=script&lang=js&\"\nimport style0 from \"./VirtualGrid.vue?vue&type=style&index=0&id=4517b139&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4517b139\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('Grid',{ref:\"grid\"},[_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shownFirstRow > 0),expression:\"shownFirstRow > 0\"}],key:\"filler-top\",ref:\"filler-top\",staticClass:\"grid-filler grid-filler--top\",style:({paddingBottom: _vm.topPadding}),attrs:{\"role\":\"none\"}}),_vm._v(\" \"),_vm._l((_vm.shownList),function(item,index){return _c(_vm.component(item),_vm._b({key:item.fileid,ref:(\"item-\" + index),refInFor:true,tag:\"component\",class:(\"row-\" + (_vm.getRowNumber(index))),attrs:{\"list\":_vm.list}},'component',_vm.props(item),false))}),_vm._v(\" \"),(_vm.loadingPage)?_c('div',{key:\"grid-loading\",staticClass:\"grid-loading icon-loading\",attrs:{\"role\":\"none\"}}):_vm._e(),_vm._v(\" \"),_c('span',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.shownLastRow < _vm.lastRow),expression:\"shownLastRow < lastRow\"}],key:\"filler-bottom\",ref:\"filler-bottom\",staticClass:\"grid-filler grid-filler--bottom\",style:({paddingBottom: _vm.bottomPadding}),attrs:{\"role\":\"none\"}})],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Timeline.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Timeline.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Timeline.vue?vue&type=template&id=563a6ae0&\"\nimport script from \"./Timeline.vue?vue&type=script&lang=js&\"\nexport * from \"./Timeline.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/js/photos.5.js b/js/photos.5.js index 5df652c9..be32a88e 100644 --- a/js/photos.5.js +++ b/js/photos.5.js @@ -41,7 +41,7 @@ * along with this program. If not, see . * */ -var r="\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t";'\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(r,"\n\t\t\t\t\n\t\t\t")},309:function(e,n,r){"use strict";var a=r(18),o={name:"FolderTagPreview",props:{icon:{type:String,default:"icon-folder"},id:{type:Number,required:!0},name:{type:String,required:!0},path:{type:String,required:!0},fileList:{type:Array,default:function(){return[]}}},data:function(){return{loaded:!1,failed:[]}},computed:{isEmpty:function(){return 0===this.previewList.length},ariaUuid:function(){return"folder-".concat(this.id)},ariaLabel:function(){return t("photos",'Open the "{name}" sub-directory',{name:this.name})},previewList:function(){var t=this;return this.fileList.filter((function(e){return-1===t.failed.indexOf(e.fileid)}))},to:function(){var t=/^\/?(.+)/i.exec(this.path)[1];return Object.assign({},this.$route,{params:{path:t}})}},methods:{generateImgSrc:function(t){var e=t.fileid,n=t.etag;return Object(a.generateUrl)("/core/preview?fileId=".concat(e,"&x=",256,"&y=",256,"&a=true&v=").concat(n))},onPreviewFail:function(t){var e=t.fileid;this.failed.push(e)}}},i=(r(278),r(78)),c=Object(i.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("router-link",{staticClass:"folder",class:{"folder--clear":t.isEmpty},attrs:{to:t.to,"aria-label":t.ariaLabel}},[n("transition",{attrs:{name:"fade"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],staticClass:"folder-content",class:"folder-content--grid-"+t.previewList.length,attrs:{role:"none"}},t._l(t.previewList,(function(e){return n("img",{key:e.fileid,attrs:{src:t.generateImgSrc(e),alt:""},on:{load:function(e){t.loaded=!0},error:function(n){return t.onPreviewFail(e)}}})})),0)]),t._v(" "),n("div",{staticClass:"folder-name"},[n("span",{staticClass:"folder-name__icon",class:[t.isEmpty?"icon-dark":"icon-white",t.icon],attrs:{role:"img"}}),t._v(" "),n("p",{staticClass:"folder-name__name",attrs:{id:t.ariaUuid}},[t._v("\n\t\t\t"+t._s(t.name)+"\n\t\t")])]),t._v(" "),n("div",{staticClass:"cover",attrs:{role:"none"}})],1)}),[],!1,null,"1b9c1a10",null);n.a=c.exports},326:function(t,e){},327:function(t,e){},347:function(t,e){},349:function(t,e){},513:function(t,e,n){"use strict";n.r(e);var r=n(49),a=n(267),o=n(22);function i(t,e,n,r,a,o,i){try{var c=t[o](i),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(r,a)}function c(t){return function(){var e=this,n=arguments;return new Promise((function(r,a){var o=t.apply(e,n);function c(t){i(o,r,a,c,s,"next",t)}function s(t){i(o,r,a,c,s,"throw",t)}c(void 0)}))}} +var r="\n\t\n\t\n\t\n\t\n\t\n\t\n\t\n\t";'\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(r,"\n\t\t\t\t\n\t\t\t")},306:function(e,n,r){"use strict";var a=r(18),o={name:"FolderTagPreview",props:{icon:{type:String,default:"icon-folder"},id:{type:Number,required:!0},name:{type:String,required:!0},path:{type:String,required:!0},fileList:{type:Array,default:function(){return[]}}},data:function(){return{loaded:!1,failed:[]}},computed:{isEmpty:function(){return 0===this.previewList.length},ariaUuid:function(){return"folder-".concat(this.id)},ariaLabel:function(){return t("photos",'Open the "{name}" sub-directory',{name:this.name})},previewList:function(){var t=this;return this.fileList.filter((function(e){return-1===t.failed.indexOf(e.fileid)}))},to:function(){var t=/^\/?(.+)/i.exec(this.path)[1];return Object.assign({},this.$route,{params:{path:t}})}},methods:{generateImgSrc:function(t){var e=t.fileid,n=t.etag;return Object(a.generateUrl)("/core/preview?fileId=".concat(e,"&x=",256,"&y=",256,"&a=true&v=").concat(n))},onPreviewFail:function(t){var e=t.fileid;this.failed.push(e)}}},i=(r(278),r(78)),c=Object(i.a)(o,(function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("router-link",{staticClass:"folder",class:{"folder--clear":t.isEmpty},attrs:{to:t.to,"aria-label":t.ariaLabel}},[n("transition",{attrs:{name:"fade"}},[n("div",{directives:[{name:"show",rawName:"v-show",value:t.loaded,expression:"loaded"}],staticClass:"folder-content",class:"folder-content--grid-"+t.previewList.length,attrs:{role:"none"}},t._l(t.previewList,(function(e){return n("img",{key:e.fileid,attrs:{src:t.generateImgSrc(e),alt:""},on:{load:function(e){t.loaded=!0},error:function(n){return t.onPreviewFail(e)}}})})),0)]),t._v(" "),n("div",{staticClass:"folder-name"},[n("span",{staticClass:"folder-name__icon",class:[t.isEmpty?"icon-dark":"icon-white",t.icon],attrs:{role:"img"}}),t._v(" "),n("p",{staticClass:"folder-name__name",attrs:{id:t.ariaUuid}},[t._v("\n\t\t\t"+t._s(t.name)+"\n\t\t")])]),t._v(" "),n("div",{staticClass:"cover",attrs:{role:"none"}})],1)}),[],!1,null,"1b9c1a10",null);n.a=c.exports},326:function(t,e){},327:function(t,e){},347:function(t,e){},349:function(t,e){},513:function(t,e,n){"use strict";n.r(e);var r=n(49),a=n(267),o=n(22);function i(t,e,n,r,a,o,i){try{var c=t[o](i),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(r,a)}function c(t){return function(){var e=this,n=arguments;return new Promise((function(r,a){var o=t.apply(e,n);function c(t){i(o,r,a,c,s,"next",t)}function s(t){i(o,r,a,c,s,"throw",t)}c(void 0)}))}} /** * @copyright Copyright (c) 2019 John Molakvoæ * @@ -83,5 +83,5 @@ var r="\n\t\n\t\n\t\n\t. * - */var m=function(t){return h.apply(this,arguments)};function h(){return(h=v(regeneratorRuntime.mark((function t(e){var n,r,i,c=arguments;return regeneratorRuntime.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=c.length>1&&void 0!==c[1]?c[1]:{},n=Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(d.a,"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t").concat(e,"\n\t\t\t\t\n\t\t\t"),details:!0},n),r="/files/".concat(Object(u.getCurrentUser)().uid),t.next=5,a.a.getDirectoryContents(r,n);case 5:return i=t.sent,t.abrupt("return",i.data.map((function(t){return Object(o.b)(t)})).filter((function(t){return t.mime&&-1!==f.a.indexOf(t.mime)})).map((function(t){return Object.assign({},t,{filename:t.filename.replace(r,"")})})));case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var g=n(305),b=n(259);function y(t,e,n,r,a,o,i){try{var c=t[o](i),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(r,a)}function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function x(t){for(var e=1;e1&&void 0!==c[1]?c[1]:{},n=Object.assign({method:"REPORT",data:'\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t'.concat(d.a,"\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t").concat(e,"\n\t\t\t\t\n\t\t\t"),details:!0},n),r="/files/".concat(Object(u.getCurrentUser)().uid),t.next=5,a.a.getDirectoryContents(r,n);case 5:return i=t.sent,t.abrupt("return",i.data.map((function(t){return Object(o.b)(t)})).filter((function(t){return t.mime&&-1!==f.a.indexOf(t.mime)})).map((function(t){return Object.assign({},t,{filename:t.filename.replace(r,"")})})));case 7:case"end":return t.stop()}}),t)})))).apply(this,arguments)}var g=n(305),b=n(259);function y(t,e,n,r,a,o,i){try{var c=t[o](i),s=c.value}catch(t){return void n(t)}c.done?e(s):Promise.resolve(s).then(r,a)}function w(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),n.push.apply(n,r)}return n}function x(t){for(var e=1;e\n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst request = require('webdav/dist/node/request')\n\nconst oldPrepareRequestOptions = request.prepareRequestOptions\n\n// While we wait for official cancellable webdav requests\n// https://github.com/perry-mitchell/webdav-client/issues/179\n// let's properly forward our axios options through webdav to axios\n\nrequest.prepareRequestOptions = function(requestOptions, methodOptions) {\n\t// add our cancelToken support\n\tif (methodOptions.cancelToken && typeof methodOptions.cancelToken === 'object') {\n\t\trequestOptions.cancelToken = methodOptions.cancelToken\n\t}\n\n\t// exploit old method\n\toldPrepareRequestOptions(requestOptions, methodOptions)\n\n\t// allow us to override the request method\n\tif (methodOptions.method && typeof methodOptions.method === 'string') {\n\t\trequestOptions.method = methodOptions.method\n\t}\n}\n\nmodule.exports = request\n","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./FolderTagPreview.vue?vue&type=template&id=1b9c1a10&scoped=true&\"\nimport script from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b9c1a10\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.error)?_c('EmptyContent',[_vm._v(\"\\n\\t\"+_vm._s(_vm.t('photos', 'An error occurred'))+\"\\n\")]):(!_vm.loading)?_c('Grid',[_c('Navigation',{key:\"navigation\",attrs:{\"basename\":_vm.path,\"filename\":'/' + _vm.path,\"root-title\":_vm.rootTitle}}),_vm._v(\" \"),(_vm.isRoot)?_vm._l((_vm.tagsNames),function(id){return _c('Tag',_vm._b({key:id,attrs:{\"fileid\":id,\"basename\":_vm.tags[id].displayName}},'Tag',_vm.tags[id],false))}):[(_vm.isEmpty)?_c('EmptyContent',{key:\"emptycontent\",attrs:{\"illustration-name\":\"empty\"},scopedSlots:_vm._u([{key:\"desc\",fn:function(){return [_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Photos with tags will show up here'))+\"\\n\\t\\t\\t\")]},proxy:true}],null,false,3269923249)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('photos', 'No tags yet'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.fileList),function(file){return _c('File',_vm._b({key:file.fileid,attrs:{\"list\":_vm.fileList}},'File',file,false))})]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient'\nimport { genFileInfo } from '../utils/fileUtils'\n\n/**\n * List system tags\n *\n * @param {String} path the path relative to the user root\n * @param {Object} [options] optional options for axios\n * @returns {Array} the file list\n */\nexport default async function(path, options = {}) {\n\tconst response = await client.getDirectoryContents('/systemtags/', Object.assign({}, {\n\t\tdata: `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`,\n\t\tdetails: true,\n\t}, options))\n\n\treturn response.data.map(data => genFileInfo(data))\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { genFileInfo } from '../utils/fileUtils'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { props } from './DavRequest'\nimport allowedMimes from './AllowedMimes'\nimport client from './DavClient'\n\n/**\n * Get tagged files based on provided tag id\n *\n * @param {number} id the tag id to filter\n * @param {Object} [options] optional options for axios\n * @returns {Array} the file list\n */\nexport default async function(id, options = {}) {\n\n\toptions = Object.assign({\n\t\tmethod: 'REPORT',\n\t\tdata: `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${props}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t${id}\n\t\t\t\t\n\t\t\t`,\n\t\tdetails: true,\n\t}, options)\n\n\tconst prefixPath = `/files/${getCurrentUser().uid}`\n\tconst response = await client.getDirectoryContents(prefixPath, options)\n\n\treturn response.data\n\t\t.map(data => genFileInfo(data))\n\t\t// filter out unwanted mime because server REPORT service only support\n\t\t// hardcoded props and mime is not one of them\n\t\t// https://github.com/nextcloud/server/blob/5bf3d1bb384da56adbf205752be8f840aac3b0c5/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php#L274\n\t\t.filter(file => file.mime && allowedMimes.indexOf(file.mime) !== -1)\n\t\t// remove prefix path from full file path\n\t\t.map(data => Object.assign({}, data, { filename: data.filename.replace(prefixPath, '') }))\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=55d2c7c8&\"\nimport script from \"./Tag.vue?vue&type=script&lang=js&\"\nexport * from \"./Tag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FolderTagPreview',{attrs:{\"id\":_vm.id,\"icon\":\"icon-tag\",\"name\":_vm.displayName,\"path\":_vm.displayName,\"file-list\":_vm.fileList}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tags.vue?vue&type=template&id=84b81760&\"\nimport script from \"./Tags.vue?vue&type=script&lang=js&\"\nexport * from \"./Tags.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/patchedRequest.js","webpack:///./src/components/FolderTagPreview.vue?9cd5","webpack:///./src/services/DavClient.js","webpack:///./src/components/FolderTagPreview.vue?13f2","webpack:///./src/components/FolderTagPreview.vue?a676","webpack:///./src/services/DavRequest.js","webpack:///./src/components/FolderTagPreview.vue?737d","webpack:///./src/components/FolderTagPreview.vue?c186","webpack:///src/components/FolderTagPreview.vue","webpack:///./src/components/FolderTagPreview.vue","webpack:///./src/views/Tags.vue?0bd8","webpack:///./src/services/SystemTags.js","webpack:///./src/services/TaggedImages.js","webpack:///src/components/Tag.vue","webpack:///./src/components/Tag.vue?63b5","webpack:///./src/components/Tag.vue","webpack:///./src/components/Tag.vue?1c78","webpack:///src/views/Tags.vue","webpack:///./src/views/Tags.vue?963b","webpack:///./src/views/Tags.vue"],"names":["request","require","oldPrepareRequestOptions","prepareRequestOptions","requestOptions","methodOptions","cancelToken","method","module","exports","content","i","locals","add","default","webdav","getPatcher","patch","axios","remote","generateRemoteUrl","client","createClient","parseUrl","pathname","___CSS_LOADER_API_IMPORT___","push","props","component","_vm","this","_h","$createElement","_c","_self","staticClass","class","isEmpty","attrs","to","ariaLabel","directives","name","rawName","value","expression","previewList","_l","file","key","fileid","generateImgSrc","on","$event","loaded","onPreviewFail","_v","icon","ariaUuid","_s","path","options","getDirectoryContents","Object","assign","data","details","response","map","genFileInfo","id","prefixPath","getCurrentUser","uid","filter","mime","allowedMimes","indexOf","filename","replace","displayName","fileList","t","loading","_e","rootTitle","_b","tags","scopedSlots","_u","fn","proxy"],"mappings":"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","file":"photos.5.js?v=a66835fffcc8a45363c5","sourcesContent":["/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nconst request = require('webdav/dist/node/request')\n\nconst oldPrepareRequestOptions = request.prepareRequestOptions\n\n// While we wait for official cancellable webdav requests\n// https://github.com/perry-mitchell/webdav-client/issues/179\n// let's properly forward our axios options through webdav to axios\n\nrequest.prepareRequestOptions = function(requestOptions, methodOptions) {\n\t// add our cancelToken support\n\tif (methodOptions.cancelToken && typeof methodOptions.cancelToken === 'object') {\n\t\trequestOptions.cancelToken = methodOptions.cancelToken\n\t}\n\n\t// exploit old method\n\toldPrepareRequestOptions(requestOptions, methodOptions)\n\n\t// allow us to override the request method\n\tif (methodOptions.method && typeof methodOptions.method === 'string') {\n\t\trequestOptions.method = methodOptions.method\n\t}\n}\n\nmodule.exports = request\n","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./FolderTagPreview.vue?vue&type=template&id=1b9c1a10&scoped=true&\"\nimport script from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b9c1a10\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.error)?_c('EmptyContent',[_vm._v(\"\\n\\t\"+_vm._s(_vm.t('photos', 'An error occurred'))+\"\\n\")]):(!_vm.loading)?_c('Grid',[_c('Navigation',{key:\"navigation\",attrs:{\"basename\":_vm.path,\"filename\":'/' + _vm.path,\"root-title\":_vm.rootTitle}}),_vm._v(\" \"),(_vm.isRoot)?_vm._l((_vm.tagsNames),function(id){return _c('Tag',_vm._b({key:id,attrs:{\"fileid\":id,\"basename\":_vm.tags[id].displayName}},'Tag',_vm.tags[id],false))}):[(_vm.isEmpty)?_c('EmptyContent',{key:\"emptycontent\",attrs:{\"illustration-name\":\"empty\"},scopedSlots:_vm._u([{key:\"desc\",fn:function(){return [_vm._v(\"\\n\\t\\t\\t\\t\"+_vm._s(_vm.t('photos', 'Photos with tags will show up here'))+\"\\n\\t\\t\\t\")]},proxy:true}],null,false,3269923249)},[_vm._v(\"\\n\\t\\t\\t\"+_vm._s(_vm.t('photos', 'No tags yet'))+\"\\n\\t\\t\\t\")]):_vm._e(),_vm._v(\" \"),_vm._l((_vm.fileList),function(file){return _c('File',_vm._b({key:file.fileid,attrs:{\"list\":_vm.fileList}},'File',file,false))})]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport client from './DavClient'\nimport { genFileInfo } from '../utils/fileUtils'\n\n/**\n * List system tags\n *\n * @param {String} path the path relative to the user root\n * @param {Object} [options] optional options for axios\n * @returns {Array} the file list\n */\nexport default async function(path, options = {}) {\n\tconst response = await client.getDirectoryContents('/systemtags/', Object.assign({}, {\n\t\tdata: `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\n\t\t\t`,\n\t\tdetails: true,\n\t}, options))\n\n\treturn response.data.map(data => genFileInfo(data))\n}\n","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport { genFileInfo } from '../utils/fileUtils'\nimport { getCurrentUser } from '@nextcloud/auth'\nimport { props } from './DavRequest'\nimport allowedMimes from './AllowedMimes'\nimport client from './DavClient'\n\n/**\n * Get tagged files based on provided tag id\n *\n * @param {number} id the tag id to filter\n * @param {Object} [options] optional options for axios\n * @returns {Array} the file list\n */\nexport default async function(id, options = {}) {\n\n\toptions = Object.assign({\n\t\tmethod: 'REPORT',\n\t\tdata: `\n\t\t\t\n\t\t\t\t\n\t\t\t\t\t${props}\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t${id}\n\t\t\t\t\n\t\t\t`,\n\t\tdetails: true,\n\t}, options)\n\n\tconst prefixPath = `/files/${getCurrentUser().uid}`\n\tconst response = await client.getDirectoryContents(prefixPath, options)\n\n\treturn response.data\n\t\t.map(data => genFileInfo(data))\n\t\t// filter out unwanted mime because server REPORT service only support\n\t\t// hardcoded props and mime is not one of them\n\t\t// https://github.com/nextcloud/server/blob/5bf3d1bb384da56adbf205752be8f840aac3b0c5/apps/dav/lib/Connector/Sabre/FilesReportPlugin.php#L274\n\t\t.filter(file => file.mime && allowedMimes.indexOf(file.mime) !== -1)\n\t\t// remove prefix path from full file path\n\t\t.map(data => Object.assign({}, data, { filename: data.filename.replace(prefixPath, '') }))\n}\n","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tag.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tag.vue?vue&type=template&id=55d2c7c8&\"\nimport script from \"./Tag.vue?vue&type=script&lang=js&\"\nexport * from \"./Tag.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FolderTagPreview',{attrs:{\"id\":_vm.id,\"icon\":\"icon-tag\",\"name\":_vm.displayName,\"path\":_vm.displayName,\"file-list\":_vm.fileList}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Tags.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Tags.vue?vue&type=template&id=84b81760&\"\nimport script from \"./Tags.vue?vue&type=script&lang=js&\"\nexport * from \"./Tags.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/js/photos.6.js b/js/photos.6.js index 6c4419f8..778d7dc8 100644 --- a/js/photos.6.js +++ b/js/photos.6.js @@ -1,4 +1,4 @@ -(window.webpackJsonp=window.webpackJsonp||[]).push([[6],{253:function(e,t,r){var a=r(279);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,r(152).default)("0f73ce6c",a,!0,{})},278:function(e,t,r){"use strict";var a=r(253);r.n(a).a},279:function(e,t,r){(t=r(151)(!1)).push([e.i,".file[data-v-1b9c1a10],.folder[data-v-1b9c1a10]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-1b9c1a10],.folder .cover[data-v-1b9c1a10]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-1b9c1a10],.file:active .cover[data-v-1b9c1a10],.file:hover .cover[data-v-1b9c1a10],.file:focus .cover[data-v-1b9c1a10],.folder.active .cover[data-v-1b9c1a10],.folder:active .cover[data-v-1b9c1a10],.folder:hover .cover[data-v-1b9c1a10],.folder:focus .cover[data-v-1b9c1a10]{opacity:.3}.file--clear.active .cover[data-v-1b9c1a10],.file--clear:active .cover[data-v-1b9c1a10],.file--clear:hover .cover[data-v-1b9c1a10],.file--clear:focus .cover[data-v-1b9c1a10],.folder--clear.active .cover[data-v-1b9c1a10],.folder--clear:active .cover[data-v-1b9c1a10],.folder--clear:hover .cover[data-v-1b9c1a10],.folder--clear:focus .cover[data-v-1b9c1a10]{opacity:.1}.fade-enter-active[data-v-1b9c1a10],.fade-leave-active[data-v-1b9c1a10]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-1b9c1a10],.fade-leave-to[data-v-1b9c1a10]{opacity:0}.folder-content[data-v-1b9c1a10]{position:absolute;display:grid;width:100%;height:100%}.folder-content--grid-1[data-v-1b9c1a10]{grid-template-columns:1fr;grid-template-rows:1fr}.folder-content--grid-2[data-v-1b9c1a10]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3[data-v-1b9c1a10]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3 img[data-v-1b9c1a10]:first-child{grid-column:span 2}.folder-content--grid-4[data-v-1b9c1a10]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content img[data-v-1b9c1a10]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.folder-name[data-v-1b9c1a10]{position:absolute;z-index:3;display:flex;overflow:hidden;flex-direction:column;width:100%;height:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:1}.folder-name__icon[data-v-1b9c1a10]{height:40%;margin-top:calc(30% - 1rem / 2);background-size:40%}.folder-name__name[data-v-1b9c1a10]{overflow:hidden;height:1rem;padding:0 10px;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--color-main-background);text-shadow:0 0 8px var(--color-main-text);font-size:1rem;line-height:1rem}.folder--clear .folder-name__icon[data-v-1b9c1a10]{opacity:.3}.folder--clear .folder-name__name[data-v-1b9c1a10]{color:var(--color-main-text);text-shadow:0 0 8px var(--color-main-background)}.folder:not(.folder--clear) .cover[data-v-1b9c1a10]{opacity:.3}.folder:not(.folder--clear):active .folder-name[data-v-1b9c1a10],.folder:not(.folder--clear):active .cover[data-v-1b9c1a10],.folder:not(.folder--clear):hover .folder-name[data-v-1b9c1a10],.folder:not(.folder--clear):hover .cover[data-v-1b9c1a10],.folder:not(.folder--clear):focus .folder-name[data-v-1b9c1a10],.folder:not(.folder--clear):focus .cover[data-v-1b9c1a10]{opacity:0}\n",""]),e.exports=t},280:function(e,t,r){var a=r(387);"string"==typeof a&&(a=[[e.i,a,""]]),a.locals&&(e.exports=a.locals);(0,r(152).default)("388d73e2",a,!0,{})},309:function(e,r,a){"use strict";var o=a(18),n={name:"FolderTagPreview",props:{icon:{type:String,default:"icon-folder"},id:{type:Number,required:!0},name:{type:String,required:!0},path:{type:String,required:!0},fileList:{type:Array,default:function(){return[]}}},data:function(){return{loaded:!1,failed:[]}},computed:{isEmpty:function(){return 0===this.previewList.length},ariaUuid:function(){return"folder-".concat(this.id)},ariaLabel:function(){return t("photos",'Open the "{name}" sub-directory',{name:this.name})},previewList:function(){var e=this;return this.fileList.filter((function(t){return-1===e.failed.indexOf(t.fileid)}))},to:function(){var e=/^\/?(.+)/i.exec(this.path)[1];return Object.assign({},this.$route,{params:{path:e}})}},methods:{generateImgSrc:function(e){var t=e.fileid,r=e.etag;return Object(o.generateUrl)("/core/preview?fileId=".concat(t,"&x=",256,"&y=",256,"&a=true&v=").concat(r))},onPreviewFail:function(e){var t=e.fileid;this.failed.push(t)}}},i=(a(278),a(78)),c=Object(i.a)(n,(function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("router-link",{staticClass:"folder",class:{"folder--clear":e.isEmpty},attrs:{to:e.to,"aria-label":e.ariaLabel}},[r("transition",{attrs:{name:"fade"}},[r("div",{directives:[{name:"show",rawName:"v-show",value:e.loaded,expression:"loaded"}],staticClass:"folder-content",class:"folder-content--grid-"+e.previewList.length,attrs:{role:"none"}},e._l(e.previewList,(function(t){return r("img",{key:t.fileid,attrs:{src:e.generateImgSrc(t),alt:""},on:{load:function(t){e.loaded=!0},error:function(r){return e.onPreviewFail(t)}}})})),0)]),e._v(" "),r("div",{staticClass:"folder-name"},[r("span",{staticClass:"folder-name__icon",class:[e.isEmpty?"icon-dark":"icon-white",e.icon],attrs:{role:"img"}}),e._v(" "),r("p",{staticClass:"folder-name__name",attrs:{id:e.ariaUuid}},[e._v("\n\t\t\t"+e._s(e.name)+"\n\t\t")])]),e._v(" "),r("div",{staticClass:"cover",attrs:{role:"none"}})],1)}),[],!1,null,"1b9c1a10",null);r.a=c.exports},386:function(e,t,r){"use strict";var a=r(280);r.n(a).a},387:function(e,t,r){(t=r(151)(!1)).push([e.i,".file[data-v-4b85e8d1],.folder[data-v-4b85e8d1]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-4b85e8d1],.folder .cover[data-v-4b85e8d1]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-4b85e8d1],.file:active .cover[data-v-4b85e8d1],.file:hover .cover[data-v-4b85e8d1],.file:focus .cover[data-v-4b85e8d1],.folder.active .cover[data-v-4b85e8d1],.folder:active .cover[data-v-4b85e8d1],.folder:hover .cover[data-v-4b85e8d1],.folder:focus .cover[data-v-4b85e8d1]{opacity:.3}.file--clear.active .cover[data-v-4b85e8d1],.file--clear:active .cover[data-v-4b85e8d1],.file--clear:hover .cover[data-v-4b85e8d1],.file--clear:focus .cover[data-v-4b85e8d1],.folder--clear.active .cover[data-v-4b85e8d1],.folder--clear:active .cover[data-v-4b85e8d1],.folder--clear:hover .cover[data-v-4b85e8d1],.folder--clear:focus .cover[data-v-4b85e8d1]{opacity:.1}.fade-enter-active[data-v-4b85e8d1],.fade-leave-active[data-v-4b85e8d1]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-4b85e8d1],.fade-leave-to[data-v-4b85e8d1]{opacity:0}.folder-content[data-v-4b85e8d1]{position:absolute;display:grid;width:100%;height:100%}.folder-content--grid-1[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr}.folder-content--grid-2[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3[data-v-4b85e8d1]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3 img[data-v-4b85e8d1]:first-child{grid-column:span 2}.folder-content--grid-4[data-v-4b85e8d1]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content img[data-v-4b85e8d1]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.folder-name[data-v-4b85e8d1]{position:absolute;z-index:3;display:flex;overflow:hidden;flex-direction:column;width:100%;height:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:1}.folder-name__icon[data-v-4b85e8d1]{height:40%;margin-top:calc(30% - 1rem / 2);background-size:40%}.folder-name__name[data-v-4b85e8d1]{overflow:hidden;height:1rem;padding:0 10px;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--color-main-background);text-shadow:0 0 8px var(--color-main-text);font-size:1rem;line-height:1rem}.folder--clear .folder-name__icon[data-v-4b85e8d1]{opacity:.3}.folder--clear .folder-name__name[data-v-4b85e8d1]{color:var(--color-main-text);text-shadow:0 0 8px var(--color-main-background)}.folder:not(.folder--clear) .cover[data-v-4b85e8d1]{opacity:.3}.folder:not(.folder--clear).active .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear).active .cover[data-v-4b85e8d1],.folder:not(.folder--clear):active .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):active .cover[data-v-4b85e8d1],.folder:not(.folder--clear):hover .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):hover .cover[data-v-4b85e8d1],.folder:not(.folder--clear):focus .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):focus .cover[data-v-4b85e8d1]{opacity:0}\n",""]),e.exports=t},514:function(e,t,r){"use strict";r.r(t);var a=r(49),o=r(266),n=r.n(o),i=r(18),c=r(22),l=r(276);function d(e){if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(e=function(e,t){if(!e)return;if("string"==typeof e)return s(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);"Object"===r&&e.constructor&&(r=e.constructor.name);if("Map"===r||"Set"===r)return Array.from(e);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return s(e,t)}(e))){var t=0,r=function(){};return{s:r,n:function(){return t>=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o,n=!0,i=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return n=e.done,e},e:function(e){i=!0,o=e},f:function(){try{n||null==a.return||a.return()}finally{if(i)throw o}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r=e.length?{done:!0}:{done:!1,value:e[t++]}},e:function(e){throw e},f:r}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o,n=!0,i=!1;return{s:function(){a=e[Symbol.iterator]()},n:function(){var e=a.next();return n=e.done,e},e:function(e){i=!0,o=e},f:function(){try{n||null==a.return||a.return()}finally{if(i)throw o}}}}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=new Array(t);r * @@ -19,5 +19,5 @@ * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see . * - */var v=function(){return p.apply(this,arguments)};function p(){return(p=u(regeneratorRuntime.mark((function e(){var t,r,a,o,s,f,u,v,p,h,b,m=arguments;return regeneratorRuntime.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return t=m.length>0&&void 0!==m[0]?m[0]:"/",r=m.length>1&&void 0!==m[1]?m[1]:{},a=Object(i.generateUrl)("/apps/photos/api/v1/".concat(r.shared?"shared":"albums")),e.next=5,n.a.get(a+Object(c.a)(t),r);case 5:o=e.sent,s=o.data.map((function(e){return Object(c.b)(e)})),f={},u=[],v=[],p=d(s);try{for(p.s();!(h=p.n()).done;)(b=h.value).filename===t?f=b:"file"!==b.type?u.push(b):l.a.indexOf(b.mime)>-1&&v.push(b)}catch(e){p.e(e)}finally{p.f()}return e.abrupt("return",{folder:f,folders:u,files:v});case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var h=r(305),b=r(259);function m(e,t,r,a,o,n,i){try{var c=e[n](i),l=c.value}catch(e){return void r(e)}c.done?t(l):Promise.resolve(l).then(a,o)}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function y(e){for(var t=1;t0&&void 0!==m[0]?m[0]:"/",r=m.length>1&&void 0!==m[1]?m[1]:{},a=Object(i.generateUrl)("/apps/photos/api/v1/".concat(r.shared?"shared":"albums")),e.next=5,n.a.get(a+Object(c.a)(t),r);case 5:o=e.sent,s=o.data.map((function(e){return Object(c.b)(e)})),f={},u=[],v=[],p=d(s);try{for(p.s();!(h=p.n()).done;)(b=h.value).filename===t?f=b:"file"!==b.type?u.push(b):l.a.indexOf(b.mime)>-1&&v.push(b)}catch(e){p.e(e)}finally{p.f()}return e.abrupt("return",{folder:f,folders:u,files:v});case 13:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var h=r(305),b=r(259);function m(e,t,r,a,o,n,i){try{var c=e[n](i),l=c.value}catch(e){return void r(e)}c.done?t(l):Promise.resolve(l).then(a,o)}function g(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);t&&(a=a.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,a)}return r}function y(e){for(var t=1;t tag\n\n// load the styles\nvar content = require(\"!!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\");\nif(typeof content === 'string') content = [[module.id, content, '']];\nif(content.locals) module.exports = content.locals;\n// add the styles to the DOM\nvar add = require(\"!../../node_modules/vue-style-loader/lib/addStylesClient.js\").default\nvar update = add(\"0f73ce6c\", content, true, {});","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".file[data-v-1b9c1a10],.folder[data-v-1b9c1a10]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-1b9c1a10],.folder .cover[data-v-1b9c1a10]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-1b9c1a10],.file:active .cover[data-v-1b9c1a10],.file:hover .cover[data-v-1b9c1a10],.file:focus .cover[data-v-1b9c1a10],.folder.active .cover[data-v-1b9c1a10],.folder:active .cover[data-v-1b9c1a10],.folder:hover .cover[data-v-1b9c1a10],.folder:focus .cover[data-v-1b9c1a10]{opacity:.3}.file--clear.active .cover[data-v-1b9c1a10],.file--clear:active .cover[data-v-1b9c1a10],.file--clear:hover .cover[data-v-1b9c1a10],.file--clear:focus .cover[data-v-1b9c1a10],.folder--clear.active .cover[data-v-1b9c1a10],.folder--clear:active .cover[data-v-1b9c1a10],.folder--clear:hover .cover[data-v-1b9c1a10],.folder--clear:focus .cover[data-v-1b9c1a10]{opacity:.1}.fade-enter-active[data-v-1b9c1a10],.fade-leave-active[data-v-1b9c1a10]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-1b9c1a10],.fade-leave-to[data-v-1b9c1a10]{opacity:0}.folder-content[data-v-1b9c1a10]{position:absolute;display:grid;width:100%;height:100%}.folder-content--grid-1[data-v-1b9c1a10]{grid-template-columns:1fr;grid-template-rows:1fr}.folder-content--grid-2[data-v-1b9c1a10]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3[data-v-1b9c1a10]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3 img[data-v-1b9c1a10]:first-child{grid-column:span 2}.folder-content--grid-4[data-v-1b9c1a10]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content img[data-v-1b9c1a10]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.folder-name[data-v-1b9c1a10]{position:absolute;z-index:3;display:flex;overflow:hidden;flex-direction:column;width:100%;height:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:1}.folder-name__icon[data-v-1b9c1a10]{height:40%;margin-top:calc(30% - 1rem / 2);background-size:40%}.folder-name__name[data-v-1b9c1a10]{overflow:hidden;height:1rem;padding:0 10px;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--color-main-background);text-shadow:0 0 8px var(--color-main-text);font-size:1rem;line-height:1rem}.folder--clear .folder-name__icon[data-v-1b9c1a10]{opacity:.3}.folder--clear .folder-name__name[data-v-1b9c1a10]{color:var(--color-main-text);text-shadow:0 0 8px var(--color-main-background)}.folder:not(.folder--clear) .cover[data-v-1b9c1a10]{opacity:.3}.folder:not(.folder--clear):active .folder-name[data-v-1b9c1a10],.folder:not(.folder--clear):active .cover[data-v-1b9c1a10],.folder:not(.folder--clear):hover .folder-name[data-v-1b9c1a10],.folder:not(.folder--clear):hover .cover[data-v-1b9c1a10],.folder:not(.folder--clear):focus .folder-name[data-v-1b9c1a10],.folder:not(.folder--clear):focus .cover[data-v-1b9c1a10]{opacity:0}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./FolderTagPreview.vue?vue&type=template&id=1b9c1a10&scoped=true&\"\nimport script from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b9c1a10\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".file[data-v-4b85e8d1],.folder[data-v-4b85e8d1]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-4b85e8d1],.folder .cover[data-v-4b85e8d1]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-4b85e8d1],.file:active .cover[data-v-4b85e8d1],.file:hover .cover[data-v-4b85e8d1],.file:focus .cover[data-v-4b85e8d1],.folder.active .cover[data-v-4b85e8d1],.folder:active .cover[data-v-4b85e8d1],.folder:hover .cover[data-v-4b85e8d1],.folder:focus .cover[data-v-4b85e8d1]{opacity:.3}.file--clear.active .cover[data-v-4b85e8d1],.file--clear:active .cover[data-v-4b85e8d1],.file--clear:hover .cover[data-v-4b85e8d1],.file--clear:focus .cover[data-v-4b85e8d1],.folder--clear.active .cover[data-v-4b85e8d1],.folder--clear:active .cover[data-v-4b85e8d1],.folder--clear:hover .cover[data-v-4b85e8d1],.folder--clear:focus .cover[data-v-4b85e8d1]{opacity:.1}.fade-enter-active[data-v-4b85e8d1],.fade-leave-active[data-v-4b85e8d1]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-4b85e8d1],.fade-leave-to[data-v-4b85e8d1]{opacity:0}.folder-content[data-v-4b85e8d1]{position:absolute;display:grid;width:100%;height:100%}.folder-content--grid-1[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr}.folder-content--grid-2[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3[data-v-4b85e8d1]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3 img[data-v-4b85e8d1]:first-child{grid-column:span 2}.folder-content--grid-4[data-v-4b85e8d1]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content img[data-v-4b85e8d1]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.folder-name[data-v-4b85e8d1]{position:absolute;z-index:3;display:flex;overflow:hidden;flex-direction:column;width:100%;height:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:1}.folder-name__icon[data-v-4b85e8d1]{height:40%;margin-top:calc(30% - 1rem / 2);background-size:40%}.folder-name__name[data-v-4b85e8d1]{overflow:hidden;height:1rem;padding:0 10px;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--color-main-background);text-shadow:0 0 8px var(--color-main-text);font-size:1rem;line-height:1rem}.folder--clear .folder-name__icon[data-v-4b85e8d1]{opacity:.3}.folder--clear .folder-name__name[data-v-4b85e8d1]{color:var(--color-main-text);text-shadow:0 0 8px var(--color-main-background)}.folder:not(.folder--clear) .cover[data-v-4b85e8d1]{opacity:.3}.folder:not(.folder--clear).active .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear).active .cover[data-v-4b85e8d1],.folder:not(.folder--clear):active .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):active .cover[data-v-4b85e8d1],.folder:not(.folder--clear):hover .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):hover .cover[data-v-4b85e8d1],.folder:not(.folder--clear):focus .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):focus .cover[data-v-4b85e8d1]{opacity:0}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.error === 404)?_c('EmptyContent',{attrs:{\"illustration-name\":\"folder\"}},[_vm._v(\"\\n\\t\"+_vm._s(_vm.t('photos', 'This folder does not exists'))+\"\\n\")]):(_vm.error)?_c('EmptyContent',[_vm._v(\"\\n\\t\"+_vm._s(_vm.t('photos', 'An error occurred'))+\"\\n\")]):(!_vm.loading)?_c('Grid',[(_vm.folder)?_c('Navigation',_vm._b({key:\"navigation\",attrs:{\"root-title\":_vm.rootTitle,\"show-actions\":true}},'Navigation',_vm.folder,false)):_vm._e(),_vm._v(\" \"),(_vm.isEmpty)?_c('EmptyContent',{key:\"emptycontent\",attrs:{\"illustration-name\":\"empty\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('photos', 'No photos in here'))+\"\\n\\t\")]):[_vm._l((_vm.folderList),function(dir){return _c('Folder',_vm._b({key:dir.fileid,attrs:{\"show-shared\":_vm.showShared}},'Folder',dir,false))}),_vm._v(\" \"),_vm._l((_vm.fileList),function(file){return _c('File',_vm._b({key:file.fileid,attrs:{\"list\":_vm.fileList}},'File',file,false))})]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { genFileInfo, encodeFilePath } from '../utils/fileUtils'\nimport allowedMimes from './AllowedMimes'\n\n/**\n * List files from a folder and filter out unwanted mimes\n *\n * @param {String} path the path relative to the user root\n * @param {Object} [options] optional options for axios\n * @param {boolean} [shared] fetch shared albums ?\n * @returns {Array} the file list\n */\nexport default async function(path = '/', options = {}) {\n\tconst prefixPath = generateUrl(`/apps/photos/api/v1/${options.shared ? 'shared' : 'albums'}`)\n\n\t// fetch listing\n\tconst response = await axios.get(prefixPath + encodeFilePath(path), options)\n\tconst list = response.data.map(data => genFileInfo(data))\n\n\t// filter all the files and folders\n\tlet folder = {}\n\tconst folders = []\n\tconst files = []\n\n\tfor (const entry of list) {\n\t\t// is this the current provided path ?\n\t\tif (entry.filename === path) {\n\t\t\tfolder = entry\n\t\t} else if (entry.type !== 'file') {\n\t\t\tfolders.push(entry)\n\t\t} else if (allowedMimes.indexOf(entry.mime) > -1) {\n\t\t\tfiles.push(entry)\n\t\t}\n\t}\n\n\t// return current folder, subfolders and files\n\treturn { folder, folders, files }\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=4b85e8d1&scoped=true&\"\nimport script from \"./Folder.vue?vue&type=script&lang=js&\"\nexport * from \"./Folder.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b85e8d1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FolderTagPreview',{attrs:{\"id\":_vm.fileid,\"name\":_vm.basename,\"path\":_vm.filename,\"file-list\":_vm.fileList}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Albums.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Albums.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Albums.vue?vue&type=template&id=fc4a64d2&\"\nimport script from \"./Albums.vue?vue&type=script&lang=js&\"\nexport * from \"./Albums.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///./src/components/FolderTagPreview.vue?9cd5","webpack:///./src/components/FolderTagPreview.vue?13f2","webpack:///./src/components/FolderTagPreview.vue?a676","webpack:///./src/components/Folder.vue?a77c","webpack:///./src/components/FolderTagPreview.vue?737d","webpack:///./src/components/FolderTagPreview.vue?c186","webpack:///src/components/FolderTagPreview.vue","webpack:///./src/components/FolderTagPreview.vue","webpack:///./src/components/Folder.vue?4216","webpack:///./src/components/Folder.vue?dcdb","webpack:///./src/views/Albums.vue?edf5","webpack:///./src/services/AlbumContent.js","webpack:///src/components/Folder.vue","webpack:///./src/components/Folder.vue?f12b","webpack:///./src/components/Folder.vue","webpack:///./src/components/Folder.vue?176a","webpack:///src/views/Albums.vue","webpack:///./src/views/Albums.vue?01c6","webpack:///./src/views/Albums.vue"],"names":["content","module","i","locals","exports","add","default","___CSS_LOADER_API_IMPORT___","push","component","_vm","this","_h","$createElement","_c","_self","staticClass","class","isEmpty","attrs","to","ariaLabel","directives","name","rawName","value","expression","previewList","_l","file","key","fileid","generateImgSrc","on","$event","loaded","onPreviewFail","_v","icon","ariaUuid","_s","path","options","prefixPath","generateUrl","shared","axios","get","encodeFilePath","response","list","data","map","genFileInfo","folder","folders","files","entry","filename","type","allowedMimes","indexOf","mime","basename","fileList","error","t","loading","_e","_b","rootTitle","dir","showShared"],"mappings":"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","file":"photos.6.js?v=83b3298799b5f2528327","sourcesContent":["// style-loader: Adds some css to the DOM by adding a \n","import { render, staticRenderFns } from \"./FolderTagPreview.vue?vue&type=template&id=1b9c1a10&scoped=true&\"\nimport script from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nexport * from \"./FolderTagPreview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./FolderTagPreview.vue?vue&type=style&index=0&id=1b9c1a10&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1b9c1a10\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../node_modules/vue-style-loader/index.js!../../node_modules/css-loader/dist/cjs.js!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js!../../node_modules/sass-loader/dist/cjs.js??ref--1-3!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"","// Imports\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../node_modules/css-loader/dist/runtime/api.js\");\nexports = ___CSS_LOADER_API_IMPORT___(false);\n// Module\nexports.push([module.id, \".file[data-v-4b85e8d1],.folder[data-v-4b85e8d1]{position:relative;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.file .cover[data-v-4b85e8d1],.folder .cover[data-v-4b85e8d1]{z-index:2;width:100%;padding-bottom:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:0;background-color:var(--color-main-text)}.file.active .cover[data-v-4b85e8d1],.file:active .cover[data-v-4b85e8d1],.file:hover .cover[data-v-4b85e8d1],.file:focus .cover[data-v-4b85e8d1],.folder.active .cover[data-v-4b85e8d1],.folder:active .cover[data-v-4b85e8d1],.folder:hover .cover[data-v-4b85e8d1],.folder:focus .cover[data-v-4b85e8d1]{opacity:.3}.file--clear.active .cover[data-v-4b85e8d1],.file--clear:active .cover[data-v-4b85e8d1],.file--clear:hover .cover[data-v-4b85e8d1],.file--clear:focus .cover[data-v-4b85e8d1],.folder--clear.active .cover[data-v-4b85e8d1],.folder--clear:active .cover[data-v-4b85e8d1],.folder--clear:hover .cover[data-v-4b85e8d1],.folder--clear:focus .cover[data-v-4b85e8d1]{opacity:.1}.fade-enter-active[data-v-4b85e8d1],.fade-leave-active[data-v-4b85e8d1]{transition:opacity var(--animation-quick) ease-in-out}.fade-enter[data-v-4b85e8d1],.fade-leave-to[data-v-4b85e8d1]{opacity:0}.folder-content[data-v-4b85e8d1]{position:absolute;display:grid;width:100%;height:100%}.folder-content--grid-1[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr}.folder-content--grid-2[data-v-4b85e8d1]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3[data-v-4b85e8d1]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content--grid-3 img[data-v-4b85e8d1]:first-child{grid-column:span 2}.folder-content--grid-4[data-v-4b85e8d1]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.folder-content img[data-v-4b85e8d1]{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.folder-name[data-v-4b85e8d1]{position:absolute;z-index:3;display:flex;overflow:hidden;flex-direction:column;width:100%;height:100%;transition:opacity var(--animation-quick) ease-in-out;opacity:1}.folder-name__icon[data-v-4b85e8d1]{height:40%;margin-top:calc(30% - 1rem / 2);background-size:40%}.folder-name__name[data-v-4b85e8d1]{overflow:hidden;height:1rem;padding:0 10px;text-align:center;white-space:nowrap;text-overflow:ellipsis;color:var(--color-main-background);text-shadow:0 0 8px var(--color-main-text);font-size:1rem;line-height:1rem}.folder--clear .folder-name__icon[data-v-4b85e8d1]{opacity:.3}.folder--clear .folder-name__name[data-v-4b85e8d1]{color:var(--color-main-text);text-shadow:0 0 8px var(--color-main-background)}.folder:not(.folder--clear) .cover[data-v-4b85e8d1]{opacity:.3}.folder:not(.folder--clear).active .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear).active .cover[data-v-4b85e8d1],.folder:not(.folder--clear):active .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):active .cover[data-v-4b85e8d1],.folder:not(.folder--clear):hover .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):hover .cover[data-v-4b85e8d1],.folder:not(.folder--clear):focus .folder-name[data-v-4b85e8d1],.folder:not(.folder--clear):focus .cover[data-v-4b85e8d1]{opacity:0}\\n\", \"\"]);\n// Exports\nmodule.exports = exports;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.error === 404)?_c('EmptyContent',{attrs:{\"illustration-name\":\"folder\"}},[_vm._v(\"\\n\\t\"+_vm._s(_vm.t('photos', 'This folder does not exists'))+\"\\n\")]):(_vm.error)?_c('EmptyContent',[_vm._v(\"\\n\\t\"+_vm._s(_vm.t('photos', 'An error occurred'))+\"\\n\")]):(!_vm.loading)?_c('Grid',[(_vm.folder)?_c('Navigation',_vm._b({key:\"navigation\",attrs:{\"root-title\":_vm.rootTitle,\"show-actions\":true}},'Navigation',_vm.folder,false)):_vm._e(),_vm._v(\" \"),(_vm.isEmpty)?_c('EmptyContent',{key:\"emptycontent\",attrs:{\"illustration-name\":\"empty\"}},[_vm._v(\"\\n\\t\\t\"+_vm._s(_vm.t('photos', 'No photos in here'))+\"\\n\\t\")]):[_vm._l((_vm.folderList),function(dir){return _c('Folder',_vm._b({key:dir.fileid,attrs:{\"show-shared\":_vm.showShared}},'Folder',dir,false))}),_vm._v(\" \"),_vm._l((_vm.fileList),function(file){return _c('File',_vm._b({key:file.fileid,attrs:{\"list\":_vm.fileList}},'File',file,false))})]],2):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","/**\n * @copyright Copyright (c) 2019 John Molakvoæ \n *\n * @author John Molakvoæ \n *\n * @license GNU AGPL version 3 or any later version\n *\n * This program is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as\n * published by the Free Software Foundation, either version 3 of the\n * License, or (at your option) any later version.\n *\n * This program is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with this program. If not, see .\n *\n */\n\nimport axios from '@nextcloud/axios'\nimport { generateUrl } from '@nextcloud/router'\nimport { genFileInfo, encodeFilePath } from '../utils/fileUtils'\nimport allowedMimes from './AllowedMimes'\n\n/**\n * List files from a folder and filter out unwanted mimes\n *\n * @param {String} path the path relative to the user root\n * @param {Object} [options] optional options for axios\n * @param {boolean} [shared] fetch shared albums ?\n * @returns {Array} the file list\n */\nexport default async function(path = '/', options = {}) {\n\tconst prefixPath = generateUrl(`/apps/photos/api/v1/${options.shared ? 'shared' : 'albums'}`)\n\n\t// fetch listing\n\tconst response = await axios.get(prefixPath + encodeFilePath(path), options)\n\tconst list = response.data.map(data => genFileInfo(data))\n\n\t// filter all the files and folders\n\tlet folder = {}\n\tconst folders = []\n\tconst files = []\n\n\tfor (const entry of list) {\n\t\t// is this the current provided path ?\n\t\tif (entry.filename === path) {\n\t\t\tfolder = entry\n\t\t} else if (entry.type !== 'file') {\n\t\t\tfolders.push(entry)\n\t\t} else if (allowedMimes.indexOf(entry.mime) > -1) {\n\t\t\tfiles.push(entry)\n\t\t}\n\t}\n\n\t// return current folder, subfolders and files\n\treturn { folder, folders, files }\n}\n","\n\n\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Folder.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Folder.vue?vue&type=template&id=4b85e8d1&scoped=true&\"\nimport script from \"./Folder.vue?vue&type=script&lang=js&\"\nexport * from \"./Folder.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Folder.vue?vue&type=style&index=0&id=4b85e8d1&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4b85e8d1\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('FolderTagPreview',{attrs:{\"id\":_vm.fileid,\"name\":_vm.basename,\"path\":_vm.filename,\"file-list\":_vm.fileList}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n","import mod from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Albums.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../node_modules/babel-loader/lib/index.js!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Albums.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Albums.vue?vue&type=template&id=fc4a64d2&\"\nimport script from \"./Albums.vue?vue&type=script&lang=js&\"\nexport * from \"./Albums.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""} \ No newline at end of file diff --git a/js/photos.js b/js/photos.js index 535deff1..973a021b 100644 --- a/js/photos.js +++ b/js/photos.js @@ -1,4 +1,4 @@ -!function(e){function t(t){for(var n,o,i=t[0],u=t[1],a=0,l=[];a= 0 && Math.floor(n) === n && isFinite(val)\n}\n\nfunction isPromise (val) {\n return (\n isDef(val) &&\n typeof val.then === 'function' &&\n typeof val.catch === 'function'\n )\n}\n\n/**\n * Convert a value to a string that is actually rendered.\n */\nfunction toString (val) {\n return val == null\n ? ''\n : Array.isArray(val) || (isPlainObject(val) && val.toString === _toString)\n ? JSON.stringify(val, null, 2)\n : String(val)\n}\n\n/**\n * Convert an input value to a number for persistence.\n * If the conversion fails, return original string.\n */\nfunction toNumber (val) {\n var n = parseFloat(val);\n return isNaN(n) ? val : n\n}\n\n/**\n * Make a map and return a function for checking if a key\n * is in that map.\n */\nfunction makeMap (\n str,\n expectsLowerCase\n) {\n var map = Object.create(null);\n var list = str.split(',');\n for (var i = 0; i < list.length; i++) {\n map[list[i]] = true;\n }\n return expectsLowerCase\n ? function (val) { return map[val.toLowerCase()]; }\n : function (val) { return map[val]; }\n}\n\n/**\n * Check if a tag is a built-in tag.\n */\nvar isBuiltInTag = makeMap('slot,component', true);\n\n/**\n * Check if an attribute is a reserved attribute.\n */\nvar isReservedAttribute = makeMap('key,ref,slot,slot-scope,is');\n\n/**\n * Remove an item from an array.\n */\nfunction remove (arr, item) {\n if (arr.length) {\n var index = arr.indexOf(item);\n if (index > -1) {\n return arr.splice(index, 1)\n }\n }\n}\n\n/**\n * Check whether an object has the property.\n */\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn (obj, key) {\n return hasOwnProperty.call(obj, key)\n}\n\n/**\n * Create a cached version of a pure function.\n */\nfunction cached (fn) {\n var cache = Object.create(null);\n return (function cachedFn (str) {\n var hit = cache[str];\n return hit || (cache[str] = fn(str))\n })\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nvar camelizeRE = /-(\\w)/g;\nvar camelize = cached(function (str) {\n return str.replace(camelizeRE, function (_, c) { return c ? c.toUpperCase() : ''; })\n});\n\n/**\n * Capitalize a string.\n */\nvar capitalize = cached(function (str) {\n return str.charAt(0).toUpperCase() + str.slice(1)\n});\n\n/**\n * Hyphenate a camelCase string.\n */\nvar hyphenateRE = /\\B([A-Z])/g;\nvar hyphenate = cached(function (str) {\n return str.replace(hyphenateRE, '-$1').toLowerCase()\n});\n\n/**\n * Simple bind polyfill for environments that do not support it,\n * e.g., PhantomJS 1.x. Technically, we don't need this anymore\n * since native bind is now performant enough in most browsers.\n * But removing it would mean breaking code that was able to run in\n * PhantomJS 1.x, so this must be kept for backward compatibility.\n */\n\n/* istanbul ignore next */\nfunction polyfillBind (fn, ctx) {\n function boundFn (a) {\n var l = arguments.length;\n return l\n ? l > 1\n ? fn.apply(ctx, arguments)\n : fn.call(ctx, a)\n : fn.call(ctx)\n }\n\n boundFn._length = fn.length;\n return boundFn\n}\n\nfunction nativeBind (fn, ctx) {\n return fn.bind(ctx)\n}\n\nvar bind = Function.prototype.bind\n ? nativeBind\n : polyfillBind;\n\n/**\n * Convert an Array-like object to a real Array.\n */\nfunction toArray (list, start) {\n start = start || 0;\n var i = list.length - start;\n var ret = new Array(i);\n while (i--) {\n ret[i] = list[i + start];\n }\n return ret\n}\n\n/**\n * Mix properties into target object.\n */\nfunction extend (to, _from) {\n for (var key in _from) {\n to[key] = _from[key];\n }\n return to\n}\n\n/**\n * Merge an Array of Objects into a single Object.\n */\nfunction toObject (arr) {\n var res = {};\n for (var i = 0; i < arr.length; i++) {\n if (arr[i]) {\n extend(res, arr[i]);\n }\n }\n return res\n}\n\n/* eslint-disable no-unused-vars */\n\n/**\n * Perform no operation.\n * Stubbing args to make Flow happy without leaving useless transpiled code\n * with ...rest (https://flow.org/blog/2017/05/07/Strict-Function-Call-Arity/).\n */\nfunction noop (a, b, c) {}\n\n/**\n * Always return false.\n */\nvar no = function (a, b, c) { return false; };\n\n/* eslint-enable no-unused-vars */\n\n/**\n * Return the same value.\n */\nvar identity = function (_) { return _; };\n\n/**\n * Check if two values are loosely equal - that is,\n * if they are plain objects, do they have the same shape?\n */\nfunction looseEqual (a, b) {\n if (a === b) { return true }\n var isObjectA = isObject(a);\n var isObjectB = isObject(b);\n if (isObjectA && isObjectB) {\n try {\n var isArrayA = Array.isArray(a);\n var isArrayB = Array.isArray(b);\n if (isArrayA && isArrayB) {\n return a.length === b.length && a.every(function (e, i) {\n return looseEqual(e, b[i])\n })\n } else if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime()\n } else if (!isArrayA && !isArrayB) {\n var keysA = Object.keys(a);\n var keysB = Object.keys(b);\n return keysA.length === keysB.length && keysA.every(function (key) {\n return looseEqual(a[key], b[key])\n })\n } else {\n /* istanbul ignore next */\n return false\n }\n } catch (e) {\n /* istanbul ignore next */\n return false\n }\n } else if (!isObjectA && !isObjectB) {\n return String(a) === String(b)\n } else {\n return false\n }\n}\n\n/**\n * Return the first index at which a loosely equal value can be\n * found in the array (if value is a plain object, the array must\n * contain an object of the same shape), or -1 if it is not present.\n */\nfunction looseIndexOf (arr, val) {\n for (var i = 0; i < arr.length; i++) {\n if (looseEqual(arr[i], val)) { return i }\n }\n return -1\n}\n\n/**\n * Ensure a function is called only once.\n */\nfunction once (fn) {\n var called = false;\n return function () {\n if (!called) {\n called = true;\n fn.apply(this, arguments);\n }\n }\n}\n\nvar SSR_ATTR = 'data-server-rendered';\n\nvar ASSET_TYPES = [\n 'component',\n 'directive',\n 'filter'\n];\n\nvar LIFECYCLE_HOOKS = [\n 'beforeCreate',\n 'created',\n 'beforeMount',\n 'mounted',\n 'beforeUpdate',\n 'updated',\n 'beforeDestroy',\n 'destroyed',\n 'activated',\n 'deactivated',\n 'errorCaptured',\n 'serverPrefetch'\n];\n\n/* */\n\n\n\nvar config = ({\n /**\n * Option merge strategies (used in core/util/options)\n */\n // $flow-disable-line\n optionMergeStrategies: Object.create(null),\n\n /**\n * Whether to suppress warnings.\n */\n silent: false,\n\n /**\n * Show production mode tip message on boot?\n */\n productionTip: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to enable devtools\n */\n devtools: process.env.NODE_ENV !== 'production',\n\n /**\n * Whether to record perf\n */\n performance: false,\n\n /**\n * Error handler for watcher errors\n */\n errorHandler: null,\n\n /**\n * Warn handler for watcher warns\n */\n warnHandler: null,\n\n /**\n * Ignore certain custom elements\n */\n ignoredElements: [],\n\n /**\n * Custom user key aliases for v-on\n */\n // $flow-disable-line\n keyCodes: Object.create(null),\n\n /**\n * Check if a tag is reserved so that it cannot be registered as a\n * component. This is platform-dependent and may be overwritten.\n */\n isReservedTag: no,\n\n /**\n * Check if an attribute is reserved so that it cannot be used as a component\n * prop. This is platform-dependent and may be overwritten.\n */\n isReservedAttr: no,\n\n /**\n * Check if a tag is an unknown element.\n * Platform-dependent.\n */\n isUnknownElement: no,\n\n /**\n * Get the namespace of an element\n */\n getTagNamespace: noop,\n\n /**\n * Parse the real tag name for the specific platform.\n */\n parsePlatformTagName: identity,\n\n /**\n * Check if an attribute must be bound using property, e.g. value\n * Platform-dependent.\n */\n mustUseProp: no,\n\n /**\n * Perform updates asynchronously. Intended to be used by Vue Test Utils\n * This will significantly reduce performance if set to false.\n */\n async: true,\n\n /**\n * Exposed for legacy reasons\n */\n _lifecycleHooks: LIFECYCLE_HOOKS\n});\n\n/* */\n\n/**\n * unicode letters used for parsing html tags, component names and property paths.\n * using https://www.w3.org/TR/html53/semantics-scripting.html#potentialcustomelementname\n * skipping \\u10000-\\uEFFFF due to it freezing up PhantomJS\n */\nvar unicodeRegExp = /a-zA-Z\\u00B7\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u203F-\\u2040\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD/;\n\n/**\n * Check if a string starts with $ or _\n */\nfunction isReserved (str) {\n var c = (str + '').charCodeAt(0);\n return c === 0x24 || c === 0x5F\n}\n\n/**\n * Define a property.\n */\nfunction def (obj, key, val, enumerable) {\n Object.defineProperty(obj, key, {\n value: val,\n enumerable: !!enumerable,\n writable: true,\n configurable: true\n });\n}\n\n/**\n * Parse simple path.\n */\nvar bailRE = new RegExp((\"[^\" + (unicodeRegExp.source) + \".$_\\\\d]\"));\nfunction parsePath (path) {\n if (bailRE.test(path)) {\n return\n }\n var segments = path.split('.');\n return function (obj) {\n for (var i = 0; i < segments.length; i++) {\n if (!obj) { return }\n obj = obj[segments[i]];\n }\n return obj\n }\n}\n\n/* */\n\n// can we use __proto__?\nvar hasProto = '__proto__' in {};\n\n// Browser environment sniffing\nvar inBrowser = typeof window !== 'undefined';\nvar inWeex = typeof WXEnvironment !== 'undefined' && !!WXEnvironment.platform;\nvar weexPlatform = inWeex && WXEnvironment.platform.toLowerCase();\nvar UA = inBrowser && window.navigator.userAgent.toLowerCase();\nvar isIE = UA && /msie|trident/.test(UA);\nvar isIE9 = UA && UA.indexOf('msie 9.0') > 0;\nvar isEdge = UA && UA.indexOf('edge/') > 0;\nvar isAndroid = (UA && UA.indexOf('android') > 0) || (weexPlatform === 'android');\nvar isIOS = (UA && /iphone|ipad|ipod|ios/.test(UA)) || (weexPlatform === 'ios');\nvar isChrome = UA && /chrome\\/\\d+/.test(UA) && !isEdge;\nvar isPhantomJS = UA && /phantomjs/.test(UA);\nvar isFF = UA && UA.match(/firefox\\/(\\d+)/);\n\n// Firefox has a \"watch\" function on Object.prototype...\nvar nativeWatch = ({}).watch;\n\nvar supportsPassive = false;\nif (inBrowser) {\n try {\n var opts = {};\n Object.defineProperty(opts, 'passive', ({\n get: function get () {\n /* istanbul ignore next */\n supportsPassive = true;\n }\n })); // https://github.com/facebook/flow/issues/285\n window.addEventListener('test-passive', null, opts);\n } catch (e) {}\n}\n\n// this needs to be lazy-evaled because vue may be required before\n// vue-server-renderer can set VUE_ENV\nvar _isServer;\nvar isServerRendering = function () {\n if (_isServer === undefined) {\n /* istanbul ignore if */\n if (!inBrowser && !inWeex && typeof global !== 'undefined') {\n // detect presence of vue-server-renderer and avoid\n // Webpack shimming the process\n _isServer = global['process'] && global['process'].env.VUE_ENV === 'server';\n } else {\n _isServer = false;\n }\n }\n return _isServer\n};\n\n// detect devtools\nvar devtools = inBrowser && window.__VUE_DEVTOOLS_GLOBAL_HOOK__;\n\n/* istanbul ignore next */\nfunction isNative (Ctor) {\n return typeof Ctor === 'function' && /native code/.test(Ctor.toString())\n}\n\nvar hasSymbol =\n typeof Symbol !== 'undefined' && isNative(Symbol) &&\n typeof Reflect !== 'undefined' && isNative(Reflect.ownKeys);\n\nvar _Set;\n/* istanbul ignore if */ // $flow-disable-line\nif (typeof Set !== 'undefined' && isNative(Set)) {\n // use native Set when available.\n _Set = Set;\n} else {\n // a non-standard Set polyfill that only works with primitive keys.\n _Set = /*@__PURE__*/(function () {\n function Set () {\n this.set = Object.create(null);\n }\n Set.prototype.has = function has (key) {\n return this.set[key] === true\n };\n Set.prototype.add = function add (key) {\n this.set[key] = true;\n };\n Set.prototype.clear = function clear () {\n this.set = Object.create(null);\n };\n\n return Set;\n }());\n}\n\n/* */\n\nvar warn = noop;\nvar tip = noop;\nvar generateComponentTrace = (noop); // work around flow check\nvar formatComponentName = (noop);\n\nif (process.env.NODE_ENV !== 'production') {\n var hasConsole = typeof console !== 'undefined';\n var classifyRE = /(?:^|[-_])(\\w)/g;\n var classify = function (str) { return str\n .replace(classifyRE, function (c) { return c.toUpperCase(); })\n .replace(/[-_]/g, ''); };\n\n warn = function (msg, vm) {\n var trace = vm ? generateComponentTrace(vm) : '';\n\n if (config.warnHandler) {\n config.warnHandler.call(null, msg, vm, trace);\n } else if (hasConsole && (!config.silent)) {\n console.error((\"[Vue warn]: \" + msg + trace));\n }\n };\n\n tip = function (msg, vm) {\n if (hasConsole && (!config.silent)) {\n console.warn(\"[Vue tip]: \" + msg + (\n vm ? generateComponentTrace(vm) : ''\n ));\n }\n };\n\n formatComponentName = function (vm, includeFile) {\n if (vm.$root === vm) {\n return ''\n }\n var options = typeof vm === 'function' && vm.cid != null\n ? vm.options\n : vm._isVue\n ? vm.$options || vm.constructor.options\n : vm;\n var name = options.name || options._componentTag;\n var file = options.__file;\n if (!name && file) {\n var match = file.match(/([^/\\\\]+)\\.vue$/);\n name = match && match[1];\n }\n\n return (\n (name ? (\"<\" + (classify(name)) + \">\") : \"\") +\n (file && includeFile !== false ? (\" at \" + file) : '')\n )\n };\n\n var repeat = function (str, n) {\n var res = '';\n while (n) {\n if (n % 2 === 1) { res += str; }\n if (n > 1) { str += str; }\n n >>= 1;\n }\n return res\n };\n\n generateComponentTrace = function (vm) {\n if (vm._isVue && vm.$parent) {\n var tree = [];\n var currentRecursiveSequence = 0;\n while (vm) {\n if (tree.length > 0) {\n var last = tree[tree.length - 1];\n if (last.constructor === vm.constructor) {\n currentRecursiveSequence++;\n vm = vm.$parent;\n continue\n } else if (currentRecursiveSequence > 0) {\n tree[tree.length - 1] = [last, currentRecursiveSequence];\n currentRecursiveSequence = 0;\n }\n }\n tree.push(vm);\n vm = vm.$parent;\n }\n return '\\n\\nfound in\\n\\n' + tree\n .map(function (vm, i) { return (\"\" + (i === 0 ? '---> ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm)\n ? ((formatComponentName(vm[0])) + \"... (\" + (vm[1]) + \" recursive calls)\")\n : formatComponentName(vm))); })\n .join('\\n')\n } else {\n return (\"\\n\\n(found in \" + (formatComponentName(vm)) + \")\")\n }\n };\n}\n\n/* */\n\nvar uid = 0;\n\n/**\n * A dep is an observable that can have multiple\n * directives subscribing to it.\n */\nvar Dep = function Dep () {\n this.id = uid++;\n this.subs = [];\n};\n\nDep.prototype.addSub = function addSub (sub) {\n this.subs.push(sub);\n};\n\nDep.prototype.removeSub = function removeSub (sub) {\n remove(this.subs, sub);\n};\n\nDep.prototype.depend = function depend () {\n if (Dep.target) {\n Dep.target.addDep(this);\n }\n};\n\nDep.prototype.notify = function notify () {\n // stabilize the subscriber list first\n var subs = this.subs.slice();\n if (process.env.NODE_ENV !== 'production' && !config.async) {\n // subs aren't sorted in scheduler if not running async\n // we need to sort them now to make sure they fire in correct\n // order\n subs.sort(function (a, b) { return a.id - b.id; });\n }\n for (var i = 0, l = subs.length; i < l; i++) {\n subs[i].update();\n }\n};\n\n// The current target watcher being evaluated.\n// This is globally unique because only one watcher\n// can be evaluated at a time.\nDep.target = null;\nvar targetStack = [];\n\nfunction pushTarget (target) {\n targetStack.push(target);\n Dep.target = target;\n}\n\nfunction popTarget () {\n targetStack.pop();\n Dep.target = targetStack[targetStack.length - 1];\n}\n\n/* */\n\nvar VNode = function VNode (\n tag,\n data,\n children,\n text,\n elm,\n context,\n componentOptions,\n asyncFactory\n) {\n this.tag = tag;\n this.data = data;\n this.children = children;\n this.text = text;\n this.elm = elm;\n this.ns = undefined;\n this.context = context;\n this.fnContext = undefined;\n this.fnOptions = undefined;\n this.fnScopeId = undefined;\n this.key = data && data.key;\n this.componentOptions = componentOptions;\n this.componentInstance = undefined;\n this.parent = undefined;\n this.raw = false;\n this.isStatic = false;\n this.isRootInsert = true;\n this.isComment = false;\n this.isCloned = false;\n this.isOnce = false;\n this.asyncFactory = asyncFactory;\n this.asyncMeta = undefined;\n this.isAsyncPlaceholder = false;\n};\n\nvar prototypeAccessors = { child: { configurable: true } };\n\n// DEPRECATED: alias for componentInstance for backwards compat.\n/* istanbul ignore next */\nprototypeAccessors.child.get = function () {\n return this.componentInstance\n};\n\nObject.defineProperties( VNode.prototype, prototypeAccessors );\n\nvar createEmptyVNode = function (text) {\n if ( text === void 0 ) text = '';\n\n var node = new VNode();\n node.text = text;\n node.isComment = true;\n return node\n};\n\nfunction createTextVNode (val) {\n return new VNode(undefined, undefined, undefined, String(val))\n}\n\n// optimized shallow clone\n// used for static nodes and slot nodes because they may be reused across\n// multiple renders, cloning them avoids errors when DOM manipulations rely\n// on their elm reference.\nfunction cloneVNode (vnode) {\n var cloned = new VNode(\n vnode.tag,\n vnode.data,\n // #7975\n // clone children array to avoid mutating original in case of cloning\n // a child.\n vnode.children && vnode.children.slice(),\n vnode.text,\n vnode.elm,\n vnode.context,\n vnode.componentOptions,\n vnode.asyncFactory\n );\n cloned.ns = vnode.ns;\n cloned.isStatic = vnode.isStatic;\n cloned.key = vnode.key;\n cloned.isComment = vnode.isComment;\n cloned.fnContext = vnode.fnContext;\n cloned.fnOptions = vnode.fnOptions;\n cloned.fnScopeId = vnode.fnScopeId;\n cloned.asyncMeta = vnode.asyncMeta;\n cloned.isCloned = true;\n return cloned\n}\n\n/*\n * not type checking this file because flow doesn't play well with\n * dynamically accessing methods on Array prototype\n */\n\nvar arrayProto = Array.prototype;\nvar arrayMethods = Object.create(arrayProto);\n\nvar methodsToPatch = [\n 'push',\n 'pop',\n 'shift',\n 'unshift',\n 'splice',\n 'sort',\n 'reverse'\n];\n\n/**\n * Intercept mutating methods and emit events\n */\nmethodsToPatch.forEach(function (method) {\n // cache original method\n var original = arrayProto[method];\n def(arrayMethods, method, function mutator () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n var result = original.apply(this, args);\n var ob = this.__ob__;\n var inserted;\n switch (method) {\n case 'push':\n case 'unshift':\n inserted = args;\n break\n case 'splice':\n inserted = args.slice(2);\n break\n }\n if (inserted) { ob.observeArray(inserted); }\n // notify change\n ob.dep.notify();\n return result\n });\n});\n\n/* */\n\nvar arrayKeys = Object.getOwnPropertyNames(arrayMethods);\n\n/**\n * In some cases we may want to disable observation inside a component's\n * update computation.\n */\nvar shouldObserve = true;\n\nfunction toggleObserving (value) {\n shouldObserve = value;\n}\n\n/**\n * Observer class that is attached to each observed\n * object. Once attached, the observer converts the target\n * object's property keys into getter/setters that\n * collect dependencies and dispatch updates.\n */\nvar Observer = function Observer (value) {\n this.value = value;\n this.dep = new Dep();\n this.vmCount = 0;\n def(value, '__ob__', this);\n if (Array.isArray(value)) {\n if (hasProto) {\n protoAugment(value, arrayMethods);\n } else {\n copyAugment(value, arrayMethods, arrayKeys);\n }\n this.observeArray(value);\n } else {\n this.walk(value);\n }\n};\n\n/**\n * Walk through all properties and convert them into\n * getter/setters. This method should only be called when\n * value type is Object.\n */\nObserver.prototype.walk = function walk (obj) {\n var keys = Object.keys(obj);\n for (var i = 0; i < keys.length; i++) {\n defineReactive$$1(obj, keys[i]);\n }\n};\n\n/**\n * Observe a list of Array items.\n */\nObserver.prototype.observeArray = function observeArray (items) {\n for (var i = 0, l = items.length; i < l; i++) {\n observe(items[i]);\n }\n};\n\n// helpers\n\n/**\n * Augment a target Object or Array by intercepting\n * the prototype chain using __proto__\n */\nfunction protoAugment (target, src) {\n /* eslint-disable no-proto */\n target.__proto__ = src;\n /* eslint-enable no-proto */\n}\n\n/**\n * Augment a target Object or Array by defining\n * hidden properties.\n */\n/* istanbul ignore next */\nfunction copyAugment (target, src, keys) {\n for (var i = 0, l = keys.length; i < l; i++) {\n var key = keys[i];\n def(target, key, src[key]);\n }\n}\n\n/**\n * Attempt to create an observer instance for a value,\n * returns the new observer if successfully observed,\n * or the existing observer if the value already has one.\n */\nfunction observe (value, asRootData) {\n if (!isObject(value) || value instanceof VNode) {\n return\n }\n var ob;\n if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) {\n ob = value.__ob__;\n } else if (\n shouldObserve &&\n !isServerRendering() &&\n (Array.isArray(value) || isPlainObject(value)) &&\n Object.isExtensible(value) &&\n !value._isVue\n ) {\n ob = new Observer(value);\n }\n if (asRootData && ob) {\n ob.vmCount++;\n }\n return ob\n}\n\n/**\n * Define a reactive property on an Object.\n */\nfunction defineReactive$$1 (\n obj,\n key,\n val,\n customSetter,\n shallow\n) {\n var dep = new Dep();\n\n var property = Object.getOwnPropertyDescriptor(obj, key);\n if (property && property.configurable === false) {\n return\n }\n\n // cater for pre-defined getter/setters\n var getter = property && property.get;\n var setter = property && property.set;\n if ((!getter || setter) && arguments.length === 2) {\n val = obj[key];\n }\n\n var childOb = !shallow && observe(val);\n Object.defineProperty(obj, key, {\n enumerable: true,\n configurable: true,\n get: function reactiveGetter () {\n var value = getter ? getter.call(obj) : val;\n if (Dep.target) {\n dep.depend();\n if (childOb) {\n childOb.dep.depend();\n if (Array.isArray(value)) {\n dependArray(value);\n }\n }\n }\n return value\n },\n set: function reactiveSetter (newVal) {\n var value = getter ? getter.call(obj) : val;\n /* eslint-disable no-self-compare */\n if (newVal === value || (newVal !== newVal && value !== value)) {\n return\n }\n /* eslint-enable no-self-compare */\n if (process.env.NODE_ENV !== 'production' && customSetter) {\n customSetter();\n }\n // #7981: for accessor properties without setter\n if (getter && !setter) { return }\n if (setter) {\n setter.call(obj, newVal);\n } else {\n val = newVal;\n }\n childOb = !shallow && observe(newVal);\n dep.notify();\n }\n });\n}\n\n/**\n * Set a property on an object. Adds the new property and\n * triggers change notification if the property doesn't\n * already exist.\n */\nfunction set (target, key, val) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot set reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.length = Math.max(target.length, key);\n target.splice(key, 1, val);\n return val\n }\n if (key in target && !(key in Object.prototype)) {\n target[key] = val;\n return val\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid adding reactive properties to a Vue instance or its root $data ' +\n 'at runtime - declare it upfront in the data option.'\n );\n return val\n }\n if (!ob) {\n target[key] = val;\n return val\n }\n defineReactive$$1(ob.value, key, val);\n ob.dep.notify();\n return val\n}\n\n/**\n * Delete a property and trigger change if necessary.\n */\nfunction del (target, key) {\n if (process.env.NODE_ENV !== 'production' &&\n (isUndef(target) || isPrimitive(target))\n ) {\n warn((\"Cannot delete reactive property on undefined, null, or primitive value: \" + ((target))));\n }\n if (Array.isArray(target) && isValidArrayIndex(key)) {\n target.splice(key, 1);\n return\n }\n var ob = (target).__ob__;\n if (target._isVue || (ob && ob.vmCount)) {\n process.env.NODE_ENV !== 'production' && warn(\n 'Avoid deleting properties on a Vue instance or its root $data ' +\n '- just set it to null.'\n );\n return\n }\n if (!hasOwn(target, key)) {\n return\n }\n delete target[key];\n if (!ob) {\n return\n }\n ob.dep.notify();\n}\n\n/**\n * Collect dependencies on array elements when the array is touched, since\n * we cannot intercept array element access like property getters.\n */\nfunction dependArray (value) {\n for (var e = (void 0), i = 0, l = value.length; i < l; i++) {\n e = value[i];\n e && e.__ob__ && e.__ob__.dep.depend();\n if (Array.isArray(e)) {\n dependArray(e);\n }\n }\n}\n\n/* */\n\n/**\n * Option overwriting strategies are functions that handle\n * how to merge a parent option value and a child option\n * value into the final value.\n */\nvar strats = config.optionMergeStrategies;\n\n/**\n * Options with restrictions\n */\nif (process.env.NODE_ENV !== 'production') {\n strats.el = strats.propsData = function (parent, child, vm, key) {\n if (!vm) {\n warn(\n \"option \\\"\" + key + \"\\\" can only be used during instance \" +\n 'creation with the `new` keyword.'\n );\n }\n return defaultStrat(parent, child)\n };\n}\n\n/**\n * Helper that recursively merges two data objects together.\n */\nfunction mergeData (to, from) {\n if (!from) { return to }\n var key, toVal, fromVal;\n\n var keys = hasSymbol\n ? Reflect.ownKeys(from)\n : Object.keys(from);\n\n for (var i = 0; i < keys.length; i++) {\n key = keys[i];\n // in case the object is already observed...\n if (key === '__ob__') { continue }\n toVal = to[key];\n fromVal = from[key];\n if (!hasOwn(to, key)) {\n set(to, key, fromVal);\n } else if (\n toVal !== fromVal &&\n isPlainObject(toVal) &&\n isPlainObject(fromVal)\n ) {\n mergeData(toVal, fromVal);\n }\n }\n return to\n}\n\n/**\n * Data\n */\nfunction mergeDataOrFn (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n // in a Vue.extend merge, both should be functions\n if (!childVal) {\n return parentVal\n }\n if (!parentVal) {\n return childVal\n }\n // when parentVal & childVal are both present,\n // we need to return a function that returns the\n // merged result of both functions... no need to\n // check if parentVal is a function here because\n // it has to be a function to pass previous merges.\n return function mergedDataFn () {\n return mergeData(\n typeof childVal === 'function' ? childVal.call(this, this) : childVal,\n typeof parentVal === 'function' ? parentVal.call(this, this) : parentVal\n )\n }\n } else {\n return function mergedInstanceDataFn () {\n // instance merge\n var instanceData = typeof childVal === 'function'\n ? childVal.call(vm, vm)\n : childVal;\n var defaultData = typeof parentVal === 'function'\n ? parentVal.call(vm, vm)\n : parentVal;\n if (instanceData) {\n return mergeData(instanceData, defaultData)\n } else {\n return defaultData\n }\n }\n }\n}\n\nstrats.data = function (\n parentVal,\n childVal,\n vm\n) {\n if (!vm) {\n if (childVal && typeof childVal !== 'function') {\n process.env.NODE_ENV !== 'production' && warn(\n 'The \"data\" option should be a function ' +\n 'that returns a per-instance value in component ' +\n 'definitions.',\n vm\n );\n\n return parentVal\n }\n return mergeDataOrFn(parentVal, childVal)\n }\n\n return mergeDataOrFn(parentVal, childVal, vm)\n};\n\n/**\n * Hooks and props are merged as arrays.\n */\nfunction mergeHook (\n parentVal,\n childVal\n) {\n var res = childVal\n ? parentVal\n ? parentVal.concat(childVal)\n : Array.isArray(childVal)\n ? childVal\n : [childVal]\n : parentVal;\n return res\n ? dedupeHooks(res)\n : res\n}\n\nfunction dedupeHooks (hooks) {\n var res = [];\n for (var i = 0; i < hooks.length; i++) {\n if (res.indexOf(hooks[i]) === -1) {\n res.push(hooks[i]);\n }\n }\n return res\n}\n\nLIFECYCLE_HOOKS.forEach(function (hook) {\n strats[hook] = mergeHook;\n});\n\n/**\n * Assets\n *\n * When a vm is present (instance creation), we need to do\n * a three-way merge between constructor options, instance\n * options and parent options.\n */\nfunction mergeAssets (\n parentVal,\n childVal,\n vm,\n key\n) {\n var res = Object.create(parentVal || null);\n if (childVal) {\n process.env.NODE_ENV !== 'production' && assertObjectType(key, childVal, vm);\n return extend(res, childVal)\n } else {\n return res\n }\n}\n\nASSET_TYPES.forEach(function (type) {\n strats[type + 's'] = mergeAssets;\n});\n\n/**\n * Watchers.\n *\n * Watchers hashes should not overwrite one\n * another, so we merge them as arrays.\n */\nstrats.watch = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n // work around Firefox's Object.prototype.watch...\n if (parentVal === nativeWatch) { parentVal = undefined; }\n if (childVal === nativeWatch) { childVal = undefined; }\n /* istanbul ignore if */\n if (!childVal) { return Object.create(parentVal || null) }\n if (process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = {};\n extend(ret, parentVal);\n for (var key$1 in childVal) {\n var parent = ret[key$1];\n var child = childVal[key$1];\n if (parent && !Array.isArray(parent)) {\n parent = [parent];\n }\n ret[key$1] = parent\n ? parent.concat(child)\n : Array.isArray(child) ? child : [child];\n }\n return ret\n};\n\n/**\n * Other object hashes.\n */\nstrats.props =\nstrats.methods =\nstrats.inject =\nstrats.computed = function (\n parentVal,\n childVal,\n vm,\n key\n) {\n if (childVal && process.env.NODE_ENV !== 'production') {\n assertObjectType(key, childVal, vm);\n }\n if (!parentVal) { return childVal }\n var ret = Object.create(null);\n extend(ret, parentVal);\n if (childVal) { extend(ret, childVal); }\n return ret\n};\nstrats.provide = mergeDataOrFn;\n\n/**\n * Default strategy.\n */\nvar defaultStrat = function (parentVal, childVal) {\n return childVal === undefined\n ? parentVal\n : childVal\n};\n\n/**\n * Validate component names\n */\nfunction checkComponents (options) {\n for (var key in options.components) {\n validateComponentName(key);\n }\n}\n\nfunction validateComponentName (name) {\n if (!new RegExp((\"^[a-zA-Z][\\\\-\\\\.0-9_\" + (unicodeRegExp.source) + \"]*$\")).test(name)) {\n warn(\n 'Invalid component name: \"' + name + '\". Component names ' +\n 'should conform to valid custom element name in html5 specification.'\n );\n }\n if (isBuiltInTag(name) || config.isReservedTag(name)) {\n warn(\n 'Do not use built-in or reserved HTML elements as component ' +\n 'id: ' + name\n );\n }\n}\n\n/**\n * Ensure all props option syntax are normalized into the\n * Object-based format.\n */\nfunction normalizeProps (options, vm) {\n var props = options.props;\n if (!props) { return }\n var res = {};\n var i, val, name;\n if (Array.isArray(props)) {\n i = props.length;\n while (i--) {\n val = props[i];\n if (typeof val === 'string') {\n name = camelize(val);\n res[name] = { type: null };\n } else if (process.env.NODE_ENV !== 'production') {\n warn('props must be strings when using array syntax.');\n }\n }\n } else if (isPlainObject(props)) {\n for (var key in props) {\n val = props[key];\n name = camelize(key);\n res[name] = isPlainObject(val)\n ? val\n : { type: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"props\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(props)) + \".\",\n vm\n );\n }\n options.props = res;\n}\n\n/**\n * Normalize all injections into Object-based format\n */\nfunction normalizeInject (options, vm) {\n var inject = options.inject;\n if (!inject) { return }\n var normalized = options.inject = {};\n if (Array.isArray(inject)) {\n for (var i = 0; i < inject.length; i++) {\n normalized[inject[i]] = { from: inject[i] };\n }\n } else if (isPlainObject(inject)) {\n for (var key in inject) {\n var val = inject[key];\n normalized[key] = isPlainObject(val)\n ? extend({ from: key }, val)\n : { from: val };\n }\n } else if (process.env.NODE_ENV !== 'production') {\n warn(\n \"Invalid value for option \\\"inject\\\": expected an Array or an Object, \" +\n \"but got \" + (toRawType(inject)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Normalize raw function directives into object format.\n */\nfunction normalizeDirectives (options) {\n var dirs = options.directives;\n if (dirs) {\n for (var key in dirs) {\n var def$$1 = dirs[key];\n if (typeof def$$1 === 'function') {\n dirs[key] = { bind: def$$1, update: def$$1 };\n }\n }\n }\n}\n\nfunction assertObjectType (name, value, vm) {\n if (!isPlainObject(value)) {\n warn(\n \"Invalid value for option \\\"\" + name + \"\\\": expected an Object, \" +\n \"but got \" + (toRawType(value)) + \".\",\n vm\n );\n }\n}\n\n/**\n * Merge two option objects into a new one.\n * Core utility used in both instantiation and inheritance.\n */\nfunction mergeOptions (\n parent,\n child,\n vm\n) {\n if (process.env.NODE_ENV !== 'production') {\n checkComponents(child);\n }\n\n if (typeof child === 'function') {\n child = child.options;\n }\n\n normalizeProps(child, vm);\n normalizeInject(child, vm);\n normalizeDirectives(child);\n\n // Apply extends and mixins on the child options,\n // but only if it is a raw options object that isn't\n // the result of another mergeOptions call.\n // Only merged options has the _base property.\n if (!child._base) {\n if (child.extends) {\n parent = mergeOptions(parent, child.extends, vm);\n }\n if (child.mixins) {\n for (var i = 0, l = child.mixins.length; i < l; i++) {\n parent = mergeOptions(parent, child.mixins[i], vm);\n }\n }\n }\n\n var options = {};\n var key;\n for (key in parent) {\n mergeField(key);\n }\n for (key in child) {\n if (!hasOwn(parent, key)) {\n mergeField(key);\n }\n }\n function mergeField (key) {\n var strat = strats[key] || defaultStrat;\n options[key] = strat(parent[key], child[key], vm, key);\n }\n return options\n}\n\n/**\n * Resolve an asset.\n * This function is used because child instances need access\n * to assets defined in its ancestor chain.\n */\nfunction resolveAsset (\n options,\n type,\n id,\n warnMissing\n) {\n /* istanbul ignore if */\n if (typeof id !== 'string') {\n return\n }\n var assets = options[type];\n // check local registration variations first\n if (hasOwn(assets, id)) { return assets[id] }\n var camelizedId = camelize(id);\n if (hasOwn(assets, camelizedId)) { return assets[camelizedId] }\n var PascalCaseId = capitalize(camelizedId);\n if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] }\n // fallback to prototype chain\n var res = assets[id] || assets[camelizedId] || assets[PascalCaseId];\n if (process.env.NODE_ENV !== 'production' && warnMissing && !res) {\n warn(\n 'Failed to resolve ' + type.slice(0, -1) + ': ' + id,\n options\n );\n }\n return res\n}\n\n/* */\n\n\n\nfunction validateProp (\n key,\n propOptions,\n propsData,\n vm\n) {\n var prop = propOptions[key];\n var absent = !hasOwn(propsData, key);\n var value = propsData[key];\n // boolean casting\n var booleanIndex = getTypeIndex(Boolean, prop.type);\n if (booleanIndex > -1) {\n if (absent && !hasOwn(prop, 'default')) {\n value = false;\n } else if (value === '' || value === hyphenate(key)) {\n // only cast empty string / same name to boolean if\n // boolean has higher priority\n var stringIndex = getTypeIndex(String, prop.type);\n if (stringIndex < 0 || booleanIndex < stringIndex) {\n value = true;\n }\n }\n }\n // check default value\n if (value === undefined) {\n value = getPropDefaultValue(vm, prop, key);\n // since the default value is a fresh copy,\n // make sure to observe it.\n var prevShouldObserve = shouldObserve;\n toggleObserving(true);\n observe(value);\n toggleObserving(prevShouldObserve);\n }\n if (\n process.env.NODE_ENV !== 'production' &&\n // skip validation for weex recycle-list child component props\n !(false)\n ) {\n assertProp(prop, key, value, vm, absent);\n }\n return value\n}\n\n/**\n * Get the default value of a prop.\n */\nfunction getPropDefaultValue (vm, prop, key) {\n // no default, return undefined\n if (!hasOwn(prop, 'default')) {\n return undefined\n }\n var def = prop.default;\n // warn against non-factory defaults for Object & Array\n if (process.env.NODE_ENV !== 'production' && isObject(def)) {\n warn(\n 'Invalid default value for prop \"' + key + '\": ' +\n 'Props with type Object/Array must use a factory function ' +\n 'to return the default value.',\n vm\n );\n }\n // the raw prop value was also undefined from previous render,\n // return previous default value to avoid unnecessary watcher trigger\n if (vm && vm.$options.propsData &&\n vm.$options.propsData[key] === undefined &&\n vm._props[key] !== undefined\n ) {\n return vm._props[key]\n }\n // call factory function for non-Function types\n // a value is Function if its prototype is function even across different execution context\n return typeof def === 'function' && getType(prop.type) !== 'Function'\n ? def.call(vm)\n : def\n}\n\n/**\n * Assert whether a prop is valid.\n */\nfunction assertProp (\n prop,\n name,\n value,\n vm,\n absent\n) {\n if (prop.required && absent) {\n warn(\n 'Missing required prop: \"' + name + '\"',\n vm\n );\n return\n }\n if (value == null && !prop.required) {\n return\n }\n var type = prop.type;\n var valid = !type || type === true;\n var expectedTypes = [];\n if (type) {\n if (!Array.isArray(type)) {\n type = [type];\n }\n for (var i = 0; i < type.length && !valid; i++) {\n var assertedType = assertType(value, type[i]);\n expectedTypes.push(assertedType.expectedType || '');\n valid = assertedType.valid;\n }\n }\n\n if (!valid) {\n warn(\n getInvalidTypeMessage(name, value, expectedTypes),\n vm\n );\n return\n }\n var validator = prop.validator;\n if (validator) {\n if (!validator(value)) {\n warn(\n 'Invalid prop: custom validator check failed for prop \"' + name + '\".',\n vm\n );\n }\n }\n}\n\nvar simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/;\n\nfunction assertType (value, type) {\n var valid;\n var expectedType = getType(type);\n if (simpleCheckRE.test(expectedType)) {\n var t = typeof value;\n valid = t === expectedType.toLowerCase();\n // for primitive wrapper objects\n if (!valid && t === 'object') {\n valid = value instanceof type;\n }\n } else if (expectedType === 'Object') {\n valid = isPlainObject(value);\n } else if (expectedType === 'Array') {\n valid = Array.isArray(value);\n } else {\n valid = value instanceof type;\n }\n return {\n valid: valid,\n expectedType: expectedType\n }\n}\n\n/**\n * Use function string name to check built-in types,\n * because a simple equality check will fail when running\n * across different vms / iframes.\n */\nfunction getType (fn) {\n var match = fn && fn.toString().match(/^\\s*function (\\w+)/);\n return match ? match[1] : ''\n}\n\nfunction isSameType (a, b) {\n return getType(a) === getType(b)\n}\n\nfunction getTypeIndex (type, expectedTypes) {\n if (!Array.isArray(expectedTypes)) {\n return isSameType(expectedTypes, type) ? 0 : -1\n }\n for (var i = 0, len = expectedTypes.length; i < len; i++) {\n if (isSameType(expectedTypes[i], type)) {\n return i\n }\n }\n return -1\n}\n\nfunction getInvalidTypeMessage (name, value, expectedTypes) {\n var message = \"Invalid prop: type check failed for prop \\\"\" + name + \"\\\".\" +\n \" Expected \" + (expectedTypes.map(capitalize).join(', '));\n var expectedType = expectedTypes[0];\n var receivedType = toRawType(value);\n var expectedValue = styleValue(value, expectedType);\n var receivedValue = styleValue(value, receivedType);\n // check if we need to specify expected value\n if (expectedTypes.length === 1 &&\n isExplicable(expectedType) &&\n !isBoolean(expectedType, receivedType)) {\n message += \" with value \" + expectedValue;\n }\n message += \", got \" + receivedType + \" \";\n // check if we need to specify received value\n if (isExplicable(receivedType)) {\n message += \"with value \" + receivedValue + \".\";\n }\n return message\n}\n\nfunction styleValue (value, type) {\n if (type === 'String') {\n return (\"\\\"\" + value + \"\\\"\")\n } else if (type === 'Number') {\n return (\"\" + (Number(value)))\n } else {\n return (\"\" + value)\n }\n}\n\nfunction isExplicable (value) {\n var explicitTypes = ['string', 'number', 'boolean'];\n return explicitTypes.some(function (elem) { return value.toLowerCase() === elem; })\n}\n\nfunction isBoolean () {\n var args = [], len = arguments.length;\n while ( len-- ) args[ len ] = arguments[ len ];\n\n return args.some(function (elem) { return elem.toLowerCase() === 'boolean'; })\n}\n\n/* */\n\nfunction handleError (err, vm, info) {\n // Deactivate deps tracking while processing error handler to avoid possible infinite rendering.\n // See: https://github.com/vuejs/vuex/issues/1505\n pushTarget();\n try {\n if (vm) {\n var cur = vm;\n while ((cur = cur.$parent)) {\n var hooks = cur.$options.errorCaptured;\n if (hooks) {\n for (var i = 0; i < hooks.length; i++) {\n try {\n var capture = hooks[i].call(cur, err, vm, info) === false;\n if (capture) { return }\n } catch (e) {\n globalHandleError(e, cur, 'errorCaptured hook');\n }\n }\n }\n }\n }\n globalHandleError(err, vm, info);\n } finally {\n popTarget();\n }\n}\n\nfunction invokeWithErrorHandling (\n handler,\n context,\n args,\n vm,\n info\n) {\n var res;\n try {\n res = args ? handler.apply(context, args) : handler.call(context);\n if (res && !res._isVue && isPromise(res) && !res._handled) {\n res.catch(function (e) { return handleError(e, vm, info + \" (Promise/async)\"); });\n // issue #9511\n // avoid catch triggering multiple times when nested calls\n res._handled = true;\n }\n } catch (e) {\n handleError(e, vm, info);\n }\n return res\n}\n\nfunction globalHandleError (err, vm, info) {\n if (config.errorHandler) {\n try {\n return config.errorHandler.call(null, err, vm, info)\n } catch (e) {\n // if the user intentionally throws the original error in the handler,\n // do not log it twice\n if (e !== err) {\n logError(e, null, 'config.errorHandler');\n }\n }\n }\n logError(err, vm, info);\n}\n\nfunction logError (err, vm, info) {\n if (process.env.NODE_ENV !== 'production') {\n warn((\"Error in \" + info + \": \\\"\" + (err.toString()) + \"\\\"\"), vm);\n }\n /* istanbul ignore else */\n if ((inBrowser || inWeex) && typeof console !== 'undefined') {\n console.error(err);\n } else {\n throw err\n }\n}\n\n/* */\n\nvar isUsingMicroTask = false;\n\nvar callbacks = [];\nvar pending = false;\n\nfunction flushCallbacks () {\n pending = false;\n var copies = callbacks.slice(0);\n callbacks.length = 0;\n for (var i = 0; i < copies.length; i++) {\n copies[i]();\n }\n}\n\n// Here we have async deferring wrappers using microtasks.\n// In 2.5 we used (macro) tasks (in combination with microtasks).\n// However, it has subtle problems when state is changed right before repaint\n// (e.g. #6813, out-in transitions).\n// Also, using (macro) tasks in event handler would cause some weird behaviors\n// that cannot be circumvented (e.g. #7109, #7153, #7546, #7834, #8109).\n// So we now use microtasks everywhere, again.\n// A major drawback of this tradeoff is that there are some scenarios\n// where microtasks have too high a priority and fire in between supposedly\n// sequential events (e.g. #4521, #6690, which have workarounds)\n// or even between bubbling of the same event (#6566).\nvar timerFunc;\n\n// The nextTick behavior leverages the microtask queue, which can be accessed\n// via either native Promise.then or MutationObserver.\n// MutationObserver has wider support, however it is seriously bugged in\n// UIWebView in iOS >= 9.3.3 when triggered in touch event handlers. It\n// completely stops working after triggering a few times... so, if native\n// Promise is available, we will use it:\n/* istanbul ignore next, $flow-disable-line */\nif (typeof Promise !== 'undefined' && isNative(Promise)) {\n var p = Promise.resolve();\n timerFunc = function () {\n p.then(flushCallbacks);\n // In problematic UIWebViews, Promise.then doesn't completely break, but\n // it can get stuck in a weird state where callbacks are pushed into the\n // microtask queue but the queue isn't being flushed, until the browser\n // needs to do some other work, e.g. handle a timer. Therefore we can\n // \"force\" the microtask queue to be flushed by adding an empty timer.\n if (isIOS) { setTimeout(noop); }\n };\n isUsingMicroTask = true;\n} else if (!isIE && typeof MutationObserver !== 'undefined' && (\n isNative(MutationObserver) ||\n // PhantomJS and iOS 7.x\n MutationObserver.toString() === '[object MutationObserverConstructor]'\n)) {\n // Use MutationObserver where native Promise is not available,\n // e.g. PhantomJS, iOS7, Android 4.4\n // (#6466 MutationObserver is unreliable in IE11)\n var counter = 1;\n var observer = new MutationObserver(flushCallbacks);\n var textNode = document.createTextNode(String(counter));\n observer.observe(textNode, {\n characterData: true\n });\n timerFunc = function () {\n counter = (counter + 1) % 2;\n textNode.data = String(counter);\n };\n isUsingMicroTask = true;\n} else if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) {\n // Fallback to setImmediate.\n // Technically it leverages the (macro) task queue,\n // but it is still a better choice than setTimeout.\n timerFunc = function () {\n setImmediate(flushCallbacks);\n };\n} else {\n // Fallback to setTimeout.\n timerFunc = function () {\n setTimeout(flushCallbacks, 0);\n };\n}\n\nfunction nextTick (cb, ctx) {\n var _resolve;\n callbacks.push(function () {\n if (cb) {\n try {\n cb.call(ctx);\n } catch (e) {\n handleError(e, ctx, 'nextTick');\n }\n } else if (_resolve) {\n _resolve(ctx);\n }\n });\n if (!pending) {\n pending = true;\n timerFunc();\n }\n // $flow-disable-line\n if (!cb && typeof Promise !== 'undefined') {\n return new Promise(function (resolve) {\n _resolve = resolve;\n })\n }\n}\n\n/* */\n\n/* not type checking this file because flow doesn't play well with Proxy */\n\nvar initProxy;\n\nif (process.env.NODE_ENV !== 'production') {\n var allowedGlobals = makeMap(\n 'Infinity,undefined,NaN,isFinite,isNaN,' +\n 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' +\n 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' +\n 'require' // for Webpack/Browserify\n );\n\n var warnNonPresent = function (target, key) {\n warn(\n \"Property or method \\\"\" + key + \"\\\" is not defined on the instance but \" +\n 'referenced during render. Make sure that this property is reactive, ' +\n 'either in the data option, or for class-based components, by ' +\n 'initializing the property. ' +\n 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.',\n target\n );\n };\n\n var warnReservedPrefix = function (target, key) {\n warn(\n \"Property \\\"\" + key + \"\\\" must be accessed with \\\"$data.\" + key + \"\\\" because \" +\n 'properties starting with \"$\" or \"_\" are not proxied in the Vue instance to ' +\n 'prevent conflicts with Vue internals. ' +\n 'See: https://vuejs.org/v2/api/#data',\n target\n );\n };\n\n var hasProxy =\n typeof Proxy !== 'undefined' && isNative(Proxy);\n\n if (hasProxy) {\n var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact');\n config.keyCodes = new Proxy(config.keyCodes, {\n set: function set (target, key, value) {\n if (isBuiltInModifier(key)) {\n warn((\"Avoid overwriting built-in modifier in config.keyCodes: .\" + key));\n return false\n } else {\n target[key] = value;\n return true\n }\n }\n });\n }\n\n var hasHandler = {\n has: function has (target, key) {\n var has = key in target;\n var isAllowed = allowedGlobals(key) ||\n (typeof key === 'string' && key.charAt(0) === '_' && !(key in target.$data));\n if (!has && !isAllowed) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return has || !isAllowed\n }\n };\n\n var getHandler = {\n get: function get (target, key) {\n if (typeof key === 'string' && !(key in target)) {\n if (key in target.$data) { warnReservedPrefix(target, key); }\n else { warnNonPresent(target, key); }\n }\n return target[key]\n }\n };\n\n initProxy = function initProxy (vm) {\n if (hasProxy) {\n // determine which proxy handler to use\n var options = vm.$options;\n var handlers = options.render && options.render._withStripped\n ? getHandler\n : hasHandler;\n vm._renderProxy = new Proxy(vm, handlers);\n } else {\n vm._renderProxy = vm;\n }\n };\n}\n\n/* */\n\nvar seenObjects = new _Set();\n\n/**\n * Recursively traverse an object to evoke all converted\n * getters, so that every nested property inside the object\n * is collected as a \"deep\" dependency.\n */\nfunction traverse (val) {\n _traverse(val, seenObjects);\n seenObjects.clear();\n}\n\nfunction _traverse (val, seen) {\n var i, keys;\n var isA = Array.isArray(val);\n if ((!isA && !isObject(val)) || Object.isFrozen(val) || val instanceof VNode) {\n return\n }\n if (val.__ob__) {\n var depId = val.__ob__.dep.id;\n if (seen.has(depId)) {\n return\n }\n seen.add(depId);\n }\n if (isA) {\n i = val.length;\n while (i--) { _traverse(val[i], seen); }\n } else {\n keys = Object.keys(val);\n i = keys.length;\n while (i--) { _traverse(val[keys[i]], seen); }\n }\n}\n\nvar mark;\nvar measure;\n\nif (process.env.NODE_ENV !== 'production') {\n var perf = inBrowser && window.performance;\n /* istanbul ignore if */\n if (\n perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n perf.clearMeasures\n ) {\n mark = function (tag) { return perf.mark(tag); };\n measure = function (name, startTag, endTag) {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n // perf.clearMeasures(name)\n };\n }\n}\n\n/* */\n\nvar normalizeEvent = cached(function (name) {\n var passive = name.charAt(0) === '&';\n name = passive ? name.slice(1) : name;\n var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first\n name = once$$1 ? name.slice(1) : name;\n var capture = name.charAt(0) === '!';\n name = capture ? name.slice(1) : name;\n return {\n name: name,\n once: once$$1,\n capture: capture,\n passive: passive\n }\n});\n\nfunction createFnInvoker (fns, vm) {\n function invoker () {\n var arguments$1 = arguments;\n\n var fns = invoker.fns;\n if (Array.isArray(fns)) {\n var cloned = fns.slice();\n for (var i = 0; i < cloned.length; i++) {\n invokeWithErrorHandling(cloned[i], null, arguments$1, vm, \"v-on handler\");\n }\n } else {\n // return handler return value for single handlers\n return invokeWithErrorHandling(fns, null, arguments, vm, \"v-on handler\")\n }\n }\n invoker.fns = fns;\n return invoker\n}\n\nfunction updateListeners (\n on,\n oldOn,\n add,\n remove$$1,\n createOnceHandler,\n vm\n) {\n var name, def$$1, cur, old, event;\n for (name in on) {\n def$$1 = cur = on[name];\n old = oldOn[name];\n event = normalizeEvent(name);\n if (isUndef(cur)) {\n process.env.NODE_ENV !== 'production' && warn(\n \"Invalid handler for event \\\"\" + (event.name) + \"\\\": got \" + String(cur),\n vm\n );\n } else if (isUndef(old)) {\n if (isUndef(cur.fns)) {\n cur = on[name] = createFnInvoker(cur, vm);\n }\n if (isTrue(event.once)) {\n cur = on[name] = createOnceHandler(event.name, cur, event.capture);\n }\n add(event.name, cur, event.capture, event.passive, event.params);\n } else if (cur !== old) {\n old.fns = cur;\n on[name] = old;\n }\n }\n for (name in oldOn) {\n if (isUndef(on[name])) {\n event = normalizeEvent(name);\n remove$$1(event.name, oldOn[name], event.capture);\n }\n }\n}\n\n/* */\n\nfunction mergeVNodeHook (def, hookKey, hook) {\n if (def instanceof VNode) {\n def = def.data.hook || (def.data.hook = {});\n }\n var invoker;\n var oldHook = def[hookKey];\n\n function wrappedHook () {\n hook.apply(this, arguments);\n // important: remove merged hook to ensure it's called only once\n // and prevent memory leak\n remove(invoker.fns, wrappedHook);\n }\n\n if (isUndef(oldHook)) {\n // no existing hook\n invoker = createFnInvoker([wrappedHook]);\n } else {\n /* istanbul ignore if */\n if (isDef(oldHook.fns) && isTrue(oldHook.merged)) {\n // already a merged invoker\n invoker = oldHook;\n invoker.fns.push(wrappedHook);\n } else {\n // existing plain hook\n invoker = createFnInvoker([oldHook, wrappedHook]);\n }\n }\n\n invoker.merged = true;\n def[hookKey] = invoker;\n}\n\n/* */\n\nfunction extractPropsFromVNodeData (\n data,\n Ctor,\n tag\n) {\n // we are only extracting raw values here.\n // validation and default values are handled in the child\n // component itself.\n var propOptions = Ctor.options.props;\n if (isUndef(propOptions)) {\n return\n }\n var res = {};\n var attrs = data.attrs;\n var props = data.props;\n if (isDef(attrs) || isDef(props)) {\n for (var key in propOptions) {\n var altKey = hyphenate(key);\n if (process.env.NODE_ENV !== 'production') {\n var keyInLowerCase = key.toLowerCase();\n if (\n key !== keyInLowerCase &&\n attrs && hasOwn(attrs, keyInLowerCase)\n ) {\n tip(\n \"Prop \\\"\" + keyInLowerCase + \"\\\" is passed to component \" +\n (formatComponentName(tag || Ctor)) + \", but the declared prop name is\" +\n \" \\\"\" + key + \"\\\". \" +\n \"Note that HTML attributes are case-insensitive and camelCased \" +\n \"props need to use their kebab-case equivalents when using in-DOM \" +\n \"templates. You should probably use \\\"\" + altKey + \"\\\" instead of \\\"\" + key + \"\\\".\"\n );\n }\n }\n checkProp(res, props, key, altKey, true) ||\n checkProp(res, attrs, key, altKey, false);\n }\n }\n return res\n}\n\nfunction checkProp (\n res,\n hash,\n key,\n altKey,\n preserve\n) {\n if (isDef(hash)) {\n if (hasOwn(hash, key)) {\n res[key] = hash[key];\n if (!preserve) {\n delete hash[key];\n }\n return true\n } else if (hasOwn(hash, altKey)) {\n res[key] = hash[altKey];\n if (!preserve) {\n delete hash[altKey];\n }\n return true\n }\n }\n return false\n}\n\n/* */\n\n// The template compiler attempts to minimize the need for normalization by\n// statically analyzing the template at compile time.\n//\n// For plain HTML markup, normalization can be completely skipped because the\n// generated render function is guaranteed to return Array. There are\n// two cases where extra normalization is needed:\n\n// 1. When the children contains components - because a functional component\n// may return an Array instead of a single root. In this case, just a simple\n// normalization is needed - if any child is an Array, we flatten the whole\n// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep\n// because functional components already normalize their own children.\nfunction simpleNormalizeChildren (children) {\n for (var i = 0; i < children.length; i++) {\n if (Array.isArray(children[i])) {\n return Array.prototype.concat.apply([], children)\n }\n }\n return children\n}\n\n// 2. When the children contains constructs that always generated nested Arrays,\n// e.g.