From 395298abaa8e0e9f3047944e8782a80a5360b4f8 Mon Sep 17 00:00:00 2001 From: chiqui3d Date: Sun, 31 Mar 2024 23:09:10 +0200 Subject: [PATCH] build: include project assets for distribution and exclude assets from CI --- .github/workflows/ci.yaml | 1 + .gitignore | 2 +- assets/.editorconfig | 10 + assets/.env | 1 + assets/.env.development | 1 + assets/.eslintrc.json | 74 +++ assets/.gitignore | 3 + assets/.npmignore | 6 + assets/.prettierrc.json | 22 + assets/README.md | 21 + assets/package.json | 103 ++++ assets/public/images/choose-image.png | Bin 0 -> 2989 bytes .../public/images/placeholder/application.jpg | Bin 0 -> 14462 bytes assets/public/images/placeholder/audio.jpg | Bin 0 -> 52926 bytes assets/public/images/placeholder/bmp.jpg | Bin 0 -> 20549 bytes assets/public/images/placeholder/ico.jpg | Bin 0 -> 20150 bytes assets/public/images/placeholder/image.jpg | Bin 0 -> 83443 bytes assets/public/images/placeholder/psd.jpg | Bin 0 -> 20424 bytes assets/public/images/placeholder/text.jpg | Bin 0 -> 14452 bytes assets/public/images/placeholder/tiff.jpg | Bin 0 -> 20093 bytes assets/public/images/placeholder/video.jpg | Bin 0 -> 66891 bytes assets/scripts/webpackUppyLocales.js | 12 + assets/src/App.tsx | 34 ++ assets/src/MediaFormPreview.tsx | 143 ++++++ assets/src/MediaManager.tsx | 68 +++ assets/src/MediaManagerModal.tsx | 145 ++++++ assets/src/api/hook/useFilters.tsx | 21 + assets/src/api/hook/useMediaQuery.tsx | 131 +++++ assets/src/api/hook/useMediaRepository.tsx | 8 + assets/src/api/hook/useSettings.tsx | 7 + assets/src/api/hook/useTranslator.tsx | 8 + assets/src/api/model/ApiProblemError.ts | 48 ++ assets/src/api/model/Settings.ts | 130 +++++ assets/src/api/model/Translator.ts | 47 ++ assets/src/api/repository/BaseRepository.ts | 55 ++ assets/src/api/repository/MediaRepository.ts | 62 +++ assets/src/components/Common/Asset.tsx | 17 + .../Common/Buttons/UploadFloatingButton.tsx | 46 ++ .../Buttons/upload_floating_button.scss | 18 + assets/src/components/Common/Error.tsx | 23 + .../src/components/Common/Loader/Loader.tsx | 7 + .../src/components/Common/Loader/loader.scss | 86 ++++ assets/src/components/Common/Pagination.tsx | 37 ++ assets/src/components/Common/Trans.tsx | 22 + assets/src/components/Dropzone/Dropzone.tsx | 37 ++ .../Dropzone/UppyModalDashboard.tsx | 153 ++++++ assets/src/components/Dropzone/dropzone.scss | 46 ++ .../Form/Filters/ButtonRadioFilter.tsx | 41 ++ .../components/Form/Filters/FormFilters.tsx | 112 +++++ .../Form/Filters/InputSearchFilter.tsx | 23 + .../components/Form/Filters/LayoutFilter.tsx | 70 +++ .../components/Form/Filters/SelectFilter.tsx | 31 ++ .../components/Form/Filters/SortFilter.tsx | 65 +++ .../Layout/MimeList/Application.tsx | 17 + .../src/components/Layout/MimeList/Audio.tsx | 17 + .../src/components/Layout/MimeList/Image.tsx | 60 +++ .../components/Layout/MimeList/MimeList.tsx | 25 + .../src/components/Layout/MimeList/Text.tsx | 17 + .../src/components/Layout/MimeList/Video.tsx | 17 + .../src/components/Layout/PageGridLayout.tsx | 34 ++ .../src/components/Layout/PageListLayout.tsx | 168 +++++++ .../Layout/PageSelectableLayout.tsx | 100 ++++ .../Modal/File/MimeShow/Application.tsx | 18 + .../components/Modal/File/MimeShow/Audio.tsx | 13 + .../components/Modal/File/MimeShow/Image.tsx | 51 ++ .../Modal/File/MimeShow/ImageResponsive.tsx | 61 +++ .../Modal/File/MimeShow/ImageSvg.tsx | 19 + .../Modal/File/MimeShow/MimeShow.tsx | 28 ++ .../components/Modal/File/MimeShow/Text.tsx | 18 + .../components/Modal/File/MimeShow/Video.tsx | 15 + .../src/components/Modal/File/ModalFile.tsx | 150 ++++++ .../Modal/File/ModalFileContent.tsx | 169 +++++++ .../src/components/Modal/File/modal_file.scss | 395 +++++++++++++++ assets/src/config.js | 6 + assets/src/context/MediaContext.tsx | 67 +++ assets/src/globals.d.ts | 69 +++ assets/src/helpers/error.js | 20 + assets/src/helpers/event.js | 35 ++ assets/src/helpers/fetch.ts | 40 ++ assets/src/helpers/html.js | 12 + assets/src/helpers/payload.js | 16 + assets/src/helpers/react.js | 12 + assets/src/helpers/script.js | 8 + assets/src/helpers/string.js | 11 + assets/src/helpers/swal.ts | 49 ++ assets/src/helpers/types.js | 13 + assets/src/helpers/useTraceUpdate.js | 23 + assets/src/hooks/useOnInsertSelection.tsx | 28 ++ assets/src/index.ts | 3 + assets/src/load.tsx | 115 +++++ assets/src/states/state.tsx | 13 + assets/src/styles/_mixins.scss | 48 ++ assets/src/styles/error.scss | 4 + assets/src/styles/index.scss | 4 + assets/src/styles/media.scss | 471 ++++++++++++++++++ assets/src/styles/media_modal.scss | 148 ++++++ assets/src/styles/predefined_form_type.scss | 86 ++++ assets/src/styles/reset.scss | 283 +++++++++++ assets/src/styles/uppy.scss | 79 +++ assets/src/styles/variables.scss | 6 + assets/src/styles/water.scss | 269 ++++++++++ assets/src/types/Config.ts | 48 ++ assets/src/types/Events.ts | 5 + assets/src/types/FilterOperator.ts | 18 + assets/src/types/Filters.ts | 10 + assets/src/types/Generic.ts | 26 + assets/src/types/Media.ts | 67 +++ assets/src/types/PageLayout.ts | 23 + assets/src/types/Translations.ts | 61 +++ assets/src/wdyr.ts | 1 + assets/tsconfig.json | 55 ++ assets/webpack.config.js | 103 ++++ public/entrypoints.json | 10 +- public/manifest.json | 49 +- public/rank_media.modal_file.css | 1 - public/rank_media.modal_file.js | 1 - public/ranky_media.css | 4 +- public/ranky_media.js | 2 +- public/ranky_media.vendors.css | 2 +- public/ranky_media.vendors.js | 2 +- public/ranky_media.vendors.js.LICENSE.txt | 5 +- public/react.17.0.2.js | 2 +- public/uppy/locales/ar_SA.min.js | 1 - public/uppy/locales/bg_BG.min.js | 1 - public/uppy/locales/cs_CZ.min.js | 1 - public/uppy/locales/da_DK.min.js | 1 - public/uppy/locales/de_DE.min.js | 1 - public/uppy/locales/el_GR.min.js | 1 - public/uppy/locales/en_US.min.js | 2 +- public/uppy/locales/es_ES.min.js | 1 - public/uppy/locales/fa_IR.min.js | 1 - public/uppy/locales/fi_FI.min.js | 1 - public/uppy/locales/fr_FR.min.js | 1 - public/uppy/locales/gl_ES.min.js | 1 - public/uppy/locales/he_IL.min.js | 1 - public/uppy/locales/hr_HR.min.js | 1 - public/uppy/locales/hu_HU.min.js | 1 - public/uppy/locales/id_ID.min.js | 1 - public/uppy/locales/is_IS.min.js | 1 - public/uppy/locales/it_IT.min.js | 1 - public/uppy/locales/ja_JP.min.js | 1 - public/uppy/locales/ko_KR.min.js | 1 - public/uppy/locales/nb_NO.min.js | 1 - public/uppy/locales/nl_NL.min.js | 1 - public/uppy/locales/pl_PL.min.js | 1 - public/uppy/locales/pt_BR.min.js | 1 - public/uppy/locales/pt_PT.min.js | 1 - public/uppy/locales/ro_RO.min.js | 1 - public/uppy/locales/ru_RU.min.js | 1 - public/uppy/locales/sk_SK.min.js | 1 - public/uppy/locales/sr_RS_Cyrillic.min.js | 1 - public/uppy/locales/sr_RS_Latin.min.js | 1 - public/uppy/locales/sv_SE.min.js | 1 - public/uppy/locales/th_TH.min.js | 1 - public/uppy/locales/tr_TR.min.js | 1 - public/uppy/locales/uk_UA.min.js | 1 - public/uppy/locales/uz_UZ.min.js | 1 - public/uppy/locales/vi_VN.min.js | 1 - public/uppy/locales/zh_CN.min.js | 1 - public/uppy/locales/zh_TW.min.js | 1 - 160 files changed, 5762 insertions(+), 99 deletions(-) create mode 100755 assets/.editorconfig create mode 100644 assets/.env create mode 100644 assets/.env.development create mode 100644 assets/.eslintrc.json create mode 100644 assets/.gitignore create mode 100644 assets/.npmignore create mode 100644 assets/.prettierrc.json create mode 100644 assets/README.md create mode 100755 assets/package.json create mode 100755 assets/public/images/choose-image.png create mode 100644 assets/public/images/placeholder/application.jpg create mode 100644 assets/public/images/placeholder/audio.jpg create mode 100644 assets/public/images/placeholder/bmp.jpg create mode 100644 assets/public/images/placeholder/ico.jpg create mode 100644 assets/public/images/placeholder/image.jpg create mode 100644 assets/public/images/placeholder/psd.jpg create mode 100644 assets/public/images/placeholder/text.jpg create mode 100644 assets/public/images/placeholder/tiff.jpg create mode 100644 assets/public/images/placeholder/video.jpg create mode 100644 assets/scripts/webpackUppyLocales.js create mode 100644 assets/src/App.tsx create mode 100644 assets/src/MediaFormPreview.tsx create mode 100644 assets/src/MediaManager.tsx create mode 100644 assets/src/MediaManagerModal.tsx create mode 100644 assets/src/api/hook/useFilters.tsx create mode 100644 assets/src/api/hook/useMediaQuery.tsx create mode 100644 assets/src/api/hook/useMediaRepository.tsx create mode 100644 assets/src/api/hook/useSettings.tsx create mode 100644 assets/src/api/hook/useTranslator.tsx create mode 100644 assets/src/api/model/ApiProblemError.ts create mode 100644 assets/src/api/model/Settings.ts create mode 100644 assets/src/api/model/Translator.ts create mode 100644 assets/src/api/repository/BaseRepository.ts create mode 100644 assets/src/api/repository/MediaRepository.ts create mode 100644 assets/src/components/Common/Asset.tsx create mode 100644 assets/src/components/Common/Buttons/UploadFloatingButton.tsx create mode 100644 assets/src/components/Common/Buttons/upload_floating_button.scss create mode 100644 assets/src/components/Common/Error.tsx create mode 100644 assets/src/components/Common/Loader/Loader.tsx create mode 100644 assets/src/components/Common/Loader/loader.scss create mode 100644 assets/src/components/Common/Pagination.tsx create mode 100644 assets/src/components/Common/Trans.tsx create mode 100644 assets/src/components/Dropzone/Dropzone.tsx create mode 100644 assets/src/components/Dropzone/UppyModalDashboard.tsx create mode 100644 assets/src/components/Dropzone/dropzone.scss create mode 100644 assets/src/components/Form/Filters/ButtonRadioFilter.tsx create mode 100644 assets/src/components/Form/Filters/FormFilters.tsx create mode 100644 assets/src/components/Form/Filters/InputSearchFilter.tsx create mode 100644 assets/src/components/Form/Filters/LayoutFilter.tsx create mode 100644 assets/src/components/Form/Filters/SelectFilter.tsx create mode 100644 assets/src/components/Form/Filters/SortFilter.tsx create mode 100644 assets/src/components/Layout/MimeList/Application.tsx create mode 100644 assets/src/components/Layout/MimeList/Audio.tsx create mode 100644 assets/src/components/Layout/MimeList/Image.tsx create mode 100644 assets/src/components/Layout/MimeList/MimeList.tsx create mode 100644 assets/src/components/Layout/MimeList/Text.tsx create mode 100644 assets/src/components/Layout/MimeList/Video.tsx create mode 100644 assets/src/components/Layout/PageGridLayout.tsx create mode 100644 assets/src/components/Layout/PageListLayout.tsx create mode 100644 assets/src/components/Layout/PageSelectableLayout.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/Application.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/Audio.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/Image.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/ImageResponsive.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/ImageSvg.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/MimeShow.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/Text.tsx create mode 100644 assets/src/components/Modal/File/MimeShow/Video.tsx create mode 100644 assets/src/components/Modal/File/ModalFile.tsx create mode 100644 assets/src/components/Modal/File/ModalFileContent.tsx create mode 100644 assets/src/components/Modal/File/modal_file.scss create mode 100644 assets/src/config.js create mode 100644 assets/src/context/MediaContext.tsx create mode 100644 assets/src/globals.d.ts create mode 100644 assets/src/helpers/error.js create mode 100644 assets/src/helpers/event.js create mode 100644 assets/src/helpers/fetch.ts create mode 100644 assets/src/helpers/html.js create mode 100644 assets/src/helpers/payload.js create mode 100644 assets/src/helpers/react.js create mode 100644 assets/src/helpers/script.js create mode 100755 assets/src/helpers/string.js create mode 100644 assets/src/helpers/swal.ts create mode 100644 assets/src/helpers/types.js create mode 100644 assets/src/helpers/useTraceUpdate.js create mode 100644 assets/src/hooks/useOnInsertSelection.tsx create mode 100755 assets/src/index.ts create mode 100755 assets/src/load.tsx create mode 100644 assets/src/states/state.tsx create mode 100644 assets/src/styles/_mixins.scss create mode 100644 assets/src/styles/error.scss create mode 100644 assets/src/styles/index.scss create mode 100644 assets/src/styles/media.scss create mode 100644 assets/src/styles/media_modal.scss create mode 100644 assets/src/styles/predefined_form_type.scss create mode 100644 assets/src/styles/reset.scss create mode 100644 assets/src/styles/uppy.scss create mode 100644 assets/src/styles/variables.scss create mode 100644 assets/src/styles/water.scss create mode 100644 assets/src/types/Config.ts create mode 100644 assets/src/types/Events.ts create mode 100644 assets/src/types/FilterOperator.ts create mode 100644 assets/src/types/Filters.ts create mode 100644 assets/src/types/Generic.ts create mode 100644 assets/src/types/Media.ts create mode 100644 assets/src/types/PageLayout.ts create mode 100644 assets/src/types/Translations.ts create mode 100644 assets/src/wdyr.ts create mode 100755 assets/tsconfig.json create mode 100755 assets/webpack.config.js mode change 100755 => 100644 public/manifest.json delete mode 100644 public/rank_media.modal_file.css delete mode 100644 public/rank_media.modal_file.js delete mode 100644 public/uppy/locales/ar_SA.min.js delete mode 100644 public/uppy/locales/bg_BG.min.js delete mode 100644 public/uppy/locales/cs_CZ.min.js delete mode 100644 public/uppy/locales/da_DK.min.js delete mode 100644 public/uppy/locales/de_DE.min.js delete mode 100644 public/uppy/locales/el_GR.min.js delete mode 100644 public/uppy/locales/es_ES.min.js delete mode 100644 public/uppy/locales/fa_IR.min.js delete mode 100644 public/uppy/locales/fi_FI.min.js delete mode 100644 public/uppy/locales/fr_FR.min.js delete mode 100644 public/uppy/locales/gl_ES.min.js delete mode 100644 public/uppy/locales/he_IL.min.js delete mode 100644 public/uppy/locales/hr_HR.min.js delete mode 100644 public/uppy/locales/hu_HU.min.js delete mode 100644 public/uppy/locales/id_ID.min.js delete mode 100644 public/uppy/locales/is_IS.min.js delete mode 100644 public/uppy/locales/it_IT.min.js delete mode 100644 public/uppy/locales/ja_JP.min.js delete mode 100644 public/uppy/locales/ko_KR.min.js delete mode 100644 public/uppy/locales/nb_NO.min.js delete mode 100644 public/uppy/locales/nl_NL.min.js delete mode 100644 public/uppy/locales/pl_PL.min.js delete mode 100644 public/uppy/locales/pt_BR.min.js delete mode 100644 public/uppy/locales/pt_PT.min.js delete mode 100644 public/uppy/locales/ro_RO.min.js delete mode 100644 public/uppy/locales/ru_RU.min.js delete mode 100644 public/uppy/locales/sk_SK.min.js delete mode 100644 public/uppy/locales/sr_RS_Cyrillic.min.js delete mode 100644 public/uppy/locales/sr_RS_Latin.min.js delete mode 100644 public/uppy/locales/sv_SE.min.js delete mode 100644 public/uppy/locales/th_TH.min.js delete mode 100644 public/uppy/locales/tr_TR.min.js delete mode 100644 public/uppy/locales/uk_UA.min.js delete mode 100644 public/uppy/locales/uz_UZ.min.js delete mode 100644 public/uppy/locales/vi_VN.min.js delete mode 100644 public/uppy/locales/zh_CN.min.js delete mode 100644 public/uppy/locales/zh_TW.min.js diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 9c438d9..93493bd 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -7,6 +7,7 @@ on: branches: [ main ] paths-ignore: - '**/README.md' + - 'assets/**' workflow_dispatch: inputs: debug_enabled: diff --git a/.gitignore b/.gitignore index 80dc98a..2e4e161 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,4 @@ -/assets/ + /var/ .idea/ **/cache diff --git a/assets/.editorconfig b/assets/.editorconfig new file mode 100755 index 0000000..153cf3e --- /dev/null +++ b/assets/.editorconfig @@ -0,0 +1,10 @@ +; top-most EditorConfig file +root = true + +; Unix-style newlines +[*] +end_of_line = LF + +[*.php] +indent_style = space +indent_size = 4 diff --git a/assets/.env b/assets/.env new file mode 100644 index 0000000..4788ab6 --- /dev/null +++ b/assets/.env @@ -0,0 +1 @@ +ASSETS_URL_PREFIX=/bundles/rankymedia/ diff --git a/assets/.env.development b/assets/.env.development new file mode 100644 index 0000000..0b5595b --- /dev/null +++ b/assets/.env.development @@ -0,0 +1 @@ +ASSETS_URL_PREFIX=/bundles/rankymedia/ \ No newline at end of file diff --git a/assets/.eslintrc.json b/assets/.eslintrc.json new file mode 100644 index 0000000..5b2ebac --- /dev/null +++ b/assets/.eslintrc.json @@ -0,0 +1,74 @@ +{ + "root": true, + "plugins": ["import","@typescript-eslint"], + "extends": [ + "standard", + "eslint:recommended", + "airbnb", + "airbnb/hooks", + "airbnb-typescript", + "plugin:@typescript-eslint/recommended", + "plugin:react/recommended", + "plugin:react-hooks/recommended" + ], + "parser": "@typescript-eslint/parser", + "parserOptions": { + "project": "./tsconfig.json", + "ecmaVersion": 2021, + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + } + }, + "settings": { + "react": { + "version": "detect" + }, + "import/parsers": { + "@typescript-eslint/parser": [".ts", ".tsx"] + }, + "import/resolver": { + "node": { + "paths": ["src"], + "extensions": [".js", ".jsx", ".ts", ".tsx"] + } + } + }, + "env": { + "browser": true, + "commonjs": true, + "es2021": true, + "node": true, + "es6": true + }, + "ignorePatterns": ["webpack.config.js","temp.js","*_copy.js","**/vendor/*.js","dist","scripts"], + "rules": { + "no-dupe-else-if": "off", + "no-import-assign": "off", + "no-setter-return": "off", + "import/prefer-default-export": "off", + "func-names": ["warn", "as-needed"], + "max-len": ["warn",{ "code": 120, "ignoreTemplateLiterals": true, "ignoreUrls": true, "ignorePattern": "d=\"([\\s\\S]*?)\""}], + "no-console": "off", + "import/no-unresolved": "off", + "arrow-body-style": "off", + "prefer-arrow-callback": "off", + "import/no-useless-path-segments": "off", + "import/no-self-import": "off", + "no-use-before-define": "off", + "no-underscore-dangle": "off", + "jsx-a11y/img-redundant-alt": "off", + "@typescript-eslint/no-empty-function": ["error", { "allow": ["constructors"]}], + "@typescript-eslint/no-use-before-define": ["error"], + "@typescript-eslint/no-var-requires": 0, + "@typescript-eslint/no-inferrable-types": "off", + "react/jsx-filename-extension": [2, { "extensions": [".js", ".jsx", ".ts", ".tsx"] }], + "react/function-component-definition": "off", + "react/prop-types": "off", + "react/require-default-props": "off", + "react/jsx-one-expression-per-line": "off", + "no-param-reassign": [2, { "props": false }], + "react/no-unescaped-entities": "off", + "jsx-a11y/label-has-associated-control": "off" + } +} diff --git a/assets/.gitignore b/assets/.gitignore new file mode 100644 index 0000000..b96f37a --- /dev/null +++ b/assets/.gitignore @@ -0,0 +1,3 @@ +node_modules +package-lock.json +.env.development diff --git a/assets/.npmignore b/assets/.npmignore new file mode 100644 index 0000000..5a4f5e0 --- /dev/null +++ b/assets/.npmignore @@ -0,0 +1,6 @@ +.eslintrc.json +.prettierrc.json +webpack.config.js +tsconfig.json +.editorconfig +.env diff --git a/assets/.prettierrc.json b/assets/.prettierrc.json new file mode 100644 index 0000000..9971b63 --- /dev/null +++ b/assets/.prettierrc.json @@ -0,0 +1,22 @@ +{ + "trailingComma": "all", + "semi": true, + "printWidth": 120, + "proseWrap": "always", + "bracketSpacing": true, + "singleQuote": true, + "overrides": [ + { + "files": "*.md", + "options": { + "tabWidth": 4 + } + }, + { + "files": "*.json", + "options": { + "tabWidth": 6 + } + } + ] +} diff --git a/assets/README.md b/assets/README.md new file mode 100644 index 0000000..d9a01e5 --- /dev/null +++ b/assets/README.md @@ -0,0 +1,21 @@ +# Assets for the project + +**index.ts**: Serves solely as a re-exporter of important components from the library (barrel export). Its real utility comes into play when the library is published on NPM. + +**load.tsx**: Responsible for loading/mounting the library's components in the DOM with React. This is the entry file for Webpack to generate the bundle. + +The currently used scripts are: + +```bash +npm run watch +``` +This command is used to enable watch mode, allowing real-time changes. However, reloading the page is necessary to see the changes. Additionally, it's agreed upon to install the assets with Symfony using the command bin/console assets:install --symlink. + + +```bash +npm run build +``` + +This command is used to generate the library bundle in production mode. + + diff --git a/assets/package.json b/assets/package.json new file mode 100755 index 0000000..a2a7d04 --- /dev/null +++ b/assets/package.json @@ -0,0 +1,103 @@ +{ + "name": "ranky-media-bundle", + "version": "1.0.0", + "description": "Package for Ranky Media Bundle of Symfony", + "keywords": [ + "media", + "file", + "upload", + "resize", + "symfony", + "bundle", + "ranky", + "plugin" + ], + "author": "chiqui3d", + "homepage": "https://github.com/ranky/media-bundle", + "private": true, + "license": "MIT", + "main": "lib/index.js", + "module": "lib/index.js", + "types": "lib/index.d.ts", + "scripts": { + "dev": "encore dev --config webpack.config.js", + "watch": "encore dev --watch --config webpack.config.js", + "server": "NODE_ENV=development encore dev-server --host=${VIRTUAL_HOST} --port=${NODE_PORT} --allowed-hosts all --config webpack.config.js", + "build": "NODE_ENV=production encore production --config webpack.config.js", + "lib": "tsc ./tsconfig.json", + "types": "tsc -p ./tsconfig.json --declaration --emitDeclarationOnly", + "eslint": "eslint ./src/** --ext .js,.ts,.tsx,.jsx --no-error-on-unmatched-pattern", + "eslint:fix": "eslint ./src/** --ext .js,.ts,.tsx,.jsx --fix --no-error-on-unmatched-pattern" + }, + "browserslist": [ + "> 0.5%", + "last 2 versions", + "Firefox ESR", + "not dead" + ], + "dependencies": { + "@uppy/core": "^3.0.2", + "@uppy/dashboard": "^3.1.0", + "@uppy/drag-drop": "^3.0.1", + "@uppy/drop-target": "^2.0.1", + "@uppy/file-input": "^3.0.1", + "@uppy/locales": "^3.0.1", + "@uppy/progress-bar": "^3.0.1", + "@uppy/react": "^3.0.2", + "@uppy/status-bar": "^3.0.1", + "@uppy/tus": "^3.0.2", + "@uppy/xhr-upload": "^3.0.2", + "html-react-parser": "^1.4.8", + "jotai": "^1.9.2", + "react": "^17.0.2 || ^18.0.0", + "react-dom": "^17.0.2 || ^18.0.0", + "react-query": "^3.39.2", + "sweetalert2": "^11.4.4" + }, + "devDependencies": { + "@babel/core": "^7.17.5", + "@svgr/webpack": "^6.2.1", + "@symfony/webpack-encore": "^4.1.1", + "@types/dotenv-webpack": "^7.0.3", + "@types/node": "^17.0.22", + "@types/react": "^17.0.80 || ^18.0.0", + "@types/react-dom": "^18.2.23", + "@types/webpack": "^5.28.0", + "@typescript-eslint/eslint-plugin": "^7.4.0", + "@typescript-eslint/parser": "^7.4.0", + "@welldone-software/why-did-you-render": "^6.2.3", + "autoprefixer": "^10.4.0", + "dotenv-webpack": "^7.1.0", + "eslint": "^8.52.0", + "eslint-config-airbnb": "^19.0.3", + "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb-typescript": "^18.0.0", + "eslint-config-prettier": "^9.1.0", + "eslint-config-standard": "^17.1.0", + "eslint-import-resolver-typescript": "^3.6.1", + "eslint-plugin-import": "^2.29.1", + "eslint-plugin-jsx-a11y": "^6.8.0", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-prettier": "^4.0.0", + "eslint-plugin-promise": "^6.1.1", + "eslint-plugin-react": "^7.29.4", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-webpack-plugin": "^3.2.0", + "file-loader": "^6.2.0", + "fork-ts-checker-webpack-plugin": "^7.0.0", + "postcss-loader": "^7.0.0", + "postcss-preset-env": "^7.4.2", + "postcss-url": "^10.1.3", + "prettier": "^2.5.1", + "purgecss-webpack-plugin": "^4.1.3", + "regenerator-runtime": "^0.13.9", + "sass": "^1.49.9", + "sass-loader": "^13.0.0", + "ts-loader": "^9.2.7", + "ts-node": "^10.7.0", + "tsconfig-paths": "^3.13.0", + "typescript": "^4.9.5", + "webpack-bundle-analyzer": "^4.7.0", + "webpack-cli": "^4.10.0" + } +} diff --git a/assets/public/images/choose-image.png b/assets/public/images/choose-image.png new file mode 100755 index 0000000000000000000000000000000000000000..e6c98d818e6a494b0451e7f2302bfaf951433c61 GIT binary patch literal 2989 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
70(Y6*lafszWW-Q5|F5YAw6@gmZZ~ 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Рc|(2dFIHZ!7PBJ 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 F^xt_Xm0bV; literal 0 HcmV?d00001 diff --git a/assets/public/images/placeholder/bmp.jpg b/assets/public/images/placeholder/bmp.jpg new file mode 100644 index 0000000000000000000000000000000000000000..584d675af4d29d85aadabe058993a648247d1147 GIT binary patch literal 20549 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 ag(3N0gF&N#y{mhb6q4+tuvf=W;kSrHTkBuWk| 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⪕$%@akL)fh?w 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 rf@vf(m%n5kyw*@=^0zTJbd?O!WA!JCf%` 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 z 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 B%p?E+ literal 0 HcmV?d00001 diff --git a/assets/public/images/placeholder/psd.jpg b/assets/public/images/placeholder/psd.jpg new file mode 100644 index 0000000000000000000000000000000000000000..c87a16186c5aa8f7b7f322e72fa6471dc985debe GIT binary patch literal 20424 zcmce-cUTkO)-XC55=eqT=qd;Sq;~-+QX)kVq<5twT{=RL78FE81w}+@i3)-Of}qli z6hWy{r56RH_ujri{hf2(`T)y!>1| zJ+Ma@ZS6d-`zdfjocu2EbZ#Mobw69U1mxHK*gRkdx zAA1J~oa>*?kna9>LPvlQH*&f@F3_OZUQ_k7zwYkf;dfD0fm2fAyri_6q>O~PnCf{M zRcRUVvtlY|B`!!Q%ZRC}N=p6H_dokU*hH?nT$Pi(pnOJET2)L&{DPFYxSFbrnv9sN zq=cF{gy5{q8RdWaUi9$wv-PldIHGsd*X3V*RWAImedSbq9BlnOeT+Okul+Ofdd{AH zp1#hWURV{Cqmh=yn!0#g^$hSm8kj$Fsyg_%_&Z#^;N$6z{jFI!m;b_njNMfSF=;6Y zVMoa`SB0f*B_)Jq#bq3i9wj9u&pOIT*q`D2+yCl+Xzb6-gjygey#8TE?y8KVt-Z9^ z8DU#TTWMiQ8Of`{GG}DOg|FI4%Zf|ONXppS+H#6QEQ%gYmj9SM|1?1}^62NkmICzf zuf^ox0j(e(XsH}70Mx%10C2S$T9UBC0U!bZVMiDA7bF9r|70L^k^Q|8WN_#rLm&|3 z;ws{vXh>>+4I2BQT)S{NBE z?63}K1CH1NKr-0B_7oVB0wjkcP-I7Mj;?>b0bn3G0#1fG5(WW>Q=pKP=womSNJLr= z@$(=VT%Qg>ZW~U4@_zV^vx5n_^!(E|`a*`s#>;06;{Cc9PmC!S_;#vZy>4<`<|fxI zqxalW89ZlwR18n6eW>@p&8*I6_rhNCk;Ka%=?)3BzbTWEp~;XCCr3QcLVAOXe?xGb z*MIn&&VZ4eDg521C0p+^J~!!ABp4*emJj=ZV~`{uEg3DK1nifs#^wkHRN}JppX<>z zGQwm^?=r%!5R4Evs*S=$vz||3xE~9E`5%WtOM*bJ2AYtC@@)sbp;orFkPZaSD4#n{ zKrgqBLK@I+309*yR|lHW$RIpmqBc-d?x-Lhy-rBMaT9_%+rf17W9~QzA6aYR2$1~X z5kix$+T;chID`|xtwMA~&R*n-4r~xm-^cZ2n_=_M( zBjA%-OpPkuMHkDot$hvs=t*_V^$J^!Tr+r2SGCS(kk0TTtbHCxaKOjW=fW@h;ZT;g z8UcVN(&pEAB;5cfE}sx>Flv`UGlHV~syU4|_=;2O)60mzJP$m#A|c-J5I9eP46f}j z^q!Z(IIMmlmNn4$vxK`i4K*wu=B_2|!c7(bL=Albbv?A2ogBa`mB4|_Jq13#6UPv9 zK3#hSUJ$RHh3>eXX-1oy_ZgA#_B1@B(BTtOC%%h`N-OUU+>nIgZ)Ci#)(($$?PBXAuH&wyITwo+&QQ9#5SJ=ZEKoL)F1@g8EB9f{O>LpsSIFbfE70s@5o z)M^gPQ9kAC*oQ@5n@R-@a2djz)i_$I?k)pSz4K~K^+2?`S%Ui~;|pJwLAuH6<4OK| zK(v6Mjaqt*@eCz(9+uANl0hGdLvRQ%w{)w9nL7};udRSwu7^M

`*Q<+z^40vI~Q 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 literal 0 HcmV?d00001 diff --git a/assets/public/images/placeholder/tiff.jpg b/assets/public/images/placeholder/tiff.jpg new file mode 100644 index 0000000000000000000000000000000000000000..194f3bd7d730ca243fb6c536d9535407cab5fa5a GIT binary patch literal 20093 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 F*ncf()yx0@ literal 0 HcmV?d00001 diff --git a/assets/public/images/placeholder/video.jpg b/assets/public/images/placeholder/video.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5c87382329b3e570a94d82d66dfa4eaf9286e482 GIT binary patch literal 66891 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%0A*X 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 { + const { name } = path.parse(fileName); + return name; + }) || []; + +module.exports = locales; diff --git a/assets/src/App.tsx b/assets/src/App.tsx new file mode 100644 index 0000000..2d7fbd7 --- /dev/null +++ b/assets/src/App.tsx @@ -0,0 +1,34 @@ +import React from 'react'; +import { QueryClient, QueryClientProvider } from 'react-query'; +import { MediaProvider } from '@rankyMedia/context/MediaContext'; +import { AppType } from '@rankyMedia/types/Config'; + +const queryClient = new QueryClient({ + defaultOptions: { + queries: { + refetchOnWindowFocus: false, + staleTime: 60 * 2000, + }, + }, +}); + +const App: React.FC = ({ + children, apiPrefix, selectionMode, multipleSelection, title, targetRef, +}) => { + return ( + + + + {children} + + + + ); +}; +export default App; diff --git a/assets/src/MediaFormPreview.tsx b/assets/src/MediaFormPreview.tsx new file mode 100644 index 0000000..0dcdb64 --- /dev/null +++ b/assets/src/MediaFormPreview.tsx @@ -0,0 +1,143 @@ +import React, { + Suspense, useCallback, useLayoutEffect, useRef, useState, +} from 'react'; +import Asset from '@rankyMedia/components/Common/Asset'; +import '@rankyMedia/styles/predefined_form_type.scss'; +import { Media, MediaResultType } from '@rankyMedia/types/Media'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import useSettings from '@rankyMedia/api/hook/useSettings'; +import MimeList from '@rankyMedia/components/Layout/MimeList/MimeList'; +import { errorAlert } from '@rankyMedia/helpers/swal'; +import Loader from '@rankyMedia/components/Common/Loader/Loader'; +import { FetcherProps } from '@rankyMedia/api/repository/BaseRepository'; +import FilterOperator from '@rankyMedia/types/FilterOperator'; +import useOnInsertSelection from '@rankyMedia/hooks/useOnInsertSelection'; +import useMediaRepository from '@rankyMedia/api/hook/useMediaRepository'; + +type PropsType = { + predefinedData: null | string | []; + fieldId: string; +}; + +const MediaManagerModal = React.lazy(() => import('@rankyMedia/MediaManagerModal')); + +const MediaFormPreview = ({ + predefinedData = null, + fieldId, +}: PropsType): React.ReactElement => { + const previewRef = useRef(); + const [showModalMediaFileManager, setShowModalMediaFileManager] = useState(false); + const translator = useTranslator(); + const settings = useSettings(); + const mediaRepository = useMediaRepository(); + const [isLoading, setIsLoading] = useState(false); + + const onCloseMediaFileManager = useCallback(() => setShowModalMediaFileManager(false), []); + const { selectedMedia, setSelectedMedia, onInsertSelection } = useOnInsertSelection(fieldId); + + useLayoutEffect(() => { + const getMedia = async () => { + setIsLoading(true); + let callback: (value: string) => Promise>; + let queryParams = predefinedData as string; + + if (settings.isMultipleSelection) { + let parseQueryParams: string[]; + try { + parseQueryParams = JSON.parse(predefinedData as string); + } catch (e) { + parseQueryParams = []; + } + if (parseQueryParams.length === 0) { + setIsLoading(false); + return null; + } + queryParams = `?page[disable]=1&filters[id][${FilterOperator.INCLUDES}]=${parseQueryParams.join(',')}`; + callback = (value: string) => mediaRepository.filter(value); + } else { + callback = (value: string) => mediaRepository.get(value); + } + + const { data, error } = await callback(queryParams); + + if (error) { + console.log(error); + setIsLoading(false); + return errorAlert(error); + } + setSelectedMedia('result' in data ? data.result : [data]); + setIsLoading(false); + return null; + }; + + if (predefinedData) { + getMedia(); + } + }, [mediaRepository, predefinedData, setIsLoading, setSelectedMedia, settings]); + + if (isLoading) { + return (); + } + + function openMediaFileManager() { + setShowModalMediaFileManager(true); + } + + function cleanSelection() { + setSelectedMedia([]); + const inputValue = previewRef.current.parentElement.parentElement.querySelector(`input#${fieldId}`) as HTMLInputElement; + inputValue.value = ''; + } + + return ( + <> +

+ {selectedMedia.length === 0 + ? ( +
+ Default image. Select a media file +
+ ) + : (selectedMedia.map((media: Media) => { + return ( +
+ +
+ ); + }) + )} +
+
+ + +
+ + {showModalMediaFileManager + ? ( + + ) : null} + + + ); +}; + +export default MediaFormPreview; diff --git a/assets/src/MediaManager.tsx b/assets/src/MediaManager.tsx new file mode 100644 index 0000000..a2089c3 --- /dev/null +++ b/assets/src/MediaManager.tsx @@ -0,0 +1,68 @@ +import React, { Suspense, useState } from 'react'; +import '@rankyMedia/styles/index.scss'; +import { MediaQueryType } from '@rankyMedia/types/Media'; +import Loader from '@rankyMedia/components/Common/Loader/Loader'; +import Pagination from '@rankyMedia/components/Common/Pagination'; +import FormFilters from '@rankyMedia/components/Form/Filters/FormFilters'; +import { currentMediaState, pageLayoutState, loadingState } from '@rankyMedia/states/state'; +import useMediaQuery from '@rankyMedia/api/hook/useMediaQuery'; +import { useIsMutating } from 'react-query'; +import { LayoutType, PageLayoutProps } from '@rankyMedia/types/PageLayout'; +import Dropzone from '@rankyMedia/components/Dropzone/Dropzone'; +import { useAtomValue, useSetAtom } from 'jotai'; + +const ModalFile = React.lazy(() => import( + /* webpackChunkName: "rank_media.modal_file" */ + '@rankyMedia/components/Modal/File/ModalFile' +)); + +const MediaManager = (): React.ReactElement => { + const [showModalFile, setShowModalFile] = useState(false); + const { useList } = useMediaQuery(); + const { + data, fetchNextPage, hasNextPage, isFetchingNextPage, isLoading, + } = useList(); + const isMutatingMedias = useIsMutating(); + const mediaCrud = useMediaQuery(); + const setCurrentMedia = useSetAtom(currentMediaState); + const isGlobalLoading = useAtomValue(loadingState); + const layoutType = useAtomValue(pageLayoutState); + const LayoutComponent: React.FC = LayoutType[layoutType]; + + if (isLoading) { + return (); + } + + function openModalFile(id: string) { + const currentMedia = mediaCrud.find(id); + setCurrentMedia(currentMedia); + setShowModalFile(true); + } + + return ( + <> + + + {isMutatingMedias || isGlobalLoading ? : null} +
+ openModalFile(id)} + /> + +
+ + {showModalFile + ? ( setShowModalFile(false)} />) + : null} + + + ); +}; + +export default MediaManager; diff --git a/assets/src/MediaManagerModal.tsx b/assets/src/MediaManagerModal.tsx new file mode 100644 index 0000000..9297ffc --- /dev/null +++ b/assets/src/MediaManagerModal.tsx @@ -0,0 +1,145 @@ +import React, { useEffect, useRef } from 'react'; +import '@rankyMedia/styles/media_modal.scss'; +import MediaManager from '@rankyMedia/MediaManager'; +import appConfig from '@rankyMedia/config'; +import { dbClickState, selectedMediaState } from '@rankyMedia/states/state'; +import useMediaQuery from '@rankyMedia/api/hook/useMediaQuery'; +import { getRootElement } from '@rankyMedia/helpers/react'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; +import { errorAlert } from '@rankyMedia/helpers/swal'; +import useSettings from '@rankyMedia/api/hook/useSettings'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import { SelectedMediaDetailEvent } from '@rankyMedia/types/Events'; +import { Media } from '@rankyMedia/types/Media'; +import { useAtom } from 'jotai'; + +type MediaFileManagerModalProps = { + onCloseModal?: () => void; + onInsertSelection?: (medias: Media[], targetRef: HTMLElement) => void; +}; + +const MediaManagerModal = ({ onCloseModal, onInsertSelection }: MediaFileManagerModalProps): React.ReactElement => { + const [selectedMedia, setSelectedMedia] = useAtom(selectedMediaState); + const [dbClick, setDbClick] = useAtom(dbClickState); + const mediaQuery = useMediaQuery(); + const modalRef = useRef(null); + const settings = useSettings(); + const translator = useTranslator(); + const insertButtonRef = useRef(null); + let messageOnSelection = translator.trans('selection_mode.zero_element'); + + if (selectedMedia.length > 1) { + messageOnSelection = translator.trans('selection_mode.multiple_elements', { length: selectedMedia.length }); + } else if (selectedMedia.length === 1) { + messageOnSelection = translator.trans('selection_mode.one_element'); + } + + useEffect(() => { + if (dbClick === true) { + if (insertButtonRef.current) { + insertButtonRef.current.click(); + } + setDbClick(false); + } + }, [dbClick, setDbClick]); + + function cleanSelectedMedia() { + setSelectedMedia([]); + } + + function onClose() { + if (typeof onCloseModal === 'function') { + onCloseModal(); + } else { + modalRef.current.remove(); + } + setTimeout(async () => { + cleanSelectedMedia(); + }, 100); + } + + function insertSelectedMedia(event: React.MouseEvent) { + // publish('ranky-media:insert-selected-media', selectedMedia); + const medias = selectedMedia.map((id: string) => { + return mediaQuery.find(id); + }); + let targetRef: HTMLElement; + if (settings.targetRef) { + targetRef = settings.targetRef; + } else { + const rootElement = getRootElement(event.target); + if (!rootElement) { + const apiProblem = new ApiProblemError( + 'Root element not found in the hierarchy component tree', + 404, + ); + errorAlert(apiProblem); + return; + } + targetRef = rootElement; + } + + if (typeof onInsertSelection === 'function') { + onInsertSelection(medias, targetRef); + } + const eventOnInsert = new CustomEvent('ranky-media:selected-media', { + detail: { medias }, + }); + targetRef.dispatchEvent(eventOnInsert); + cleanSelectedMedia(); + onClose(); + } + + return ( +
+
+
+

{settings.title || 'Media File Manager'}

+
+ +
+
+ +
+
+
+
+

+ + {messageOnSelection} + +

+

+ +

+
+
+

+ +

+
+
+
+
+
+ ); +}; + +export default MediaManagerModal; diff --git a/assets/src/api/hook/useFilters.tsx b/assets/src/api/hook/useFilters.tsx new file mode 100644 index 0000000..eac81ee --- /dev/null +++ b/assets/src/api/hook/useFilters.tsx @@ -0,0 +1,21 @@ +import { Filters } from '@rankyMedia/types/Filters'; +import { fetcher } from '@rankyMedia/helpers/fetch'; +import useMediaRepository from '@rankyMedia/api/hook/useMediaRepository'; +import { useQuery } from 'react-query'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; + +const useFilters = () => { + const mediaRepository = useMediaRepository(); + const { data, error, isLoading } = useQuery( + 'filters', + () => fetcher(mediaRepository.getRoutes().filters), + ); + + return { + data, + error, + isLoading, + }; +}; + +export default useFilters; diff --git a/assets/src/api/hook/useMediaQuery.tsx b/assets/src/api/hook/useMediaQuery.tsx new file mode 100644 index 0000000..64f4bea --- /dev/null +++ b/assets/src/api/hook/useMediaQuery.tsx @@ -0,0 +1,131 @@ +import { fetcherWithQueryString } from '@rankyMedia/helpers/fetch'; +import { useInfiniteQuery, useQueryClient } from 'react-query'; +import { Media, MediaQueryType, MediaResultType } from '@rankyMedia/types/Media'; +import useMediaRepository from '@rankyMedia/api/hook/useMediaRepository'; + +const useMediaQuery = () => { + const queryClient = useQueryClient(); + const mediaRepository = useMediaRepository(); + + const useList = () => { + return useInfiniteQuery( + ['media', 'list'], + ({ pageParam = 1 }) => fetcherWithQueryString(mediaRepository.getRoutes().all, pageParam || 1), + { + getNextPageParam: (lastPage): number => { + const currentPage = lastPage.pagination.page; + return currentPage < lastPage.pagination.pages ? currentPage + 1 : null; + }, + + }, + ); + }; + + function list() { + return queryClient.getQueryData(['media', 'list']); + } + + function size() { + const data = list(); + return data.pages.map((page) => { + return page.result.length; + }).reduce((a, b) => a + b); + } + + function all() { + const data = list(); + return data.pages.map((page) => { + return page.result; + }).flat(); + } + + function find(id: string) { + const data = list(); + return data?.pages.reduce((prev, page) => { + return page.result.find((media) => media.id === id) || prev; + }, { } as Media); + } + + function findIndex(id: string) { + const data = list(); + let indexMedia = { page: 0, index: 0 }; + data?.pages.forEach((page, index) => { + const hasIndex = page.result.findIndex((media) => media.id === id); + if (hasIndex > -1) { + indexMedia = { page: index, index: hasIndex }; + } + }); + + return indexMedia; + } + + function add(currentMedia: Media) { + return queryClient.setQueryData(['media', 'list'], (prevData) => { + return { + ...prevData, + pages: prevData.pages.map((page, index) => { + if (index === 0) { + const result = page.result.slice(); + result.unshift(currentMedia); + return { + result, + pagination: page.pagination, + }; + } + + return page; + }), + }; + }); + } + + function update(currentMedia: Media) { + return queryClient.setQueryData(['media', 'list'], (prevData) => { + return { + ...prevData, + pages: prevData.pages.map((page) => { + return { + result: page.result.map((media) => (media.id === currentMedia.id ? currentMedia : media)), + pagination: page.pagination, + }; + }), + }; + }); + } + + function reset(data: MediaResultType) { + return queryClient.setQueryData(['media', 'list'], { + pages: [data], + pageParams: [], + }); + } + + function remove(currentMedia: Media) { + return queryClient.setQueryData(['media', 'list'], (prevData) => { + return { + ...prevData, + pages: prevData.pages.map((page) => { + return { + result: page.result.filter((media) => media.id !== currentMedia.id), + pagination: page.pagination, + }; + }), + }; + }); + } + + return { + useList, + list, + size, + add, + all, + update, + find, + findIndex, + reset, + remove, + }; +}; + +export default useMediaQuery; diff --git a/assets/src/api/hook/useMediaRepository.tsx b/assets/src/api/hook/useMediaRepository.tsx new file mode 100644 index 0000000..ccf1e5c --- /dev/null +++ b/assets/src/api/hook/useMediaRepository.tsx @@ -0,0 +1,8 @@ +import { useContext } from 'react'; +import MediaContext from '@rankyMedia/context/MediaContext'; + +const useMediaRepository = () => { + return useContext(MediaContext).mediaRepository; +}; + +export default useMediaRepository; diff --git a/assets/src/api/hook/useSettings.tsx b/assets/src/api/hook/useSettings.tsx new file mode 100644 index 0000000..ccb4df5 --- /dev/null +++ b/assets/src/api/hook/useSettings.tsx @@ -0,0 +1,7 @@ +import { useContext } from 'react'; +import MediaContext from '@rankyMedia/context/MediaContext'; + +const UseSettings = () => { + return useContext(MediaContext).settings; +}; +export default UseSettings; diff --git a/assets/src/api/hook/useTranslator.tsx b/assets/src/api/hook/useTranslator.tsx new file mode 100644 index 0000000..6b49e11 --- /dev/null +++ b/assets/src/api/hook/useTranslator.tsx @@ -0,0 +1,8 @@ +import { useContext } from 'react'; +import MediaContext from '@rankyMedia/context/MediaContext'; +import Translator from '../model/Translator'; + +const UseTranslator = () => { + return useContext(MediaContext).translator as Translator; +}; +export default UseTranslator; diff --git a/assets/src/api/model/ApiProblemError.ts b/assets/src/api/model/ApiProblemError.ts new file mode 100644 index 0000000..f23b06a --- /dev/null +++ b/assets/src/api/model/ApiProblemError.ts @@ -0,0 +1,48 @@ +/** + * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error#differentiate_between_similar_errors + * + */ +export default class ApiProblemError extends Error { + public status: number; + + public stack?: string; + + public type?: string = null; + + public data?: object = null; + + public details?: Array = []; + + public causes?: Array<{ name: string, reason: string }> = []; + + constructor(message: string, status?: number, options?: ErrorOptions) { + super(message, options); + this.status = status || 400; // bad request + this.name = this.constructor.name; + if (Error.captureStackTrace) { + Error.captureStackTrace(this, ApiProblemError); + } + } + + public hasCauses(): boolean { + return this.causes.length > 0; + } + + public causesToHtml(): string { + const list = this.causes.map((cause) => { + return `
  • ${cause.name}: ${cause.reason}
  • `; + }); + + return `
      ${list.join('')}
    `; + } + + public static fromApiProblem(apiProblem: ApiProblem): ApiProblemError { + const self = new ApiProblemError(apiProblem.title); + self.status = apiProblem.status; + self.type = apiProblem?.type; + self.details = apiProblem?.details || []; + self.causes = apiProblem?.causes || []; + + return self; + } +} diff --git a/assets/src/api/model/Settings.ts b/assets/src/api/model/Settings.ts new file mode 100644 index 0000000..b49e05d --- /dev/null +++ b/assets/src/api/model/Settings.ts @@ -0,0 +1,130 @@ +import { ConfigResponseType } from '@rankyMedia/types/Config'; + +class Settings { + private static instance: Settings; + + private _title: string | null = null; + + private _targetRef: HTMLElement | null = null; + + private _selectionMode: boolean = false; + + private _multipleSelection: boolean = false; + + private _apiPrefix: string; + + private _assetsPrefixUrl: string = process.env.ASSETS_URL_PREFIX; + + private _mimeTypes!: string[]; + + private _supportedImageTypes: string[]; + + private _placeholderImageTypes: Record; + + private _maxFileSize!: number | null; + + private _paginationLimit: number; + + private _locale: string = 'en'; + + private _uploadUrl!: string; + + private constructor() { + } + + public static getInstance(): Settings { + if (!Settings.instance) { + Settings.instance = new Settings(); + } + + return Settings.instance; + } + + get targetRef(): HTMLElement | null { + return this._targetRef; + } + + static set targetRef(targetRef: HTMLElement | null) { + Settings.getInstance()._targetRef = targetRef; + } + + get title(): string | null { + return this._title; + } + + static set title(title: string) { + Settings.getInstance()._title = title; + } + + get isSelectionMode(): boolean { + return this._selectionMode; + } + + static set selectionMode(selectionMode: boolean) { + Settings.getInstance()._selectionMode = selectionMode; + } + + get isMultipleSelection(): boolean { + return this._multipleSelection; + } + + static set multipleSelection(multipleSelection: boolean) { + Settings.getInstance()._multipleSelection = multipleSelection; + } + + static set apiPrefix(apiPrefix: string) { + Settings.getInstance()._apiPrefix = apiPrefix; + } + + get apiPrefix(): string { + return this._apiPrefix; + } + + get locale(): string { + return this._locale; + } + + get supportedImageTypes(): string[] { + return this._supportedImageTypes; + } + + get placeholderImageTypes(): Record { + return this._placeholderImageTypes; + } + + get paginationLimit(): number { + return this._paginationLimit; + } + + get uploadUrl(): string { + return this._uploadUrl; + } + + get assetsPrefixUrl(): string { + return this._assetsPrefixUrl; + } + + get maxFileSize(): number | null { + return this._maxFileSize; + } + + get mimeTypes(): string[] { + return this._mimeTypes; + } + + public static fromApi(apiData: ConfigResponseType): Settings { + const settings = new Settings(); + settings._maxFileSize = apiData.config?.max_file_size || null; + settings._mimeTypes = apiData.config?.mime_types || []; + settings._uploadUrl = apiData.config.upload_url; + settings._locale = apiData.config.locale; + settings._supportedImageTypes = apiData.config?.supported_image_types || []; + settings._placeholderImageTypes = apiData.config?.placeholder_image_types || {}; + settings._paginationLimit = apiData.config.pagination_limit; + Settings.instance = settings; + + return Settings.instance; + } +} + +export default Settings; diff --git a/assets/src/api/model/Translator.ts b/assets/src/api/model/Translator.ts new file mode 100644 index 0000000..aad5ab6 --- /dev/null +++ b/assets/src/api/model/Translator.ts @@ -0,0 +1,47 @@ +import { ConfigResponseType } from '@rankyMedia/types/Config'; +import { TranslationsType } from '@rankyMedia/types/Translations'; + +class Translator { + private static instance: Translator; + + private _translations: TranslationsType; + + private constructor() { + } + + public static getInstance(): Translator { + if (!Translator.instance) { + Translator.instance = new Translator(); + } + + return Translator.instance; + } + + get translations(): TranslationsType { + return this._translations; + } + + public trans(message: LiteralUnion, data: null | object = null): string { + if (!Object.prototype.hasOwnProperty.call(this._translations, message)) { + return message; + } + let translatedMessage = this._translations[message]; + + if (data) { + Object.keys(data).forEach((key) => { + translatedMessage = translatedMessage.replace(`{${key}}`, data[key]); + }); + } + return translatedMessage; + } + + public static fromApi(apiData: ConfigResponseType): Translator { + const translator = new Translator(); + translator._translations = apiData.translations; + Translator.instance = translator; + + return Translator.instance; + } +} + +export default Translator; diff --git a/assets/src/api/repository/BaseRepository.ts b/assets/src/api/repository/BaseRepository.ts new file mode 100644 index 0000000..4d32e3e --- /dev/null +++ b/assets/src/api/repository/BaseRepository.ts @@ -0,0 +1,55 @@ +import payloadTransform from '@rankyMedia/helpers/payload'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; + +export type FetcherProps = { + data: T, + error: null | ApiProblemError +}; + +export default class BaseRepository { + public static readonly defaultHeaders = { + 'X-Requested-With': 'XMLHttpRequest', // Required by Symfony + 'Content-Type': 'application/json', + }; + + // eslint-disable-next-line class-methods-use-this + protected async fetcher( + url: string, + method = 'GET', + payload: null | FormData | URLSearchParams | object = null, + headers = {}, + ): Promise> { + let error = null; + const options = { + method, + credentials: 'same-origin', + headers: new Headers({ ...BaseRepository.defaultHeaders, ...headers }), + } as RequestInit; + let finalUrl = url; + + if (payload instanceof URLSearchParams) { + finalUrl += finalUrl.indexOf('?') >= 0 ? '&' : '?'; + finalUrl += payload.toString(); + } else if (payload instanceof FormData || payload instanceof Object) { + options.body = await payloadTransform(payload); + } + + const response = await fetch(finalUrl, options); + const data = await response.json(); + + if (!response.ok) { + if (!data?.title) { + const message = `Error ${response.status}: ${response.statusText} when fetch ${url}`; + error = new ApiProblemError(message); + error.data = data; + error.status = response.status; + } else { + error = ApiProblemError.fromApiProblem(data); + } + } + return { + data, + error, + }; + } +} diff --git a/assets/src/api/repository/MediaRepository.ts b/assets/src/api/repository/MediaRepository.ts new file mode 100644 index 0000000..5619b34 --- /dev/null +++ b/assets/src/api/repository/MediaRepository.ts @@ -0,0 +1,62 @@ +import BaseRepository from '@rankyMedia/api/repository/BaseRepository'; + +export default class MediaRepository extends BaseRepository { + constructor(public readonly apiPrefix: null | string) { + super(); + } + + public getRoutes() { + return { + config: `${this.apiPrefix}/ranky/media/config`, + filters: `${this.apiPrefix}/ranky/media/filters`, + all: `${this.apiPrefix}/ranky/media`, + upload: `${this.apiPrefix}/ranky/media`, + filter: (queryString: string) => `${this.apiPrefix}/ranky/media${queryString}`, + get: (id: string) => `${this.apiPrefix}/ranky/media/${id}`, + delete: (id: string) => `${this.apiPrefix}/ranky/media/${id}`, + update: (id: string) => `${this.apiPrefix}/ranky/media/${id}`, + }; + } + + public static create(apiPrefix = '') { + return new MediaRepository(apiPrefix); + } + + async get(id: string) { + return this.fetcher(this.getRoutes().get(id), 'GET'); + } + + async filter(queryString: string) { + return this.fetcher(this.getRoutes().filter(queryString), 'GET'); + } + + async filters() { + return this.fetcher(this.getRoutes().filters, 'GET'); + } + + async all() { + return this.fetcher(this.getRoutes().all, 'GET'); + } + + async delete(id: string) { + return this.fetcher(this.getRoutes().delete(id), 'DELETE'); + } + + async post(data: object | FormData | null) { + return this.fetcher(this.getRoutes().upload, 'POST', data); + } + + async put(id: string, data: object | FormData | null) { + return this.fetcher(this.getRoutes().update(id), 'PUT', data); + } + + async bulkDelete(items: string[]) { + const response = await Promise.all(items.map((id) => this.delete<{ message: string }>(id))); + const data = response.reduce((obj, item) => Object.assign(obj, item?.data), {}); + const error = response.filter((item) => item.error).map((item) => item.error)[0] || null; + return { + data, + error, + }; + } +} diff --git a/assets/src/components/Common/Asset.tsx b/assets/src/components/Common/Asset.tsx new file mode 100644 index 0000000..ca81087 --- /dev/null +++ b/assets/src/components/Common/Asset.tsx @@ -0,0 +1,17 @@ +import useSettings from '@rankyMedia/api/hook/useSettings'; + +type AssetType = { + (url: string, isUploadedFile?: boolean): string; +}; + +const Asset: AssetType = (url, isUploadedFile = false) => { + const settings = useSettings(); + + if (isUploadedFile) { + return url; + } + + return `${settings.assetsPrefixUrl}${url}`; +}; + +export default Asset; diff --git a/assets/src/components/Common/Buttons/UploadFloatingButton.tsx b/assets/src/components/Common/Buttons/UploadFloatingButton.tsx new file mode 100644 index 0000000..bc24b49 --- /dev/null +++ b/assets/src/components/Common/Buttons/UploadFloatingButton.tsx @@ -0,0 +1,46 @@ +import React, { useEffect, useRef } from 'react'; +import './upload_floating_button.scss'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import appConfig from '@rankyMedia/config'; + +type Props = { + onClick: () => void +}; + +const UploadFloatingButton: React.FC = ({ onClick }): React.ReactElement => { + const translator = useTranslator(); + const buttonRef = useRef(); + + useEffect(() => { + // position always bottom right + const elementScroll = document.querySelector(appConfig.root_class); + elementScroll.addEventListener('scroll', () => { + if (buttonRef.current) { + buttonRef.current.style.bottom = `${(-elementScroll.scrollTop + 20)}px`; + } + }); + }, []); + + return ( +
    + +
    + ); +}; + +export default UploadFloatingButton; diff --git a/assets/src/components/Common/Buttons/upload_floating_button.scss b/assets/src/components/Common/Buttons/upload_floating_button.scss new file mode 100644 index 0000000..beb26be --- /dev/null +++ b/assets/src/components/Common/Buttons/upload_floating_button.scss @@ -0,0 +1,18 @@ +@import "../../../styles/variables"; + +.#{$ranky-media-class} { + &__upload-floating-button { + position: absolute; + bottom: 20px; + right: 20px; + z-index: 2; + button { + width: auto !important; + background: none !important; + padding: 0; + &:hover,&:focus{ + box-shadow: none !important; + } + } + } +} diff --git a/assets/src/components/Common/Error.tsx b/assets/src/components/Common/Error.tsx new file mode 100644 index 0000000..eda39b7 --- /dev/null +++ b/assets/src/components/Common/Error.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; +import appConfig from '@rankyMedia/config'; +import '@rankyMedia/styles/error.scss'; + +const Error = ({ error }: { error: ApiProblemError }): React.ReactElement => { + return ( +
    +

    ❌ Error {error?.status || ''}

    +

    {error.message}

    + {error?.hasCauses() + && (` +
      + ${error.causes.map((cause) => `
    • ${cause.name}: ${cause.reason}
    • `)} +
    + `)} + {error?.stack + && (
    {error.stack}
    )} +
    + ); +}; + +export default Error; diff --git a/assets/src/components/Common/Loader/Loader.tsx b/assets/src/components/Common/Loader/Loader.tsx new file mode 100644 index 0000000..81efaec --- /dev/null +++ b/assets/src/components/Common/Loader/Loader.tsx @@ -0,0 +1,7 @@ +import './loader.scss'; +import React, { CSSProperties } from 'react'; + +function Loader({ style = { } }: { style?: CSSProperties }) { + return (
    ); +} +export default Loader; diff --git a/assets/src/components/Common/Loader/loader.scss b/assets/src/components/Common/Loader/loader.scss new file mode 100644 index 0000000..68a965b --- /dev/null +++ b/assets/src/components/Common/Loader/loader.scss @@ -0,0 +1,86 @@ +@import "../../../styles/variables"; + +.#{$ranky-media-class},.ranky-media-form-type { + + &__items { + #page-loader { + width: 100%; + height: 100vh; + + &.show { + transform: translateY(65px); + } + } + } + + #page-loader { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + background-color: #3e578d; + opacity: 0.9; + z-index: 999; + transform: translateY(-100%); + + &.show { + transform: translateY(0); + } + + &::after, + &::before { + position: absolute; + top: 50%; + left: 50%; + display: block; + border-radius: 100%; + content: ''; + z-index: 999; + } + + &::after { + margin-top: -160px; + margin-left: -160px; + width: 320px; + height: 320px; + background-color: rgba(#fff, .5); + border: 4px solid rgba(#fff, .75); + box-shadow: 0 0 100px rgba(#000, .15); + animation: page-loader-inner 1.25s infinite ease-out; + } + + &::before { + margin-top: -40px; + margin-left: -40px; + width: 80px; + height: 80px; + background-color: rgba(#fff, 1); + animation: page-loader-outer 1.25s infinite ease-in; + } + } + + + @keyframes page-loader-inner { + 0%, 40% { + transform: scale(0); + } + + 100% { + transform: scale(1); + opacity: 0; + } + } + + @keyframes page-loader-outer { + 0% { + transform: scale(1); + } + + 40%, 100% { + transform: scale(0); + opacity: 0; + } + } + +} diff --git a/assets/src/components/Common/Pagination.tsx b/assets/src/components/Common/Pagination.tsx new file mode 100644 index 0000000..d2fc093 --- /dev/null +++ b/assets/src/components/Common/Pagination.tsx @@ -0,0 +1,37 @@ +import React from 'react'; +import Trans from '@rankyMedia/components/Common/Trans'; +import { MediaQueryType } from '@rankyMedia/types/Media'; +import useMediaQuery from '@rankyMedia/api/hook/useMediaQuery'; + +type Props = { + data: MediaQueryType; + hasNextPage: boolean; + isFetchingNextPage: boolean; + loadMore: () => void +}; + +const Pagination: React.FC = ({ + data, loadMore, hasNextPage, isFetchingNextPage, +}): React.ReactElement => { + const mediaQuery = useMediaQuery(); + const size = mediaQuery.size(); + const { total } = data.pages[0].pagination; + + return ( +
    +

    + +

    + +
    + ); +}; + +export default Pagination; diff --git a/assets/src/components/Common/Trans.tsx b/assets/src/components/Common/Trans.tsx new file mode 100644 index 0000000..d925dd1 --- /dev/null +++ b/assets/src/components/Common/Trans.tsx @@ -0,0 +1,22 @@ +import React from 'react'; +// import parse from 'html-react-parser'; // 26.8 kB +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import { TranslationsType } from '@rankyMedia/types/Translations'; + +type TransType = { + message: keyof TranslationsType; + data?: object; +}; +const Trans = ({ message, data = null }: TransType): React.ReactElement => { + const translator = useTranslator(); + const translatedMessage = translator.trans(message, data); + const hasHTML = /<[a-z][\s\S]*>/i.test(translatedMessage); + + return (hasHTML + // eslint-disable-next-line react/no-danger + ? + : translatedMessage + ) as React.ReactElement; +}; + +export default Trans; diff --git a/assets/src/components/Dropzone/Dropzone.tsx b/assets/src/components/Dropzone/Dropzone.tsx new file mode 100644 index 0000000..3d6cf2e --- /dev/null +++ b/assets/src/components/Dropzone/Dropzone.tsx @@ -0,0 +1,37 @@ +import React, { useState } from 'react'; +import Trans from '@rankyMedia/components/Common/Trans'; +import UploadFloatingButton from '@rankyMedia/components/Common/Buttons/UploadFloatingButton'; +import UppyModalDashboard from '@rankyMedia/components/Dropzone/UppyModalDashboard'; + +const Dropzone: React.FC = (): React.ReactElement => { + const [showUppyModal, setShowUppyModal] = useState(false); + return ( + <> + setShowUppyModal(true)} /> +
    +

    + + + + + + + +

    +
    + + + ); +}; + +export default Dropzone; diff --git a/assets/src/components/Dropzone/UppyModalDashboard.tsx b/assets/src/components/Dropzone/UppyModalDashboard.tsx new file mode 100644 index 0000000..1fe9ddb --- /dev/null +++ b/assets/src/components/Dropzone/UppyModalDashboard.tsx @@ -0,0 +1,153 @@ +import React, { useEffect } from 'react'; +import { DashboardModal, useUppy as useUppyReact } from '@uppy/react'; +import Uppy from '@uppy/core'; +import '@uppy/core/dist/style.css'; +import '@uppy/dashboard/dist/style.css'; +import '@uppy/drop-target/dist/style.css'; +import './dropzone.scss'; +import appConfig from '@rankyMedia/config'; +import XHRUpload from '@uppy/xhr-upload'; +import { errorAlert } from '@rankyMedia/helpers/swal'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; +import DropTarget from '@uppy/drop-target'; +import addScript from '@rankyMedia/helpers/script'; +import useSettings from '@rankyMedia/api/hook/useSettings'; +import useMediaRepository from '@rankyMedia/api/hook/useMediaRepository'; +import { useQueryClient } from 'react-query'; + +type PropsType = { + showUppyModal: boolean; + setShowUppyModal: (show: boolean) => void; +}; + +const UppyModalDashboard: React.FC = ({ showUppyModal, setShowUppyModal }): React.ReactElement => { + const settings = useSettings(); + const mediaRepository = useMediaRepository(); + const queryClient = useQueryClient(); + + const uppy = useUppyReact(() => { + const uppyInstance = new Uppy({ + autoProceed: false, + allowMultipleUploadBatches: true, + debug: appConfig.env === 'development', + restrictions: { + maxFileSize: settings.maxFileSize || 7340032, // 7 MB + allowedFileTypes: settings.mimeTypes.length ? settings.mimeTypes : null, + }, + onBeforeFileAdded: () => { + if (!showUppyModal) { + setShowUppyModal(true); + } + return true; + }, + }); + + uppyInstance.use(XHRUpload, { + id: 'XHRUpload', + endpoint: mediaRepository.getRoutes().upload, + // metaFields: null, // null is all metadata fields, + timeout: 90 * 1000, + headers: { + 'X-Requested-With': 'XMLHttpRequest', + }, + }); + // TODO: add tus upload, caption, title metadata, image editor, unsplash, audio, webcam, url, Golden Retriever + uppyInstance.on('file-added', (file) => { + uppyInstance.setFileMeta(file.id, { + size: file.size, + }); + }); + uppyInstance.on('restriction-failed', (file, error) => { + return errorAlert(new ApiProblemError(`${file.name}: ${error}`)); + }); + uppyInstance.on('upload-error', (_file, error, response) => { + const apiProblemError = (response.body as ApiProblem).title !== undefined + ? ApiProblemError.fromApiProblem(response.body as ApiProblem) + : new ApiProblemError(error as unknown as string, response.status); + + return errorAlert(apiProblemError); + }); + // eslint-disable-next-line @typescript-eslint/no-unused-vars + uppyInstance.on('upload-success', async (_file, _response) => { + // const media = response.body; + await queryClient.invalidateQueries('filters'); + await queryClient.invalidateQueries(['media', 'list']); + }); + + return uppyInstance; + }); + + useEffect(() => { + if (uppy.getPlugin('DropTarget')) { + return; + } + uppy.use(DropTarget, { + id: 'DropTarget', + target: appConfig.root_class, + onDragOver: () => { + document + .querySelector('.dropzone-drag-zone') + ?.setAttribute('style', 'visibility:visible;opacity:1'); + }, + onDrop: () => { + document + .querySelector('.dropzone-drag-zone') + ?.removeAttribute('style'); + }, + onDragLeave: (event) => { + const target = event.target as HTMLDivElement; + if (target.classList.contains('dropzone-drag-zone')) { + document + .querySelector('.dropzone-drag-zone') + ?.removeAttribute('style'); + } + }, + }); + + window.uppy = uppy; + const { locale } = settings; + let isoCode = locale; + if (isoCode.indexOf('_') < 0) { + const pattern = new RegExp(`${isoCode.toLocaleLowerCase()}_`, 'g'); + isoCode = appConfig.uppy_locales.find((uppyLocale) => uppyLocale.match(pattern)); + } + if (!isoCode) { + isoCode = 'en_US'; + console.error(`There are no translations for the locale ${locale}. The en_US default translation pack has been loaded.`); + } + + if (typeof window.Uppy === 'undefined') { + window.Uppy = { + locales: {}, + }; + } + + async function addLocaleScript() { + const localePath = `${appConfig.assets_url_prefix}uppy/locales/`; + await addScript(`${localePath}${isoCode}.min.js`, () => { + window.uppy.setOptions({ locale: window.Uppy.locales[isoCode] }); + }); + } + + if (typeof window.Uppy.locales[isoCode] === 'undefined') { + addLocaleScript(); + } else { + window.uppy.setOptions({ locale: window.Uppy.locales[isoCode] }); + } + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + // return () => uppy.close({ reason: 'unmount' }); + }, [uppy, settings]); + return ( + setShowUppyModal(false)} + /> + ); +}; + +export default UppyModalDashboard; diff --git a/assets/src/components/Dropzone/dropzone.scss b/assets/src/components/Dropzone/dropzone.scss new file mode 100644 index 0000000..2339618 --- /dev/null +++ b/assets/src/components/Dropzone/dropzone.scss @@ -0,0 +1,46 @@ +@import "../../styles/variables"; + +.uppy-is-drag-over::after { + border: none; + background: transparent; + visibility: hidden; +} + +.#{$ranky-media-class} { + .dropzone-drag-zone { + visibility: hidden; + opacity: 0; + width: 100%; + height: 100%; + background: $dropzone-background-color; + z-index: 3; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + border: 5px dashed $dropzone-border-color; + + p { + span { + width: 50px; + height: 50px; + display: block; + text-align: center; + margin: 0 auto 7px; + + svg { + fill: white; + } + } + + text-align: center; + position: relative; + top: 50%; + transform: translateY(-50%); + font-size: 20px; + font-weight: 600; + color: white; + } + } +} diff --git a/assets/src/components/Form/Filters/ButtonRadioFilter.tsx b/assets/src/components/Form/Filters/ButtonRadioFilter.tsx new file mode 100644 index 0000000..bec5fcf --- /dev/null +++ b/assets/src/components/Form/Filters/ButtonRadioFilter.tsx @@ -0,0 +1,41 @@ +import React from 'react'; + +type ButtonRadioFilterType = { + name: string; + value: string; + checkedValue: string; + label: string; + type: string; + icon: React.ReactElement; +}; + +const ButtonRadioFilter: React.FC = ({ + name, value, checkedValue = false, label, type, icon, +}): React.ReactElement => { + return ( +
    + +
    + ); +}; + +export default ButtonRadioFilter; diff --git a/assets/src/components/Form/Filters/FormFilters.tsx b/assets/src/components/Form/Filters/FormFilters.tsx new file mode 100644 index 0000000..7ecd065 --- /dev/null +++ b/assets/src/components/Form/Filters/FormFilters.tsx @@ -0,0 +1,112 @@ +import React, { useEffect, useRef, useState } from 'react'; +import SelectFilter from '@rankyMedia/components/Form/Filters/SelectFilter'; +import FilterOperator from '@rankyMedia/types/FilterOperator'; +import InputSearchFilter from '@rankyMedia/components/Form/Filters/InputSearchFilter'; +import LayoutFilter from '@rankyMedia/components/Form/Filters/LayoutFilter'; +import SortFilter from '@rankyMedia/components/Form/Filters/SortFilter'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import useFilters from '@rankyMedia/api/hook/useFilters'; +import Loader from '@rankyMedia/components/Common/Loader/Loader'; +import Error from '@rankyMedia/components/Common/Error'; +import { loadingState, pageLayoutState } from '@rankyMedia/states/state'; +import { LayoutFormView, LayoutFormViewType } from '@rankyMedia/types/PageLayout'; +import { useAtom, useSetAtom } from 'jotai'; +import { useQueryClient } from 'react-query'; + +const FormFilters = (): React.ReactElement => { + const translator = useTranslator(); + const timeoutSearchFilterIdRef = useRef | null>(null); + const { data: filters, error, isLoading } = useFilters(); + const queryClient = useQueryClient(); + const setIsGlobalLoading = useSetAtom(loadingState); + const [pageLayout, setPageLayout] = useAtom(pageLayoutState); + const formWrapperRef = useRef(null); + const [refVisible, setRefVisible] = useState(false); + + useEffect(() => { + if (refVisible) { + if (formWrapperRef.current && formWrapperRef.current.clientWidth < 990) { + if (formWrapperRef.current.querySelector('.view-filter')) { + formWrapperRef.current.querySelector('.view-filter').style.margin = 'auto'; + } + if (formWrapperRef.current.querySelector('.sort-filter')) { + formWrapperRef.current.querySelector('.sort-filter').style.margin = 'auto'; + } + } + } + }, [refVisible]); + + if (isLoading) { + return (); + } + + if (error) { + return ( + + ); + } + + const onChange = (event: React.FormEvent) => { + // event.preventDefault(); + setIsGlobalLoading(true); + const delayIsSearchFilter = (event.target as HTMLFormElement).type === 'search' ? 500 : 0; + + if (timeoutSearchFilterIdRef.current) { + clearTimeout(timeoutSearchFilterIdRef.current); + } + if ((event.target as HTMLFormElement).name === 'view') { + setPageLayout((event.target as HTMLFormElement).value as LayoutFormViewType); + setIsGlobalLoading(false); + return; + } + + timeoutSearchFilterIdRef.current = setTimeout(async () => { + await queryClient.refetchQueries(['media', 'list']); + setIsGlobalLoading(false); + }, delayIsSearchFilter); + }; + + return ( +
    { + formWrapperRef.current = el; + setRefVisible(!!el); + }} + > +
    + ); +}; + +export default FormFilters; diff --git a/assets/src/components/Form/Filters/InputSearchFilter.tsx b/assets/src/components/Form/Filters/InputSearchFilter.tsx new file mode 100644 index 0000000..3cd6f06 --- /dev/null +++ b/assets/src/components/Form/Filters/InputSearchFilter.tsx @@ -0,0 +1,23 @@ +import React from 'react'; +import FilterOperator from '@rankyMedia/types/FilterOperator'; + +type InputSearchFilterType = { + name: string; + placeholder: string; +}; + +const InputSearchFilter: React.FC = ({ name, placeholder }): React.ReactElement => { + return ( +
    + +
    + ); +}; + +export default InputSearchFilter; diff --git a/assets/src/components/Form/Filters/LayoutFilter.tsx b/assets/src/components/Form/Filters/LayoutFilter.tsx new file mode 100644 index 0000000..4697a00 --- /dev/null +++ b/assets/src/components/Form/Filters/LayoutFilter.tsx @@ -0,0 +1,70 @@ +import React from 'react'; +import ButtonRadioFilter from '@rankyMedia/components/Form/Filters/ButtonRadioFilter'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import { LayoutFormView } from '@rankyMedia/types/PageLayout'; +import { pageLayoutState } from '@rankyMedia/states/state'; +import { useAtomValue } from 'jotai'; + +const LayoutFilter: React.FC = (): React.ReactElement => { + const translator = useTranslator(); + const pageLayout = useAtomValue(pageLayoutState); + + const GridIcon = ( + + + + ); + + const ListIcon = ( + + + + + + ); + + return ( +
    + + +
    + ); +}; + +export default LayoutFilter; diff --git a/assets/src/components/Form/Filters/SelectFilter.tsx b/assets/src/components/Form/Filters/SelectFilter.tsx new file mode 100644 index 0000000..ca42900 --- /dev/null +++ b/assets/src/components/Form/Filters/SelectFilter.tsx @@ -0,0 +1,31 @@ +import React from 'react'; +import FilterOperator from '@rankyMedia/types/FilterOperator'; +import { Filter } from '@rankyMedia/types/Filters'; + +type SelectFilterType = { + name: string; + operator: FilterOperator; + data: Filter[]; + defaultOption?: { value: string, label: string }; +}; + +const SelectFilter = ({ + name, operator, data, defaultOption = { value: 'all', label: 'Todos los tipos' }, +}: SelectFilterType): React.ReactElement => { + return ( +
    + +
    + ); +}; + +/* SelectFilter.defaultProps = { + defaultOption: { value: 'all', label: 'Todos los tipos' }, +}; */ + +export default SelectFilter; diff --git a/assets/src/components/Form/Filters/SortFilter.tsx b/assets/src/components/Form/Filters/SortFilter.tsx new file mode 100644 index 0000000..94b8e33 --- /dev/null +++ b/assets/src/components/Form/Filters/SortFilter.tsx @@ -0,0 +1,65 @@ +import React, { useState } from 'react'; +import ButtonRadioFilter from '@rankyMedia/components/Form/Filters/ButtonRadioFilter'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; + +const SortFilter: React.FC = (): React.ReactElement => { + const translator = useTranslator(); + const DescIcon = ( + + + + ); + + const AscIcon = ( + + + + ); + + const [sortFilter, setSortFilter] = useState('DESC'); + + function onChangeFilter(event: React.ChangeEvent) { + setSortFilter(event.target.value); + } + + return ( +
    + + +
    + ); +}; + +export default SortFilter; diff --git a/assets/src/components/Layout/MimeList/Application.tsx b/assets/src/components/Layout/MimeList/Application.tsx new file mode 100644 index 0000000..eeeb5f2 --- /dev/null +++ b/assets/src/components/Layout/MimeList/Application.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Application: React.FC = ({ media }): React.ReactElement => { + return ( + + ); +}; + +export default Application; diff --git a/assets/src/components/Layout/MimeList/Audio.tsx b/assets/src/components/Layout/MimeList/Audio.tsx new file mode 100644 index 0000000..4497fd9 --- /dev/null +++ b/assets/src/components/Layout/MimeList/Audio.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Audio: React.FC = ({ media }): React.ReactElement => { + return ( + + ); +}; + +export default Audio; diff --git a/assets/src/components/Layout/MimeList/Image.tsx b/assets/src/components/Layout/MimeList/Image.tsx new file mode 100644 index 0000000..b6bba3b --- /dev/null +++ b/assets/src/components/Layout/MimeList/Image.tsx @@ -0,0 +1,60 @@ +import React from 'react'; +import { MediaItem, Thumbnail } from '@rankyMedia/types/Media'; +import useSettings from '@rankyMedia/api/hook/useSettings'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Image: React.FC = ({ media }): React.ReactElement => { + const settings = useSettings(); + + if (Object.keys(settings.placeholderImageTypes).includes(media.file.mimeSubType)) { + return ( + + ); + } + + if (!settings.supportedImageTypes.includes(media.file.mimeSubType)) { + return ( + + ); + } + + const minWidthThumbnail = media?.thumbnails.reduce((prev: Thumbnail, current: Thumbnail) => { + if (prev === null) { + return current; + } + return prev.dimension.width < current.dimension.width ? prev : current; + }, null) ?? media; + + return ( + + ); +}; + +export default Image; diff --git a/assets/src/components/Layout/MimeList/MimeList.tsx b/assets/src/components/Layout/MimeList/MimeList.tsx new file mode 100644 index 0000000..064a4fe --- /dev/null +++ b/assets/src/components/Layout/MimeList/MimeList.tsx @@ -0,0 +1,25 @@ +import React from 'react'; +import Application from '@rankyMedia/components/Layout/MimeList/Application'; +import Text from '@rankyMedia/components/Layout/MimeList/Text'; +import Audio from '@rankyMedia/components/Layout/MimeList/Audio'; +import Image from '@rankyMedia/components/Layout/MimeList/Image'; +import Video from '@rankyMedia/components/Layout/MimeList/Video'; +import { MediaItem } from '@rankyMedia/types/Media'; + +const mimes = { + application: Application, + audio: Audio, + image: Image, + video: Video, + text: Text, +}; + +const MimeList: React.FC = ({ media }): React.ReactElement => { + const templateSubType = `${media.file.mimeType}_${media.file.mimeSubType}`; + const templateType = media.file.mimeType; + const MimeComponent: React.FC = mimes[templateSubType] || mimes[templateType] || mimes.application; + + return ; +}; + +export default MimeList; diff --git a/assets/src/components/Layout/MimeList/Text.tsx b/assets/src/components/Layout/MimeList/Text.tsx new file mode 100644 index 0000000..22d9e2e --- /dev/null +++ b/assets/src/components/Layout/MimeList/Text.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Text: React.FC = ({ media }): React.ReactElement => { + return ( + + ); +}; + +export default Text; diff --git a/assets/src/components/Layout/MimeList/Video.tsx b/assets/src/components/Layout/MimeList/Video.tsx new file mode 100644 index 0000000..c3afa9a --- /dev/null +++ b/assets/src/components/Layout/MimeList/Video.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Video: React.FC = ({ media }): React.ReactElement => { + return ( + + ); +}; + +export default Video; diff --git a/assets/src/components/Layout/PageGridLayout.tsx b/assets/src/components/Layout/PageGridLayout.tsx new file mode 100644 index 0000000..7cda69b --- /dev/null +++ b/assets/src/components/Layout/PageGridLayout.tsx @@ -0,0 +1,34 @@ +import React from 'react'; +import MimeList from '@rankyMedia/components/Layout/MimeList/MimeList'; +import { PageLayoutProps } from '@rankyMedia/types/PageLayout'; + +const PageGridLayout: React.FC = ({ pages, openModalFile }): React.ReactElement => { + return ( +
      + {pages && pages.map((page) => { + return page.result.map((media) => { + return ( +
    • +
      openModalFile(media.id)} + onKeyDown={() => openModalFile(media.id)} + > + +
      +
    • + ); + }); + })} +
    + ); +}; + +export default PageGridLayout; diff --git a/assets/src/components/Layout/PageListLayout.tsx b/assets/src/components/Layout/PageListLayout.tsx new file mode 100644 index 0000000..ec4a6c6 --- /dev/null +++ b/assets/src/components/Layout/PageListLayout.tsx @@ -0,0 +1,168 @@ +import React, { useState } from 'react'; +import MimeList from '@rankyMedia/components/Layout/MimeList/MimeList'; +import { confirmDeleteAlert, errorAlert, successAlert } from '@rankyMedia/helpers/swal'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import { useQueryClient } from 'react-query'; +import { loadingState } from '@rankyMedia/states/state'; +import useMediaQuery from '@rankyMedia/api/hook/useMediaQuery'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; +import { PageLayoutProps } from '@rankyMedia/types/PageLayout'; +import { useSetAtom } from 'jotai'; +import useMediaRepository from '@rankyMedia/api/hook/useMediaRepository'; + +const PageListLayout: React.FC = ({ pages, openModalFile }): React.ReactElement => { + const [selectAll, setSelectAll] = useState(false); + const [selectedList, setSelectedList] = useState([]); + const setIsGlobalLoading = useSetAtom(loadingState); + const translator = useTranslator(); + const queryClient = useQueryClient(); + const mediaQuery = useMediaQuery(); + const mediaRepository = useMediaRepository(); + + const handleAllCheckbox = () => { + if (selectedList.length > 0) { + setSelectAll(false); + setSelectedList([]); + } else { + setSelectAll(true); + setSelectedList(mediaQuery.all().map((media) => media.id)); + } + }; + + const handleSingleCheckbox = (id: string) => { + if (selectedList.includes(id)) { + setSelectedList(selectedList.filter((mediaId) => mediaId !== id)); + setSelectAll(false); + } else { + const newSelectList = [...selectedList, id]; + setSelectedList(newSelectList); + setSelectAll(newSelectList.length === mediaQuery.all().length); + } + }; + + const handleBatchActions = async ({ target }) => { + if (target.value === '') { + return {}; + } + if (selectedList.length === 0) { + // eslint-disable-next-line no-param-reassign + target.selectedIndex = 0; + return errorAlert(new ApiProblemError(translator.trans('bulk_actions_error_no_select'))); + } + + const deleteBulkCallback = async () => { + setIsGlobalLoading(true); + const response = await mediaRepository.bulkDelete(selectedList); + if (response.error) { + return errorAlert(response.error); + } + await queryClient.invalidateQueries(['media', 'list']); + await queryClient.invalidateQueries('filters'); + target.selectedIndex = 0; + setSelectAll(false); + setSelectedList([]); + setIsGlobalLoading(false); + return successAlert(); + }; + + switch (target.value) { + case 'delete': + return confirmDeleteAlert( + deleteBulkCallback, + function resetIndex() { target.selectedIndex = 0; }, + translator.trans('bulk_actions_delete_prompt', { value: selectedList.length }), + ); + default: + return errorAlert( + new ApiProblemError( + translator.trans('bulk_actions_error_no_action', { value: target?.value || 'undefined' }), + ), + ); + } + }; + + return ( +
    +
    + +
    +
    + + + + + + + + + + + + {pages && pages.map((page) => { + return page.result.map((media) => { + return ( + + + + + + + + ); + }); + })} + +
    + + {translator.trans('file')}{translator.trans('type')}{translator.trans('date')}{translator.trans('breakpoints')}
    + handleSingleCheckbox(media.id)} + checked={selectedList.includes(media.id)} + /> + +
    openModalFile(media.id)} + onKeyDown={() => openModalFile(media.id)} + role="button" + > + + + + + {media.file.name} + +
    +
    {media.file.mime} {media?.dimension?.label ? `(${media.dimension.label})` : null}{media.createdAt} {translator.trans('by')} {media.createdBy}{media.thumbnails.length > 0 + ? ( + + ) : '-'} +
    +
    +
    + ); +}; + +export default PageListLayout; diff --git a/assets/src/components/Layout/PageSelectableLayout.tsx b/assets/src/components/Layout/PageSelectableLayout.tsx new file mode 100644 index 0000000..cc4ad2a --- /dev/null +++ b/assets/src/components/Layout/PageSelectableLayout.tsx @@ -0,0 +1,100 @@ +import React from 'react'; +import MimeList from '@rankyMedia/components/Layout/MimeList/MimeList'; +import { PageLayoutProps } from '@rankyMedia/types/PageLayout'; +import { dbClickState, selectedMediaState } from '@rankyMedia/states/state'; +import useSettings from '@rankyMedia/api/hook/useSettings'; +import useMediaQuery from '@rankyMedia/api/hook/useMediaQuery'; +import { Media } from '@rankyMedia/types/Media'; +import { useAtom } from 'jotai'; + +const PageSelectableLayout: React.FC = ({ pages, openModalFile }): React.ReactElement => { + const [selectedMedia, setSelectedMedia] = useAtom(selectedMediaState); + const [, setDbClick] = useAtom(dbClickState); + const [lastSelected, setLastSelected] = React.useState(null); + const settings = useSettings(); + const mediaQuery = useMediaQuery(); + + function onDoubleClick(event: React.MouseEvent, mediaId: string) { + if (!selectedMedia.includes(mediaId)) { + setSelectedMedia((currentList) => [...currentList, mediaId]); + } + setLastSelected(mediaId); + setDbClick(true); + } + + function onSelectMedia(event: React.MouseEvent | React.ChangeEvent, id: string) { + if (settings.isMultipleSelection === false) { + setSelectedMedia([id]); + return; + } + if ('shiftKey' in event.nativeEvent && event.nativeEvent.shiftKey === true) { + if (lastSelected === null) { + setLastSelected(id); + return; + } + const allMedia = mediaQuery.all().map((media: Media) => media.id); + const start = allMedia.indexOf(id); + const end = allMedia.indexOf(lastSelected); + const newSelectedMedia = allMedia.slice(Math.min(start, end), Math.max(start, end) + 1); + setSelectedMedia(newSelectedMedia); + setLastSelected(id); + return; + } + + if (selectedMedia.includes(id)) { + setSelectedMedia((currentList) => currentList.filter((mediaId) => mediaId !== id)); + } else { + setSelectedMedia((currentList) => [...currentList, id]); + } + setLastSelected(id); + } + + return ( +
      + {pages && pages.map((page) => { + return page.result.map((media) => { + return ( +
    • onDoubleClick(event, media.id)}> +
      + onSelectMedia(event, media.id)} + /> + {/* eslint-disable-next-line jsx-a11y/label-has-associated-control */} + + +
      +
    • + ); + }); + })} +
    + ); +}; + +export default PageSelectableLayout; diff --git a/assets/src/components/Modal/File/MimeShow/Application.tsx b/assets/src/components/Modal/File/MimeShow/Application.tsx new file mode 100644 index 0000000..87be92f --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/Application.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Application: React.FC = ({ media }): React.ReactElement => { + return ( + + + + ); +}; + +export default Application; diff --git a/assets/src/components/Modal/File/MimeShow/Audio.tsx b/assets/src/components/Modal/File/MimeShow/Audio.tsx new file mode 100644 index 0000000..c49fe7f --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/Audio.tsx @@ -0,0 +1,13 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; + +const Audio: React.FC = ({ media }): React.ReactElement => { + return ( + + ); +}; + +export default Audio; diff --git a/assets/src/components/Modal/File/MimeShow/Image.tsx b/assets/src/components/Modal/File/MimeShow/Image.tsx new file mode 100644 index 0000000..3937d3b --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/Image.tsx @@ -0,0 +1,51 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; +import useSettings from '@rankyMedia/api/hook/useSettings'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Image: React.FC = ({ media }): React.ReactElement => { + const settings = useSettings(); + + if (Object.keys(settings.placeholderImageTypes).includes(media.file.mimeSubType)) { + return ( + + {media.description.alt} + + ); + } + + if (!settings.supportedImageTypes.includes(media.file.mimeSubType)) { + return ( + + {media.description.alt} + + ); + } + + return ( + + {media.description.alt} + + ); +}; + +export default Image; diff --git a/assets/src/components/Modal/File/MimeShow/ImageResponsive.tsx b/assets/src/components/Modal/File/MimeShow/ImageResponsive.tsx new file mode 100644 index 0000000..7c96932 --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/ImageResponsive.tsx @@ -0,0 +1,61 @@ +import React from 'react'; +import { MediaItem, Thumbnail } from '@rankyMedia/types/Media'; +import { removeLastChar } from '@rankyMedia/helpers/string'; +import useSettings from '@rankyMedia/api/hook/useSettings'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const ImageResponsive: React.FC = ({ media }): React.ReactElement => { + const settings = useSettings(); + + if (Object.keys(settings.placeholderImageTypes).includes(media.file.mimeSubType)) { + return ( + + {media.description.alt} + + ); + } + + if (!settings.supportedImageTypes.includes(media.file.mimeSubType)) { + return ( + + {media.description.alt} + + ); + } + + let srcSet = `${media.file.url} ${media.dimension.width}w,`; + + media.thumbnails.forEach((thumbnail: Thumbnail) => { + srcSet += ` ${thumbnail.url} ${thumbnail.dimension.width}w,`; + }); + + return ( + + {media.description.alt} + + ); +}; + +export default ImageResponsive; diff --git a/assets/src/components/Modal/File/MimeShow/ImageSvg.tsx b/assets/src/components/Modal/File/MimeShow/ImageSvg.tsx new file mode 100644 index 0000000..a241151 --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/ImageSvg.tsx @@ -0,0 +1,19 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; + +const ImageSvg: React.FC = ({ media }): React.ReactElement => { + return ( + + {media.description.alt} + + ); +}; + +export default ImageSvg; diff --git a/assets/src/components/Modal/File/MimeShow/MimeShow.tsx b/assets/src/components/Modal/File/MimeShow/MimeShow.tsx new file mode 100644 index 0000000..8a4ec40 --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/MimeShow.tsx @@ -0,0 +1,28 @@ +import React from 'react'; +import Application from '@rankyMedia/components/Modal/File/MimeShow/Application'; +import Text from '@rankyMedia/components/Modal/File/MimeShow/Text'; +import Audio from '@rankyMedia/components/Modal/File/MimeShow/Audio'; +// import Image from '@rankyMedia/components/Modal/File/MimeShow/Image'; +import Video from '@rankyMedia/components/Modal/File/MimeShow/Video'; +import { MediaItem } from '@rankyMedia/types/Media'; +import ImageResponsive from '@rankyMedia/components/Modal/File/MimeShow/ImageResponsive'; +import ImageSvg from '@rankyMedia/components/Modal/File/MimeShow/ImageSvg'; + +const mimes = { + application: Application, + audio: Audio, + image: ImageResponsive, + 'image_svg+xml': ImageSvg, + video: Video, + text: Text, +}; + +const MimeShow: React.FC = ({ media }): React.ReactElement => { + const templateSubType = `${media.file.mimeType}_${media.file.mimeSubType}`; + const templateType = media.file.mimeType; + const MimeComponent: React.FC = mimes[templateSubType] || mimes[templateType] || mimes.application; + + return ; +}; + +export default MimeShow; diff --git a/assets/src/components/Modal/File/MimeShow/Text.tsx b/assets/src/components/Modal/File/MimeShow/Text.tsx new file mode 100644 index 0000000..a3b73cc --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/Text.tsx @@ -0,0 +1,18 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; +import Asset from '@rankyMedia/components/Common/Asset'; + +const Application: React.FC = ({ media }): React.ReactElement => { + return ( + + + + ); +}; + +export default Application; diff --git a/assets/src/components/Modal/File/MimeShow/Video.tsx b/assets/src/components/Modal/File/MimeShow/Video.tsx new file mode 100644 index 0000000..ae19bb5 --- /dev/null +++ b/assets/src/components/Modal/File/MimeShow/Video.tsx @@ -0,0 +1,15 @@ +import React from 'react'; +import { MediaItem } from '@rankyMedia/types/Media'; + +const Video: React.FC = ({ media }): React.ReactElement => { + return ( + + + ); +}; + +export default Video; diff --git a/assets/src/components/Modal/File/ModalFile.tsx b/assets/src/components/Modal/File/ModalFile.tsx new file mode 100644 index 0000000..0e41510 --- /dev/null +++ b/assets/src/components/Modal/File/ModalFile.tsx @@ -0,0 +1,150 @@ +import React from 'react'; +import './modal_file.scss'; +import ModalFileContent from '@rankyMedia/components/Modal/File/ModalFileContent'; +import Trans from '@rankyMedia/components/Common/Trans'; +import { confirmDeleteAlert, errorAlert, successAlert } from '@rankyMedia/helpers/swal'; +import { currentMediaState } from '@rankyMedia/states/state'; +import { useQueryClient } from 'react-query'; +import useMediaQuery from '@rankyMedia/api/hook/useMediaQuery'; +import { useAtom } from 'jotai'; +import useMediaRepository from '@rankyMedia/api/hook/useMediaRepository'; + +type ModalFileType = { + onClose: () => void; +}; + +const ModalFile = ({ onClose }: ModalFileType): React.ReactElement => { + const [currentMedia, setCurrentMedia] = useAtom(currentMediaState); + const queryClient = useQueryClient(); + const mediaQuery = useMediaQuery(); + const mediaRepository = useMediaRepository(); + + function onNext({ currentTarget }) { + const data = mediaQuery.list(); + const indexCurrentMedia = mediaQuery.findIndex(currentMedia.id); + const pages = data.pages.length; + const hasPages = pages > indexCurrentMedia.page; + const nextMedia = data.pages[indexCurrentMedia.page]?.result[indexCurrentMedia.index + 1] || null; + + if (nextMedia) { + setCurrentMedia(nextMedia); + return currentTarget.removeAttribute('disabled'); + } + + if (hasPages) { + const nextMediaInNextPage = data.pages[indexCurrentMedia.page + 1]?.result[0] || null; + if (nextMediaInNextPage) { + setCurrentMedia(nextMediaInNextPage); + return currentTarget.removeAttribute('disabled'); + } + } + + return currentTarget.setAttribute('disabled', ''); + } + + function onPrev({ currentTarget }) { + const data = mediaQuery.list(); + const indexCurrentMedia = mediaQuery.findIndex(currentMedia.id); + const prevMedia = data.pages[indexCurrentMedia.page].result[indexCurrentMedia.index - 1]; + const pages = data.pages.length; + const hasPages = indexCurrentMedia.page > 0 && indexCurrentMedia.page < pages; + + if (prevMedia) { + setCurrentMedia(prevMedia); + return currentTarget.removeAttribute('disabled'); + } + + if (hasPages) { + const prevPageLastIndex = (data.pages[indexCurrentMedia.page - 1].result.length) - 1; + const prevMediaInPrevPage = data.pages[indexCurrentMedia.page - 1]?.result[prevPageLastIndex] || null; + if (prevMediaInPrevPage) { + setCurrentMedia(prevMediaInPrevPage); + return currentTarget.removeAttribute('disabled'); + } + } + + return currentTarget.setAttribute('disabled', ''); + } + + const onDelete = async (event: React.MouseEvent, setDisableSubmit: (value: boolean) => void) => { + event.preventDefault(); + const el = event.currentTarget; + + const callbackConfirm = async () => { + const { id } = el.dataset; + setDisableSubmit(true); + const { data, error } = await mediaRepository.delete<{ message: string }>(id); + if (error) { + await errorAlert(error); + } else { + await queryClient.invalidateQueries('filters'); + await queryClient.invalidateQueries(['media', 'list']); + await successAlert(data?.message); + onClose(); + } + setDisableSubmit(false); + }; + + return confirmDeleteAlert(callbackConfirm); + }; + + return ( +
    +
    +
    +
    +

    + +

    +
    +
      +
    • + +
    • +
    • + +
    • +
    • + +
    • +
    +
    +
    +
    + +
    +
    +
    +
    +
    + ); +}; + +export default ModalFile; diff --git a/assets/src/components/Modal/File/ModalFileContent.tsx b/assets/src/components/Modal/File/ModalFileContent.tsx new file mode 100644 index 0000000..e7ea3d5 --- /dev/null +++ b/assets/src/components/Modal/File/ModalFileContent.tsx @@ -0,0 +1,169 @@ +import React, { useState } from 'react'; +import { Media } from '@rankyMedia/types/Media'; +import useTranslator from '@rankyMedia/api/hook/useTranslator'; +import Trans from '@rankyMedia/components/Common/Trans'; +import MimeShow from '@rankyMedia/components/Modal/File/MimeShow/MimeShow'; +import { errorAlert, successAlert } from '@rankyMedia/helpers/swal'; +import { currentMediaState } from '@rankyMedia/states/state'; +import useMediaQuery from '@rankyMedia/api/hook/useMediaQuery'; +import { useAtom } from 'jotai'; +import useMediaRepository from '@rankyMedia/api/hook/useMediaRepository'; + +type ModalFileContentType = { + onDelete: (event: React.MouseEvent, setDisableSubmit: (value: boolean) => void) => void; +}; + +type ModalFileForm = { + id: string; + name: string; + alt: string; + title: string; +}; + +const ModalFileContent = ({ onDelete }: ModalFileContentType): React.ReactElement => { + const translator = useTranslator(); + const [currentMedia, setCurrentMedia] = useAtom(currentMediaState); + const mediaRepository = useMediaRepository(); + const mediaQuery = useMediaQuery(); + const [disableSubmit, setDisableSubmit] = useState(false); + const [form, setForm] = useState({ + id: currentMedia.id, + name: currentMedia.file.basename, + alt: currentMedia.description.alt, + title: currentMedia.description.title, + }); + + const onSubmit = async (event: { preventDefault: () => void; }) => { + event.preventDefault(); + setDisableSubmit(true); + const { id } = currentMedia; + const { data, error } = await mediaRepository.put(id, form); + if (error) { + console.log(error); + setDisableSubmit(false); + return errorAlert(error); + } + setCurrentMedia(data); + setForm({ + ...form, + ...{ + name: data.file.basename, + alt: data.description.alt, + title: data.description.title, + }, + }); + mediaQuery.update(data); + setDisableSubmit(false); + return successAlert(); + }; + + const onChangeHandler = (event) => { + const element = event.target; + const userInput = { [element.name]: element.value }; + setForm({ ...form, ...userInput }); + }; + + return ( +
    +
    + + +
    +
    + + + + + + + + + + + + + + + {currentMedia?.dimension?.label ? ( + + + + + ) : null} + + + + + + + + + + + + + + + + + +
    {currentMedia.file.name}
    URL + + {currentMedia.file.url} + +
    {currentMedia.file.mime}
    {currentMedia.dimension.label}
    {currentMedia.file.humanSize}
    + {currentMedia.createdAt} {currentMedia.createdBy} +
    + {currentMedia.updatedAt} {currentMedia.updatedBy} +
    + + {currentMedia.thumbnails.length > 0 + ? ( + + ) : '-'} +
    +
    +
    + + + .{currentMedia.file.extension} +
    + + + + + + +
    +
    +
    + ); +}; + +export default ModalFileContent; diff --git a/assets/src/components/Modal/File/modal_file.scss b/assets/src/components/Modal/File/modal_file.scss new file mode 100644 index 0000000..49db887 --- /dev/null +++ b/assets/src/components/Modal/File/modal_file.scss @@ -0,0 +1,395 @@ +@import "../../../styles/variables"; + +.#{$ranky-media-class} { + .ranky-media-modal-file-backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1056; + width: 100vw; + height: 100vh; + background-color: #000; + opacity: .8; + } + + .ranky-media-modal-file-fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0 + } + + .ranky-media-modal-file { + position: fixed; + top: 30px; + left: 30px; + right: 30px; + bottom: 30px; + height: calc(100% - 60px); + z-index: 1057; + outline: 0; + transition: all 0.3s; + opacity: 0; + transform: scale(0.5); + font-family: apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + width: 90%; + margin: 0 auto !important; + @media (max-width: 900px) { + width:auto; + } + + input:focus { + box-shadow: 0 0 0 2px #354b7a8f !important; + } + + &--show { + transform: scale(1.0); + opacity: 1; + } + + &--hide { + transform: scale(0.5); + opacity: 0.8; + } + + &__dialog { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + margin: 0 auto; + + &--bg-primary-dark { + background-color: #354b7a !important; + } + + &__header { + display: flex; + align-items: center; + /*justify-content: space-between;*/ + justify-content: flex-start; + padding: 20px; + width: 100%; + position: relative; + + &__title { + color: #fff; + font-size: 20px; + height: 100%; + line-height: 1.5; + margin: 0; + overflow: hidden; + padding: 0; + vertical-align: middle; + width: 80%; + font-weight: 600; + small{ + color: #b4bcc2; + font-size: 13px; + } + + @media (max-width: 640px) { + word-break: break-word; + width: 70%; + } + + @media (max-width: 450px) { + font-size: 16px; + width: 60%; + } + + @media (max-width: 375px) { + width: 57%; + } + } + + &__options { + position: absolute; + right: 0; + top: 0; + vertical-align: middle; + height: 100%; + + ul { + list-style: none; + display: flex; + flex-direction: row; + height: 100%; + padding: 0; + margin: 0; + + li { + display: inline-block; + position: relative; + border-left: 1px solid #425785eb; + margin: 0; + + &:hover { + background: white; + border-left: 1px solid white; + + button { + color: #425785eb; + } + } + + button { + font-size: 30px; + color: white; + height: 100%; + padding: 0 13px; + background: none; + margin: 0; + border-radius: 0; + @media (max-width: 450px) { + padding: 0 10px; + } + + &:focus { + box-shadow: none; + } + + &.ranky-media-modal-file__btn-media-next, + &.ranky-media-modal-file__btn-media-prev { + &:disabled { + color: #989696; + cursor: auto; + + &:hover { + color: #989696; + } + } + } + } + } + } + } + + } + + &__content { + position: relative; + width: 100%; + display: flex; + flex-direction: column; + background-color: #fff; + outline: 0; + max-height: 100%; + overflow-x: hidden; + overflow-y: auto; + padding: 1rem; + height: 100vh; + + .ranky-media-modal-file__btn-media-danger { + display: block; + margin-top: 10px; + background-color: #dc3545; + color: white; + } + + &__show { + display: flex; + flex-direction: row; + align-items: flex-start; + + @media (max-width: 900px) { + flex-direction: column; + justify-content: center; + align-items: center; + + &__preview { + width: auto !important; + margin-bottom: 10px !important; + object { + height: auto !important; + } + } + + &__info { + width: auto !important; + align-self: center !important; + justify-content: center !important; + } + } + + &__preview { + width: 60%; + display: flex; + align-items: center; + flex-direction: column; + + img, + audio, + video, + object, + embed, + iframe, + svg { + max-width: 100%; + max-height: 70vh; + display: block; + height: auto; + } + + object, + embed, + iframe { + height: 100vh; + width: 100%; + } + audio{ + width: 300px; + height: 54px; + } + img{ + object-fit: contain; + &.img-svg-preview{ + width: 100%; + } + } + img[src$='.ico'] { + min-width: 200px; + } + + } + + &__info { + display: flex; + flex-direction: column; + align-self: flex-start; + justify-content: flex-start; + flex-grow: 1; + width: 40%; + padding: 15px 25px; + + a { + color: #212529; + } + + table { + width: 100%; + margin-bottom: 1rem; + color: #212529; + vertical-align: top; + caption-side: bottom; + border-collapse: collapse; + a{ + text-decoration: none; + &:hover{ + text-decoration: underline; + } + } + ul { + margin-top: 0; + margin-bottom: 1rem; + padding-left: 19px; + li{ + font-size: 15px; + a{ + text-decoration: none; + &:hover{ + text-decoration: underline; + } + } + } + } + + tbody tr:nth-child(even) { + background: white; + } + tbody tr td { + word-break: break-all; + } + + th { + border-bottom: none; + } + + tr { + td { + &:first-child { + color: #989797; + font-weight: 600; + width: auto; + white-space: nowrap; + } + + color: #2e2e2e; + padding: 0.5rem 0.5rem; + } + } + } + + form { + margin-left: 0.5rem; + + label { + // color: #212529; + color: #989797; + font-weight: 600; + margin-top: 10px; + } + + .input-group { + position: relative; + display: flex; + align-items: stretch; + flex-wrap: wrap; + width: 100%; + + label { + display: block; + width: 100%; + } + + input { + border-radius: 6px 0 0 6px !important; + position: relative; + width: 1%; + min-width: 0; + margin-right: 0; + flex: 1; + font-size: 15px; + } + + .input-group-text { + display: flex; + align-items: center; + font-size: 15px; + font-weight: 400; + line-height: 1.5; + color: #212529; + text-align: center; + white-space: nowrap; + background-color: #e9ecef; + border: 1px solid #ced4da; + margin-left: 0 !important; + margin-bottom: 6px; + padding: 10px; + border-radius: 0 6px 6px 0; + outline: none; + + } + } + + input[type="text"] { + width: 100%; + color: #989797; + font-size: 15px; + } + + input[type="submit"] { + text-align: right; + display: block; + margin-left: auto; + margin-top: 18px; + } + } + } + } + } + } + } +} diff --git a/assets/src/config.js b/assets/src/config.js new file mode 100644 index 0000000..6a36665 --- /dev/null +++ b/assets/src/config.js @@ -0,0 +1,6 @@ +export default { + env: process.env.NODE_ENV, + assets_url_prefix: process.env.ASSETS_URL_PREFIX, + uppy_locales: process.env.UPPY_LOCALES?.split(','), + root_class: '.ranky-media', +}; diff --git a/assets/src/context/MediaContext.tsx b/assets/src/context/MediaContext.tsx new file mode 100644 index 0000000..a7c4fcc --- /dev/null +++ b/assets/src/context/MediaContext.tsx @@ -0,0 +1,67 @@ +import React from 'react'; +import { MediaContextType, AppType, ConfigResponseType } from '@rankyMedia/types/Config'; +import Loader from '@rankyMedia/components/Common/Loader/Loader'; +import Error from '@rankyMedia/components/Common/Error'; +import Settings from '@rankyMedia/api/model/Settings'; +import { fetcher } from '@rankyMedia/helpers/fetch'; +import { useQuery } from 'react-query'; +import Translator from '@rankyMedia/api/model/Translator'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; +import { LayoutFormView } from '@rankyMedia/types/PageLayout'; +import { pageLayoutState } from '@rankyMedia/states/state'; +import { Provider } from 'jotai'; +import MediaRepository from '@rankyMedia/api/repository/MediaRepository'; + +const MediaContext = React.createContext({} as MediaContextType); + +const MediaProvider = ( + { + children, apiPrefix, selectionMode = false, multipleSelection = false, title = null, targetRef = null, + }: AppType, +) => { + let config = null; + const mediaRepository = MediaRepository.create(apiPrefix); + const routes = mediaRepository.getRoutes(); + const { data, error, isLoading } = useQuery( + 'config', + () => fetcher(routes.config), + ); + + if (isLoading) { + return (); + } + + if (error) { + if (!(error instanceof ApiProblemError)) { + console.error(error); + const newError = new ApiProblemError(error, 400); + return (); + } + return (); + } + + Settings.fromApi(data); + Settings.apiPrefix = apiPrefix || ''; + Settings.selectionMode = selectionMode; + Settings.multipleSelection = multipleSelection; + Settings.title = title; + Settings.targetRef = targetRef; + + config = { + settings: Settings.getInstance(), + translator: Translator.fromApi(data), + mediaRepository, + }; + + return ( + + + {children} + + + ); +}; + +export { MediaProvider }; + +export default MediaContext; diff --git a/assets/src/globals.d.ts b/assets/src/globals.d.ts new file mode 100644 index 0000000..75661f5 --- /dev/null +++ b/assets/src/globals.d.ts @@ -0,0 +1,69 @@ +import Uppy from '@uppy/core'; +import React, { HTMLAttributes } from 'react'; + +declare global { + + namespace NodeJS { + interface ProcessEnv { + NODE_ENV: 'development' | 'production' | 'test'; + ASSETS_URL_PREFIX: string; + UPPY_LOCALES: string; // webpack + } + } + + export type UppyWithLocales = Uppy & { locales: object }; + + interface Window { + uppy: Uppy; + Uppy: { locales: object } + LOCALE: string; + } + + type ApiProblem = { + status: number, + title: string, + type?: string, + details?: Array, + causes?: Array<{ name: string, reason: string }> + }; + + interface Error { + status: number; + info: object; + } + + type ValueOf = T[keyof T]; + + type LiteralUnion = T | (U & { _?: never }); + +} + +declare module 'querystring' { + export function stringify(val: object): string; + + export function parse(val: string): object; +} + +declare namespace JSX { + interface IntrinsicElements { + 'img': HTMLAttributes & { + alt: string, + src: string, + loading?: 'lazy' | 'eager' | 'auto'; + }; + } +} + +type SvgrComponent = React.FunctionComponent>; + +/* declare module '*.svg' { + const content: any; + export default content; + +} */ +declare module '*.svg' { + const ReactComponent: SvgrComponent; + export { ReactComponent }; +} + +export {}; diff --git a/assets/src/helpers/error.js b/assets/src/helpers/error.js new file mode 100644 index 0000000..b73ac5a --- /dev/null +++ b/assets/src/helpers/error.js @@ -0,0 +1,20 @@ +import { isArray, isLiteralObject } from '@rankyMedia/helpers/types'; +import { capitalize } from '@rankyMedia/helpers/string'; + +const errorTransform = (errors = null) => { + if (!errors) { + return null; + } + if (isArray(errors)) { + return errors.join(', '); + } + if (isLiteralObject(errors)) { + return Object.entries(errors) + .map((element) => { + return `

    ${capitalize(element[0])}: ${element[1]}

    `; + }); + } + return errors; +}; + +export default errorTransform; diff --git a/assets/src/helpers/event.js b/assets/src/helpers/event.js new file mode 100644 index 0000000..e2afeb5 --- /dev/null +++ b/assets/src/helpers/event.js @@ -0,0 +1,35 @@ +// https://stackoverflow.com/questions/14677019/emulate-jquery-on-with-selector-in-pure-javascript +// https://stackoverflow.com/questions/33830578/plain-javascript-equivalent-of-document-onevent-with-selector + +const on = (element, selector, event, handler) => { + element.addEventListener(event, (e) => { if (e.target.matches(selector)) handler(e); }); +}; + +/* Add one or more listeners to an element + ** @param {DOMElement} element - DOM element to add listeners to + ** @param {string} eventNames - space separated list of event names, e.g. 'click change' + ** @param {Function} listener - function to attach for each event as a listener + */ +function addListenerMulti(el, s, fn) { + s.split(' ').forEach((e) => el.addEventListener(e, fn, false)); +} + +const addEventForChild = function (parent, eventName, childSelector, cb) { + if (!parent) { + return; + } + addListenerMulti(parent, eventName, (event) => { + const clickedElement = event.target; + const matchingChild = clickedElement.closest(childSelector); + if (matchingChild) cb(event, matchingChild); + }); +}; + +const replaceElement = function (element) { + const newElement = element.cloneNode(true); + return element.parentNode.replaceChild(newElement, element); +}; + +export { + on, addEventForChild, addListenerMulti, replaceElement, +}; diff --git a/assets/src/helpers/fetch.ts b/assets/src/helpers/fetch.ts new file mode 100644 index 0000000..b70f4f2 --- /dev/null +++ b/assets/src/helpers/fetch.ts @@ -0,0 +1,40 @@ +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; + +const errorResponse = (data: ApiProblem, response: Response, url): ApiProblemError => { + if (!data?.title) { + const message = `Error ${response.status}: ${response.statusText} when fetch ${url}`; + const error = new ApiProblemError(message, response.status); + error.data = data; + return error; + } + + return ApiProblemError.fromApiProblem(data); +}; + +const fetcher = async (url) => { + const response = await fetch(url, { + headers: new Headers({ + 'X-Requested-With': 'XMLHttpRequest', // Required by Symfony + 'Content-Type': 'application/json', + }), + }); + + if (!response.ok) { + const data = await response.json() as ApiProblem; + throw errorResponse(data, response, url); + } + + return response.json(); +}; + +const fetcherWithQueryString = async (url, paged = 1) => { + let queryString = encodeURI(`?page[number]=${paged}`); + const form = document.getElementById('media-form-filter') as HTMLFormElement; + if (form) { + queryString += `&${new URLSearchParams(new FormData(form) as never).toString()}`; + } + // decoding because not in the body request, reading better + return fetcher(`${url}${decodeURI(queryString)}`); +}; + +export { fetcher, fetcherWithQueryString }; diff --git a/assets/src/helpers/html.js b/assets/src/helpers/html.js new file mode 100644 index 0000000..529a7a6 --- /dev/null +++ b/assets/src/helpers/html.js @@ -0,0 +1,12 @@ +/** + * @param html + * + * @return {HTMLElement} + */ +function htmlToElement(html) { + const template = document.createElement('div'); + template.innerHTML = html.trim(); + return template; +} + +export default htmlToElement; diff --git a/assets/src/helpers/payload.js b/assets/src/helpers/payload.js new file mode 100644 index 0000000..125ddab --- /dev/null +++ b/assets/src/helpers/payload.js @@ -0,0 +1,16 @@ +const payloadTransform = async (dataForm) => { + if (!dataForm) { + return null; + } + if (!(dataForm instanceof FormData)) { + return JSON.stringify(dataForm); + } + const data = {}; + dataForm.forEach((value, name) => { + data[name] = value; + }); + + return JSON.stringify(data); +}; + +export default payloadTransform; diff --git a/assets/src/helpers/react.js b/assets/src/helpers/react.js new file mode 100644 index 0000000..b3f3209 --- /dev/null +++ b/assets/src/helpers/react.js @@ -0,0 +1,12 @@ +function getRootElement(target) { + let element = target; + while (element) { + element = element.parentElement; + if (Object.keys(element).some((key) => key.includes('_reactRootContainer'))) { + return element; + } + } + return null; +} + +export { getRootElement }; diff --git a/assets/src/helpers/script.js b/assets/src/helpers/script.js new file mode 100644 index 0000000..9356024 --- /dev/null +++ b/assets/src/helpers/script.js @@ -0,0 +1,8 @@ +async function addScript(src, callback = null) { + const s = document.createElement('script'); + s.setAttribute('src', src); + s.onload = callback; + document.head.appendChild(s); +} + +export default addScript; diff --git a/assets/src/helpers/string.js b/assets/src/helpers/string.js new file mode 100755 index 0000000..e50ba76 --- /dev/null +++ b/assets/src/helpers/string.js @@ -0,0 +1,11 @@ +const capitalize = (str) => { + return str && str.charAt(0).toUpperCase() + str.slice(1); +}; +const removeLastChar = (str, char) => { + const lastChar = str.slice(-1); + if (lastChar === char) { + return str.slice(0, -1); + } + return str; +}; +export { capitalize, removeLastChar }; diff --git a/assets/src/helpers/swal.ts b/assets/src/helpers/swal.ts new file mode 100644 index 0000000..799761a --- /dev/null +++ b/assets/src/helpers/swal.ts @@ -0,0 +1,49 @@ +import Swal, { SweetAlertResult } from 'sweetalert2'; +import Translator from '@rankyMedia/api/model/Translator'; +import ApiProblemError from '@rankyMedia/api/model/ApiProblemError'; + +function successAlert(message:string = null): Promise { + const translator = Translator.getInstance(); + return Swal.fire({ + title: message || translator.trans('swal.successfully'), + icon: 'success', + confirmButtonColor: '#6f9c40', + timer: 1500, + }); +} + +function errorAlert(error: ApiProblemError): Promise { + const title = error.hasCauses() ? error.message : `Error ${error.status}`; + const html = error.hasCauses() ? error.causesToHtml() : error.message; + + return Swal.fire({ + title, + html, + icon: 'error', + confirmButtonColor: '#DD6B55', + }); +} + +function confirmDeleteAlert(successCallback: () => void, cancelCallback:() => void = null, message: string = null) + : Promise | SweetAlertResult> { + const translator = Translator.getInstance(); + return Swal.fire({ + title: message || translator.trans('swal.confirm_delete'), + text: translator.trans('swal.delete_text'), + icon: 'warning', + showCancelButton: true, + confirmButtonColor: '#DD6B55', + confirmButtonText: translator.trans('swal.confirm_button'), + cancelButtonText: translator.trans('swal.cancel_button'), + }).then(async (result) => { + if (result.value) { + return successCallback(); + } + if (cancelCallback !== null) { + return cancelCallback(); + } + return {}; + }); +} + +export { errorAlert, confirmDeleteAlert, successAlert }; diff --git a/assets/src/helpers/types.js b/assets/src/helpers/types.js new file mode 100644 index 0000000..75861f7 --- /dev/null +++ b/assets/src/helpers/types.js @@ -0,0 +1,13 @@ +const isArray = (value) => { + return (!!value) && (value.constructor === Array); +}; + +const isLiteralObject = (value) => { + return (!!value) && (value.constructor === Object); +}; + +function isEmptyObject(obj) { + return JSON.stringify(obj) === '{}'; +} + +export { isArray, isLiteralObject, isEmptyObject }; diff --git a/assets/src/helpers/useTraceUpdate.js b/assets/src/helpers/useTraceUpdate.js new file mode 100644 index 0000000..1ab4b9a --- /dev/null +++ b/assets/src/helpers/useTraceUpdate.js @@ -0,0 +1,23 @@ +import { useEffect, useRef } from 'react'; + +/** + * https://stackoverflow.com/questions/41004631/trace-why-a-react-component-is-re-rendering + * @param props + */ +function useTraceUpdate(props) { + const prev = useRef(props); + useEffect(() => { + const changedProps = Object.entries(props).reduce((ps, [k, v]) => { + if (prev.current[k] !== v) { + ps[k] = [prev.current[k], v]; + } + return ps; + }, {}); + if (Object.keys(changedProps).length > 0) { + console.log('Changed props:', changedProps); + } + prev.current = props; + }); +} + +export default useTraceUpdate; diff --git a/assets/src/hooks/useOnInsertSelection.tsx b/assets/src/hooks/useOnInsertSelection.tsx new file mode 100644 index 0000000..21181a8 --- /dev/null +++ b/assets/src/hooks/useOnInsertSelection.tsx @@ -0,0 +1,28 @@ +import { useCallback, useState } from 'react'; +import { Media } from '@rankyMedia/types/Media'; +import useSettings from '@rankyMedia/api/hook/useSettings'; + +const useOnInsertSelection = (fieldId: string) => { + const [selectedMedia, setSelectedMedia] = useState([]); + const settings = useSettings(); + const onInsertSelection = useCallback((medias: Media[], targetRef: HTMLElement) => { + if (medias.length <= 0) { + return; + } + const inputValue = targetRef.parentElement.querySelector(`input#${fieldId}`) as HTMLInputElement; + if (settings.isMultipleSelection === false) { + inputValue.value = medias[0].id || ''; + } else { + inputValue.value = JSON.stringify(medias.map((media) => media.id)) || JSON.stringify([]); + } + setSelectedMedia(medias); + }, [fieldId, settings]); + + return { + onInsertSelection, + selectedMedia, + setSelectedMedia, + }; +}; + +export default useOnInsertSelection; diff --git a/assets/src/index.ts b/assets/src/index.ts new file mode 100755 index 0000000..99a713d --- /dev/null +++ b/assets/src/index.ts @@ -0,0 +1,3 @@ +export { default as MediaManager } from './MediaManager'; +export { default as MediaManagerModal } from './MediaManagerModal'; +export { default as MediaFormPreview } from './MediaFormPreview'; diff --git a/assets/src/load.tsx b/assets/src/load.tsx new file mode 100755 index 0000000..f0613af --- /dev/null +++ b/assets/src/load.tsx @@ -0,0 +1,115 @@ +import React, { ReactElement } from 'react'; +import ReactDOM from 'react-dom'; +import appConfig from '@rankyMedia/config'; +import { on } from '@rankyMedia/helpers/event'; +import App from './App'; +import { MediaManagerModal, MediaManager, MediaFormPreview } from './index'; + +const reactVersion = React.version.split('.')[0]; +let Render: (component: ReactElement, container: HTMLElement) => void; +if (reactVersion === '18') { + Render = (component: ReactElement, container: HTMLElement) => { + // @ts-expect-error createRoot is only available in React 18 + const root = ReactDOM.createRoot(container); + root.render(component); + }; +} else { + Render = (component: ReactElement, container: HTMLElement) => { + ReactDOM.render(component, container); + }; +} + +/** + * Render MediaFormPreview component for each form type + */ +const renderMediaFormPreviews = () => { + document.querySelectorAll('.ranky-media-form-type__content') + .forEach((formSelect) => { + const isMultipleSelection = formSelect.getAttribute('data-multiple-selection') === 'true' + || formSelect.getAttribute('data-multiple-selection') === '1'; + const fieldId = formSelect.getAttribute('data-field-id'); + Render( + + + , + formSelect, + ); + }); +}; + +/** + * Add and render MediaManagerModal component + */ +const renderMediaManagerModal = (event: Event) => { + const element = event.target as HTMLElement; + event.preventDefault(); + const isMultipleSelection = element.getAttribute('data-multiple-selection') === 'true' + || element.getAttribute('data-multiple-selection') === '1'; + const modal = document.createElement('div'); + modal.classList.add('wrapper-ranky-media-modal'); + document.body.appendChild(modal); + Render( + + { + modal.remove(); + }} + /> + , + modal, + ); +}; + +/** + * MutationObserver for MediaFormPreview + * Render MediaFormPreview component for each form type when a new form type is added. + * Example: Symfony form collection + */ +const MediaFormPreviewObserver = new MutationObserver((mutations) => { + mutations.forEach((mutation) => { + if (mutation.type === 'childList') { + mutation.addedNodes.forEach((node) => { + const rankyMediaFormElement = node instanceof HTMLElement + && node.querySelector('.ranky-media-form-type__content'); + if (rankyMediaFormElement) { + renderMediaFormPreviews(); + } + }); + } + }); +}); + +MediaFormPreviewObserver.observe(document.body, { + childList: true, + subtree: true, +}); + +renderMediaFormPreviews(); + +on(document, '.ranky-media-open-modal', 'click', (event: Event) => { + renderMediaManagerModal(event); +}); + +if (document.querySelector(appConfig.root_class)) { + Render( + + + , + document.querySelector(appConfig.root_class), + ); +} diff --git a/assets/src/states/state.tsx b/assets/src/states/state.tsx new file mode 100644 index 0000000..996aad3 --- /dev/null +++ b/assets/src/states/state.tsx @@ -0,0 +1,13 @@ +import { atom, PrimitiveAtom } from 'jotai'; +import { Media } from '@rankyMedia/types/Media'; +import { LayoutFormViewType } from '@rankyMedia/types/PageLayout'; + +const dbClickState = atom(false); +const currentMediaState = atom(null) as PrimitiveAtom; +const loadingState = atom(false); +const pageLayoutState = atom('GRID'); // LayoutFormView.GRID +const selectedMediaState = atom([]); + +export { + currentMediaState, loadingState, pageLayoutState, selectedMediaState, dbClickState, +}; diff --git a/assets/src/styles/_mixins.scss b/assets/src/styles/_mixins.scss new file mode 100644 index 0000000..f23d499 --- /dev/null +++ b/assets/src/styles/_mixins.scss @@ -0,0 +1,48 @@ +@mixin blue_button { + display: block; + background-color: #45619d; + border: 1px solid #45619d; + color: white; + font-weight: 600; + line-height: 1.5; + text-align: center; + vertical-align: middle; + cursor: pointer; + user-select: none; + padding: 4px 10px; + font-size: 14px; + border-radius: 0.25rem; + transition-duration: 0.2s; + &:hover { + background-color: #374e7e; + border-color: #344976; + } +} + +@mixin checkbox { + cursor: pointer; + color: #000000; + background-color: #efefef; + font-family: inherit; + font-size: inherit; + margin-right: 6px; + padding: 10px; + border: none; + border-radius: 6px; + outline: none; + transition: background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, box-shadow 0.1s linear, transform 0.1s ease; + width: 15px; + height: 15px; + margin-bottom: 0; + &:active { + transform: translateY(2px); + } + &:focus{ + box-shadow: 0 0 0 2px #0096bfab; + outline: none; + } + &:disabled{ + cursor: not-allowed; + opacity: .5; + } +} diff --git a/assets/src/styles/error.scss b/assets/src/styles/error.scss new file mode 100644 index 0000000..fdbde9f --- /dev/null +++ b/assets/src/styles/error.scss @@ -0,0 +1,4 @@ +@import "variables"; +.#{$ranky-media-class}__error{ + padding: 20px; +} diff --git a/assets/src/styles/index.scss b/assets/src/styles/index.scss new file mode 100644 index 0000000..47a9326 --- /dev/null +++ b/assets/src/styles/index.scss @@ -0,0 +1,4 @@ +//@import './reset.scss'; +@import './water.scss'; +@import './media.scss'; +@import './uppy.scss'; diff --git a/assets/src/styles/media.scss b/assets/src/styles/media.scss new file mode 100644 index 0000000..f416e29 --- /dev/null +++ b/assets/src/styles/media.scss @@ -0,0 +1,471 @@ +@use "variables"; + +body { + height: 100%; + max-width: 100%; + margin: 0; + padding: 0; +} + +.swal2-container { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + text-rendering: optimizeLegibility; + + ul { + li { + list-style: none; + } + } +} + +.#{$ranky-media-class} { + width: 100%; + // height: 100%; + height: 100vh; + overflow-y: auto; + overflow-x: hidden; + position: relative; + background: $media-background-color; + z-index: 1055; + box-sizing: border-box; + + + [role=button] { + cursor: pointer; + } + + &::-webkit-scrollbar { + height: 10px; + width: 10px; + } + + &::-webkit-scrollbar-track { + background: #efefef; + border-radius: 6px; + } + + &::-webkit-scrollbar-thumb { + background: #d5d5d5; + border-radius: 6px; + } + + &::-webkit-scrollbar-thumb:hover { + background: #c4c4c4; + } + + input:focus, + select:focus, + button:focus, + textarea:focus { + box-shadow: 0 0 0 2px $dropzone-background-color; + } + + th { + border-bottom: none; + } + + .pagination-media { + display: flex; + text-align: center; + align-items: center; + justify-content: center; + margin-top: 50px; + margin-bottom: 50px; + flex-direction: column; + + &__info { + display: block; + } + + &__button { + display: block; + background: #fcfefc; + font-weight: bold; + } + } + + .batch-actions { + select { + appearance: auto; + padding: 7px; + background-color: #ffffff; + margin-left: 11px; + margin-bottom: 10px; + } + } + .table-responsive { + display: block; + width: 100%; + overflow-x: auto; + table{ + white-space: nowrap; + } + } + table.table-view-list { + width: 100%; + max-width: 100%; + margin-bottom: 1rem; + color: #343a40; + vertical-align: top; + border-color: #e5e7ef; + caption-side: bottom; + border-collapse: collapse; + + &> :not(:first-child) { + border-top: 2px solid #dfe4f1; + } + + input[type="checkbox"] { + margin: 0 auto; + text-align: center; + display: block; + } + + thead { + vertical-align: bottom; + + tr { + background-color: #e5e7ef !important; + border-width: 1px 0; + border-color: inherit; + border-style: solid; + + th { + padding: 12px; + } + } + } + + tr { + background: white; + + a { + color: $link-color; + } + + td:nth-child(2) { + div { + display: flex; + flex-direction: row; + align-items: center; + align-content: center; + + span.file-preview { + display: block; + margin-right: 10px; + + img { + width: 80px; + height: 80px; + object-fit: cover; + max-width: none; + } + } + + span.file-name { + display: block; + max-width: 150px; + white-space: normal; + } + } + } + + &:nth-child(even) { + background-color: #fbfbfb; + } + } + } + + + &__filters { + height: auto; + background: $toolbar-background-color; + max-width: 100%; + box-shadow: 0 2px 3px 0 rgb(215 215 215); + border: 1px solid $media-background-color; // c3c4c7; + min-height: 78px; + margin-bottom: 15px; + position: sticky; + top: 0; + transition: all; + z-index: 1; + vertical-align: middle; + display: flex; + padding: 17px 10px 0; + flex-direction: column; + box-sizing: border-box; + + form#media-form-filter { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: center; + justify-content: flex-start; + column-gap: 15px; + row-gap: 10px; + margin-bottom: 10px; + container-type: inline-size; + container-name: form-filter; + + @container form-filter (max-width: 990px) { + .view-filter{ + margin: auto !important; + } + .sort-filter { + margin: auto !important; + } + } + + /* @container form-filter (max-width: 1383px) { + .view-filter{ + margin: 0 0 0 auto !important; + } + .sort-filter { + margin-left: 0 !important; + } + } */ + + select, + button, + textarea, + input { + appearance: auto; + padding: 7px; + background-color: $media-background-color; + } + + .view-filter, + .sort-filter { + display: flex; + flex-direction: row; + flex-wrap: nowrap; + column-gap: 10px; + + @media (max-width: 1383px) {} + + div[role="radio"] { + margin-right: 6px; + + &:focus { + box-shadow: 0 0 0 3px #3e578d91; + outline: none; + } + } + + label { + position: relative; + overflow: visible; + cursor: pointer; + + input { + position: absolute; + top: 0; + appearance: none; + background: none; + box-shadow: none; + outline: none; + + &:checked+span { + opacity: 0.5; + } + } + + span { + transition: background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, box-shadow 0.1s linear, transform 0.1s ease; + display: block; + text-align: center; + background-color: #e9ecef; + border-radius: 6px; + padding: 9px 8px; + font-family: inherit; + font-size: inherit; + border: none; + outline: none; + + svg { + color: #212529; + display: inline-block; + font-size: 1rem; + font-weight: 300; + line-height: 1; + text-align: center; + vertical-align: middle; + white-space: nowrap; + width: 18px; + height: 18px; + } + } + } + } + + .view-filter { + margin: 0 auto; + + &__item { + &--list {} + + &--grid {} + } + } + + .sort-filter { + margin-left: auto; + + &__item { + &--list {} + + &--grid {} + } + } + + } + } + + &__items { + display: block; + + .file-list { + .file-item { + &:focus { + outline: none; + + img { + box-shadow: 0 0 0 2px #3e578d; + outline: none; + } + } + } + + &--mode-selectable { + + .file-item { + display: flex !important; + position: relative !important; + flex-direction: column !important; + align-items: center !important; + button { + display: block; + border: none; + box-shadow: none; + transform: none; + text-align: right; + padding: 5px 8px; + border-radius: 0; + font-weight: bold; + color: white; + background: #45619d; + transition-duration: 0.2s; + margin: 0; + position: absolute; + bottom: 1px; + right: 1px; + vertical-align: middle; + + &:hover { + background-color: #374e7e; + } + + &:focus { + box-shadow: inset 0 0 0 2px rgb(185 198 221); + outline: none; + } + } + + input[type="checkbox"] { + display: none; + + &:checked+label { + &:before { + content: "✓"; + transform: scale(1); + box-shadow: 0 0 0 2px #3e578d; + } + + img { + box-shadow: 0 0 0 2px #3e578d; + } + } + } + + label { + position: relative; + display: block; + cursor: pointer; + margin: 0; + font-weight: normal; + + &:before { + background-color: $link-color; + color: white; + content: " "; + display: block; + border: 1px solid white; + position: absolute; + top: -5px; + left: -5px; + width: 25px; + height: 25px; + text-align: center; + transition-duration: 0.1s; + transform: scale(0); + padding: 0; + font-size: 19px; + margin: 0; + } + + img { + transition-duration: 0.1s; + } + } + } + } + + &--mode-grid { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: flex-start; + justify-content: flex-start; + list-style: none; + gap: 15px; + padding: 12px; + + + li { + display: block; + cursor: pointer; + margin: 0; //10px auto 10px 10px + line-height: 1; + flex-grow: 0; + flex-shrink: 1; + flex-basis: 130px; + + .file-item { + display: block; + position: relative; + + a { + display: block; + overflow: hidden; + } + + img, + embed, + audio, + video, + object { + max-width: 100%; + width: 130px; + height: 130px; + object-fit: cover; + border: 1px solid white; + box-shadow: 0 0 6px rgb(0 0 0 / 10%); + vertical-align: middle; + } + } + } + } + } + } +} diff --git a/assets/src/styles/media_modal.scss b/assets/src/styles/media_modal.scss new file mode 100644 index 0000000..ac6d41d --- /dev/null +++ b/assets/src/styles/media_modal.scss @@ -0,0 +1,148 @@ +@use "./variables"; +@use './mixins'; + +.ranky-media-modal { + position: fixed; + top: 30px; + left: 30px; + right: 30px; + bottom: 30px; + height: calc(100% - 60px); + z-index: 1057; + outline: 0; + transition: all 0.3s; + opacity: 0; + font-family: apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; + width: 90%; + margin: 0 auto !important; + .uppy-Dashboard--modal { + z-index: 1057 !important; + } + + &__btn-media-close{ + position: absolute; + top: 0; + right: 5px; + font-size: 41px; + color: #3f3f3f; + height: auto; + padding: 0; + background: none; + margin: 0; + width: auto; + line-height: 1; + border: none; + outline: none; + } + + &__backdrop { + position: fixed; + top: 0; + left: 0; + z-index: 1056; + width: 100vw; + height: 100vh; + background-color: #000; + opacity: .8; + } + + &__fullscreen { + width: 100vw; + max-width: none; + height: 100%; + margin: 0 + } + + &--show { + opacity: 1; + } + + &--hide { + transform: scale(0.5); + opacity: 0.8; + } + + &__dialog { + width: 100%; + height: 100%; + display: flex; + justify-content: center; + align-items: center; + flex-direction: column; + margin: 0 auto; + position: relative; + z-index: 1057; + background: white; + &__title{ + display: flex; + align-items: center; + justify-content: center; + flex-direction: column; + width: 100%; + min-height: 50px; + h2{ + margin: 0; + color: #4e4e4e; + font-size: 23px; + padding: 0; + } + } + &__footer{ + display: flex; + align-items: center; + justify-content: space-between; + flex-direction: row; + background: #fff; + max-width: 100%; + box-shadow: inset -2px 1px 0px 0 rgb(215 215 215); + border-top: 2px solid #e7e7e7; + min-height: 75px; + width: 100%; + p{ + margin: 0; + padding: 0; + line-height: 1; + } + &__info{ + padding-left: 20px; + p{ + text-align: left; + } + button{ + display: block; + padding: 5px 0; + background: none; + border: none; + width: auto; + margin: 3px 0; + box-shadow: none; + transform: none; + color: #a81616; + font-size: 15px; + } + } + &__actions { + padding-right: 20px; + button { + @include mixins.blue_button(); + font-size: 16px; + padding: 0.4rem; + } + } + } + } + &__content { + position: relative; + width: 100%; + display: flex; + flex-direction: column; + background-color: #fff; + outline: 0; + max-height: 100%; + overflow-x: hidden; + overflow-y: auto; + padding: 0; + height: 100vh; + + } +} diff --git a/assets/src/styles/predefined_form_type.scss b/assets/src/styles/predefined_form_type.scss new file mode 100644 index 0000000..35d5911 --- /dev/null +++ b/assets/src/styles/predefined_form_type.scss @@ -0,0 +1,86 @@ +@use './mixins'; + +.ranky-media-form-type { + display: block; + width: 100%; + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + + &__content { + position: relative; + display: block; + + >#page-loader { + height: 250px; + width: 100%; + display: block; + position: relative; + } + + &__preview { + margin-bottom: 10px; + display: flex; + align-items: center; + flex-direction: row; + justify-content: center; + flex-wrap: wrap; + gap: 15px; + margin-top: 15px; + + img { + text-align: center; + display: block; + margin: 0 auto; + vertical-align: middle; + max-width: 100%; + height: 130px; + width: 130px; + object-fit: cover; + border: 1px solid white; + box-shadow: 0 0 6px rgb(0 0 0 / 10%); + + &.choose-image {} + } + } + + &__wrapper_button { + display: flex; + align-items: center; + flex-direction: row; + margin: 18px 0; + justify-content: flex-end; + gap: 18px; + + button { + @include mixins.blue_button(); + + &.clean-selected-media-files { + background: #da4453; + border-color: #c92a39; + + &:hover { + background: #b00c1d; + } + } + } + } + + &__wrapper_checkbox { + display: flex; + align-items: center; + flex-direction: row; + justify-content: center; + margin-top: 20px; + + label { + display: inline-block; + vertical-align: middle; + font-weight: 500; + } + + input[type="checkbox"] { + @include mixins.checkbox(); + } + } + + } +} diff --git a/assets/src/styles/reset.scss b/assets/src/styles/reset.scss new file mode 100644 index 0000000..aedecfe --- /dev/null +++ b/assets/src/styles/reset.scss @@ -0,0 +1,283 @@ +@import "variables"; +/*! + * ress.css • v4.0.0 + * MIT License + * github.com/filipelinhares/ress + * + * Edited: 2021-03-29 11:00:00 + * By: chiqui3d + */ + +/* # ================================================================= + # Global selectors + # ================================================================= */ + + +.#{$ranky-media-class} { + *, *::before, *::after { + box-sizing: border-box; + } + html { + box-sizing: border-box; + -webkit-text-size-adjust: 100%; /* Prevent adjustments of font size after orientation changes in iOS */ + word-break: normal; + -moz-tab-size: 4; + tab-size: 4; + } + + ::before, + ::after { + text-decoration: inherit; /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */ + vertical-align: inherit; + } + + * { + padding: 0; /* Reset `padding` and `margin` of all elements */ + margin: 0; + } + + /* # ================================================================= + # General elements + # ================================================================= */ + + hr { + overflow: visible; /* Show the overflow in Edge and IE */ + height: 0; /* Add the correct box sizing in Firefox */ + color: inherit; /* Correct border color in Firefox. */ + } + + details, + main { + display: block; /* Render the `main` element consistently in IE. */ + } + + summary { + display: list-item; /* Add the correct display in all browsers */ + } + + small { + font-size: 80%; /* Set font-size to 80% in `small` elements */ + } + + [hidden] { + display: none; /* Add the correct display in IE */ + } + + abbr[title] { + border-bottom: none; /* Remove the bottom border in Chrome 57 */ + /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */ + text-decoration: underline; + } + + a { + background-color: transparent; /* Remove the gray background on active links in IE 10 */ + } + + a:active, + a:hover { + outline-width: 0; /* Remove the outline when hovering in all browsers */ + } + + code, + kbd, + pre, + samp { + font-family: monospace, monospace; /* Specify the font family of code elements */ + } + + pre { + font-size: 1em; /* Correct the odd `em` font sizing in all browsers */ + } + + b, + strong { + font-weight: bolder; /* Add the correct font weight in Chrome, Edge, and Safari */ + } + + /* https://gist.github.com/unruthless/413930 */ + sub, + sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; + } + + sub { + bottom: -0.25em; + } + + sup { + top: -0.5em; + } + + table { + border-color: inherit; /* Correct border color in all Chrome, Edge, and Safari. */ + text-indent: 0; /* Remove text indentation in Chrome, Edge, and Safari */ + } + + /* # ================================================================= + # Forms + # ================================================================= */ + + input { + border-radius: 0; + } + + /* Replace pointer cursor in disabled elements */ + [disabled] { + cursor: default; + } + + [type='number']::-webkit-inner-spin-button, + [type='number']::-webkit-outer-spin-button { + height: auto; /* Correct the cursor style of increment and decrement buttons in Chrome */ + } + + [type='search'] { + -webkit-appearance: textfield; /* Correct the odd appearance in Chrome and Safari */ + outline-offset: -2px; /* Correct the outline style in Safari */ + } + + [type='search']::-webkit-search-decoration { + -webkit-appearance: none; /* Remove the inner padding in Chrome and Safari on macOS */ + } + + textarea { + overflow: auto; /* Internet Explorer 11+ */ + resize: vertical; /* Specify textarea resizability */ + } + + button, + input, + optgroup, + select, + textarea { + font: inherit; /* Specify font inheritance of form elements */ + } + + optgroup { + font-weight: bold; /* Restore the font weight unset by the previous rule */ + } + + button { + overflow: visible; /* Address `overflow` set to `hidden` in IE 8/9/10/11 */ + } + + button, + select { + text-transform: none; /* Firefox 40+, Internet Explorer 11- */ + } + + /* Apply cursor pointer to button elements */ + button, + [type='button'], + [type='reset'], + [type='submit'], + [role='button'] { + cursor: pointer; + color: inherit; + } + + /* Remove inner padding and border in Firefox 4+ */ + button::-moz-focus-inner, + [type='button']::-moz-focus-inner, + [type='reset']::-moz-focus-inner, + [type='submit']::-moz-focus-inner { + border-style: none; + padding: 0; + } + + /* Replace focus style removed in the border reset above */ + button:-moz-focusring, + [type='button']::-moz-focus-inner, + [type='reset']::-moz-focus-inner, + [type='submit']::-moz-focus-inner { + outline: 1px dotted ButtonText; + } + + button, + html [type='button'], /* Prevent a WebKit bug where (2) destroys native `audio` and `video`controls in Android 4 */ + [type='reset'], + [type='submit'] { + -webkit-appearance: button; /* Correct the inability to style clickable types in iOS */ + } + + /* Remove the default button styling in all browsers */ + button, + input, + select, + textarea { + background-color: transparent; + border-style: none; + } + + a:focus, + button:focus, + input:focus, + select:focus, + textarea:focus { + outline-width: 0; + } + + /* Style select like a standard input */ + select { + -moz-appearance: none; /* Firefox 36+ */ + -webkit-appearance: none; /* Chrome 41+ */ + } + + select::-ms-expand { + display: none; /* Internet Explorer 11+ */ + } + + select::-ms-value { + color: currentColor; /* Internet Explorer 11+ */ + } + + legend { + border: 0; /* Correct `color` not being inherited in IE 8/9/10/11 */ + color: inherit; /* Correct the color inheritance from `fieldset` elements in IE */ + display: table; /* Correct the text wrapping in Edge and IE */ + max-width: 100%; /* Correct the text wrapping in Edge and IE */ + white-space: normal; /* Correct the text wrapping in Edge and IE */ + } + + ::-webkit-file-upload-button { + /* Correct the inability to style clickable types in iOS and Safari */ + -webkit-appearance: button; + color: inherit; + font: inherit; /* Change font properties to `inherit` in Chrome and Safari */ + } + + /* # ================================================================= + # Specify media element style + # ================================================================= */ + + img { + border-style: none; /* Remove border when inside `a` element in IE 8/9/10 */ + } + + /* Add the correct vertical alignment in Chrome, Firefox, and Opera */ + progress { + vertical-align: baseline; + } + + /* # ================================================================= + # Accessibility + # ================================================================= */ + + /* Specify the progress cursor of updating elements */ + [aria-busy='true'] { + cursor: progress; + } + + /* Specify the pointer cursor of trigger elements */ + [aria-controls] { + cursor: pointer; + } + + /* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */ + [aria-disabled='true'] { + cursor: default; + } +} diff --git a/assets/src/styles/uppy.scss b/assets/src/styles/uppy.scss new file mode 100644 index 0000000..152ade5 --- /dev/null +++ b/assets/src/styles/uppy.scss @@ -0,0 +1,79 @@ +@import "variables"; + +.#{$ranky-media-class} { + + .uppy-Root { + button { + background-color: initial; + font-family: initial; + font-size: initial; + margin-right: initial; + margin-bottom: initial; + padding: initial; + border: initial; + border-radius: initial; + outline: initial; + appearance: auto; + + &:focus { + box-shadow: none; + } + } + .uppy-DashboardContent-title { + margin: auto !important; + appearance: auto; + } + + button.uppy-DashboardContent-back, + button.uppy-DashboardContent-addMore{ + background-color: #efefef; + font-family: inherit; + padding: 7px; + border: none; + border-radius: 6px; + outline: none; + font-size: 15px; + font-weight: 400; + align-self: center; + } + + .uppy-Dashboard-close { + font-size: 34px !important; + top: -34px !important; + color: #ffffff !important; + right: -23px !important; + &:hover{ + background: initial; + } + } + + .uppy-StatusBar-actions { + right: 0; + button.uppy-StatusBar-actionBtn--done { + background-color: #189c38 !important; + width: auto; + padding: 0 19px; + color: #fff; + font-size: 15px; + line-height: 1; + border-radius: 0; + height: 100%; + right: 0; + margin: 0; + border: none; + + &:hover { + background-color: #1d6a2e !important; + } + } + .uppy-u-reset{ + margin-right: 10px; + } + } + + .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload { + font-family: Arial, serif; + } + } +} + diff --git a/assets/src/styles/variables.scss b/assets/src/styles/variables.scss new file mode 100644 index 0000000..022da49 --- /dev/null +++ b/assets/src/styles/variables.scss @@ -0,0 +1,6 @@ +$media-background-color: #ececec; +$toolbar-background-color: #fff; +$dropzone-background-color: #3e578dab; +$dropzone-border-color: #dcdcdc; +$link-color: #283c6b; +$ranky-media-class: "ranky-media" diff --git a/assets/src/styles/water.scss b/assets/src/styles/water.scss new file mode 100644 index 0000000..c1e772b --- /dev/null +++ b/assets/src/styles/water.scss @@ -0,0 +1,269 @@ +@charset "UTF-8"; +@import "variables"; + +/*! + * water.css + * MIT License + * https://github.com/kognise/water.css + * + * Edited: 2021-03-29 11:00:00 + * By: chiqui3d + */ +.#{$ranky-media-class} { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + text-rendering: optimizeLegibility; + + body { + font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; + line-height: 1.4; + max-width: 800px; + margin: 20px auto; + padding: 0 10px; + color: #363636; + background: #ffffff; + text-rendering: optimizeLegibility; + } + + button, + input, + textarea { + transition: background-color 0.1s linear, border-color 0.1s linear, color 0.1s linear, box-shadow 0.1s linear, transform 0.1s ease; + } + + h1 { + font-size: 2.2em; + margin-top: 0; + } + + h1, + h2, + h3, + h4, + h5, + h6 { + margin-bottom: 12px; + } + + h1, + h2, + h3, + h4, + h5, + h6, + strong { + color: #000000; + } + + h1, + h2, + h3, + h4, + h5, + h6, + b, + strong, + th { + font-weight: 600; + } + + blockquote { + border-left: 4px solid #0096bfab; + margin: 1.5em 0em; + padding: 0.5em 1em; + font-style: italic; + } + + blockquote>footer { + margin-top: 10px; + font-style: normal; + } + + blockquote cite { + font-style: normal; + } + + address { + font-style: normal; + } + + a[href^='mailto']::before { + content: '📧 '; + } + + a[href^='tel']::before { + content: '📞 '; + } + + a[href^='sms']::before { + content: '💬 '; + } + + button, + input[type='submit'], + input[type='button'], + input[type='checkbox'] { + cursor: pointer; + } + + input:not([type='checkbox']):not([type='radio']), + select { + display: block; + } + + input, + select, + button, + textarea { + color: #000000; + background-color: #efefef; + font-family: inherit; + font-size: inherit; + margin-right: 6px; + margin-bottom: 6px; + padding: 10px; + border: none; + border-radius: 6px; + outline: none; + } + + input:not([type='checkbox']):not([type='radio']), + select, + button, + textarea { + -webkit-appearance: none; + } + + textarea { + margin-right: 0; + width: 100%; + box-sizing: border-box; + resize: vertical; + } + + button, + input[type='submit'], + input[type='button'] { + padding-right: 30px; + padding-left: 30px; + } + + button:hover, + input[type='submit']:hover, + input[type='button']:hover { + background: #dddddd; + } + + input:focus, + select:focus, + button:focus, + textarea:focus { + box-shadow: 0 0 0 2px #0096bfab; + } + + input[type='checkbox']:active, + input[type='radio']:active, + input[type='submit']:active, + input[type='button']:active, + button:active { + transform: translateY(2px); + } + + input:disabled, + select:disabled, + button:disabled, + textarea:disabled { + cursor: not-allowed; + opacity: .5; + } + + ::-webkit-input-placeholder { + color: #949494; + } + + :-ms-input-placeholder { + color: #949494; + } + + ::-ms-input-placeholder { + color: #949494; + } + + ::placeholder { + color: #949494; + } + + a { + text-decoration: none; + color: #0076d1; + } + + a:hover { + text-decoration: underline; + } + + code, + kbd { + background: #efefef; + color: #000000; + padding: 5px; + border-radius: 6px; + } + + pre>code { + padding: 10px; + display: block; + overflow-x: auto; + } + + img { + max-width: 100%; + } + + hr { + border: none; + border-top: 1px solid #dbdbdb; + } + + table { + border-collapse: collapse; + margin-bottom: 10px; + width: 100%; + } + + td, + th { + padding: 6px; + text-align: left; + } + + th { + border-bottom: 1px solid #dbdbdb; + } + + tbody tr:nth-child(even) { + background-color: #efefef; + } + + ::-webkit-scrollbar { + height: 10px; + width: 10px; + } + + ::-webkit-scrollbar-track { + background: #efefef; + border-radius: 6px; + } + + ::-webkit-scrollbar-thumb { + background: #d5d5d5; + border-radius: 6px; + } + + ::-webkit-scrollbar-thumb:hover { + background: #c4c4c4; + } +} + + +/*# sourceMappingURL=light.css.map */ \ No newline at end of file diff --git a/assets/src/types/Config.ts b/assets/src/types/Config.ts new file mode 100644 index 0000000..2566c70 --- /dev/null +++ b/assets/src/types/Config.ts @@ -0,0 +1,48 @@ +import Settings from '@rankyMedia/api/model/Settings'; +import Translator from '@rankyMedia/api/model/Translator'; +import { TranslationsType } from '@rankyMedia/types/Translations'; +import { WithChildren } from '@rankyMedia/types/Generic'; +import MediaRepository from '@rankyMedia/api/repository/MediaRepository'; + +export interface ConfigType { + locale: string + upload_directory: string + upload_url: string + assets_prefix_url: string + mime_types: string[] + max_file_size: number + pagination_limit: number + supported_image_types: string[] + placeholder_image_types: Record + image: { + resize_driver: string + resize_gif: boolean + quality: number + original_max_width: number + breakpoints: { + large: number[] + medium: number[] + small: number[] + xsmall: number[] + } + } +} + +export type ConfigResponseType = { + config: ConfigType, + translations: TranslationsType +}; + +export type MediaContextType = { + settings: Settings, + translator: Translator, + mediaRepository: MediaRepository, +}; + +export type AppType = { + title?: string; + apiPrefix: string; + selectionMode?: boolean; + multipleSelection?: boolean; + targetRef?: HTMLElement; +} & WithChildren; diff --git a/assets/src/types/Events.ts b/assets/src/types/Events.ts new file mode 100644 index 0000000..f12837e --- /dev/null +++ b/assets/src/types/Events.ts @@ -0,0 +1,5 @@ +import { Media } from '@rankyMedia/types/Media'; + +export type SelectedMediaDetailEvent = { + medias: Media[], +}; diff --git a/assets/src/types/FilterOperator.ts b/assets/src/types/FilterOperator.ts new file mode 100644 index 0000000..07e0e3e --- /dev/null +++ b/assets/src/types/FilterOperator.ts @@ -0,0 +1,18 @@ +enum FilterOperator { + EQUALS = 'eq', + NOT_EQUALS = 'neq', + GREATER_THAN = 'gt', + GREATER_THAN_OR_EQUAL = 'gte', + LESS_THAN = 'lt', + LESS_THAN_OR_EQUAL = 'lte', + LIKE = 'like', + NOT_LIKE = 'nlike', + EXACT = 'exact', + NOT_EXACT = 'nexact', + STARTS = 'starts', + ENDS = 'ends', + INCLUDES = 'in', + NOT_INCLUDES = 'nin', +} + +export default FilterOperator; diff --git a/assets/src/types/Filters.ts b/assets/src/types/Filters.ts new file mode 100644 index 0000000..0e6817f --- /dev/null +++ b/assets/src/types/Filters.ts @@ -0,0 +1,10 @@ +export type Filter = { + label: string; + value: string; +}; + +export type Filters = { + availableDates: Filter[]; + mimeTypes: Filter[]; + users: Filter[]; +}; diff --git a/assets/src/types/Generic.ts b/assets/src/types/Generic.ts new file mode 100644 index 0000000..beec7ca --- /dev/null +++ b/assets/src/types/Generic.ts @@ -0,0 +1,26 @@ +import React from 'react'; + +/* +Examples WithChildren +===================== + +type CardProps = WithChildren<{ + title: string +}>; + +type CardProps = { title: string } & WithChildren; + +*/ + +export type WithChildren> = T & { children?: React.ReactNode }; + +export type HTMLElementEvent = Event & { + target: T; + currentTarget: T; +}; + +export type Immutable = { + readonly [K in keyof T]: Immutable +}; + +export type MakeRequired = Omit & Required<{ [P in K]: T[P] }>; diff --git a/assets/src/types/Media.ts b/assets/src/types/Media.ts new file mode 100644 index 0000000..c0569e8 --- /dev/null +++ b/assets/src/types/Media.ts @@ -0,0 +1,67 @@ +export type File = { + name: string + url: string + basename: string + mime: string + mimeType: string + mimeSubType: string + extension: string + size: number + humanSize: string +}; + +export type Dimension = { + width?: number + height?: number + label: string +}; + +export type Description = { + alt: string + title: string +}; + +export type Breakpoint = 'large' | 'medium' | 'small' | 'xsmall'; + +export type Thumbnail = { + breakpoint: Breakpoint + name: string + url: string + size: number + dimension: Dimension + humanSize: string +}; + +export type Media = { + id: string + createdAt: string + updatedAt: string + createdBy: string + updatedBy: string + file: File + dimension: Dimension + description: Description + thumbnails: Thumbnail[] +}; + +type PaginationType = { + total: number + count: number + page: number + pages: number + limit: number +}; + +export type MediaResultType = { + result: Media[], + pagination: PaginationType, +}; + +export type MediaQueryType = { + pageParams: Array; + pages: Array +}; + +export type MediaItem = { + media: Media; +}; diff --git a/assets/src/types/PageLayout.ts b/assets/src/types/PageLayout.ts new file mode 100644 index 0000000..bab8ae8 --- /dev/null +++ b/assets/src/types/PageLayout.ts @@ -0,0 +1,23 @@ +import { MediaResultType } from '@rankyMedia/types/Media'; +import PageSelectableLayout from '@rankyMedia/components/Layout/PageSelectableLayout'; +import PageGridLayout from '@rankyMedia/components/Layout/PageGridLayout'; +import PageListLayout from '@rankyMedia/components/Layout/PageListLayout'; + +export const LayoutFormView = { + SELECTABLE: 'SELECTABLE', + LIST: 'LIST', + GRID: 'GRID', +} as const; + +export type LayoutFormViewType = keyof typeof LayoutFormView; + +export const LayoutType = { + [LayoutFormView.SELECTABLE]: PageSelectableLayout, + [LayoutFormView.GRID]: PageGridLayout, + [LayoutFormView.LIST]: PageListLayout, +}; + +export type PageLayoutProps = { + pages: Array; + openModalFile: (id: string) => void; // or sidebar +}; diff --git a/assets/src/types/Translations.ts b/assets/src/types/Translations.ts new file mode 100644 index 0000000..824a144 --- /dev/null +++ b/assets/src/types/Translations.ts @@ -0,0 +1,61 @@ +export type TranslationsType = { + breakpoints: string; + open_upload_dashboard: string; + by: string; + file: string; + file_type: string; + mime: string; + type: string; + date: string; + 'swal.confirm_delete': string; + 'swal.successfully': string; + 'swal.undefined_attributes': string; + 'swal.delete_title': string; + 'swal.delete_text': string; + 'swal.confirm_button': string; + 'swal.cancel_button': string; + 'selection_mode.zero_element': string; + 'selection_mode.one_element': string; + 'selection_mode.multiple_elements': string; + 'selection_mode.clean': string; + 'selection_mode.insert': string; + 'form_type.open_selection_button': string; + 'form_type.clean_selection_button': string; + 'errors.bad_request': string; + 'errors.not_files': string; + 'errors.not_found': string; + 'errors.not_match_id': string; + pagination_info: string; + pagination_button_load: string; + created_at: string; + delete: string; + dimensions: string; + dropzone: string; + filters_user: string; + filters_date: string; + filters_mime_type: string; + filters_search: string; + filters_view_list: string; + filters_view_grid: string; + filters_sort_asc: string; + filters_sort_desc: string; + bulk_actions_title: string; + bulk_actions_delete:string; + bulk_actions_delete_prompt: string; + bulk_actions_error_no_action: string; + bulk_actions_error_no_select:string; + form_name: string; + form_alt: string; + form_title: string; + form_save: string; + modal_close: string; + modal_next: string; + modal_prev: string; + modal_title: string; + on_remove: string; + on_update: string; + open_new_window: string; + size: string; + title: string; + updated_at: string; +}; diff --git a/assets/src/wdyr.ts b/assets/src/wdyr.ts new file mode 100644 index 0000000..8c2613d --- /dev/null +++ b/assets/src/wdyr.ts @@ -0,0 +1 @@ +/// diff --git a/assets/tsconfig.json b/assets/tsconfig.json new file mode 100755 index 0000000..8bc9f1a --- /dev/null +++ b/assets/tsconfig.json @@ -0,0 +1,55 @@ +{ + "compilerOptions": { + "baseUrl": ".", + "outDir": "./lib", + "declarationDir": "./lib", + "paths": { + "@assets/*": ["./public/*"], + "@rankyMedia/*": ["./src/*"] + }, + "target": "es2018", + "module": "commonjs", //esNext + "moduleResolution": "node", + "lib": [ + "esnext", + "dom", + ], + "typeRoots": [ + "./node_modules/@types", + "./src/types", + "./src/globals.d.ts" + ], + "sourceMap": true, + "declaration": true, + "declarationMap": false, + "noEmit": false, + "incremental": false, + "allowJs": true, + "checkJs": true, + "removeComments": false, + "experimentalDecorators": true, + "emitDecoratorMetadata": true, + "esModuleInterop": true, + "allowSyntheticDefaultImports": true, + "resolveJsonModule": true, + "strict": true, + "skipLibCheck": true, + "noImplicitAny": false, + "strictNullChecks": false, + "noLib": false, + "jsx": "react", + "suppressImplicitAnyIndexErrors": true, + "forceConsistentCasingInFileNames": true, + }, + "compileOnSave": false, + "include": ["src"], + "exclude": [ + "test.ts", + "webpack.config.js", + "**/*.spec.ts", + ".history", + "node_modules", + "library", + "public" + ] +} diff --git a/assets/webpack.config.js b/assets/webpack.config.js new file mode 100755 index 0000000..e64322d --- /dev/null +++ b/assets/webpack.config.js @@ -0,0 +1,103 @@ +const Encore = require('@symfony/webpack-encore'); +const webpack = require('webpack'); +const Dotenv = require('dotenv-webpack'); +const path = require('path'); +const fs = require('fs'); +const uppyLocales = require('./scripts/webpackUppyLocales'); +// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin; + +const currentPath = path.resolve(__dirname, '../'); +const publicPath = `${currentPath}/public/`; +const environmentFile = path.resolve(__dirname, `.env.${process.env.NODE_ENV}`); + + +/* DontEnv */ +Encore.addPlugin( + new Dotenv({ + path: fs.existsSync(environmentFile) ? environmentFile : path.resolve(__dirname, '.env'), + ignoreStub: true, + systemvars: true, + }), +); + +/* Uppy Locales */ +Encore.addPlugin( + new webpack.DefinePlugin({ + 'process.env.UPPY_LOCALES': `'${uppyLocales.join(',')}'`, + }), +); + +/*Encore.addPlugin( + new BundleAnalyzerPlugin() +);*/ + +/* Config */ +Encore.setOutputPath(publicPath) + .configureWatchOptions((watchOptions) => { + watchOptions.poll = 250; // check for changes every 250 milliseconds + }) + .setManifestKeyPrefix('bundles/rankymedia/') + .setPublicPath('/bundles/rankymedia') + .addEntry('ranky_media', './src/load.tsx') + .copyFiles([ + { + from: './public', + }, + { + from: './node_modules/@uppy/locales/dist', + pattern: /\.(js)$/, + to: 'uppy/locales/[name].[ext]', + } + ]) + .enableTypeScriptLoader(function callback(tsConfig) { + // https://github.com/TypeStrong/ts-loader/blob/master/README.md#loader-options + // tsConfig.transpileOnly = true; + tsConfig.silent = false; + }) + .enableForkedTypeScriptTypesChecking() + .splitEntryChunks() + .addCacheGroup('react', { + node_modules: ['react', 'react-dom', 'scheduler', 'object-assign', 'loose-envify'], + name: 'react.17.0.2' + }) + //.addExternals({react: 'React', 'react-dom': 'ReactDOM'}) + .configureSplitChunks((splitChunks) => { + // https://webpack.js.org/plugins/split-chunks-plugin/#splitchunksname + splitChunks.name = 'ranky_media.vendors'; + }) + .configureFilenames({ + js: '[name].js?v=[fullhash:8]', + css: '[name].css?v=[fullhash:8]', + }) + .configureImageRule({filename: '[path][name][ext]'}) + .configureFontRule({filename: '[path][name][ext]'}) + // .enableVersioning() + .enablePostCssLoader() + .enableSassLoader() + .cleanupOutputBeforeBuild() + // .enableSingleRuntimeChunk() + .disableSingleRuntimeChunk() + .enableSourceMaps(!Encore.isProduction()); + +const media = Encore.getWebpackConfig(); +media.name = 'media'; +media.watchOptions = { + poll: true, + ignored: /node_modules/, +}; +media.resolve = { + extensions: ['.mjs', '.json', '.jsx', '.ts', '.tsx', '.js'], + alias: { + '@assets': path.resolve(__dirname, './public'), + '@rankyMedia': path.resolve(__dirname, './src'), + }, +}; + +/* media.entry['react'] = { + import: ['react','react-dom'], + filename: 'react.17.0.2.js', +}; + */ +Encore.reset(); + +module.exports = media; diff --git a/public/entrypoints.json b/public/entrypoints.json index 67eb38c..3a5993b 100644 --- a/public/entrypoints.json +++ b/public/entrypoints.json @@ -2,13 +2,13 @@ "entrypoints": { "ranky_media": { "js": [ - "/bundles/rankymedia/react.17.0.2.js?v=bfc693fd", - "/bundles/rankymedia/ranky_media.vendors.js?v=bfc693fd", - "/bundles/rankymedia/ranky_media.js?v=bfc693fd" + "/bundles/rankymedia/react.17.0.2.js?v=292eec4e", + "/bundles/rankymedia/ranky_media.vendors.js?v=292eec4e", + "/bundles/rankymedia/ranky_media.js?v=292eec4e" ], "css": [ - "/bundles/rankymedia/ranky_media.vendors.css?v=bfc693fd", - "/bundles/rankymedia/ranky_media.css?v=bfc693fd" + "/bundles/rankymedia/ranky_media.vendors.css?v=292eec4e", + "/bundles/rankymedia/ranky_media.css?v=292eec4e" ] } } diff --git a/public/manifest.json b/public/manifest.json old mode 100755 new mode 100644 index 3560816..27c7f80 --- a/public/manifest.json +++ b/public/manifest.json @@ -1,11 +1,9 @@ { - "bundles/rankymedia/ranky_media.css": "/bundles/rankymedia/ranky_media.css?v=bfc693fd", - "bundles/rankymedia/ranky_media.js": "/bundles/rankymedia/ranky_media.js?v=bfc693fd", - "bundles/rankymedia/rank_media.modal_file.css": "/bundles/rankymedia/rank_media.modal_file.css?v=bfc693fd", - "bundles/rankymedia/rank_media.modal_file.js": "/bundles/rankymedia/rank_media.modal_file.js?v=bfc693fd", - "bundles/rankymedia/react.17.0.2.js": "/bundles/rankymedia/react.17.0.2.js?v=bfc693fd", - "bundles/rankymedia/ranky_media.vendors.css": "/bundles/rankymedia/ranky_media.vendors.css?v=bfc693fd", - "bundles/rankymedia/ranky_media.vendors.js": "/bundles/rankymedia/ranky_media.vendors.js?v=bfc693fd", + "bundles/rankymedia/ranky_media.css": "/bundles/rankymedia/ranky_media.css?v=292eec4e", + "bundles/rankymedia/ranky_media.js": "/bundles/rankymedia/ranky_media.js?v=292eec4e", + "bundles/rankymedia/react.17.0.2.js": "/bundles/rankymedia/react.17.0.2.js?v=292eec4e", + "bundles/rankymedia/ranky_media.vendors.css": "/bundles/rankymedia/ranky_media.vendors.css?v=292eec4e", + "bundles/rankymedia/ranky_media.vendors.js": "/bundles/rankymedia/ranky_media.vendors.js?v=292eec4e", "bundles/rankymedia/images/placeholder/image.jpg": "/bundles/rankymedia/images/placeholder/image.jpg", "bundles/rankymedia/images/placeholder/video.jpg": "/bundles/rankymedia/images/placeholder/video.jpg", "bundles/rankymedia/images/placeholder/audio.jpg": "/bundles/rankymedia/images/placeholder/audio.jpg", @@ -15,43 +13,6 @@ "bundles/rankymedia/images/placeholder/tiff.jpg": "/bundles/rankymedia/images/placeholder/tiff.jpg", "bundles/rankymedia/images/placeholder/application.jpg": "/bundles/rankymedia/images/placeholder/application.jpg", "bundles/rankymedia/images/placeholder/text.jpg": "/bundles/rankymedia/images/placeholder/text.jpg", - "bundles/rankymedia/uppy/locales/uk_UA.min.js": "/bundles/rankymedia/uppy/locales/uk_UA.min.js", - "bundles/rankymedia/uppy/locales/th_TH.min.js": "/bundles/rankymedia/uppy/locales/th_TH.min.js", - "bundles/rankymedia/uppy/locales/fa_IR.min.js": "/bundles/rankymedia/uppy/locales/fa_IR.min.js", - "bundles/rankymedia/uppy/locales/uz_UZ.min.js": "/bundles/rankymedia/uppy/locales/uz_UZ.min.js", - "bundles/rankymedia/uppy/locales/bg_BG.min.js": "/bundles/rankymedia/uppy/locales/bg_BG.min.js", - "bundles/rankymedia/uppy/locales/el_GR.min.js": "/bundles/rankymedia/uppy/locales/el_GR.min.js", - "bundles/rankymedia/uppy/locales/sr_RS_Cyrillic.min.js": "/bundles/rankymedia/uppy/locales/sr_RS_Cyrillic.min.js", - "bundles/rankymedia/uppy/locales/nl_NL.min.js": "/bundles/rankymedia/uppy/locales/nl_NL.min.js", - "bundles/rankymedia/uppy/locales/de_DE.min.js": "/bundles/rankymedia/uppy/locales/de_DE.min.js", - "bundles/rankymedia/uppy/locales/ru_RU.min.js": "/bundles/rankymedia/uppy/locales/ru_RU.min.js", "bundles/rankymedia/uppy/locales/en_US.min.js": "/bundles/rankymedia/uppy/locales/en_US.min.js", - "bundles/rankymedia/uppy/locales/sk_SK.min.js": "/bundles/rankymedia/uppy/locales/sk_SK.min.js", - "bundles/rankymedia/uppy/locales/ja_JP.min.js": "/bundles/rankymedia/uppy/locales/ja_JP.min.js", - "bundles/rankymedia/uppy/locales/fr_FR.min.js": "/bundles/rankymedia/uppy/locales/fr_FR.min.js", - "bundles/rankymedia/uppy/locales/nb_NO.min.js": "/bundles/rankymedia/uppy/locales/nb_NO.min.js", - "bundles/rankymedia/uppy/locales/ar_SA.min.js": "/bundles/rankymedia/uppy/locales/ar_SA.min.js", - "bundles/rankymedia/uppy/locales/he_IL.min.js": "/bundles/rankymedia/uppy/locales/he_IL.min.js", - "bundles/rankymedia/uppy/locales/vi_VN.min.js": "/bundles/rankymedia/uppy/locales/vi_VN.min.js", - "bundles/rankymedia/uppy/locales/pl_PL.min.js": "/bundles/rankymedia/uppy/locales/pl_PL.min.js", - "bundles/rankymedia/uppy/locales/sr_RS_Latin.min.js": "/bundles/rankymedia/uppy/locales/sr_RS_Latin.min.js", - "bundles/rankymedia/uppy/locales/hu_HU.min.js": "/bundles/rankymedia/uppy/locales/hu_HU.min.js", - "bundles/rankymedia/uppy/locales/ro_RO.min.js": "/bundles/rankymedia/uppy/locales/ro_RO.min.js", - "bundles/rankymedia/uppy/locales/cs_CZ.min.js": "/bundles/rankymedia/uppy/locales/cs_CZ.min.js", - "bundles/rankymedia/uppy/locales/hr_HR.min.js": "/bundles/rankymedia/uppy/locales/hr_HR.min.js", - "bundles/rankymedia/uppy/locales/fi_FI.min.js": "/bundles/rankymedia/uppy/locales/fi_FI.min.js", - "bundles/rankymedia/uppy/locales/es_ES.min.js": "/bundles/rankymedia/uppy/locales/es_ES.min.js", - "bundles/rankymedia/uppy/locales/is_IS.min.js": "/bundles/rankymedia/uppy/locales/is_IS.min.js", - "bundles/rankymedia/uppy/locales/id_ID.min.js": "/bundles/rankymedia/uppy/locales/id_ID.min.js", - "bundles/rankymedia/uppy/locales/gl_ES.min.js": "/bundles/rankymedia/uppy/locales/gl_ES.min.js", - "bundles/rankymedia/uppy/locales/zh_TW.min.js": "/bundles/rankymedia/uppy/locales/zh_TW.min.js", - "bundles/rankymedia/uppy/locales/tr_TR.min.js": "/bundles/rankymedia/uppy/locales/tr_TR.min.js", - "bundles/rankymedia/uppy/locales/sv_SE.min.js": "/bundles/rankymedia/uppy/locales/sv_SE.min.js", - "bundles/rankymedia/uppy/locales/it_IT.min.js": "/bundles/rankymedia/uppy/locales/it_IT.min.js", - "bundles/rankymedia/uppy/locales/da_DK.min.js": "/bundles/rankymedia/uppy/locales/da_DK.min.js", - "bundles/rankymedia/uppy/locales/pt_PT.min.js": "/bundles/rankymedia/uppy/locales/pt_PT.min.js", - "bundles/rankymedia/uppy/locales/pt_BR.min.js": "/bundles/rankymedia/uppy/locales/pt_BR.min.js", - "bundles/rankymedia/uppy/locales/zh_CN.min.js": "/bundles/rankymedia/uppy/locales/zh_CN.min.js", - "bundles/rankymedia/uppy/locales/ko_KR.min.js": "/bundles/rankymedia/uppy/locales/ko_KR.min.js", "bundles/rankymedia/images/choose-image.png": "/bundles/rankymedia/images/choose-image.png" } \ No newline at end of file diff --git a/public/rank_media.modal_file.css b/public/rank_media.modal_file.css deleted file mode 100644 index fc3a031..0000000 --- a/public/rank_media.modal_file.css +++ /dev/null @@ -1 +0,0 @@ -.ranky-media .ranky-media-modal-file-backdrop{background-color:#000;height:100vh;left:0;opacity:.8;position:fixed;top:0;width:100vw;z-index:1056}.ranky-media .ranky-media-modal-file-fullscreen{height:100%;margin:0;max-width:none;width:100vw}.ranky-media .ranky-media-modal-file{bottom:30px;font-family:apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:calc(100% - 60px);left:30px;margin:0 auto!important;opacity:0;outline:0;position:fixed;right:30px;top:30px;transform:scale(.5);transition:all .3s;width:90%;z-index:1057}@media (max-width:900px){.ranky-media .ranky-media-modal-file{width:auto}}.ranky-media .ranky-media-modal-file input:focus{box-shadow:0 0 0 2px rgba(53,75,122,.561)!important}.ranky-media .ranky-media-modal-file--show{opacity:1;transform:scale(1)}.ranky-media .ranky-media-modal-file--hide{opacity:.8;transform:scale(.5)}.ranky-media .ranky-media-modal-file__dialog{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0 auto;width:100%}.ranky-media .ranky-media-modal-file__dialog--bg-primary-dark{background-color:#354b7a!important}.ranky-media .ranky-media-modal-file__dialog__header{align-items:center;display:flex;justify-content:flex-start;padding:20px;position:relative;width:100%}.ranky-media .ranky-media-modal-file__dialog__header__title{color:#fff;font-size:20px;font-weight:600;height:100%;line-height:1.5;margin:0;overflow:hidden;padding:0;vertical-align:middle;width:80%}.ranky-media .ranky-media-modal-file__dialog__header__title small{color:#b4bcc2;font-size:13px}@media (max-width:640px){.ranky-media .ranky-media-modal-file__dialog__header__title{width:70%;word-break:break-word}}@media (max-width:450px){.ranky-media .ranky-media-modal-file__dialog__header__title{font-size:16px;width:60%}}@media (max-width:375px){.ranky-media .ranky-media-modal-file__dialog__header__title{width:57%}}.ranky-media .ranky-media-modal-file__dialog__header__options{height:100%;position:absolute;right:0;top:0;vertical-align:middle}.ranky-media .ranky-media-modal-file__dialog__header__options ul{display:flex;flex-direction:row;height:100%;list-style:none;margin:0;padding:0}.ranky-media .ranky-media-modal-file__dialog__header__options ul li{border-left:1px solid rgba(66,87,133,.922);display:inline-block;margin:0;position:relative}.ranky-media .ranky-media-modal-file__dialog__header__options ul li:hover{background:#fff;border-left:1px solid #fff}.ranky-media .ranky-media-modal-file__dialog__header__options ul li:hover button{color:rgba(66,87,133,.922)}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button{background:none;border-radius:0;color:#fff;font-size:30px;height:100%;margin:0;padding:0 13px}@media (max-width:450px){.ranky-media .ranky-media-modal-file__dialog__header__options ul li button{padding:0 10px}}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button:focus{box-shadow:none}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-next:disabled,.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-prev:disabled{color:#989696;cursor:auto}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-next:disabled:hover,.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-prev:disabled:hover{color:#989696}.ranky-media .ranky-media-modal-file__dialog__content{background-color:#fff;display:flex;flex-direction:column;height:100vh;max-height:100%;outline:0;overflow-x:hidden;overflow-y:auto;padding:1rem;position:relative;width:100%}.ranky-media .ranky-media-modal-file__dialog__content .ranky-media-modal-file__btn-media-danger{background-color:#dc3545;color:#fff;display:block;margin-top:10px}.ranky-media .ranky-media-modal-file__dialog__content__show{align-items:flex-start;display:flex;flex-direction:row}@media (max-width:900px){.ranky-media .ranky-media-modal-file__dialog__content__show{align-items:center;flex-direction:column;justify-content:center}.ranky-media .ranky-media-modal-file__dialog__content__show__preview{margin-bottom:10px!important;width:auto!important}.ranky-media .ranky-media-modal-file__dialog__content__show__preview object{height:auto!important}.ranky-media .ranky-media-modal-file__dialog__content__show__info{align-self:center!important;justify-content:center!important;width:auto!important}}.ranky-media .ranky-media-modal-file__dialog__content__show__preview{align-items:center;display:flex;flex-direction:column;width:60%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview audio,.ranky-media .ranky-media-modal-file__dialog__content__show__preview embed,.ranky-media .ranky-media-modal-file__dialog__content__show__preview iframe,.ranky-media .ranky-media-modal-file__dialog__content__show__preview img,.ranky-media .ranky-media-modal-file__dialog__content__show__preview object,.ranky-media .ranky-media-modal-file__dialog__content__show__preview svg,.ranky-media .ranky-media-modal-file__dialog__content__show__preview video{display:block;height:auto;max-height:70vh;max-width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview embed,.ranky-media .ranky-media-modal-file__dialog__content__show__preview iframe,.ranky-media .ranky-media-modal-file__dialog__content__show__preview object{height:100vh;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview audio{height:54px;width:300px}.ranky-media .ranky-media-modal-file__dialog__content__show__preview img{object-fit:contain}.ranky-media .ranky-media-modal-file__dialog__content__show__preview img.img-svg-preview{width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview img[src$=".ico"]{min-width:200px}.ranky-media .ranky-media-modal-file__dialog__content__show__info{align-self:flex-start;display:flex;flex-direction:column;flex-grow:1;justify-content:flex-start;padding:15px 25px;width:40%}.ranky-media .ranky-media-modal-file__dialog__content__show__info a{color:#212529}.ranky-media .ranky-media-modal-file__dialog__content__show__info table{border-collapse:collapse;caption-side:bottom;color:#212529;margin-bottom:1rem;vertical-align:top;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info table a{text-decoration:none}.ranky-media .ranky-media-modal-file__dialog__content__show__info table a:hover{text-decoration:underline}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul{margin-bottom:1rem;margin-top:0;padding-left:19px}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul li{font-size:15px}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul li a{text-decoration:none}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul li a:hover{text-decoration:underline}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tbody tr:nth-child(2n){background:#fff}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tbody tr td{word-break:break-all}.ranky-media .ranky-media-modal-file__dialog__content__show__info table th{border-bottom:none}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tr td{color:#2e2e2e;padding:.5rem}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tr td:first-child{color:#989797;font-weight:600;white-space:nowrap;width:auto}.ranky-media .ranky-media-modal-file__dialog__content__show__info form{margin-left:.5rem}.ranky-media .ranky-media-modal-file__dialog__content__show__info form label{color:#989797;font-weight:600;margin-top:10px}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group label{display:block;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group input{border-radius:6px 0 0 6px!important;flex:1;font-size:15px;margin-right:0;min-width:0;position:relative;width:1%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group .input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:0 6px 6px 0;color:#212529;display:flex;font-size:15px;font-weight:400;line-height:1.5;margin-bottom:6px;margin-left:0!important;outline:none;padding:10px;text-align:center;white-space:nowrap}.ranky-media .ranky-media-modal-file__dialog__content__show__info form input[type=text]{color:#989797;font-size:15px;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form input[type=submit]{display:block;margin-left:auto;margin-top:18px;text-align:right} \ No newline at end of file diff --git a/public/rank_media.modal_file.js b/public/rank_media.modal_file.js deleted file mode 100644 index 4a50d04..0000000 --- a/public/rank_media.modal_file.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkranky_media_bundle=self.webpackChunkranky_media_bundle||[]).push([[922],{7028:function(e,t,a){a.r(t),a.d(t,{default:function(){return v}});var l=a(7294),i=a(4044),r=a(8062),n=a(2425);var m=e=>{let{media:t}=e;return l.createElement("object",{type:t.file.mime,data:t.file.url},l.createElement("img",{"aria-hidden":"true",src:(0,n.Z)("images/placeholder/application.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}))};var d=e=>{let{media:t}=e;return l.createElement("object",{type:t.file.mime,data:t.file.url},l.createElement("img",{"aria-hidden":"true",src:(0,n.Z)("images/placeholder/text.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}))};var o=e=>{let{media:t}=e;return l.createElement("audio",{controls:!0,src:t.file.url,title:`${t.description.title} (${t.file.mime})`},l.createElement("track",{kind:"captions"}),"Your browser does not support the ",l.createElement("code",null,"audio")," element.")};var s=e=>{let{media:t}=e;return l.createElement("video",{controls:!0,title:`${t.description.title} (${t.file.mime})`},l.createElement("source",{src:t.file.url,type:t.file.mime}),l.createElement("track",{kind:"captions"}),"Sorry, your browser doesn't support embedded videos.")};var c=a(1202);const u={application:m,audio:o,image:e=>{let{media:t}=e;const a=(0,c.Z)();if(Object.keys(a.placeholderImageTypes).includes(t.file.mimeSubType))return l.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},l.createElement("img",{src:(0,n.Z)(a.placeholderImageTypes[t.file.mimeSubType]),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}));if(!a.supportedImageTypes.includes(t.file.mimeSubType))return l.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},l.createElement("img",{className:"ranky-img-placeholder ranky-img-placeholder--show",src:(0,n.Z)("images/placeholder/image.jpg"),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}));let i=`${t.file.url} ${t.dimension.width}w,`;return t.thumbnails.forEach((e=>{i+=` ${e.url} ${e.dimension.width}w,`})),l.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},l.createElement("img",{src:t.file.url,"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,width:t.dimension.width??"auto",height:t.dimension.height??"auto",srcSet:t.dimension.width?(r=i,m=",",r.slice(-1)===m?r.slice(0,-1):r):"",alt:t.description.alt,title:`${t.description.title}`}));var r,m},"image_svg+xml":e=>{let{media:t}=e;return l.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},l.createElement("img",{className:"img-svg-preview",src:t.file.url,"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title}`}))},video:s,text:d};var p=e=>{let{media:t}=e;const a=`${t.file.mimeType}_${t.file.mimeSubType}`,i=t.file.mimeType,r=u[a]||u[i]||u.application;return l.createElement(r,{media:t})},f=a(5633),E=a(4973),_=a(6363),b=a(35),g=a(3665);var y=e=>{var t;let{onDelete:a}=e;const n=(0,i.Z)(),[m,d]=(0,g.KO)(_.W5),o=(0,b.QQ)(),[s,c]=(0,l.useState)(!1),[u,y]=(0,l.useState)({id:m.id,name:m.file.basename,alt:m.description.alt,title:m.description.title}),h=e=>{const t=e.target,a={[t.name]:t.value};y({...u,...a})};return l.createElement("div",{className:"ranky-media-modal-file__dialog__content__show"},l.createElement("div",{className:"ranky-media-modal-file__dialog__content__show__preview"},l.createElement(p,{media:m}),l.createElement("button",{type:"button",className:"ranky-media-modal-file__btn-media-danger js-delete-media","data-id":m.id,disabled:s,onClick:e=>a(e,c)},"🗑️ ",l.createElement(r.Z,{message:"delete"}))),l.createElement("div",{className:"ranky-media-modal-file__dialog__content__show__info"},l.createElement("table",null,l.createElement("tbody",null,l.createElement("tr",null,l.createElement("th",{scope:"row","aria-label":"form_name"},l.createElement(r.Z,{message:"form_name"})),l.createElement("td",null,m.file.name)),l.createElement("tr",null,l.createElement("th",{scope:"row"},"URL"),l.createElement("td",null,l.createElement("a",{target:"_blank",href:m.file.url,rel:"noreferrer"},m.file.url))),l.createElement("tr",null,l.createElement("th",{scope:"row","aria-label":"file_type"},l.createElement(r.Z,{message:"file_type"})),l.createElement("td",null,m.file.mime)),null!=m&&null!==(t=m.dimension)&&void 0!==t&&t.label?l.createElement("tr",null,l.createElement("th",{scope:"row","aria-label":"dimensions"},l.createElement(r.Z,{message:"dimensions"})),l.createElement("td",null,m.dimension.label)):null,l.createElement("tr",null,l.createElement("th",{scope:"row","aria-label":"size"},l.createElement(r.Z,{message:"size"})),l.createElement("td",null,m.file.humanSize)),l.createElement("tr",null,l.createElement("th",{scope:"row","aria-label":"created_at"},l.createElement(r.Z,{message:"created_at"})),l.createElement("td",null,m.createdAt," ",l.createElement(r.Z,{message:"by"})," ",m.createdBy)),l.createElement("tr",null,l.createElement("th",{scope:"row","aria-label":"updated_at"},l.createElement(r.Z,{message:"updated_at"})),l.createElement("td",null,m.updatedAt," ",l.createElement(r.Z,{message:"by"})," ",m.updatedBy)),l.createElement("tr",null,l.createElement("th",{scope:"row"},l.createElement(r.Z,{message:"breakpoints"})),l.createElement("td",null,m.thumbnails.length>0?l.createElement("ul",null,m.thumbnails.map((e=>l.createElement("li",{key:e.name+e.breakpoint},l.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:e.url},l.createElement("b",null,e.breakpoint,":")," ",e.dimension.label," ",l.createElement("b",null,"size:")," ",e.humanSize))))):"-")))),l.createElement("form",{name:"media",id:"ranky-media-file__form",method:"POST",autoComplete:"off",encType:"multipart/form-data",onSubmit:async e=>{e.preventDefault(),c(!0);const{id:t}=m,{data:a,error:l}=await f.Z.create(u).put(t);return l?(console.log(l),c(!1),(0,E.sD)(l)):(d(a),y({...u,name:a.file.basename,alt:a.description.alt,title:a.description.title}),o.update(a),c(!1),(0,E.Cq)())}},l.createElement("div",{className:"input-group"},l.createElement("label",{htmlFor:"name"},l.createElement(r.Z,{message:"form_name"})),l.createElement("input",{type:"text",name:"name",id:"ranky-media-file__form__name",value:u.name,onChange:h,required:!0,autoComplete:"off"}),l.createElement("span",{className:"input-group-text"},".",m.file.extension)),l.createElement("label",{htmlFor:"alt"},l.createElement(r.Z,{message:"form_alt"})),l.createElement("input",{type:"text",name:"alt",id:"ranky-media-file__form__alt",value:u.alt,onChange:h,required:!0}),l.createElement("label",{htmlFor:"title"},l.createElement(r.Z,{message:"form_title"})),l.createElement("input",{type:"text",name:"title",id:"ranky-media-file__form__title",value:u.title,onChange:h,required:!0}),l.createElement("input",{type:"hidden",name:"id",id:"ranky-media-file__form__id",defaultValue:u.id}),l.createElement("input",{type:"submit",disabled:s,value:n.trans("form_save")}))))},h=a(8767);var v=e=>{let{onClose:t}=e;const[a,i]=(0,g.KO)(_.W5),n=(0,h.useQueryClient)(),m=(0,b.QQ)();return l.createElement("div",{className:"wrapper-ranky-media-modal-file",key:`ranky-media-modal-file-${a.id}`},l.createElement("div",{className:"ranky-media-modal-file ranky-media-modal-file--show",tabIndex:-1,"aria-labelledby":"ranky-media-modal-file","aria-modal":"true",role:"dialog"},l.createElement("div",{className:"ranky-media-modal-file__dialog",role:"document"},l.createElement("div",{className:"ranky-media-modal-file__dialog__header ranky-media-modal-file__dialog--bg-primary-dark"},l.createElement("h3",{className:"ranky-media-modal-file__dialog__header__title"},l.createElement(r.Z,{message:"modal_title",data:{file_name:a.file.name,id:a.id}})),l.createElement("div",{className:"ranky-media-modal-file__dialog__header__options"},l.createElement("ul",null,l.createElement("li",null,l.createElement("button",{onClick:function(e){let{currentTarget:t}=e;const l=m.get(),r=m.findIndex(a.id),n=l.pages[r.page].result[r.index-1],d=l.pages.length,o=r.page>0&&r.pagen.page,o=(null===(t=r.pages[n.page])||void 0===t?void 0:t.result[n.index+1])||null;if(o)return i(o),l.removeAttribute("disabled");if(d){var s;const e=(null===(s=r.pages[n.page+1])||void 0===s?void 0:s.result[0])||null;if(e)return i(e),l.removeAttribute("disabled")}return l.setAttribute("disabled","")},type:"button",className:"ranky-media-modal-file__btn-media-next js-next-modal","aria-label":"Next"},l.createElement("span",{"aria-hidden":"true"},"→"))),l.createElement("li",null,l.createElement("button",{onClick:t,type:"button",className:"ranky-media-modal-file__btn-media-close js-close-modal","aria-label":"Close"},l.createElement("span",{"aria-hidden":"true"},"×")))))),l.createElement("div",{className:"ranky-media-modal-file__dialog__content"},l.createElement(y,{onDelete:async(e,a)=>{e.preventDefault();const l=e.currentTarget;return(0,E.vl)((async()=>{const{id:e}=l.dataset;a(!0);const{data:i,error:r}=await f.Z.create().delete(e);r?await(0,E.sD)(r):(await n.invalidateQueries("filters"),await n.invalidateQueries(["media","list"]),await(0,E.Cq)(null==i?void 0:i.message),t()),a(!1)}))}})))),l.createElement("div",{className:"ranky-media-modal-file-backdrop"}))}}}]); \ No newline at end of file diff --git a/public/ranky_media.css b/public/ranky_media.css index 6bfbbd4..5b5c9a4 100644 --- a/public/ranky_media.css +++ b/public/ranky_media.css @@ -1,4 +1,4 @@ -@charset "UTF-8";.ranky-media-form-type__items #page-loader,.ranky-media__items #page-loader{height:100vh;width:100%}.ranky-media-form-type__items #page-loader.show,.ranky-media__items #page-loader.show{transform:translateY(65px)}.ranky-media #page-loader,.ranky-media-form-type #page-loader{background-color:#3e578d;bottom:0;left:0;opacity:.9;position:absolute;right:0;top:0;transform:translateY(-100%);z-index:999}.ranky-media #page-loader.show,.ranky-media-form-type #page-loader.show{transform:translateY(0)}.ranky-media #page-loader:after,.ranky-media #page-loader:before,.ranky-media-form-type #page-loader:after,.ranky-media-form-type #page-loader:before{border-radius:100%;content:"";display:block;left:50%;position:absolute;top:50%;z-index:999}.ranky-media #page-loader:after,.ranky-media-form-type #page-loader:after{animation:page-loader-inner 1.25s ease-out infinite;background-color:hsla(0,0%,100%,.5);border:4px solid hsla(0,0%,100%,.75);box-shadow:0 0 100px rgba(0,0,0,.15);height:320px;margin-left:-160px;margin-top:-160px;width:320px}.ranky-media #page-loader:before,.ranky-media-form-type #page-loader:before{animation:page-loader-outer 1.25s ease-in infinite;background-color:#fff;height:80px;margin-left:-40px;margin-top:-40px;width:80px}@keyframes page-loader-inner{0%,40%{transform:scale(0)}to{opacity:0;transform:scale(1)}}@keyframes page-loader-outer{0%{transform:scale(1)}40%,to{opacity:0;transform:scale(0)}}.ranky-media__error{padding:20px}.ranky-media-form-type{display:block;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;width:100%}.ranky-media-form-type__content{display:block;position:relative}.ranky-media-form-type__content>#page-loader{display:block;height:250px;position:relative;width:100%}.ranky-media-form-type__content__preview{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:10px;margin-top:15px}.ranky-media-form-type__content__preview img{border:1px solid #fff;box-shadow:0 0 6px rgba(0,0,0,.1);display:block;height:130px;margin:0 auto;max-width:100%;object-fit:cover;text-align:center;vertical-align:middle;width:130px}.ranky-media-form-type__content__wrapper_button{align-items:center;display:flex;flex-direction:row;gap:18px;justify-content:flex-end;margin:18px 0}.ranky-media-form-type__content__wrapper_button button{background-color:#45619d;border:1px solid #45619d;border-radius:.25rem;color:#fff;cursor:pointer;display:block;font-size:14px;font-weight:600;line-height:1.5;padding:4px 10px;text-align:center;transition-duration:.2s;user-select:none;vertical-align:middle}.ranky-media-form-type__content__wrapper_button button:hover{background-color:#374e7e;border-color:#344976}.ranky-media-form-type__content__wrapper_button button.clean-selected-media-files{background:#da4453;border-color:#c92a39}.ranky-media-form-type__content__wrapper_button button.clean-selected-media-files:hover{background:#b00c1d}.ranky-media-form-type__content__wrapper_checkbox{align-items:center;display:flex;flex-direction:row;justify-content:center;margin-top:20px}.ranky-media-form-type__content__wrapper_checkbox label{display:inline-block;font-weight:500;vertical-align:middle}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]{background-color:#efefef;border:none;border-radius:6px;color:#000;cursor:pointer;font-family:inherit;font-size:inherit;height:15px;margin-bottom:0;margin-right:6px;outline:none;padding:10px;transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;width:15px}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]:active{transform:translateY(2px)}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]:focus{box-shadow:0 0 0 2px rgba(0,150,191,.671);outline:none}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5} +@charset "UTF-8";.ranky-media-form-type__items #page-loader,.ranky-media__items #page-loader{height:100vh;width:100%}.ranky-media-form-type__items #page-loader.show,.ranky-media__items #page-loader.show{transform:translateY(65px)}.ranky-media #page-loader,.ranky-media-form-type #page-loader{background-color:#3e578d;bottom:0;left:0;opacity:.9;position:absolute;right:0;top:0;transform:translateY(-100%);z-index:999}.ranky-media #page-loader.show,.ranky-media-form-type #page-loader.show{transform:translateY(0)}.ranky-media #page-loader:after,.ranky-media #page-loader:before,.ranky-media-form-type #page-loader:after,.ranky-media-form-type #page-loader:before{border-radius:100%;content:"";display:block;left:50%;position:absolute;top:50%;z-index:999}.ranky-media #page-loader:after,.ranky-media-form-type #page-loader:after{animation:page-loader-inner 1.25s ease-out infinite;background-color:hsla(0,0%,100%,.5);border:4px solid hsla(0,0%,100%,.75);box-shadow:0 0 100px rgba(0,0,0,.15);height:320px;margin-left:-160px;margin-top:-160px;width:320px}.ranky-media #page-loader:before,.ranky-media-form-type #page-loader:before{animation:page-loader-outer 1.25s ease-in infinite;background-color:#fff;height:80px;margin-left:-40px;margin-top:-40px;width:80px}@keyframes page-loader-inner{0%,40%{transform:scale(0)}to{opacity:0;transform:scale(1)}}@keyframes page-loader-outer{0%{transform:scale(1)}40%,to{opacity:0;transform:scale(0)}}.ranky-media__error{padding:20px} /*! * water.css * MIT License @@ -6,4 +6,4 @@ * * Edited: 2021-03-29 11:00:00 * By: chiqui3d - */.ranky-media,.ranky-media body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.4;text-rendering:optimizeLegibility}.ranky-media body{background:#fff;color:#363636;margin:20px auto;max-width:800px;padding:0 10px}.ranky-media button,.ranky-media input,.ranky-media textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease}.ranky-media h1{font-size:2.2em;margin-top:0}.ranky-media h1,.ranky-media h2,.ranky-media h3,.ranky-media h4,.ranky-media h5,.ranky-media h6{margin-bottom:12px}.ranky-media h1,.ranky-media h2,.ranky-media h3,.ranky-media h4,.ranky-media h5,.ranky-media h6,.ranky-media strong{color:#000}.ranky-media b,.ranky-media h1,.ranky-media h2,.ranky-media h3,.ranky-media h4,.ranky-media h5,.ranky-media h6,.ranky-media strong,.ranky-media th{font-weight:600}.ranky-media blockquote{border-left:4px solid rgba(0,150,191,.671);font-style:italic;margin:1.5em 0;padding:.5em 1em}.ranky-media blockquote>footer{font-style:normal;margin-top:10px}.ranky-media address,.ranky-media blockquote cite{font-style:normal}.ranky-media a[href^=mailto]:before{content:"📧 "}.ranky-media a[href^=tel]:before{content:"📞 "}.ranky-media a[href^=sms]:before{content:"💬 "}.ranky-media button,.ranky-media input[type=button],.ranky-media input[type=checkbox],.ranky-media input[type=submit]{cursor:pointer}.ranky-media input:not([type=checkbox]):not([type=radio]),.ranky-media select{display:block}.ranky-media button,.ranky-media input,.ranky-media select,.ranky-media textarea{background-color:#efefef;border:none;border-radius:6px;color:#000;font-family:inherit;font-size:inherit;margin-bottom:6px;margin-right:6px;outline:none;padding:10px}.ranky-media button,.ranky-media input:not([type=checkbox]):not([type=radio]),.ranky-media select,.ranky-media textarea{-webkit-appearance:none}.ranky-media textarea{box-sizing:border-box;margin-right:0;resize:vertical;width:100%}.ranky-media button,.ranky-media input[type=button],.ranky-media input[type=submit]{padding-left:30px;padding-right:30px}.ranky-media button:hover,.ranky-media input[type=button]:hover,.ranky-media input[type=submit]:hover{background:#ddd}.ranky-media button:focus,.ranky-media input:focus,.ranky-media select:focus,.ranky-media textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.671)}.ranky-media button:active,.ranky-media input[type=button]:active,.ranky-media input[type=checkbox]:active,.ranky-media input[type=radio]:active,.ranky-media input[type=submit]:active{transform:translateY(2px)}.ranky-media button:disabled,.ranky-media input:disabled,.ranky-media select:disabled,.ranky-media textarea:disabled{cursor:not-allowed;opacity:.5}.ranky-media ::-webkit-input-placeholder{color:#949494}.ranky-media :-ms-input-placeholder{color:#949494}.ranky-media ::-ms-input-placeholder{color:#949494}.ranky-media ::placeholder{color:#949494}.ranky-media a{color:#0076d1;text-decoration:none}.ranky-media a:hover{text-decoration:underline}.ranky-media code,.ranky-media kbd{background:#efefef;border-radius:6px;color:#000;padding:5px}.ranky-media pre>code{display:block;overflow-x:auto;padding:10px}.ranky-media img{max-width:100%}.ranky-media hr{border:none;border-top:1px solid #dbdbdb}.ranky-media table{border-collapse:collapse;margin-bottom:10px;width:100%}.ranky-media td,.ranky-media th{padding:6px;text-align:left}.ranky-media th{border-bottom:1px solid #dbdbdb}.ranky-media tbody tr:nth-child(2n){background-color:#efefef}.ranky-media ::-webkit-scrollbar{height:10px;width:10px}.ranky-media ::-webkit-scrollbar-track{background:#efefef;border-radius:6px}.ranky-media ::-webkit-scrollbar-thumb{background:#d5d5d5;border-radius:6px}.ranky-media ::-webkit-scrollbar-thumb:hover{background:#c4c4c4}body{height:100%;margin:0;max-width:100%;padding:0}.swal2-container{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.4;text-rendering:optimizeLegibility}.swal2-container ul li{list-style:none}.ranky-media{background:#ececec;box-sizing:border-box;height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;width:100%;z-index:1055}.ranky-media [role=button]{cursor:pointer}.ranky-media::-webkit-scrollbar{height:10px;width:10px}.ranky-media::-webkit-scrollbar-track{background:#efefef;border-radius:6px}.ranky-media::-webkit-scrollbar-thumb{background:#d5d5d5;border-radius:6px}.ranky-media::-webkit-scrollbar-thumb:hover{background:#c4c4c4}.ranky-media button:focus,.ranky-media input:focus,.ranky-media select:focus,.ranky-media textarea:focus{box-shadow:0 0 0 2px rgba(62,87,141,.671)}.ranky-media th{border-bottom:none}.ranky-media .pagination-media{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:50px;margin-top:50px;text-align:center}.ranky-media .pagination-media__info{display:block}.ranky-media .pagination-media__button{background:#fcfefc;display:block;font-weight:700}.ranky-media .batch-actions select{appearance:auto;background-color:#fff;margin-bottom:10px;margin-left:11px;padding:7px}.ranky-media .table-responsive{display:block;overflow-x:auto;width:100%}.ranky-media .table-responsive table{white-space:nowrap}.ranky-media table.table-view-list{border-collapse:collapse;border-color:#e5e7ef;caption-side:bottom;color:#343a40;margin-bottom:1rem;max-width:100%;vertical-align:top;width:100%}.ranky-media table.table-view-list>:not(:first-child){border-top:2px solid #dfe4f1}.ranky-media table.table-view-list input[type=checkbox]{display:block;margin:0 auto;text-align:center}.ranky-media table.table-view-list thead{vertical-align:bottom}.ranky-media table.table-view-list thead tr{background-color:#e5e7ef!important;border-color:inherit;border-style:solid;border-width:1px 0}.ranky-media table.table-view-list thead tr th{padding:12px}.ranky-media table.table-view-list tr{background:#fff}.ranky-media table.table-view-list tr a{color:#283c6b}.ranky-media table.table-view-list tr td:nth-child(2) div{align-content:center;align-items:center;display:flex;flex-direction:row}.ranky-media table.table-view-list tr td:nth-child(2) div span.file-preview{display:block;margin-right:10px}.ranky-media table.table-view-list tr td:nth-child(2) div span.file-preview img{height:80px;max-width:none;object-fit:cover;width:80px}.ranky-media table.table-view-list tr td:nth-child(2) div span.file-name{display:block;max-width:150px;white-space:normal}.ranky-media table.table-view-list tr:nth-child(2n){background-color:#fbfbfb}.ranky-media__filters{background:#fff;border:1px solid #ececec;box-shadow:0 2px 3px 0 #d7d7d7;box-sizing:border-box;display:flex;flex-direction:column;height:auto;margin-bottom:15px;max-width:100%;min-height:78px;padding:17px 10px 0;position:sticky;top:0;transition:all;vertical-align:middle;z-index:1}.ranky-media__filters form#media-form-filter{container-type:inline-size;container-name:form-filter;align-items:center;column-gap:15px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;margin-bottom:10px;row-gap:10px}@container form-filter (max-width: 990px){.ranky-media__filters form#media-form-filter .sort-filter,.ranky-media__filters form#media-form-filter .view-filter{margin:auto!important}}.ranky-media__filters form#media-form-filter button,.ranky-media__filters form#media-form-filter input,.ranky-media__filters form#media-form-filter select,.ranky-media__filters form#media-form-filter textarea{appearance:auto;background-color:#ececec;padding:7px}.ranky-media__filters form#media-form-filter .sort-filter,.ranky-media__filters form#media-form-filter .view-filter{column-gap:10px;display:flex;flex-direction:row;flex-wrap:nowrap}.ranky-media__filters form#media-form-filter .sort-filter div[role=radio],.ranky-media__filters form#media-form-filter .view-filter div[role=radio]{margin-right:6px}.ranky-media__filters form#media-form-filter .sort-filter div[role=radio]:focus,.ranky-media__filters form#media-form-filter .view-filter div[role=radio]:focus{box-shadow:0 0 0 3px rgba(62,87,141,.569);outline:none}.ranky-media__filters form#media-form-filter .sort-filter label,.ranky-media__filters form#media-form-filter .view-filter label{cursor:pointer;overflow:visible;position:relative}.ranky-media__filters form#media-form-filter .sort-filter label input,.ranky-media__filters form#media-form-filter .view-filter label input{appearance:none;background:none;box-shadow:none;outline:none;position:absolute;top:0}.ranky-media__filters form#media-form-filter .sort-filter label input:checked+span,.ranky-media__filters form#media-form-filter .view-filter label input:checked+span{opacity:.5}.ranky-media__filters form#media-form-filter .sort-filter label span,.ranky-media__filters form#media-form-filter .view-filter label span{background-color:#e9ecef;border:none;border-radius:6px;display:block;font-family:inherit;font-size:inherit;outline:none;padding:9px 8px;text-align:center;transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease}.ranky-media__filters form#media-form-filter .sort-filter label span svg,.ranky-media__filters form#media-form-filter .view-filter label span svg{color:#212529;display:inline-block;font-size:1rem;font-weight:300;height:18px;line-height:1;text-align:center;vertical-align:middle;white-space:nowrap;width:18px}.ranky-media__filters form#media-form-filter .view-filter{margin:0 auto}.ranky-media__filters form#media-form-filter .sort-filter{margin-left:auto}.ranky-media__items{display:block}.ranky-media__items .file-list .file-item:focus{outline:none}.ranky-media__items .file-list .file-item:focus img{box-shadow:0 0 0 2px #3e578d;outline:none}.ranky-media__items .file-list--mode-selectable .file-item{align-items:center!important;display:flex!important;flex-direction:column!important;position:relative!important}.ranky-media__items .file-list--mode-selectable .file-item button{background:#45619d;border:none;border-radius:0;bottom:1px;box-shadow:none;color:#fff;display:block;font-weight:700;margin:0;padding:5px 8px;position:absolute;right:1px;text-align:right;transform:none;transition-duration:.2s;vertical-align:middle}.ranky-media__items .file-list--mode-selectable .file-item button:hover{background-color:#374e7e}.ranky-media__items .file-list--mode-selectable .file-item button:focus{box-shadow:inset 0 0 0 2px #b9c6dd;outline:none}.ranky-media__items .file-list--mode-selectable .file-item input[type=checkbox]{display:none}.ranky-media__items .file-list--mode-selectable .file-item input[type=checkbox]:checked+label:before{box-shadow:0 0 0 2px #3e578d;content:"✓";transform:scale(1)}.ranky-media__items .file-list--mode-selectable .file-item input[type=checkbox]:checked+label img{box-shadow:0 0 0 2px #3e578d}.ranky-media__items .file-list--mode-selectable .file-item label{cursor:pointer;display:block;font-weight:400;margin:0;position:relative}.ranky-media__items .file-list--mode-selectable .file-item label:before{background-color:#283c6b;border:1px solid #fff;color:#fff;content:" ";display:block;font-size:19px;height:25px;left:-5px;margin:0;padding:0;position:absolute;text-align:center;top:-5px;transform:scale(0);transition-duration:.1s;width:25px}.ranky-media__items .file-list--mode-selectable .file-item label img{transition-duration:.1s}.ranky-media__items .file-list--mode-grid{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:flex-start;list-style:none;padding:12px}.ranky-media__items .file-list--mode-grid li{cursor:pointer;display:block;flex-basis:130px;flex-grow:0;flex-shrink:1;line-height:1;margin:0}.ranky-media__items .file-list--mode-grid li .file-item{display:block;position:relative}.ranky-media__items .file-list--mode-grid li .file-item a{display:block;overflow:hidden}.ranky-media__items .file-list--mode-grid li .file-item audio,.ranky-media__items .file-list--mode-grid li .file-item embed,.ranky-media__items .file-list--mode-grid li .file-item img,.ranky-media__items .file-list--mode-grid li .file-item object,.ranky-media__items .file-list--mode-grid li .file-item video{border:1px solid #fff;box-shadow:0 0 6px rgba(0,0,0,.1);height:130px;max-width:100%;object-fit:cover;vertical-align:middle;width:130px}.ranky-media .uppy-Root button{appearance:auto;background-color:initial;border:initial;border-radius:initial;font-family:initial;font-size:medium;margin-bottom:0;margin-right:0;outline:initial;padding:initial}.ranky-media .uppy-Root button:focus{box-shadow:none}.ranky-media .uppy-Root .uppy-DashboardContent-title{appearance:auto;margin:auto!important}.ranky-media .uppy-Root button.uppy-DashboardContent-addMore,.ranky-media .uppy-Root button.uppy-DashboardContent-back{align-self:center;background-color:#efefef;border:none;border-radius:6px;font-family:inherit;font-size:15px;font-weight:400;outline:none;padding:7px}.ranky-media .uppy-Root .uppy-Dashboard-close{color:#fff!important;font-size:34px!important;right:-23px!important;top:-34px!important}.ranky-media .uppy-Root .uppy-Dashboard-close:hover{background:initial}.ranky-media .uppy-Root .uppy-StatusBar-actions{right:0}.ranky-media .uppy-Root .uppy-StatusBar-actions button.uppy-StatusBar-actionBtn--done{background-color:#189c38!important;border:none;border-radius:0;color:#fff;font-size:15px;height:100%;line-height:1;margin:0;padding:0 19px;right:0;width:auto}.ranky-media .uppy-Root .uppy-StatusBar-actions button.uppy-StatusBar-actionBtn--done:hover{background-color:#1d6a2e!important}.ranky-media .uppy-Root .uppy-StatusBar-actions .uppy-u-reset{margin-right:10px}.ranky-media .uppy-Root .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{font-family:Arial,serif}.ranky-media__upload-floating-button{bottom:20px;position:absolute;right:20px;z-index:2}.ranky-media__upload-floating-button button{background:none!important;padding:0;width:auto!important}.ranky-media__upload-floating-button button:focus,.ranky-media__upload-floating-button button:hover{box-shadow:none!important}.uppy-is-drag-over:after{background:transparent;border:none;visibility:hidden}.ranky-media .dropzone-drag-zone{background:rgba(62,87,141,.671);border:5px dashed #dcdcdc;bottom:0;height:100%;left:0;opacity:0;position:absolute;right:0;top:0;visibility:hidden;width:100%;z-index:3}.ranky-media .dropzone-drag-zone p{color:#fff;font-size:20px;font-weight:600;position:relative;text-align:center;top:50%;transform:translateY(-50%)}.ranky-media .dropzone-drag-zone p span{display:block;height:50px;margin:0 auto 7px;text-align:center;width:50px}.ranky-media .dropzone-drag-zone p span svg{fill:#fff}.ranky-media-modal{bottom:30px;font-family:apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:calc(100% - 60px);left:30px;margin:0 auto!important;opacity:0;outline:0;position:fixed;right:30px;top:30px;transition:all .3s;width:90%;z-index:1057}.ranky-media-modal .uppy-Dashboard--modal{z-index:1057!important}.ranky-media-modal__btn-media-close{background:none;border:none;color:#3f3f3f;font-size:41px;height:auto;line-height:1;margin:0;outline:none;padding:0;position:absolute;right:5px;top:0;width:auto}.ranky-media-modal__backdrop{background-color:#000;height:100vh;left:0;opacity:.8;position:fixed;top:0;width:100vw;z-index:1056}.ranky-media-modal__fullscreen{height:100%;margin:0;max-width:none;width:100vw}.ranky-media-modal--show{opacity:1}.ranky-media-modal--hide{opacity:.8;transform:scale(.5)}.ranky-media-modal__dialog{background:#fff;height:100%;margin:0 auto;position:relative;z-index:1057}.ranky-media-modal__dialog,.ranky-media-modal__dialog__title{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.ranky-media-modal__dialog__title{min-height:50px}.ranky-media-modal__dialog__title h2{color:#4e4e4e;font-size:23px;margin:0;padding:0}.ranky-media-modal__dialog__footer{align-items:center;background:#fff;border-top:2px solid #e7e7e7;box-shadow:inset -2px 1px 0 0 #d7d7d7;display:flex;flex-direction:row;justify-content:space-between;max-width:100%;min-height:75px;width:100%}.ranky-media-modal__dialog__footer p{line-height:1;margin:0;padding:0}.ranky-media-modal__dialog__footer__info{padding-left:20px}.ranky-media-modal__dialog__footer__info p{text-align:left}.ranky-media-modal__dialog__footer__info button{background:none;border:none;box-shadow:none;color:#a81616;display:block;font-size:15px;margin:3px 0;padding:5px 0;transform:none;width:auto}.ranky-media-modal__dialog__footer__actions{padding-right:20px}.ranky-media-modal__dialog__footer__actions button{background-color:#45619d;border:1px solid #45619d;border-radius:.25rem;color:#fff;cursor:pointer;display:block;font-size:14px;font-size:16px;font-weight:600;line-height:1.5;padding:.4rem;text-align:center;transition-duration:.2s;user-select:none;vertical-align:middle}.ranky-media-modal__dialog__footer__actions button:hover{background-color:#374e7e;border-color:#344976}.ranky-media-modal__content{background-color:#fff;display:flex;flex-direction:column;height:100vh;max-height:100%;outline:0;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%} \ No newline at end of file + */.ranky-media,.ranky-media body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.4;text-rendering:optimizeLegibility}.ranky-media body{background:#fff;color:#363636;margin:20px auto;max-width:800px;padding:0 10px}.ranky-media button,.ranky-media input,.ranky-media textarea{transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease}.ranky-media h1{font-size:2.2em;margin-top:0}.ranky-media h1,.ranky-media h2,.ranky-media h3,.ranky-media h4,.ranky-media h5,.ranky-media h6{margin-bottom:12px}.ranky-media h1,.ranky-media h2,.ranky-media h3,.ranky-media h4,.ranky-media h5,.ranky-media h6,.ranky-media strong{color:#000}.ranky-media b,.ranky-media h1,.ranky-media h2,.ranky-media h3,.ranky-media h4,.ranky-media h5,.ranky-media h6,.ranky-media strong,.ranky-media th{font-weight:600}.ranky-media blockquote{border-left:4px solid rgba(0,150,191,.671);font-style:italic;margin:1.5em 0;padding:.5em 1em}.ranky-media blockquote>footer{font-style:normal;margin-top:10px}.ranky-media address,.ranky-media blockquote cite{font-style:normal}.ranky-media a[href^=mailto]:before{content:"📧 "}.ranky-media a[href^=tel]:before{content:"📞 "}.ranky-media a[href^=sms]:before{content:"💬 "}.ranky-media button,.ranky-media input[type=button],.ranky-media input[type=checkbox],.ranky-media input[type=submit]{cursor:pointer}.ranky-media input:not([type=checkbox]):not([type=radio]),.ranky-media select{display:block}.ranky-media button,.ranky-media input,.ranky-media select,.ranky-media textarea{background-color:#efefef;border:none;border-radius:6px;color:#000;font-family:inherit;font-size:inherit;margin-bottom:6px;margin-right:6px;outline:none;padding:10px}.ranky-media button,.ranky-media input:not([type=checkbox]):not([type=radio]),.ranky-media select,.ranky-media textarea{-webkit-appearance:none}.ranky-media textarea{box-sizing:border-box;margin-right:0;resize:vertical;width:100%}.ranky-media button,.ranky-media input[type=button],.ranky-media input[type=submit]{padding-left:30px;padding-right:30px}.ranky-media button:hover,.ranky-media input[type=button]:hover,.ranky-media input[type=submit]:hover{background:#ddd}.ranky-media button:focus,.ranky-media input:focus,.ranky-media select:focus,.ranky-media textarea:focus{box-shadow:0 0 0 2px rgba(0,150,191,.671)}.ranky-media button:active,.ranky-media input[type=button]:active,.ranky-media input[type=checkbox]:active,.ranky-media input[type=radio]:active,.ranky-media input[type=submit]:active{transform:translateY(2px)}.ranky-media button:disabled,.ranky-media input:disabled,.ranky-media select:disabled,.ranky-media textarea:disabled{cursor:not-allowed;opacity:.5}.ranky-media ::-webkit-input-placeholder{color:#949494}.ranky-media :-ms-input-placeholder{color:#949494}.ranky-media ::-ms-input-placeholder{color:#949494}.ranky-media ::placeholder{color:#949494}.ranky-media a{color:#0076d1;text-decoration:none}.ranky-media a:hover{text-decoration:underline}.ranky-media code,.ranky-media kbd{background:#efefef;border-radius:6px;color:#000;padding:5px}.ranky-media pre>code{display:block;overflow-x:auto;padding:10px}.ranky-media img{max-width:100%}.ranky-media hr{border:none;border-top:1px solid #dbdbdb}.ranky-media table{border-collapse:collapse;margin-bottom:10px;width:100%}.ranky-media td,.ranky-media th{padding:6px;text-align:left}.ranky-media th{border-bottom:1px solid #dbdbdb}.ranky-media tbody tr:nth-child(2n){background-color:#efefef}.ranky-media ::-webkit-scrollbar{height:10px;width:10px}.ranky-media ::-webkit-scrollbar-track{background:#efefef;border-radius:6px}.ranky-media ::-webkit-scrollbar-thumb{background:#d5d5d5;border-radius:6px}.ranky-media ::-webkit-scrollbar-thumb:hover{background:#c4c4c4}body{height:100%;margin:0;max-width:100%;padding:0}.swal2-container{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.4;text-rendering:optimizeLegibility}.swal2-container ul li{list-style:none}.ranky-media{background:#ececec;box-sizing:border-box;height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;width:100%;z-index:1055}.ranky-media [role=button]{cursor:pointer}.ranky-media::-webkit-scrollbar{height:10px;width:10px}.ranky-media::-webkit-scrollbar-track{background:#efefef;border-radius:6px}.ranky-media::-webkit-scrollbar-thumb{background:#d5d5d5;border-radius:6px}.ranky-media::-webkit-scrollbar-thumb:hover{background:#c4c4c4}.ranky-media button:focus,.ranky-media input:focus,.ranky-media select:focus,.ranky-media textarea:focus{box-shadow:0 0 0 2px rgba(62,87,141,.671)}.ranky-media th{border-bottom:none}.ranky-media .pagination-media{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-bottom:50px;margin-top:50px;text-align:center}.ranky-media .pagination-media__info{display:block}.ranky-media .pagination-media__button{background:#fcfefc;display:block;font-weight:700}.ranky-media .batch-actions select{appearance:auto;background-color:#fff;margin-bottom:10px;margin-left:11px;padding:7px}.ranky-media .table-responsive{display:block;overflow-x:auto;width:100%}.ranky-media .table-responsive table{white-space:nowrap}.ranky-media table.table-view-list{border-collapse:collapse;border-color:#e5e7ef;caption-side:bottom;color:#343a40;margin-bottom:1rem;max-width:100%;vertical-align:top;width:100%}.ranky-media table.table-view-list>:not(:first-child){border-top:2px solid #dfe4f1}.ranky-media table.table-view-list input[type=checkbox]{display:block;margin:0 auto;text-align:center}.ranky-media table.table-view-list thead{vertical-align:bottom}.ranky-media table.table-view-list thead tr{background-color:#e5e7ef!important;border-color:inherit;border-style:solid;border-width:1px 0}.ranky-media table.table-view-list thead tr th{padding:12px}.ranky-media table.table-view-list tr{background:#fff}.ranky-media table.table-view-list tr a{color:#283c6b}.ranky-media table.table-view-list tr td:nth-child(2) div{align-content:center;align-items:center;display:flex;flex-direction:row}.ranky-media table.table-view-list tr td:nth-child(2) div span.file-preview{display:block;margin-right:10px}.ranky-media table.table-view-list tr td:nth-child(2) div span.file-preview img{height:80px;max-width:none;object-fit:cover;width:80px}.ranky-media table.table-view-list tr td:nth-child(2) div span.file-name{display:block;max-width:150px;white-space:normal}.ranky-media table.table-view-list tr:nth-child(2n){background-color:#fbfbfb}.ranky-media__filters{background:#fff;border:1px solid #ececec;box-shadow:0 2px 3px 0 #d7d7d7;box-sizing:border-box;display:flex;flex-direction:column;height:auto;margin-bottom:15px;max-width:100%;min-height:78px;padding:17px 10px 0;position:sticky;top:0;transition:all;vertical-align:middle;z-index:1}.ranky-media__filters form#media-form-filter{align-items:center;column-gap:15px;container-name:form-filter;container-type:inline-size;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;margin-bottom:10px;row-gap:10px}@container form-filter (max-width: 990px){.ranky-media__filters form#media-form-filter .sort-filter,.ranky-media__filters form#media-form-filter .view-filter{margin:auto!important}}.ranky-media__filters form#media-form-filter button,.ranky-media__filters form#media-form-filter input,.ranky-media__filters form#media-form-filter select,.ranky-media__filters form#media-form-filter textarea{appearance:auto;background-color:#ececec;padding:7px}.ranky-media__filters form#media-form-filter .sort-filter,.ranky-media__filters form#media-form-filter .view-filter{column-gap:10px;display:flex;flex-direction:row;flex-wrap:nowrap}.ranky-media__filters form#media-form-filter .sort-filter div[role=radio],.ranky-media__filters form#media-form-filter .view-filter div[role=radio]{margin-right:6px}.ranky-media__filters form#media-form-filter .sort-filter div[role=radio]:focus,.ranky-media__filters form#media-form-filter .view-filter div[role=radio]:focus{box-shadow:0 0 0 3px rgba(62,87,141,.569);outline:none}.ranky-media__filters form#media-form-filter .sort-filter label,.ranky-media__filters form#media-form-filter .view-filter label{cursor:pointer;overflow:visible;position:relative}.ranky-media__filters form#media-form-filter .sort-filter label input,.ranky-media__filters form#media-form-filter .view-filter label input{appearance:none;background:none;box-shadow:none;outline:none;position:absolute;top:0}.ranky-media__filters form#media-form-filter .sort-filter label input:checked+span,.ranky-media__filters form#media-form-filter .view-filter label input:checked+span{opacity:.5}.ranky-media__filters form#media-form-filter .sort-filter label span,.ranky-media__filters form#media-form-filter .view-filter label span{background-color:#e9ecef;border:none;border-radius:6px;display:block;font-family:inherit;font-size:inherit;outline:none;padding:9px 8px;text-align:center;transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease}.ranky-media__filters form#media-form-filter .sort-filter label span svg,.ranky-media__filters form#media-form-filter .view-filter label span svg{color:#212529;display:inline-block;font-size:1rem;font-weight:300;height:18px;line-height:1;text-align:center;vertical-align:middle;white-space:nowrap;width:18px}.ranky-media__filters form#media-form-filter .view-filter{margin:0 auto}.ranky-media__filters form#media-form-filter .sort-filter{margin-left:auto}.ranky-media__items{display:block}.ranky-media__items .file-list .file-item:focus{outline:none}.ranky-media__items .file-list .file-item:focus img{box-shadow:0 0 0 2px #3e578d;outline:none}.ranky-media__items .file-list--mode-selectable .file-item{align-items:center!important;display:flex!important;flex-direction:column!important;position:relative!important}.ranky-media__items .file-list--mode-selectable .file-item button{background:#45619d;border:none;border-radius:0;bottom:1px;box-shadow:none;color:#fff;display:block;font-weight:700;margin:0;padding:5px 8px;position:absolute;right:1px;text-align:right;transform:none;transition-duration:.2s;vertical-align:middle}.ranky-media__items .file-list--mode-selectable .file-item button:hover{background-color:#374e7e}.ranky-media__items .file-list--mode-selectable .file-item button:focus{box-shadow:inset 0 0 0 2px #b9c6dd;outline:none}.ranky-media__items .file-list--mode-selectable .file-item input[type=checkbox]{display:none}.ranky-media__items .file-list--mode-selectable .file-item input[type=checkbox]:checked+label:before{box-shadow:0 0 0 2px #3e578d;content:"✓";transform:scale(1)}.ranky-media__items .file-list--mode-selectable .file-item input[type=checkbox]:checked+label img{box-shadow:0 0 0 2px #3e578d}.ranky-media__items .file-list--mode-selectable .file-item label{cursor:pointer;display:block;font-weight:400;margin:0;position:relative}.ranky-media__items .file-list--mode-selectable .file-item label:before{background-color:#283c6b;border:1px solid #fff;color:#fff;content:" ";display:block;font-size:19px;height:25px;left:-5px;margin:0;padding:0;position:absolute;text-align:center;top:-5px;transform:scale(0);transition-duration:.1s;width:25px}.ranky-media__items .file-list--mode-selectable .file-item label img{transition-duration:.1s}.ranky-media__items .file-list--mode-grid{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:flex-start;list-style:none;padding:12px}.ranky-media__items .file-list--mode-grid li{cursor:pointer;display:block;flex-basis:130px;flex-grow:0;flex-shrink:1;line-height:1;margin:0}.ranky-media__items .file-list--mode-grid li .file-item{display:block;position:relative}.ranky-media__items .file-list--mode-grid li .file-item a{display:block;overflow:hidden}.ranky-media__items .file-list--mode-grid li .file-item audio,.ranky-media__items .file-list--mode-grid li .file-item embed,.ranky-media__items .file-list--mode-grid li .file-item img,.ranky-media__items .file-list--mode-grid li .file-item object,.ranky-media__items .file-list--mode-grid li .file-item video{border:1px solid #fff;box-shadow:0 0 6px rgba(0,0,0,.1);height:130px;max-width:100%;object-fit:cover;vertical-align:middle;width:130px}.ranky-media .uppy-Root button{appearance:auto;background-color:initial;border:initial;border-radius:initial;font-family:initial;font-size:medium;margin-bottom:0;margin-right:0;outline:initial;padding:initial}.ranky-media .uppy-Root button:focus{box-shadow:none}.ranky-media .uppy-Root .uppy-DashboardContent-title{appearance:auto;margin:auto!important}.ranky-media .uppy-Root button.uppy-DashboardContent-addMore,.ranky-media .uppy-Root button.uppy-DashboardContent-back{align-self:center;background-color:#efefef;border:none;border-radius:6px;font-family:inherit;font-size:15px;font-weight:400;outline:none;padding:7px}.ranky-media .uppy-Root .uppy-Dashboard-close{color:#fff!important;font-size:34px!important;right:-23px!important;top:-34px!important}.ranky-media .uppy-Root .uppy-Dashboard-close:hover{background:initial}.ranky-media .uppy-Root .uppy-StatusBar-actions{right:0}.ranky-media .uppy-Root .uppy-StatusBar-actions button.uppy-StatusBar-actionBtn--done{background-color:#189c38!important;border:none;border-radius:0;color:#fff;font-size:15px;height:100%;line-height:1;margin:0;padding:0 19px;right:0;width:auto}.ranky-media .uppy-Root .uppy-StatusBar-actions button.uppy-StatusBar-actionBtn--done:hover{background-color:#1d6a2e!important}.ranky-media .uppy-Root .uppy-StatusBar-actions .uppy-u-reset{margin-right:10px}.ranky-media .uppy-Root .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{font-family:Arial,serif}.ranky-media__upload-floating-button{bottom:20px;position:absolute;right:20px;z-index:2}.ranky-media__upload-floating-button button{background:none!important;padding:0;width:auto!important}.ranky-media__upload-floating-button button:focus,.ranky-media__upload-floating-button button:hover{box-shadow:none!important}.uppy-is-drag-over:after{background:transparent;border:none;visibility:hidden}.ranky-media .dropzone-drag-zone{background:rgba(62,87,141,.671);border:5px dashed #dcdcdc;bottom:0;height:100%;left:0;opacity:0;position:absolute;right:0;top:0;visibility:hidden;width:100%;z-index:3}.ranky-media .dropzone-drag-zone p{color:#fff;font-size:20px;font-weight:600;position:relative;text-align:center;top:50%;transform:translateY(-50%)}.ranky-media .dropzone-drag-zone p span{display:block;height:50px;margin:0 auto 7px;text-align:center;width:50px}.ranky-media .dropzone-drag-zone p span svg{fill:#fff}.ranky-media .ranky-media-modal-file-backdrop{background-color:#000;height:100vh;left:0;opacity:.8;position:fixed;top:0;width:100vw;z-index:1056}.ranky-media .ranky-media-modal-file-fullscreen{height:100%;margin:0;max-width:none;width:100vw}.ranky-media .ranky-media-modal-file{bottom:30px;font-family:apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:calc(100% - 60px);left:30px;margin:0 auto!important;opacity:0;outline:0;position:fixed;right:30px;top:30px;transform:scale(.5);transition:all .3s;width:90%;z-index:1057}@media (max-width:900px){.ranky-media .ranky-media-modal-file{width:auto}}.ranky-media .ranky-media-modal-file input:focus{box-shadow:0 0 0 2px rgba(53,75,122,.561)!important}.ranky-media .ranky-media-modal-file--show{opacity:1;transform:scale(1)}.ranky-media .ranky-media-modal-file--hide{opacity:.8;transform:scale(.5)}.ranky-media .ranky-media-modal-file__dialog{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;margin:0 auto;width:100%}.ranky-media .ranky-media-modal-file__dialog--bg-primary-dark{background-color:#354b7a!important}.ranky-media .ranky-media-modal-file__dialog__header{align-items:center;display:flex;justify-content:flex-start;padding:20px;position:relative;width:100%}.ranky-media .ranky-media-modal-file__dialog__header__title{color:#fff;font-size:20px;font-weight:600;height:100%;line-height:1.5;margin:0;overflow:hidden;padding:0;vertical-align:middle;width:80%}.ranky-media .ranky-media-modal-file__dialog__header__title small{color:#b4bcc2;font-size:13px}@media (max-width:640px){.ranky-media .ranky-media-modal-file__dialog__header__title{width:70%;word-break:break-word}}@media (max-width:450px){.ranky-media .ranky-media-modal-file__dialog__header__title{font-size:16px;width:60%}}@media (max-width:375px){.ranky-media .ranky-media-modal-file__dialog__header__title{width:57%}}.ranky-media .ranky-media-modal-file__dialog__header__options{height:100%;position:absolute;right:0;top:0;vertical-align:middle}.ranky-media .ranky-media-modal-file__dialog__header__options ul{display:flex;flex-direction:row;height:100%;list-style:none;margin:0;padding:0}.ranky-media .ranky-media-modal-file__dialog__header__options ul li{border-left:1px solid rgba(66,87,133,.922);display:inline-block;margin:0;position:relative}.ranky-media .ranky-media-modal-file__dialog__header__options ul li:hover{background:#fff;border-left:1px solid #fff}.ranky-media .ranky-media-modal-file__dialog__header__options ul li:hover button{color:rgba(66,87,133,.922)}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button{background:none;border-radius:0;color:#fff;font-size:30px;height:100%;margin:0;padding:0 13px}@media (max-width:450px){.ranky-media .ranky-media-modal-file__dialog__header__options ul li button{padding:0 10px}}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button:focus{box-shadow:none}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-next:disabled,.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-prev:disabled{color:#989696;cursor:auto}.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-next:disabled:hover,.ranky-media .ranky-media-modal-file__dialog__header__options ul li button.ranky-media-modal-file__btn-media-prev:disabled:hover{color:#989696}.ranky-media .ranky-media-modal-file__dialog__content{background-color:#fff;display:flex;flex-direction:column;height:100vh;max-height:100%;outline:0;overflow-x:hidden;overflow-y:auto;padding:1rem;position:relative;width:100%}.ranky-media .ranky-media-modal-file__dialog__content .ranky-media-modal-file__btn-media-danger{background-color:#dc3545;color:#fff;display:block;margin-top:10px}.ranky-media .ranky-media-modal-file__dialog__content__show{align-items:flex-start;display:flex;flex-direction:row}@media (max-width:900px){.ranky-media .ranky-media-modal-file__dialog__content__show{align-items:center;flex-direction:column;justify-content:center}.ranky-media .ranky-media-modal-file__dialog__content__show__preview{margin-bottom:10px!important;width:auto!important}.ranky-media .ranky-media-modal-file__dialog__content__show__preview object{height:auto!important}.ranky-media .ranky-media-modal-file__dialog__content__show__info{align-self:center!important;justify-content:center!important;width:auto!important}}.ranky-media .ranky-media-modal-file__dialog__content__show__preview{align-items:center;display:flex;flex-direction:column;width:60%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview audio,.ranky-media .ranky-media-modal-file__dialog__content__show__preview embed,.ranky-media .ranky-media-modal-file__dialog__content__show__preview iframe,.ranky-media .ranky-media-modal-file__dialog__content__show__preview img,.ranky-media .ranky-media-modal-file__dialog__content__show__preview object,.ranky-media .ranky-media-modal-file__dialog__content__show__preview svg,.ranky-media .ranky-media-modal-file__dialog__content__show__preview video{display:block;height:auto;max-height:70vh;max-width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview embed,.ranky-media .ranky-media-modal-file__dialog__content__show__preview iframe,.ranky-media .ranky-media-modal-file__dialog__content__show__preview object{height:100vh;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview audio{height:54px;width:300px}.ranky-media .ranky-media-modal-file__dialog__content__show__preview img{object-fit:contain}.ranky-media .ranky-media-modal-file__dialog__content__show__preview img.img-svg-preview{width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__preview img[src$=".ico"]{min-width:200px}.ranky-media .ranky-media-modal-file__dialog__content__show__info{align-self:flex-start;display:flex;flex-direction:column;flex-grow:1;justify-content:flex-start;padding:15px 25px;width:40%}.ranky-media .ranky-media-modal-file__dialog__content__show__info a{color:#212529}.ranky-media .ranky-media-modal-file__dialog__content__show__info table{border-collapse:collapse;caption-side:bottom;color:#212529;margin-bottom:1rem;vertical-align:top;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info table a{text-decoration:none}.ranky-media .ranky-media-modal-file__dialog__content__show__info table a:hover{text-decoration:underline}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul{margin-bottom:1rem;margin-top:0;padding-left:19px}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul li{font-size:15px}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul li a{text-decoration:none}.ranky-media .ranky-media-modal-file__dialog__content__show__info table ul li a:hover{text-decoration:underline}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tbody tr:nth-child(2n){background:#fff}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tbody tr td{word-break:break-all}.ranky-media .ranky-media-modal-file__dialog__content__show__info table th{border-bottom:none}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tr td{color:#2e2e2e;padding:.5rem}.ranky-media .ranky-media-modal-file__dialog__content__show__info table tr td:first-child{color:#989797;font-weight:600;white-space:nowrap;width:auto}.ranky-media .ranky-media-modal-file__dialog__content__show__info form{margin-left:.5rem}.ranky-media .ranky-media-modal-file__dialog__content__show__info form label{color:#989797;font-weight:600;margin-top:10px}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group{align-items:stretch;display:flex;flex-wrap:wrap;position:relative;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group label{display:block;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group input{border-radius:6px 0 0 6px!important;flex:1;font-size:15px;margin-right:0;min-width:0;position:relative;width:1%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form .input-group .input-group-text{align-items:center;background-color:#e9ecef;border:1px solid #ced4da;border-radius:0 6px 6px 0;color:#212529;display:flex;font-size:15px;font-weight:400;line-height:1.5;margin-bottom:6px;margin-left:0!important;outline:none;padding:10px;text-align:center;white-space:nowrap}.ranky-media .ranky-media-modal-file__dialog__content__show__info form input[type=text]{color:#989797;font-size:15px;width:100%}.ranky-media .ranky-media-modal-file__dialog__content__show__info form input[type=submit]{display:block;margin-left:auto;margin-top:18px;text-align:right}.ranky-media-modal{bottom:30px;font-family:apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen-Sans,Ubuntu,Cantarell,Helvetica Neue,sans-serif;height:calc(100% - 60px);left:30px;margin:0 auto!important;opacity:0;outline:0;position:fixed;right:30px;top:30px;transition:all .3s;width:90%;z-index:1057}.ranky-media-modal .uppy-Dashboard--modal{z-index:1057!important}.ranky-media-modal__btn-media-close{background:none;border:none;color:#3f3f3f;font-size:41px;height:auto;line-height:1;margin:0;outline:none;padding:0;position:absolute;right:5px;top:0;width:auto}.ranky-media-modal__backdrop{background-color:#000;height:100vh;left:0;opacity:.8;position:fixed;top:0;width:100vw;z-index:1056}.ranky-media-modal__fullscreen{height:100%;margin:0;max-width:none;width:100vw}.ranky-media-modal--show{opacity:1}.ranky-media-modal--hide{opacity:.8;transform:scale(.5)}.ranky-media-modal__dialog{background:#fff;height:100%;margin:0 auto;position:relative;z-index:1057}.ranky-media-modal__dialog,.ranky-media-modal__dialog__title{align-items:center;display:flex;flex-direction:column;justify-content:center;width:100%}.ranky-media-modal__dialog__title{min-height:50px}.ranky-media-modal__dialog__title h2{color:#4e4e4e;font-size:23px;margin:0;padding:0}.ranky-media-modal__dialog__footer{align-items:center;background:#fff;border-top:2px solid #e7e7e7;box-shadow:inset -2px 1px 0 0 #d7d7d7;display:flex;flex-direction:row;justify-content:space-between;max-width:100%;min-height:75px;width:100%}.ranky-media-modal__dialog__footer p{line-height:1;margin:0;padding:0}.ranky-media-modal__dialog__footer__info{padding-left:20px}.ranky-media-modal__dialog__footer__info p{text-align:left}.ranky-media-modal__dialog__footer__info button{background:none;border:none;box-shadow:none;color:#a81616;display:block;font-size:15px;margin:3px 0;padding:5px 0;transform:none;width:auto}.ranky-media-modal__dialog__footer__actions{padding-right:20px}.ranky-media-modal__dialog__footer__actions button{background-color:#45619d;border:1px solid #45619d;border-radius:.25rem;color:#fff;cursor:pointer;display:block;font-size:14px;font-size:16px;font-weight:600;line-height:1.5;padding:.4rem;text-align:center;transition-duration:.2s;user-select:none;vertical-align:middle}.ranky-media-modal__dialog__footer__actions button:hover{background-color:#374e7e;border-color:#344976}.ranky-media-modal__content{background-color:#fff;display:flex;flex-direction:column;height:100vh;max-height:100%;outline:0;overflow-x:hidden;overflow-y:auto;padding:0;position:relative;width:100%}.ranky-media-form-type{display:block;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;width:100%}.ranky-media-form-type__content{display:block;position:relative}.ranky-media-form-type__content>#page-loader{display:block;height:250px;position:relative;width:100%}.ranky-media-form-type__content__preview{align-items:center;display:flex;flex-direction:row;flex-wrap:wrap;gap:15px;justify-content:center;margin-bottom:10px;margin-top:15px}.ranky-media-form-type__content__preview img{border:1px solid #fff;box-shadow:0 0 6px rgba(0,0,0,.1);display:block;height:130px;margin:0 auto;max-width:100%;object-fit:cover;text-align:center;vertical-align:middle;width:130px}.ranky-media-form-type__content__wrapper_button{align-items:center;display:flex;flex-direction:row;gap:18px;justify-content:flex-end;margin:18px 0}.ranky-media-form-type__content__wrapper_button button{background-color:#45619d;border:1px solid #45619d;border-radius:.25rem;color:#fff;cursor:pointer;display:block;font-size:14px;font-weight:600;line-height:1.5;padding:4px 10px;text-align:center;transition-duration:.2s;user-select:none;vertical-align:middle}.ranky-media-form-type__content__wrapper_button button:hover{background-color:#374e7e;border-color:#344976}.ranky-media-form-type__content__wrapper_button button.clean-selected-media-files{background:#da4453;border-color:#c92a39}.ranky-media-form-type__content__wrapper_button button.clean-selected-media-files:hover{background:#b00c1d}.ranky-media-form-type__content__wrapper_checkbox{align-items:center;display:flex;flex-direction:row;justify-content:center;margin-top:20px}.ranky-media-form-type__content__wrapper_checkbox label{display:inline-block;font-weight:500;vertical-align:middle}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]{background-color:#efefef;border:none;border-radius:6px;color:#000;cursor:pointer;font-family:inherit;font-size:inherit;height:15px;margin-bottom:0;margin-right:6px;outline:none;padding:10px;transition:background-color .1s linear,border-color .1s linear,color .1s linear,box-shadow .1s linear,transform .1s ease;width:15px}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]:active{transform:translateY(2px)}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]:focus{box-shadow:0 0 0 2px rgba(0,150,191,.671);outline:none}.ranky-media-form-type__content__wrapper_checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5} \ No newline at end of file diff --git a/public/ranky_media.js b/public/ranky_media.js index 3ed6f68..d534a92 100644 --- a/public/ranky_media.js +++ b/public/ranky_media.js @@ -1 +1 @@ -!function(){"use strict";var e,t,n,a,r,l={3193:function(e,t){t.Z={env:"production",assets_url_prefix:"/bundles/rankymedia/",uppy_locales:["ar_SA","bg_BG","cs_CZ","da_DK","de_DE","el_GR","en_US","es_ES","fa_IR","fi_FI","fr_FR","gl_ES","he_IL","hr_HR","hu_HU","id_ID","is_IS","it_IT","ja_JP","ko_KR","nb_NO","nl_NL","pl_PL","pt_BR","pt_PT","ro_RO","ru_RU","sk_SK","sr_RS_Cyrillic","sr_RS_Latin","sv_SE","th_TH","tr_TR","uk_UA","uz_UZ","vi_VN","zh_CN","zh_TW"],root_class:".ranky-media"}},9597:function(e,t,n){n.d(t,{Z:function(){return R}});var a=n(7294),r=n(7113),l=n(8062),i=n(35);var o=e=>{let{data:t,loadMore:n,hasNextPage:r,isFetchingNextPage:o}=e;const s=(0,i.QQ)().size(),{total:c}=t.pages[0].pagination;return a.createElement("div",{className:"pagination-media"},a.createElement("p",{className:"pagination-media__info"},a.createElement(l.Z,{message:"pagination_info",data:{current:s,total:c}})),a.createElement("button",{type:"button",disabled:!r||o,className:"pagination-media__button",onClick:()=>n()},a.createElement(l.Z,{message:"pagination_button_load"})))};var s=e=>{let{name:t,operator:n,data:r,defaultOption:l={value:"all",label:"Todos los tipos"}}=e;return a.createElement("div",{className:`${t.toLocaleLowerCase()}-filter`},a.createElement("select",{name:`filters[${t}][${n}]`,id:`${t.toLocaleLowerCase()}-select-filter`},a.createElement("option",{value:l.value,key:l.value},l.label),r.map((e=>a.createElement("option",{value:e.value,key:e.value},e.label)))))},c=n(1015);var u=e=>{let{name:t,placeholder:n}=e;return a.createElement("div",{className:"search-filter"},a.createElement("input",{name:`filters[${t}][${c.Z.LIKE}]`,"aria-label":n,placeholder:n,type:"search",id:"search-input-filter"}))};var d=e=>{let{name:t,value:n,checkedValue:r=!1,label:l,type:i,icon:o}=e;return a.createElement("div",{role:"radio",tabIndex:0,"aria-checked":r===n,className:`${i}-filter-item ${i}-filter-item--${n.toLocaleLowerCase()}`},a.createElement("label",{title:l,htmlFor:`${i}-filter-item--${n.toLocaleLowerCase()}`},a.createElement("input",{tabIndex:-1,"aria-label":l,type:"radio",name:t,value:n,id:`${i}-filter-item--${n.toLocaleLowerCase()}`,defaultChecked:r===n}),a.createElement("span",null,o)))},m=n(4044),p=n(358),f=n(6363),h=n(3665);var g=()=>{const e=(0,m.Z)(),t=(0,h.Dv)(f.fK),n=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-grid",viewBox:"0 0 16 16"},a.createElement("path",{d:"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zM2.5 2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zM1 10.5A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z"})),r=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-list-task",viewBox:"0 0 16 16"},a.createElement("path",{fillRule:"evenodd",d:"M2 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H2zM3 3H2v1h1V3z"}),a.createElement("path",{d:"M5 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM5.5 7a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9z"}),a.createElement("path",{fillRule:"evenodd",d:"M1.5 7a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5V7zM2 7h1v1H2V7zm0 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5H2zm1 .5H2v1h1v-1z"}));return a.createElement("div",{className:"view-filter"},a.createElement(d,{name:"view",value:p.w.GRID,label:e.trans("filters_view_grid"),type:"view",icon:n,checkedValue:t}),a.createElement(d,{name:"view",value:p.w.LIST,label:e.trans("filters_view_list"),type:"view",icon:r,checkedValue:t}))};var v=()=>{const e=(0,m.Z)(),t=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-sort-down",viewBox:"0 0 16 16"},a.createElement("path",{d:"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z"})),n=a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-sort-up",viewBox:"0 0 16 16"},a.createElement("path",{d:"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z"})),[r,l]=(0,a.useState)("DESC");return a.createElement("div",{className:"sort-filter",onChange:function(e){l(e.target.value)}},a.createElement(d,{checkedValue:r,name:"sort[direction]",value:"DESC",label:e.trans("filters_sort_desc"),type:"sort",icon:t}),a.createElement(d,{checkedValue:r,name:"sort[direction]",value:"ASC",label:e.trans("filters_sort_asc"),type:"sort",icon:n}))},y=n(5382),_=n(9297),E=n(8767);var b=()=>{const e=(0,_.Z)(),{data:t,error:n,isLoading:a}=(0,E.useQuery)("filters",(()=>(0,y._)(e.filters())));return{data:t,error:n,isLoading:a}},w=n(2202);var S=()=>{const e=(0,m.Z)(),t=(0,a.useRef)(null),{data:n,error:l,isLoading:o}=b(),d=(0,i.w7)(),y=(0,h.b9)(f._),[_,E]=(0,h.KO)(f.fK),S=(0,a.useRef)(null),[k,x]=(0,a.useState)(!1);if((0,a.useEffect)((()=>{k&&S.current&&S.current.clientWidth<990&&(S.current.querySelector(".view-filter")&&(S.current.querySelector(".view-filter").style.margin="auto"),S.current.querySelector(".sort-filter")&&(S.current.querySelector(".sort-filter").style.margin="auto"))}),[k]),o)return a.createElement(r.Z,null);if(l)return a.createElement(w.Z,{error:l});return a.createElement("div",{className:"ranky-media__filters",ref:e=>{S.current=e,x(!!e)}},a.createElement("form",{role:"search",action:"",name:"media-filter",id:"media-form-filter",method:"GET",autoComplete:"off",onChange:e=>(e=>{y(!0);const n="search"===e.target.type?500:0;if(t.current&&clearTimeout(t.current),"view"===e.target.name)return E(e.target.value),void y(!1);t.current=setTimeout((async()=>{d.mutate(),y(!1)}),n)})(e)},a.createElement(s,{data:n.mimeTypes,name:"mime",operator:c.Z.STARTS,defaultOption:{value:"all",label:e.trans("filters_mime_type")}}),a.createElement(s,{data:n.users,name:"createdBy",operator:c.Z.EQUALS,defaultOption:{value:"all",label:e.trans("filters_user")}}),a.createElement(s,{data:n.availableDates,name:"createdAt",operator:c.Z.EQUALS,defaultOption:{value:"all",label:e.trans("filters_date")}}),a.createElement(u,{name:"name",placeholder:e.trans("filters_search")}),_!==p.w.SELECTABLE?a.createElement(g,null):null,a.createElement(v,null)))},k=n(3193);var x=e=>{let{onClick:t}=e;const n=(0,m.Z)(),r=(0,a.useRef)();return(0,a.useEffect)((()=>{const e=document.querySelector(k.Z.root_class);e.addEventListener("scroll",(()=>{r.current&&(r.current.style.bottom=20-e.scrollTop+"px")}))}),[]),a.createElement("div",{ref:r,className:"ranky-media__upload-floating-button"},a.createElement("button",{type:"button",title:n.trans("open_upload_dashboard"),"aria-label":n.trans("open_upload_dashboard"),onClick:t},a.createElement("svg",{"aria-hidden":"true",focusable:"false",width:"46",height:"46",viewBox:"0 0 32 32"},a.createElement("g",{fill:"none",fillRule:"evenodd"},a.createElement("rect",{className:"uppy-ProviderIconBg",width:"32",height:"32",rx:"16",fill:"#2275D7"}),a.createElement("path",{d:"M21.973 21.152H9.863l-1.108-5.087h14.464l-1.246 5.087zM9.935 11.37h3.958l.886 1.444a.673.673 0 0 0 .585.316h6.506v1.37H9.935v-3.13zm14.898 3.44a.793.793 0 0 0-.616-.31h-.978v-2.126c0-.379-.275-.613-.653-.613H15.75l-.886-1.445a.673.673 0 0 0-.585-.316H9.232c-.378 0-.667.209-.667.587V14.5h-.782a.793.793 0 0 0-.61.303.795.795 0 0 0-.155.663l1.45 6.633c.078.36.396.618.764.618h13.354c.36 0 .674-.246.76-.595l1.631-6.636a.795.795 0 0 0-.144-.675z",fill:"#FFF"})))))},Z=n(4221),T=n(8314),C=n(114),N=n(4973),$=n(7635),L=n(3944);var P=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const n=document.createElement("script");n.setAttribute("src",e),n.onload=t,await document.head.appendChild(n)},I=n(1202);var A=e=>{let{showUppyModal:t,setShowUppyModal:n}=e;const r=(0,I.Z)(),l=(0,_.Z)(),i=(0,E.useQueryClient)(),o=(0,Z.vo)((()=>{const e=new T.ZP({autoProceed:!1,allowMultipleUploadBatches:!0,debug:"development"===k.Z.env,restrictions:{maxFileSize:r.maxFileSize||7340032,allowedFileTypes:r.mimeTypes.length?r.mimeTypes:null},onBeforeFileAdded:()=>(t||n(!0),!0)});return e.use(C.Z,{id:"XHRUpload",endpoint:l.upload(),timeout:9e4,headers:{"X-Requested-With":"XMLHttpRequest"}}),e.on("file-added",(t=>{e.setFileMeta(t.id,{size:t.size})})),e.on("restriction-failed",((e,t)=>(0,N.sD)(new $.Z(`${e.name}: ${t}`)))),e.on("upload-error",((e,t,n)=>{const a=void 0!==n.body.title?$.Z.fromApiProblem(n.body):new $.Z(t,n.status);return(0,N.sD)(a)})),e.on("upload-success",(async(e,t)=>{await i.invalidateQueries("filters"),await i.invalidateQueries(["media","list"])})),e}));return(0,a.useEffect)((()=>{if(o.getPlugin("DropTarget"))return;o.use(L.Z,{id:"DropTarget",target:k.Z.root_class,onDragOver:()=>{var e;null===(e=document.querySelector(".dropzone-drag-zone"))||void 0===e||e.setAttribute("style","visibility:visible;opacity:1")},onDrop:()=>{var e;null===(e=document.querySelector(".dropzone-drag-zone"))||void 0===e||e.removeAttribute("style")},onDragLeave:e=>{var t;e.target.classList.contains("dropzone-drag-zone")&&(null===(t=document.querySelector(".dropzone-drag-zone"))||void 0===t||t.removeAttribute("style"))}}),window.uppy=o;const{locale:e}=r;let t=e;if(t.indexOf("_")<0){const e=new RegExp(`${t.toLocaleLowerCase()}_`,"g");t=k.Z.uppy_locales.find((t=>t.match(e)))}t||(t="en_US",console.error(`There are no translations for the locale ${e}. The en_US default translation pack has been loaded.`)),void 0===window.Uppy&&(window.Uppy={locales:{}}),void 0===window.Uppy.locales[t]?async function(){const e=`${k.Z.assets_url_prefix}uppy/locales/`;await P(`${e}${t}.min.js`,(()=>{window.uppy.setOptions({locale:window.Uppy.locales[t]})}))}():window.uppy.setOptions({locale:window.Uppy.locales[t]})}),[o,r]),a.createElement(Z.j6,{uppy:o,closeModalOnClickOutside:!0,disableInformer:!1,proudlyDisplayPoweredByUppy:!1,open:t,onRequestClose:()=>n(!1)})};var z=()=>{const[e,t]=(0,a.useState)(!1);return a.createElement(a.Fragment,null,a.createElement(x,{onClick:()=>t(!0)}),a.createElement("div",{className:"dropzone-drag-zone"},a.createElement("p",null,a.createElement("span",null,a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"50",height:"50",fill:"currentColor",className:"bi bi-folder-plus",viewBox:"0 0 16 16"},a.createElement("path",{d:"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z"}),a.createElement("path",{d:"M13.5 10a.5.5 0 0 1 .5.5V12h1.5a.5.5 0 1 1 0 1H14v1.5a.5.5 0 1 1-1 0V13h-1.5a.5.5 0 0 1 0-1H13v-1.5a.5.5 0 0 1 .5-.5z"}))),a.createElement(l.Z,{message:"dropzone"}))),a.createElement(A,{showUppyModal:e,setShowUppyModal:t}))};const M=a.lazy((()=>n.e(922).then(n.bind(n,7028))));var R=()=>{const[e,t]=(0,a.useState)(!1),{data:n,fetchNextPage:l,hasNextPage:s,isFetchingNextPage:c,isLoading:u}=(0,i.ZP)(),d=(0,E.useIsMutating)(),m=(0,i.QQ)(),g=(0,h.b9)(f.W5),v=(0,h.Dv)(f._),y=(0,h.Dv)(f.fK),_=p.m[y];if(u)return a.createElement(r.Z,null);return a.createElement(a.Fragment,null,a.createElement(z,null),a.createElement(S,null),d||v?a.createElement(r.Z,{style:{opacity:.9,top:"78px"}}):null,a.createElement("div",{className:"ranky-media__items"},a.createElement(_,{pages:null==n?void 0:n.pages,openModalFile:e=>function(e){const n=m.find(e);g(n),t(!0)}(e)}),a.createElement(o,{data:n,loadMore:l,hasNextPage:s,isFetchingNextPage:c})),a.createElement(a.Suspense,{fallback:""},e?a.createElement(M,{onClose:()=>t(!1)}):null))}},8924:function(e,t,n){n.r(t),n.d(t,{default:function(){return p}});var a=n(7294),r=n(9597),l=n(3193),i=n(6363),o=n(35);var s=n(7635),c=n(4973),u=n(1202),d=n(4044),m=n(3665);var p=e=>{let{onCloseModal:t,onInsertSelection:n}=e;const[p,f]=(0,m.KO)(i.kH),[h,g]=(0,m.KO)(i.S0),v=(0,o.QQ)(),y=(0,a.useRef)(null),_=(0,u.Z)(),E=(0,d.Z)(),b=(0,o.w7)(),w=(0,a.useRef)(null);let S=E.trans("selection_mode.zero_element");function k(){"function"==typeof t?t():y.current.remove(),setTimeout((()=>{b.mutate()}),100)}function x(){f([])}function Z(e){const t=p.map((e=>v.find(e)));let a;if(_.targetRef)a=_.targetRef;else{const t=function(e){let t=e;for(;t;)if(t=t.parentElement,Object.keys(t).some((e=>e.includes("_reactRootContainer"))))return t;return null}(e.target);if(!t){const e=new s.Z("Root element not found in the hierarchy component tree",404);return void(0,c.sD)(e)}a=t}"function"==typeof n&&n(t,a);const r=new CustomEvent("ranky-media:selected-media",{detail:{medias:t}});a.dispatchEvent(r),x(),k()}return p.length>1?S=E.trans("selection_mode.multiple_elements",{length:p.length}):1===p.length&&(S=E.trans("selection_mode.one_element")),(0,a.useEffect)((()=>{!0===h&&(w.current&&w.current.click(),g(!1))}),[h,g]),a.createElement("div",{className:"ranky-media-modal ranky-media-modal--show",ref:y},a.createElement("div",{className:"ranky-media-modal__dialog",role:"document"},a.createElement("div",{className:"ranky-media-modal__dialog__title"},a.createElement("h2",null,_.title||"Media File Manager")),a.createElement("button",{onClick:k,title:E.trans("modal_close"),type:"button",className:"ranky-media-modal__btn-media-close js-close-modal","aria-label":E.trans("modal_close")},a.createElement("span",{"aria-hidden":"true"},"×")),a.createElement("div",{className:"ranky-media-modal__content"},a.createElement("div",{className:l.Z.root_class.slice(1)},a.createElement(r.Z,null))),a.createElement("div",{className:"ranky-media-modal__dialog__footer"},a.createElement("div",{className:"ranky-media-modal__dialog__footer__info"},a.createElement("p",null,a.createElement("b",null,S)),a.createElement("p",null,a.createElement("button",{type:"button",onClick:x},E.trans("selection_mode.clean")))),a.createElement("div",{className:"ranky-media-modal__dialog__footer__actions"},a.createElement("p",null,a.createElement("button",{ref:w,className:"ranky-media-modal__insert-action",type:"button",onClick:e=>Z(e)},E.trans("selection_mode.insert")))))),a.createElement("div",{className:"ranky-media-modal__backdrop"}))}},5633:function(e,t,n){n.d(t,{Z:function(){return s}});var a=async e=>{if(!e)return null;if(!(e instanceof FormData))return JSON.stringify(e);const t={};return e.forEach(((e,n)=>{t[n]=e})),JSON.stringify(t)},r=n(7635);function l(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class i{constructor(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;var n;l(this,"payload",void 0),l(this,"queryString",void 0),this.payload=e,this.queryString=t,null!==t&&"object"==typeof t&&(n=t,"{}"!==JSON.stringify(n))&&(this.queryString=new URLSearchParams(t))}async fetcher(e){let t=null;const n={method:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",credentials:"same-origin",headers:new Headers({...i.headers,...arguments.length>2&&void 0!==arguments[2]?arguments[2]:{}})};this.payload&&(n.body=await a(this.payload));let l=e;this.queryString instanceof URLSearchParams&&(l+=l.indexOf("?")>=0?"&":"?",l+=this.queryString.toString());const o=await fetch(l,n),s=await o.json();if(!o.ok)if(null!=s&&s.title)t=r.Z.fromApiProblem(s);else{const n=`Error ${o.status}: ${o.statusText} when fetch ${e}`;t=new r.Z(n),t.data=s,t.status=o.status}return{data:s,error:t}}}l(i,"headers",{"X-Requested-With":"XMLHttpRequest","Content-Type":"application/json"});var o=n(940);class s extends i{async get(e){const t=o.Z.getInstance().get(e);return this.fetcher(t,"GET")}async filter(e){const t=o.Z.getInstance().filter(e);return this.fetcher(t,"GET")}async all(){const e=o.Z.getInstance().all();return this.fetcher(e,"GET")}async delete(e){const t=o.Z.getInstance().delete(e);return this.fetcher(t,"DELETE")}async post(){const e=o.Z.getInstance().upload();return this.fetcher(e,"POST")}async put(e){const t=o.Z.getInstance().update(e);return this.fetcher(t,"PUT")}async bulkDelete(e){const t=await Promise.all(e.map((e=>this.delete(e))));return{data:t.reduce(((e,t)=>Object.assign(e,t.data)),{}),error:t.filter((e=>e.error)).map((e=>e.error))[0]||null}}static create(){return new s(arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)}}},7635:function(e,t,n){function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{Z:function(){return r}});class r extends Error{constructor(e,t,n){super(e,n),a(this,"status",void 0),a(this,"stack",void 0),a(this,"type",null),a(this,"data",null),a(this,"details",[]),a(this,"causes",[]),this.status=t||400,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,r)}hasCauses(){return this.causes.length>0}causesToHtml(){return`
      ${this.causes.map((e=>`
    • ${e.name}: ${e.reason}
    • `)).join("")}
    `}static fromApiProblem(e){const t=new r(e.title);return t.status=e.status,t.type=null==e?void 0:e.type,t.details=(null==e?void 0:e.details)||[],t.causes=(null==e?void 0:e.causes)||[],t}}},940:function(e,t,n){function a(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{Z:function(){return r}});class r{constructor(){a(this,"_apiPrefix","")}static getInstance(){return r.instance||(r.instance=new r),r.instance}static create(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";const t=new r;return t._apiPrefix=e,r.instance=t,r.instance}get apiPrefix(){return this._apiPrefix}all(){return`${this._apiPrefix}/ranky/media`}filter(e){return`${this._apiPrefix}/ranky/media${e}`}filters(){return`${this._apiPrefix}/ranky/media/filters`}upload(){return`${this._apiPrefix}/ranky/media`}get(e){return`${this._apiPrefix}/ranky/media/${e}`}config(){return`${this._apiPrefix}/ranky/media/config`}delete(e){return`${this._apiPrefix}/ranky/media/${e}`}update(e){return`${this._apiPrefix}/ranky/media/${e}`}}a(r,"instance",void 0)},7278:function(e,t){function n(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class a{constructor(){n(this,"_translations",void 0)}static getInstance(){return a.instance||(a.instance=new a),a.instance}get translations(){return this._translations}trans(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!Object.prototype.hasOwnProperty.call(this._translations,e))return e;let n=this._translations[e];return t&&Object.keys(t).forEach((e=>{n=n.replace(`{${e}}`,t[e])})),n}static fromApi(e){const t=new a;return t._translations=e.translations,a.instance=t,a.instance}}n(a,"instance",void 0),t.Z=a},9297:function(e,t,n){var a=n(7294),r=n(4130);t.Z=()=>(0,a.useContext)(r.Z).router},1202:function(e,t,n){var a=n(7294),r=n(4130);t.Z=()=>(0,a.useContext)(r.Z).settings},4044:function(e,t,n){var a=n(7294),r=n(4130);t.Z=()=>(0,a.useContext)(r.Z).translator},35:function(e,t,n){n.d(t,{QQ:function(){return o},w7:function(){return s}});var a=n(5382),r=n(8767),l=n(9297),i=n(4973);const o=()=>{const e=(0,r.useQueryClient)();function t(){return e.getQueryData(["media","list"])}return{get:t,size:function(){return t().pages.map((e=>e.result.length)).reduce(((e,t)=>e+t))},add:function(t){return e.setQueryData(["media","list"],(e=>({...e,pages:e.pages.map(((e,n)=>{if(0===n){const n=e.result.slice();return n.unshift(t),{result:n,pagination:e.pagination}}return e}))})))},all:function(){return t().pages.map((e=>e.result)).flat()},update:function(t){return e.setQueryData(["media","list"],(e=>({...e,pages:e.pages.map((e=>({result:e.result.map((e=>e.id===t.id?t:e)),pagination:e.pagination})))})))},find:function(e){const n=t();return null==n?void 0:n.pages.reduce(((t,n)=>n.result.find((t=>t.id===e))||t),{})},findIndex:function(e){const n=t();let a={page:0,index:0};return null==n||n.pages.forEach(((t,n)=>{const r=t.result.findIndex((t=>t.id===e));r>-1&&(a={page:n,index:r})})),a},reset:function(t){return e.setQueryData(["media","list"],{pages:[t],pageParams:[]})},remove:function(t){return e.setQueryData(["media","list"],(e=>({...e,pages:e.pages.map((e=>({result:e.result.filter((e=>e.id!==t.id)),pagination:e.pagination})))})))}}},s=()=>{const e=o(),t=(0,l.Z)();return(0,r.useMutation)(["media","list"],(()=>(0,a.E)(`${t.all()}`)),{onSuccess:t=>{e.reset(t)},onError:e=>(0,i.sD)(e)})};t.ZP=()=>{const e=(0,l.Z)(),{isLoading:t,data:n,error:i,fetchNextPage:o,hasNextPage:s,isFetchingNextPage:c}=(0,r.useInfiniteQuery)(["media","list"],(t=>{let{pageParam:n=1}=t;return(0,a.E)(e.all(),n||1)}),{getNextPageParam:e=>{const t=e.pagination.page;return t1&&void 0!==arguments[1]&&arguments[1];const n=(0,a.Z)();return t?e:`${n.assetsPrefixUrl}${e}`}},2202:function(e,t,n){var a=n(7294),r=n(3193);t.Z=e=>{let{error:t}=e;return a.createElement("div",{className:`${r.Z.root_class.slice(1)}__error`},a.createElement("h2",null,"❌ Error ",(null==t?void 0:t.status)||""),a.createElement("p",null,t.message),(null==t?void 0:t.hasCauses())&&`\n
      \n ${t.causes.map((e=>`
    • ${e.name}: ${e.reason}
    • `))}\n
    \n `,(null==t?void 0:t.stack)&&a.createElement("pre",null,a.createElement("code",null,t.stack)))}},7113:function(e,t,n){var a=n(7294);t.Z=function(e){let{style:t={}}=e;return a.createElement("div",{id:"page-loader",className:"show",style:t})}},8062:function(e,t,n){var a=n(7294),r=n(4044);t.Z=e=>{let{message:t,data:n=null}=e;const l=(0,r.Z)().trans(t,n);return/<[a-z][\s\S]*>/i.test(l)?a.createElement("span",{dangerouslySetInnerHTML:{__html:l}}):l}},1945:function(e,t,n){n.d(t,{Z:function(){return u}});var a=n(7294),r=n(2425);var l=e=>{let{media:t}=e;return a.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.Z)("images/placeholder/application.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})};var i=e=>{let{media:t}=e;return a.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.Z)("images/placeholder/text.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})};var o=e=>{let{media:t}=e;return a.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.Z)("images/placeholder/audio.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})},s=n(1202);const c={application:l,audio:o,image:e=>{let{media:t}=e;const n=(0,s.Z)();if(Object.keys(n.placeholderImageTypes).includes(t.file.mimeSubType))return a.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.Z)(n.placeholderImageTypes[t.file.mimeSubType]),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`});if(!n.supportedImageTypes.includes(t.file.mimeSubType))return a.createElement("img",{loading:"lazy","aria-hidden":"true",className:"ranky-img-placeholder ranky-img-placeholder--list",src:(0,r.Z)("images/placeholder/image.jpg"),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`});const l=(null==t?void 0:t.thumbnails.reduce(((e,t)=>null===e?t:e.dimension.width{let{media:t}=e;return a.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.Z)("images/placeholder/video.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})},text:i};var u=e=>{let{media:t}=e;const n=`${t.file.mimeType}_${t.file.mimeSubType}`,r=t.file.mimeType,l=c[n]||c[r]||c.application;return a.createElement(l,{media:t})}},4130:function(e,t,n){n.d(t,{i:function(){return y},Z:function(){return _}});var a=n(7294),r=n(7113),l=n(2202);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class o{constructor(){i(this,"_title",null),i(this,"_targetRef",null),i(this,"_selectionMode",!1),i(this,"_multipleSelection",!1),i(this,"_apiPrefix",void 0),i(this,"_assetsPrefixUrl","/bundles/rankymedia/"),i(this,"_mimeTypes",void 0),i(this,"_supportedImageTypes",void 0),i(this,"_placeholderImageTypes",void 0),i(this,"_maxFileSize",void 0),i(this,"_paginationLimit",void 0),i(this,"_locale","en"),i(this,"_uploadUrl",void 0)}static getInstance(){return o.instance||(o.instance=new o),o.instance}get targetRef(){return this._targetRef}static set targetRef(e){o.getInstance()._targetRef=e}get title(){return this._title}static set title(e){o.getInstance()._title=e}get isSelectionMode(){return this._selectionMode}static set selectionMode(e){o.getInstance()._selectionMode=e}get isMultipleSelection(){return this._multipleSelection}static set multipleSelection(e){o.getInstance()._multipleSelection=e}static set apiPrefix(e){o.getInstance()._apiPrefix=e}get apiPrefix(){return this._apiPrefix}get locale(){return this._locale}get supportedImageTypes(){return this._supportedImageTypes}get placeholderImageTypes(){return this._placeholderImageTypes}get paginationLimit(){return this._paginationLimit}get uploadUrl(){return this._uploadUrl}get assetsPrefixUrl(){return this._assetsPrefixUrl}get maxFileSize(){return this._maxFileSize}get mimeTypes(){return this._mimeTypes}static fromApi(e){var t,n,a,r;const l=new o;return l._maxFileSize=(null===(t=e.config)||void 0===t?void 0:t.max_file_size)||null,l._mimeTypes=(null===(n=e.config)||void 0===n?void 0:n.mime_types)||[],l._uploadUrl=e.config.upload_url,l._locale=e.config.locale,l._supportedImageTypes=(null===(a=e.config)||void 0===a?void 0:a.supported_image_types)||[],l._placeholderImageTypes=(null===(r=e.config)||void 0===r?void 0:r.placeholder_image_types)||{},l._paginationLimit=e.config.pagination_limit,o.instance=l,o.instance}}i(o,"instance",void 0);var s=o,c=n(940),u=n(5382),d=n(8767),m=n(7278),p=n(7635),f=n(358),h=n(6363),g=n(3665);const v=a.createContext({}),y=e=>{let{children:t,apiPrefix:n,selectionMode:i=!1,multipleSelection:o=!1,title:y=null,targetRef:_=null}=e,E=null;const b=c.Z.create(n||""),{data:w,error:S,isLoading:k}=(0,d.useQuery)("config",(()=>(0,u._)(b.config())));if(k)return a.createElement(r.Z,null);if(S){if(!(S instanceof p.Z)){console.error(S);const e=new p.Z(S,400);return a.createElement(l.Z,{error:e})}return a.createElement(l.Z,{error:S})}return s.fromApi(w),s.apiPrefix=n||"",s.selectionMode=i,s.multipleSelection=o,s.title=y,s.targetRef=_,E={settings:s.getInstance(),translator:m.Z.fromApi(w),router:b},a.createElement(g.zt,{initialValues:[[h.fK,i?f.w.SELECTABLE:f.w.GRID]]},a.createElement(v.Provider,{value:E},t))};var _=v},5382:function(e,t,n){n.d(t,{E:function(){return l},_:function(){return r}});var a=n(7635);const r=async e=>{const t=await fetch(e,{headers:new Headers({"X-Requested-With":"XMLHttpRequest","Content-Type":"application/json"})});if(!t.ok){throw((e,t,n)=>{if(null==e||!e.title){const r=`Error ${t.status}: ${t.statusText} when fetch ${n}`,l=new a.Z(r,t.status);return l.data=e,l}return a.Z.fromApiProblem(e)})(await t.json(),t,e)}return t.json()},l=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1,n=encodeURI(`?page[number]=${t}`);const a=document.getElementById("media-form-filter");return a&&(n+=`&${new URLSearchParams(new FormData(a)).toString()}`),r(`${e}${decodeURI(n)}`)}},4973:function(e,t,n){n.d(t,{Cq:function(){return i},sD:function(){return o},vl:function(){return s}});var a=n(6455),r=n.n(a),l=n(7278);function i(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=l.Z.getInstance();return r().fire({title:e||t.trans("swal.successfully"),icon:"success",confirmButtonColor:"#6f9c40",timer:1500})}function o(e){const t=e.hasCauses()?e.message:`Error ${e.status}`,n=e.hasCauses()?e.causesToHtml():e.message;return r().fire({title:t,html:n,icon:"error",confirmButtonColor:"#DD6B55"})}function s(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const a=l.Z.getInstance();return r().fire({title:n||a.trans("swal.confirm_delete"),text:a.trans("swal.delete_text"),icon:"warning",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:a.trans("swal.confirm_button"),cancelButtonText:a.trans("swal.cancel_button")}).then((async n=>n.value?e():null!==t?t():{}))}},2458:function(e,t,n){var a=n(7294),r=n(3935),l=n(2425),i=n(4044),o=n(1202),s=n(1945),c=n(5633),u=n(4973),d=n(7113),m=n(1015);var p=e=>{const[t,n]=(0,a.useState)([]),r=(0,o.Z)();return{onInsertSelection:(0,a.useCallback)(((t,a)=>{if(t.length<=0)return;const l=a.parentElement.querySelector(`input#${e}`);!1===r.isMultipleSelection?l.value=t[0].id||"":l.value=JSON.stringify(t.map((e=>e.id)))||JSON.stringify([]),n(t)}),[e,r]),selectedMedia:t,setSelectedMedia:n}};const f=a.lazy((()=>Promise.resolve().then(n.bind(n,8924))));var h=e=>{let{predefinedData:t=null,fieldId:n}=e;const r=(0,a.useRef)(),[h,g]=(0,a.useState)(!1),v=(0,i.Z)(),y=(0,o.Z)(),[_,E]=(0,a.useState)(!1),b=(0,a.useCallback)((()=>g(!1)),[]),{selectedMedia:w,setSelectedMedia:S,onInsertSelection:k}=p(n);if((0,a.useLayoutEffect)((()=>{t&&(async()=>{let e;E(!0);let n=t;if(y.isMultipleSelection){let a;try{a=JSON.parse(t)}catch(e){a=[]}if(0===a.length)return E(!1),null;n=`?page[disable]=1&filters[id][${m.Z.INCLUDES}]=${a.join(",")}`,e=e=>c.Z.create().filter(e)}else e=e=>c.Z.create().get(e);const{data:a,error:r}=await e(n);r?(console.log(r),E(!1),(0,u.sD)(r)):(S("result"in a?a.result:[a]),E(!1))})()}),[t,E,S,y]),_)return a.createElement(d.Z,null);function x(){g(!0)}return a.createElement(a.Fragment,null,a.createElement("div",{ref:r,className:"ranky-media-form-type__content__preview"},0===w.length?a.createElement("div",{tabIndex:0,role:"button",onClick:x,onKeyDown:x},a.createElement("img",{src:(0,l.Z)("images/choose-image.png"),alt:"Default image. Select a media file"})):w.map((e=>a.createElement("div",{key:`wrapper-selected-${n}-${e.id}`,tabIndex:0,role:"button",onClick:x,onKeyDown:x},a.createElement(s.Z,{media:e}))))),a.createElement("div",{className:"ranky-media-form-type__content__wrapper_button"},a.createElement("button",{className:"clean-selected-media-files",type:"button",title:v.trans("form_type.clean_selection_button"),onClick:function(){S([]),r.current.parentElement.parentElement.querySelector(`input#${n}`).value=""}},v.trans("form_type.clean_selection_button")),a.createElement("button",{type:"button",title:v.trans("form_type.open_selection_button"),onClick:x},v.trans("form_type.open_selection_button"))),a.createElement(a.Suspense,{fallback:""},h?a.createElement(f,{onInsertSelection:k,onCloseModal:b}):null))},g=n(3193),v=n(9597);var y=n(8767),_=n(4130);const E=new y.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:12e4}}});var b=e=>{let{children:t,apiPrefix:n,selectionMode:r,multipleSelection:l,title:i,targetRef:o}=e;return a.createElement(y.QueryClientProvider,{client:E},a.createElement(_.i,{title:i,apiPrefix:n,selectionMode:r,multipleSelection:l,targetRef:o},a.createElement(a.StrictMode,null,t)))},w=n(8924);console.log("appConfig",g.Z);const S=()=>{document.querySelectorAll(".ranky-media-form-type__content").forEach((e=>{var t;const n="true"===e.getAttribute("data-multiple-selection")||"1"===e.getAttribute("data-multiple-selection"),l=e.getAttribute("data-field-id");r.render(a.createElement(b,{selectionMode:!0,title:e.getAttribute("data-title")||"",multipleSelection:n,apiPrefix:e.getAttribute("data-api-prefix")||"",targetRef:e},a.createElement(h,{fieldId:l,predefinedData:(null===(t=e.parentElement.querySelector(`input#${l}`))||void 0===t?void 0:t.value)||null})),e)}))};var k,x,Z,T;new MutationObserver((e=>{e.forEach((e=>{"childList"===e.type&&e.addedNodes.forEach((e=>{e instanceof HTMLElement&&e.querySelector(".ranky-media-form-type__content")&&S()}))}))})).observe(document.body,{childList:!0,subtree:!0}),S(),k=document,x=".ranky-media-open-modal",Z="click",T=e=>{(e=>{const t=e.target;e.preventDefault();const n="true"===t.getAttribute("data-multiple-selection")||"1"===t.getAttribute("data-multiple-selection"),l=document.createElement("div");l.classList.add("wrapper-ranky-media-modal"),document.body.appendChild(l),r.render(a.createElement(b,{selectionMode:!0,title:t.getAttribute("data-title")||"",multipleSelection:n,apiPrefix:t.getAttribute("data-api-prefix")||"",targetRef:t},a.createElement(w.default,{onCloseModal:()=>{l.remove()}})),l)})(e)},k.addEventListener(Z,(e=>{e.target.matches(x)&&T(e)})),document.querySelector(g.Z.root_class)&&r.render(a.createElement(b,{apiPrefix:document.querySelector(g.Z.root_class).getAttribute("data-api-prefix")||""},a.createElement(v.Z,null)),document.querySelector(g.Z.root_class))},6363:function(e,t,n){n.d(t,{S0:function(){return r},W5:function(){return l},_:function(){return i},fK:function(){return o},kH:function(){return s}});var a=n(3665);const r=(0,a.cn)(!1),l=(0,a.cn)(null),i=(0,a.cn)(!1),o=(0,a.cn)("GRID"),s=(0,a.cn)([])},1015:function(e,t){var n;!function(e){e.EQUALS="eq",e.NOT_EQUALS="neq",e.GREATER_THAN="gt",e.GREATER_THAN_OR_EQUAL="gte",e.LESS_THAN="lt",e.LESS_THAN_OR_EQUAL="lte",e.LIKE="like",e.NOT_LIKE="nlike",e.EXACT="exact",e.NOT_EXACT="nexact",e.STARTS="starts",e.ENDS="ends",e.INCLUDES="in",e.NOT_INCLUDES="nin"}(n||(n={})),t.Z=n},358:function(e,t,n){n.d(t,{w:function(){return v},m:function(){return y}});var a=n(7294),r=n(1945),l=n(6363),i=n(1202),o=n(35),s=n(3665);var c=e=>{let{pages:t,openModalFile:n}=e;const[c,u]=(0,s.KO)(l.kH),[d,m]=(0,s.KO)(l.S0),[p,f]=a.useState(null),h=(0,i.Z)(),g=(0,o.QQ)();return a.createElement("ul",{tabIndex:-1,className:"file-list file-list--mode-grid file-list--mode-selectable"},t&&t.map((e=>e.result.map((e=>a.createElement("li",{key:`li-${e.id}`,"data-id":e.id,onDoubleClick:t=>{return n=e.id,c.includes(n)||u((e=>[...e,n])),f(n),void m(!0);var n}},a.createElement("div",{className:`file-item mime-type-${e.file.mimeType} mime-subtype-${e.file.mimeSubType}`,"aria-label":e.description.alt,role:"checkbox","aria-checked":c.includes(e.id),tabIndex:0},a.createElement("input",{tabIndex:-1,type:"checkbox",name:"media[]",id:`ck-media-${e.id}`,checked:c.includes(e.id),onChange:t=>function(e,t){if(!1!==h.isMultipleSelection){if("shiftKey"in e.nativeEvent&&!0===e.nativeEvent.shiftKey){if(null===p)return void f(t);const e=g.all().map((e=>e.id)),n=e.indexOf(t),a=e.indexOf(p),r=e.slice(Math.min(n,a),Math.max(n,a)+1);return u(r),void f(t)}c.includes(t)?u((e=>e.filter((e=>e!==t)))):u((e=>[...e,t])),f(t)}else u([t])}(t,e.id)}),a.createElement("label",{htmlFor:`ck-media-${e.id}`},a.createElement(r.Z,{media:e})),a.createElement("button",{onClick:()=>n(e.id),type:"button"},a.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-pencil",viewBox:"0 0 16 16"},a.createElement("path",{d:"M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"}))))))))))};var u=e=>{let{pages:t,openModalFile:n}=e;return a.createElement("ul",{className:"file-list file-list--mode-grid",tabIndex:-1,role:"group"},t&&t.map((e=>e.result.map((e=>a.createElement("li",{key:e.id,"data-id":e.id},a.createElement("div",{className:`file-item mime-type-${e.file.mimeType} mime-subtype-${e.file.mimeSubType}`,role:"button","aria-label":e.description.alt,tabIndex:0,onClick:()=>n(e.id),onKeyDown:()=>n(e.id)},a.createElement(r.Z,{media:e}))))))))},d=n(4973),m=n(4044),p=n(8767),f=n(5633),h=n(7635);var g=e=>{let{pages:t,openModalFile:n}=e;const[i,c]=(0,a.useState)(!1),[u,g]=(0,a.useState)([]),v=(0,s.b9)(l._),y=(0,m.Z)(),_=(0,p.useQueryClient)(),E=(0,o.QQ)();return a.createElement("div",{className:"file-list file-list--mode-list"},a.createElement("div",{className:"batch-actions"},a.createElement("select",{name:"media-batch-actions",id:"media-batch-actions",onChange:async e=>{let{target:t}=e;if(""===t.value)return{};if(0===u.length)return t.selectedIndex=0,(0,d.sD)(new h.Z(y.trans("bulk_actions_error_no_select")));const n=async()=>{v(!0);const e=await f.Z.create().bulkDelete(u);return e.error?(0,d.sD)(e.error):(await _.invalidateQueries(["media","list"]),await _.invalidateQueries("filters"),t.selectedIndex=0,c(!1),g([]),v(!1),(0,d.Cq)())};return"delete"===t.value?(0,d.vl)(n,(function(){t.selectedIndex=0}),y.trans("bulk_actions_delete_prompt",{value:u.length})):(0,d.sD)(new h.Z(y.trans("bulk_actions_error_no_action",{value:(null==t?void 0:t.value)||"undefined"})))}},a.createElement("option",{value:""},y.trans("bulk_actions_title")),a.createElement("option",{value:"delete"},y.trans("bulk_actions_delete")))),a.createElement("div",{className:"table-responsive"},a.createElement("table",{className:"table-view-list"},a.createElement("thead",null,a.createElement("tr",null,a.createElement("th",null,a.createElement("input",{type:"checkbox",id:"ck-media-all",onChange:()=>{u.length>0?(c(!1),g([])):(c(!0),g(E.all().map((e=>e.id))))},checked:i})),a.createElement("th",null,y.trans("file")),a.createElement("th",null,y.trans("type")),a.createElement("th",null,y.trans("date")),a.createElement("th",null,y.trans("breakpoints")))),a.createElement("tbody",null,t&&t.map((e=>e.result.map((e=>{var t;return a.createElement("tr",{key:e.id},a.createElement("td",null,a.createElement("input",{type:"checkbox",name:"media[]",id:`ck-media-${e.id}`,onChange:()=>(e=>{if(u.includes(e))g(u.filter((t=>t!==e))),c(!1);else{const t=[...u,e];g(t),c(t.length===E.all().length)}})(e.id),checked:u.includes(e.id)})),a.createElement("td",null,a.createElement("div",{tabIndex:0,onClick:()=>n(e.id),onKeyDown:()=>n(e.id),role:"button"},a.createElement("span",{className:"file-preview"},a.createElement(r.Z,{media:e})),a.createElement("span",{className:"file-name"},e.file.name))),a.createElement("td",null,e.file.mime," ",null!=e&&null!==(t=e.dimension)&&void 0!==t&&t.label?`(${e.dimension.label})`:null),a.createElement("td",null,e.createdAt," ",y.trans("by")," ",e.createdBy),a.createElement("td",null,e.thumbnails.length>0?a.createElement("ul",null,e.thumbnails.map((e=>a.createElement("li",{key:e.name+e.breakpoint},a.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:e.url},a.createElement("b",null,e.breakpoint,":")," ",e.dimension.label," ",a.createElement("b",null,"size:")," ",e.humanSize))))):"-"))}))))))))};const v={SELECTABLE:"SELECTABLE",LIST:"LIST",GRID:"GRID"},y={[v.SELECTABLE]:c,[v.GRID]:u,[v.LIST]:g}}},i={};function o(e){var t=i[e];if(void 0!==t)return t.exports;var n=i[e]={exports:{}};return l[e].call(n.exports,n,n.exports,o),n.exports}o.m=l,e=[],o.O=function(t,n,a,r){if(!n){var l=1/0;for(u=0;u=r)&&Object.keys(o.O).every((function(e){return o.O[e](n[s])}))?n.splice(s--,1):(i=!1,r0&&e[u-1][2]>r;u--)e[u]=e[u-1];e[u]=[n,a,r]},o.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return o.d(t,{a:t}),t},o.d=function(e,t){for(var n in t)o.o(t,n)&&!o.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},o.f={},o.e=function(e){return Promise.all(Object.keys(o.f).reduce((function(t,n){return o.f[n](e,t),t}),[]))},o.u=function(e){return"rank_media.modal_file.js?v="+o.h().slice(0,8)},o.miniCssF=function(e){return"rank_media.modal_file.css?v="+o.h().slice(0,8)},o.h=function(){return"bfc693fd7c7bdf3e674c"},o.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),o.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t={},n="ranky-media-bundle:",o.l=function(e,a,r,l){if(t[e])t[e].push(a);else{var i,s;if(void 0!==r)for(var c=document.getElementsByTagName("script"),u=0;u{e.addEventListener(a,(e=>{e.target.matches(t)&&l(e)}))};function n(e,t,a){t.split(" ").forEach((t=>e.addEventListener(t,a,!1)))}const r=function(e,t,a,l){e&&n(e,t,(e=>{const t=e.target.closest(a);t&&l(e,t)}))},i=function(e){const t=e.cloneNode(!0);return e.parentNode.replaceChild(t,e)}},1696:function(e,t,a){a.r(t);t.default=async e=>{if(!e)return null;if(!(e instanceof FormData))return JSON.stringify(e);const t={};return e.forEach(((e,a)=>{t[a]=e})),JSON.stringify(t)}},2377:function(e,t,a){function l(e){let t=e;for(;t;)if(t=t.parentElement,Object.keys(t).some((e=>e.includes("_reactRootContainer"))))return t;return null}a.r(t),a.d(t,{getRootElement:function(){return l}})},6779:function(e,t,a){a.r(t),t.default=async function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;const a=document.createElement("script");a.setAttribute("src",e),a.onload=t,document.head.appendChild(a)}},3297:function(e,t,a){a.r(t),a.d(t,{capitalize:function(){return l},removeLastChar:function(){return n}});const l=e=>e&&e.charAt(0).toUpperCase()+e.slice(1),n=(e,t)=>e.slice(-1)===t?e.slice(0,-1):e},2213:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=a(5942),i=a(355),u=new r.QueryClient({defaultOptions:{queries:{refetchOnWindowFocus:!1,staleTime:12e4}}});t.default=e=>{let{children:t,apiPrefix:a,selectionMode:l,multipleSelection:o,title:d,targetRef:s}=e;return n.default.createElement(r.QueryClientProvider,{client:u},n.default.createElement(i.MediaProvider,{title:d,apiPrefix:a,selectionMode:l,multipleSelection:o,targetRef:s},n.default.createElement(n.default.StrictMode,null,t)))}},8256:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540)),o=i(a(6573));a(3561);const d=i(a(8862)),s=i(a(4023)),c=i(a(5991)),f=a(6495),m=i(a(9144)),p=i(a(5982)),_=i(a(8339)),h=i(a(3054)),g=u.default.lazy((()=>Promise.resolve().then((()=>r(a(1988))))));t.default=e=>{let{predefinedData:t=null,fieldId:a}=e;const l=(0,u.useRef)(),[n,r]=(0,u.useState)(!1),i=(0,d.default)(),v=(0,s.default)(),y=(0,h.default)(),[b,E]=(0,u.useState)(!1),w=(0,u.useCallback)((()=>r(!1)),[]),{selectedMedia:M,setSelectedMedia:O,onInsertSelection:S}=(0,_.default)(a);if((0,u.useLayoutEffect)((()=>{t&&(async()=>{let e;E(!0);let a=t;if(v.isMultipleSelection){let l;try{l=JSON.parse(t)}catch(e){l=[]}if(0===l.length)return E(!1),null;a=`?page[disable]=1&filters[id][${p.default.INCLUDES}]=${l.join(",")}`,e=e=>y.filter(e)}else e=e=>y.get(e);const{data:l,error:n}=await e(a);n?(console.log(n),E(!1),(0,f.errorAlert)(n)):(O("result"in l?l.result:[l]),E(!1))})()}),[y,t,E,O,v]),b)return u.default.createElement(m.default,null);function k(){r(!0)}return u.default.createElement(u.default.Fragment,null,u.default.createElement("div",{ref:l,className:"ranky-media-form-type__content__preview"},0===M.length?u.default.createElement("div",{tabIndex:0,role:"button",onClick:k,onKeyDown:k},u.default.createElement("img",{src:(0,o.default)("images/choose-image.png"),alt:"Default image. Select a media file"})):M.map((e=>u.default.createElement("div",{key:`wrapper-selected-${a}-${e.id}`,tabIndex:0,role:"button",onClick:k,onKeyDown:k},u.default.createElement(c.default,{media:e}))))),u.default.createElement("div",{className:"ranky-media-form-type__content__wrapper_button"},u.default.createElement("button",{className:"clean-selected-media-files",type:"button",title:i.trans("form_type.clean_selection_button"),onClick:function(){O([]),l.current.parentElement.parentElement.querySelector(`input#${a}`).value=""}},i.trans("form_type.clean_selection_button")),u.default.createElement("button",{type:"button",title:i.trans("form_type.open_selection_button"),onClick:k},i.trans("form_type.open_selection_button"))),u.default.createElement(u.Suspense,{fallback:""},n?u.default.createElement(g,{onInsertSelection:S,onCloseModal:w}):null))}},143:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540));a(1548);const o=i(a(9144)),d=i(a(5329)),s=i(a(4799)),c=a(7718),f=i(a(4628)),m=a(5942),p=a(3521),_=i(a(226)),h=a(16),g=u.default.lazy((()=>Promise.resolve().then((()=>r(a(6159))))));t.default=()=>{const[e,t]=(0,u.useState)(!1),{useList:a}=(0,f.default)(),{data:l,fetchNextPage:n,hasNextPage:r,isFetchingNextPage:i,isLoading:v}=a(),y=(0,m.useIsMutating)(),b=(0,f.default)(),E=(0,h.useSetAtom)(c.currentMediaState),w=(0,h.useAtomValue)(c.loadingState),M=(0,h.useAtomValue)(c.pageLayoutState),O=p.LayoutType[M];if(v)return u.default.createElement(o.default,null);return u.default.createElement(u.default.Fragment,null,u.default.createElement(_.default,null),u.default.createElement(s.default,null),y||w?u.default.createElement(o.default,{style:{opacity:.9,top:"78px"}}):null,u.default.createElement("div",{className:"ranky-media__items"},u.default.createElement(O,{pages:null==l?void 0:l.pages,openModalFile:e=>function(e){const a=b.find(e);E(a),t(!0)}(e)}),u.default.createElement(d.default,{data:l,loadMore:n,hasNextPage:r,isFetchingNextPage:i})),u.default.createElement(u.Suspense,{fallback:""},e?u.default.createElement(g,{onClose:()=>t(!1)}):null))}},1988:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540));a(9362);const o=i(a(143)),d=i(a(3272)),s=a(7718),c=i(a(4628)),f=a(2377),m=i(a(22)),p=a(6495),_=i(a(4023)),h=i(a(8862)),g=a(16);t.default=e=>{let{onCloseModal:t,onInsertSelection:a}=e;const[l,n]=(0,g.useAtom)(s.selectedMediaState),[r,i]=(0,g.useAtom)(s.dbClickState),v=(0,c.default)(),y=(0,u.useRef)(null),b=(0,_.default)(),E=(0,h.default)(),w=(0,u.useRef)(null);let M=E.trans("selection_mode.zero_element");function O(){n([])}function S(){"function"==typeof t?t():y.current.remove(),setTimeout((async()=>{O()}),100)}return l.length>1?M=E.trans("selection_mode.multiple_elements",{length:l.length}):1===l.length&&(M=E.trans("selection_mode.one_element")),(0,u.useEffect)((()=>{!0===r&&(w.current&&w.current.click(),i(!1))}),[r,i]),u.default.createElement("div",{className:"ranky-media-modal ranky-media-modal--show",ref:y},u.default.createElement("div",{className:"ranky-media-modal__dialog",role:"document"},u.default.createElement("div",{className:"ranky-media-modal__dialog__title"},u.default.createElement("h2",null,b.title||"Media File Manager")),u.default.createElement("button",{onClick:S,title:E.trans("modal_close"),type:"button",className:"ranky-media-modal__btn-media-close js-close-modal","aria-label":E.trans("modal_close")},u.default.createElement("span",{"aria-hidden":"true"},"×")),u.default.createElement("div",{className:"ranky-media-modal__content"},u.default.createElement("div",{className:d.default.root_class.slice(1)},u.default.createElement(o.default,null))),u.default.createElement("div",{className:"ranky-media-modal__dialog__footer"},u.default.createElement("div",{className:"ranky-media-modal__dialog__footer__info"},u.default.createElement("p",null,u.default.createElement("b",null,M)),u.default.createElement("p",null,u.default.createElement("button",{type:"button",onClick:O},E.trans("selection_mode.clean")))),u.default.createElement("div",{className:"ranky-media-modal__dialog__footer__actions"},u.default.createElement("p",null,u.default.createElement("button",{ref:w,className:"ranky-media-modal__insert-action",type:"button",onClick:e=>function(e){const t=l.map((e=>v.find(e)));let n;if(b.targetRef)n=b.targetRef;else{const t=(0,f.getRootElement)(e.target);if(!t){const e=new m.default("Root element not found in the hierarchy component tree",404);return void(0,p.errorAlert)(e)}n=t}"function"==typeof a&&a(t,n);const r=new CustomEvent("ranky-media:selected-media",{detail:{medias:t}});n.dispatchEvent(r),O(),S()}(e)},E.trans("selection_mode.insert")))))),u.default.createElement("div",{className:"ranky-media-modal__backdrop"}))}},3059:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(2894),r=l(a(3054)),i=a(5942);t.default=()=>{const e=(0,r.default)(),{data:t,error:a,isLoading:l}=(0,i.useQuery)("filters",(()=>(0,n.fetcher)(e.getRoutes().filters)));return{data:t,error:a,isLoading:l}}},4628:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(2894),r=a(5942),i=l(a(3054));t.default=()=>{const e=(0,r.useQueryClient)(),t=(0,i.default)();function a(){return e.getQueryData(["media","list"])}return{useList:()=>(0,r.useInfiniteQuery)(["media","list"],(e=>{let{pageParam:a=1}=e;return(0,n.fetcherWithQueryString)(t.getRoutes().all,a||1)}),{getNextPageParam:e=>{const t=e.pagination.page;return te.result.length)).reduce(((e,t)=>e+t))},add:function(t){return e.setQueryData(["media","list"],(e=>({...e,pages:e.pages.map(((e,a)=>{if(0===a){const a=e.result.slice();return a.unshift(t),{result:a,pagination:e.pagination}}return e}))})))},all:function(){return a().pages.map((e=>e.result)).flat()},update:function(t){return e.setQueryData(["media","list"],(e=>({...e,pages:e.pages.map((e=>({result:e.result.map((e=>e.id===t.id?t:e)),pagination:e.pagination})))})))},find:function(e){const t=a();return null==t?void 0:t.pages.reduce(((t,a)=>a.result.find((t=>t.id===e))||t),{})},findIndex:function(e){const t=a();let l={page:0,index:0};return null==t||t.pages.forEach(((t,a)=>{const n=t.result.findIndex((t=>t.id===e));n>-1&&(l={page:a,index:n})})),l},reset:function(t){return e.setQueryData(["media","list"],{pages:[t],pageParams:[]})},remove:function(t){return e.setQueryData(["media","list"],(e=>({...e,pages:e.pages.map((e=>({result:e.result.filter((e=>e.id!==t.id)),pagination:e.pagination})))})))}}}},3054:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(6540),r=l(a(355));t.default=()=>(0,n.useContext)(r.default).mediaRepository},4023:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(6540),r=l(a(355));t.default=()=>(0,n.useContext)(r.default).settings},8862:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(6540),r=l(a(355));t.default=()=>(0,n.useContext)(r.default).translator},22:function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class a extends Error{constructor(e,t,l){super(e,l),this.type=null,this.data=null,this.details=[],this.causes=[],this.status=t||400,this.name=this.constructor.name,Error.captureStackTrace&&Error.captureStackTrace(this,a)}hasCauses(){return this.causes.length>0}causesToHtml(){return`
      ${this.causes.map((e=>`
    • ${e.name}: ${e.reason}
    • `)).join("")}
    `}static fromApiProblem(e){const t=new a(e.title);return t.status=e.status,t.type=null==e?void 0:e.type,t.details=(null==e?void 0:e.details)||[],t.causes=(null==e?void 0:e.causes)||[],t}}t.default=a},9868:function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class a{constructor(){this._title=null,this._targetRef=null,this._selectionMode=!1,this._multipleSelection=!1,this._assetsPrefixUrl="/bundles/rankymedia/",this._locale="en"}static getInstance(){return a.instance||(a.instance=new a),a.instance}get targetRef(){return this._targetRef}static set targetRef(e){a.getInstance()._targetRef=e}get title(){return this._title}static set title(e){a.getInstance()._title=e}get isSelectionMode(){return this._selectionMode}static set selectionMode(e){a.getInstance()._selectionMode=e}get isMultipleSelection(){return this._multipleSelection}static set multipleSelection(e){a.getInstance()._multipleSelection=e}static set apiPrefix(e){a.getInstance()._apiPrefix=e}get apiPrefix(){return this._apiPrefix}get locale(){return this._locale}get supportedImageTypes(){return this._supportedImageTypes}get placeholderImageTypes(){return this._placeholderImageTypes}get paginationLimit(){return this._paginationLimit}get uploadUrl(){return this._uploadUrl}get assetsPrefixUrl(){return this._assetsPrefixUrl}get maxFileSize(){return this._maxFileSize}get mimeTypes(){return this._mimeTypes}static fromApi(e){var t,l,n,r;const i=new a;return i._maxFileSize=(null===(t=e.config)||void 0===t?void 0:t.max_file_size)||null,i._mimeTypes=(null===(l=e.config)||void 0===l?void 0:l.mime_types)||[],i._uploadUrl=e.config.upload_url,i._locale=e.config.locale,i._supportedImageTypes=(null===(n=e.config)||void 0===n?void 0:n.supported_image_types)||[],i._placeholderImageTypes=(null===(r=e.config)||void 0===r?void 0:r.placeholder_image_types)||{},i._paginationLimit=e.config.pagination_limit,a.instance=i,a.instance}}t.default=a},5151:function(e,t){Object.defineProperty(t,"__esModule",{value:!0});class a{constructor(){}static getInstance(){return a.instance||(a.instance=new a),a.instance}get translations(){return this._translations}trans(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!Object.prototype.hasOwnProperty.call(this._translations,e))return e;let a=this._translations[e];return t&&Object.keys(t).forEach((e=>{a=a.replace(`{${e}}`,t[e])})),a}static fromApi(e){const t=new a;return t._translations=e.translations,a.instance=t,a.instance}}t.default=a},5083:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(1696)),r=l(a(22));class i{async fetcher(e){let t=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},l=null;const u={method:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"GET",credentials:"same-origin",headers:new Headers({...i.defaultHeaders,...a})};let o=e;t instanceof URLSearchParams?(o+=o.indexOf("?")>=0?"&":"?",o+=t.toString()):(t instanceof FormData||t instanceof Object)&&(u.body=await(0,n.default)(t));const d=await fetch(o,u),s=await d.json();if(!d.ok)if(null==s?void 0:s.title)l=r.default.fromApiProblem(s);else{const t=`Error ${d.status}: ${d.statusText} when fetch ${e}`;l=new r.default(t),l.data=s,l.status=d.status}return{data:s,error:l}}}t.default=i,i.defaultHeaders={"X-Requested-With":"XMLHttpRequest","Content-Type":"application/json"}},392:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(5083));class r extends n.default{constructor(e){super(),this.apiPrefix=e}getRoutes(){return{config:`${this.apiPrefix}/ranky/media/config`,filters:`${this.apiPrefix}/ranky/media/filters`,all:`${this.apiPrefix}/ranky/media`,upload:`${this.apiPrefix}/ranky/media`,filter:e=>`${this.apiPrefix}/ranky/media${e}`,get:e=>`${this.apiPrefix}/ranky/media/${e}`,delete:e=>`${this.apiPrefix}/ranky/media/${e}`,update:e=>`${this.apiPrefix}/ranky/media/${e}`}}static create(){return new r(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"")}async get(e){return this.fetcher(this.getRoutes().get(e),"GET")}async filter(e){return this.fetcher(this.getRoutes().filter(e),"GET")}async filters(){return this.fetcher(this.getRoutes().filters,"GET")}async all(){return this.fetcher(this.getRoutes().all,"GET")}async delete(e){return this.fetcher(this.getRoutes().delete(e),"DELETE")}async post(e){return this.fetcher(this.getRoutes().upload,"POST",e)}async put(e,t){return this.fetcher(this.getRoutes().update(e),"PUT",t)}async bulkDelete(e){const t=await Promise.all(e.map((e=>this.delete(e))));return{data:t.reduce(((e,t)=>Object.assign(e,null==t?void 0:t.data)),{}),error:t.filter((e=>e.error)).map((e=>e.error))[0]||null}}}t.default=r},6573:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(4023));t.default=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const a=(0,n.default)();return t?e:`${a.assetsPrefixUrl}${e}`}},8742:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540));a(347);const o=i(a(8862)),d=i(a(3272));t.default=e=>{let{onClick:t}=e;const a=(0,o.default)(),l=(0,u.useRef)();return(0,u.useEffect)((()=>{const e=document.querySelector(d.default.root_class);e.addEventListener("scroll",(()=>{l.current&&(l.current.style.bottom=20-e.scrollTop+"px")}))}),[]),u.default.createElement("div",{ref:l,className:"ranky-media__upload-floating-button"},u.default.createElement("button",{type:"button",title:a.trans("open_upload_dashboard"),"aria-label":a.trans("open_upload_dashboard"),onClick:t},u.default.createElement("svg",{"aria-hidden":"true",focusable:"false",width:"46",height:"46",viewBox:"0 0 32 32"},u.default.createElement("g",{fill:"none",fillRule:"evenodd"},u.default.createElement("rect",{className:"uppy-ProviderIconBg",width:"32",height:"32",rx:"16",fill:"#2275D7"}),u.default.createElement("path",{d:"M21.973 21.152H9.863l-1.108-5.087h14.464l-1.246 5.087zM9.935 11.37h3.958l.886 1.444a.673.673 0 0 0 .585.316h6.506v1.37H9.935v-3.13zm14.898 3.44a.793.793 0 0 0-.616-.31h-.978v-2.126c0-.379-.275-.613-.653-.613H15.75l-.886-1.445a.673.673 0 0 0-.585-.316H9.232c-.378 0-.667.209-.667.587V14.5h-.782a.793.793 0 0 0-.61.303.795.795 0 0 0-.155.663l1.45 6.633c.078.36.396.618.764.618h13.354c.36 0 .674-.246.76-.595l1.631-6.636a.795.795 0 0 0-.144-.675z",fill:"#FFF"})))))}},8735:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(3272));a(5934);t.default=e=>{let{error:t}=e;return n.default.createElement("div",{className:`${r.default.root_class.slice(1)}__error`},n.default.createElement("h2",null,"❌ Error ",(null==t?void 0:t.status)||""),n.default.createElement("p",null,t.message),(null==t?void 0:t.hasCauses())&&`\n
      \n ${t.causes.map((e=>`
    • ${e.name}: ${e.reason}
    • `))}\n
    \n `,(null==t?void 0:t.stack)&&n.default.createElement("pre",null,n.default.createElement("code",null,t.stack)))}},9144:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),a(4591);const n=l(a(6540));t.default=function(e){let{style:t={}}=e;return n.default.createElement("div",{id:"page-loader",className:"show",style:t})}},5329:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(8311)),i=l(a(4628));t.default=e=>{let{data:t,loadMore:a,hasNextPage:l,isFetchingNextPage:u}=e;const o=(0,i.default)().size(),{total:d}=t.pages[0].pagination;return n.default.createElement("div",{className:"pagination-media"},n.default.createElement("p",{className:"pagination-media__info"},n.default.createElement(r.default,{message:"pagination_info",data:{current:o,total:d}})),n.default.createElement("button",{type:"button",disabled:!l||u,className:"pagination-media__button",onClick:()=>a()},n.default.createElement(r.default,{message:"pagination_button_load"})))}},8311:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(8862));t.default=e=>{let{message:t,data:a=null}=e;const l=(0,r.default)().trans(t,a);return/<[a-z][\s\S]*>/i.test(l)?n.default.createElement("span",{dangerouslySetInnerHTML:{__html:l}}):l}},226:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540)),o=i(a(8311)),d=i(a(8742)),s=i(a(5356));t.default=()=>{const[e,t]=(0,u.useState)(!1);return u.default.createElement(u.default.Fragment,null,u.default.createElement(d.default,{onClick:()=>t(!0)}),u.default.createElement("div",{className:"dropzone-drag-zone"},u.default.createElement("p",null,u.default.createElement("span",null,u.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"50",height:"50",fill:"currentColor",className:"bi bi-folder-plus",viewBox:"0 0 16 16"},u.default.createElement("path",{d:"m.5 3 .04.87a1.99 1.99 0 0 0-.342 1.311l.637 7A2 2 0 0 0 2.826 14H9v-1H2.826a1 1 0 0 1-.995-.91l-.637-7A1 1 0 0 1 2.19 4h11.62a1 1 0 0 1 .996 1.09L14.54 8h1.005l.256-2.819A2 2 0 0 0 13.81 3H9.828a2 2 0 0 1-1.414-.586l-.828-.828A2 2 0 0 0 6.172 1H2.5a2 2 0 0 0-2 2zm5.672-1a1 1 0 0 1 .707.293L7.586 3H2.19c-.24 0-.47.042-.683.12L1.5 2.98a1 1 0 0 1 1-.98h3.672z"}),u.default.createElement("path",{d:"M13.5 10a.5.5 0 0 1 .5.5V12h1.5a.5.5 0 1 1 0 1H14v1.5a.5.5 0 1 1-1 0V13h-1.5a.5.5 0 0 1 0-1H13v-1.5a.5.5 0 0 1 .5-.5z"}))),u.default.createElement(o.default,{message:"dropzone"}))),u.default.createElement(s.default,{showUppyModal:e,setShowUppyModal:t}))}},5356:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540)),o=a(1162),d=i(a(4968));a(7872),a(6721),a(3464),a(1193);const s=i(a(3272)),c=i(a(3572)),f=a(6495),m=i(a(22)),p=i(a(3592)),_=i(a(6779)),h=i(a(4023)),g=i(a(3054)),v=a(5942);t.default=e=>{let{showUppyModal:t,setShowUppyModal:a}=e;const l=(0,h.default)(),n=(0,g.default)(),r=(0,v.useQueryClient)(),i=(0,o.useUppy)((()=>{const e=new d.default({autoProceed:!1,allowMultipleUploadBatches:!0,debug:"development"===s.default.env,restrictions:{maxFileSize:l.maxFileSize||7340032,allowedFileTypes:l.mimeTypes.length?l.mimeTypes:null},onBeforeFileAdded:()=>(t||a(!0),!0)});return e.use(c.default,{id:"XHRUpload",endpoint:n.getRoutes().upload,timeout:9e4,headers:{"X-Requested-With":"XMLHttpRequest"}}),e.on("file-added",(t=>{e.setFileMeta(t.id,{size:t.size})})),e.on("restriction-failed",((e,t)=>(0,f.errorAlert)(new m.default(`${e.name}: ${t}`)))),e.on("upload-error",((e,t,a)=>{const l=void 0!==a.body.title?m.default.fromApiProblem(a.body):new m.default(t,a.status);return(0,f.errorAlert)(l)})),e.on("upload-success",(async(e,t)=>{await r.invalidateQueries("filters"),await r.invalidateQueries(["media","list"])})),e}));return(0,u.useEffect)((()=>{if(i.getPlugin("DropTarget"))return;i.use(p.default,{id:"DropTarget",target:s.default.root_class,onDragOver:()=>{var e;null===(e=document.querySelector(".dropzone-drag-zone"))||void 0===e||e.setAttribute("style","visibility:visible;opacity:1")},onDrop:()=>{var e;null===(e=document.querySelector(".dropzone-drag-zone"))||void 0===e||e.removeAttribute("style")},onDragLeave:e=>{var t;e.target.classList.contains("dropzone-drag-zone")&&(null===(t=document.querySelector(".dropzone-drag-zone"))||void 0===t||t.removeAttribute("style"))}}),window.uppy=i;const{locale:e}=l;let t=e;if(t.indexOf("_")<0){const e=new RegExp(`${t.toLocaleLowerCase()}_`,"g");t=s.default.uppy_locales.find((t=>t.match(e)))}t||(t="en_US",console.error(`There are no translations for the locale ${e}. The en_US default translation pack has been loaded.`)),void 0===window.Uppy&&(window.Uppy={locales:{}}),void 0===window.Uppy.locales[t]?async function(){const e=`${s.default.assets_url_prefix}uppy/locales/`;await(0,_.default)(`${e}${t}.min.js`,(()=>{window.uppy.setOptions({locale:window.Uppy.locales[t]})}))}():window.uppy.setOptions({locale:window.Uppy.locales[t]})}),[i,l]),u.default.createElement(o.DashboardModal,{uppy:i,closeModalOnClickOutside:!0,disableInformer:!1,proudlyDisplayPoweredByUppy:!1,open:t,onRequestClose:()=>a(!1)})}},9239:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540));t.default=e=>{let{name:t,value:a,checkedValue:l=!1,label:r,type:i,icon:u}=e;return n.default.createElement("div",{role:"radio",tabIndex:0,"aria-checked":l===a,className:`${i}-filter-item ${i}-filter-item--${a.toLocaleLowerCase()}`},n.default.createElement("label",{title:r,htmlFor:`${i}-filter-item--${a.toLocaleLowerCase()}`},n.default.createElement("input",{tabIndex:-1,"aria-label":r,type:"radio",name:t,value:a,id:`${i}-filter-item--${a.toLocaleLowerCase()}`,defaultChecked:l===a}),n.default.createElement("span",null,u)))}},4799:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540)),o=i(a(7112)),d=i(a(5982)),s=i(a(5014)),c=i(a(3842)),f=i(a(6944)),m=i(a(8862)),p=i(a(3059)),_=i(a(9144)),h=i(a(8735)),g=a(7718),v=a(3521),y=a(16),b=a(5942);t.default=()=>{const e=(0,m.default)(),t=(0,u.useRef)(null),{data:a,error:l,isLoading:n}=(0,p.default)(),r=(0,b.useQueryClient)(),i=(0,y.useSetAtom)(g.loadingState),[E,w]=(0,y.useAtom)(g.pageLayoutState),M=(0,u.useRef)(null),[O,S]=(0,u.useState)(!1);if((0,u.useEffect)((()=>{O&&M.current&&M.current.clientWidth<990&&(M.current.querySelector(".view-filter")&&(M.current.querySelector(".view-filter").style.margin="auto"),M.current.querySelector(".sort-filter")&&(M.current.querySelector(".sort-filter").style.margin="auto"))}),[O]),n)return u.default.createElement(_.default,null);if(l)return u.default.createElement(h.default,{error:l});return u.default.createElement("div",{className:"ranky-media__filters",ref:e=>{M.current=e,S(!!e)}},u.default.createElement("form",{role:"search",action:"",name:"media-filter",id:"media-form-filter",method:"GET",autoComplete:"off",onChange:e=>(e=>{i(!0);const a="search"===e.target.type?500:0;if(t.current&&clearTimeout(t.current),"view"===e.target.name)return w(e.target.value),void i(!1);t.current=setTimeout((async()=>{await r.refetchQueries(["media","list"]),i(!1)}),a)})(e)},u.default.createElement(o.default,{data:a.mimeTypes,name:"mime",operator:d.default.STARTS,defaultOption:{value:"all",label:e.trans("filters_mime_type")}}),u.default.createElement(o.default,{data:a.users,name:"createdBy",operator:d.default.EQUALS,defaultOption:{value:"all",label:e.trans("filters_user")}}),u.default.createElement(o.default,{data:a.availableDates,name:"createdAt",operator:d.default.EQUALS,defaultOption:{value:"all",label:e.trans("filters_date")}}),u.default.createElement(s.default,{name:"name",placeholder:e.trans("filters_search")}),E!==v.LayoutFormView.SELECTABLE?u.default.createElement(c.default,null):null,u.default.createElement(f.default,null)))}},5014:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(5982));t.default=e=>{let{name:t,placeholder:a}=e;return n.default.createElement("div",{className:"search-filter"},n.default.createElement("input",{name:`filters[${t}][${r.default.LIKE}]`,"aria-label":a,placeholder:a,type:"search",id:"search-input-filter"}))}},3842:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(9239)),i=l(a(8862)),u=a(3521),o=a(7718),d=a(16);t.default=()=>{const e=(0,i.default)(),t=(0,d.useAtomValue)(o.pageLayoutState),a=n.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-grid",viewBox:"0 0 16 16"},n.default.createElement("path",{d:"M1 2.5A1.5 1.5 0 0 1 2.5 1h3A1.5 1.5 0 0 1 7 2.5v3A1.5 1.5 0 0 1 5.5 7h-3A1.5 1.5 0 0 1 1 5.5v-3zM2.5 2a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 1h3A1.5 1.5 0 0 1 15 2.5v3A1.5 1.5 0 0 1 13.5 7h-3A1.5 1.5 0 0 1 9 5.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zM1 10.5A1.5 1.5 0 0 1 2.5 9h3A1.5 1.5 0 0 1 7 10.5v3A1.5 1.5 0 0 1 5.5 15h-3A1.5 1.5 0 0 1 1 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3zm6.5.5A1.5 1.5 0 0 1 10.5 9h3a1.5 1.5 0 0 1 1.5 1.5v3a1.5 1.5 0 0 1-1.5 1.5h-3A1.5 1.5 0 0 1 9 13.5v-3zm1.5-.5a.5.5 0 0 0-.5.5v3a.5.5 0 0 0 .5.5h3a.5.5 0 0 0 .5-.5v-3a.5.5 0 0 0-.5-.5h-3z"})),l=n.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-list-task",viewBox:"0 0 16 16"},n.default.createElement("path",{fillRule:"evenodd",d:"M2 2.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V3a.5.5 0 0 0-.5-.5H2zM3 3H2v1h1V3z"}),n.default.createElement("path",{d:"M5 3.5a.5.5 0 0 1 .5-.5h9a.5.5 0 0 1 0 1h-9a.5.5 0 0 1-.5-.5zM5.5 7a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9zm0 4a.5.5 0 0 0 0 1h9a.5.5 0 0 0 0-1h-9z"}),n.default.createElement("path",{fillRule:"evenodd",d:"M1.5 7a.5.5 0 0 1 .5-.5h1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5H2a.5.5 0 0 1-.5-.5V7zM2 7h1v1H2V7zm0 3.5a.5.5 0 0 0-.5.5v1a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5v-1a.5.5 0 0 0-.5-.5H2zm1 .5H2v1h1v-1z"}));return n.default.createElement("div",{className:"view-filter"},n.default.createElement(r.default,{name:"view",value:u.LayoutFormView.GRID,label:e.trans("filters_view_grid"),type:"view",icon:a,checkedValue:t}),n.default.createElement(r.default,{name:"view",value:u.LayoutFormView.LIST,label:e.trans("filters_view_list"),type:"view",icon:l,checkedValue:t}))}},7112:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540));t.default=e=>{let{name:t,operator:a,data:l,defaultOption:r={value:"all",label:"Todos los tipos"}}=e;return n.default.createElement("div",{className:`${t.toLocaleLowerCase()}-filter`},n.default.createElement("select",{name:`filters[${t}][${a}]`,id:`${t.toLocaleLowerCase()}-select-filter`},n.default.createElement("option",{value:r.value,key:r.value},r.label),l.map((e=>n.default.createElement("option",{value:e.value,key:e.value},e.label)))))}},6944:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540)),o=i(a(9239)),d=i(a(8862));t.default=()=>{const e=(0,d.default)(),t=u.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-sort-down",viewBox:"0 0 16 16"},u.default.createElement("path",{d:"M3.5 2.5a.5.5 0 0 0-1 0v8.793l-1.146-1.147a.5.5 0 0 0-.708.708l2 1.999.007.007a.497.497 0 0 0 .7-.006l2-2a.5.5 0 0 0-.707-.708L3.5 11.293V2.5zm3.5 1a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z"})),a=u.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-sort-up",viewBox:"0 0 16 16"},u.default.createElement("path",{d:"M3.5 12.5a.5.5 0 0 1-1 0V3.707L1.354 4.854a.5.5 0 1 1-.708-.708l2-1.999.007-.007a.498.498 0 0 1 .7.006l2 2a.5.5 0 1 1-.707.708L3.5 3.707V12.5zm3.5-9a.5.5 0 0 1 .5-.5h7a.5.5 0 0 1 0 1h-7a.5.5 0 0 1-.5-.5zM7.5 6a.5.5 0 0 0 0 1h5a.5.5 0 0 0 0-1h-5zm0 3a.5.5 0 0 0 0 1h3a.5.5 0 0 0 0-1h-3zm0 3a.5.5 0 0 0 0 1h1a.5.5 0 0 0 0-1h-1z"})),[l,n]=(0,u.useState)("DESC");return u.default.createElement("div",{className:"sort-filter",onChange:function(e){n(e.target.value)}},u.default.createElement(o.default,{checkedValue:l,name:"sort[direction]",value:"DESC",label:e.trans("filters_sort_desc"),type:"sort",icon:t}),u.default.createElement(o.default,{checkedValue:l,name:"sort[direction]",value:"ASC",label:e.trans("filters_sort_asc"),type:"sort",icon:a}))}},7361:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(6573));t.default=e=>{let{media:t}=e;return n.default.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.default)("images/placeholder/application.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})}},4301:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(6573));t.default=e=>{let{media:t}=e;return n.default.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.default)("images/placeholder/audio.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})}},6016:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(4023)),i=l(a(6573));t.default=e=>{let{media:t}=e;var a;const l=(0,r.default)();if(Object.keys(l.placeholderImageTypes).includes(t.file.mimeSubType))return n.default.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,i.default)(l.placeholderImageTypes[t.file.mimeSubType]),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`});if(!l.supportedImageTypes.includes(t.file.mimeSubType))return n.default.createElement("img",{loading:"lazy","aria-hidden":"true",className:"ranky-img-placeholder ranky-img-placeholder--list",src:(0,i.default)("images/placeholder/image.jpg"),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`});const u=null!==(a=null==t?void 0:t.thumbnails.reduce(((e,t)=>null===e?t:e.dimension.width{let{media:t}=e;const a=`${t.file.mimeType}_${t.file.mimeSubType}`,l=t.file.mimeType,r=s[a]||s[l]||s.application;return n.default.createElement(r,{media:t})}},7190:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(6573));t.default=e=>{let{media:t}=e;return n.default.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.default)("images/placeholder/text.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})}},8170:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(6573));t.default=e=>{let{media:t}=e;return n.default.createElement("img",{loading:"lazy","aria-hidden":"true",src:(0,r.default)("images/placeholder/video.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`})}},3213:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(5991));t.default=e=>{let{pages:t,openModalFile:a}=e;return n.default.createElement("ul",{className:"file-list file-list--mode-grid",tabIndex:-1,role:"group"},t&&t.map((e=>e.result.map((e=>n.default.createElement("li",{key:e.id,"data-id":e.id},n.default.createElement("div",{className:`file-item mime-type-${e.file.mimeType} mime-subtype-${e.file.mimeSubType}`,role:"button","aria-label":e.description.alt,tabIndex:0,onClick:()=>a(e.id),onKeyDown:()=>a(e.id)},n.default.createElement(r.default,{media:e}))))))))}},1893:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540)),o=i(a(5991)),d=a(6495),s=i(a(8862)),c=a(5942),f=a(7718),m=i(a(4628)),p=i(a(22)),_=a(16),h=i(a(3054));t.default=e=>{let{pages:t,openModalFile:a}=e;const[l,n]=(0,u.useState)(!1),[r,i]=(0,u.useState)([]),g=(0,_.useSetAtom)(f.loadingState),v=(0,s.default)(),y=(0,c.useQueryClient)(),b=(0,m.default)(),E=(0,h.default)();return u.default.createElement("div",{className:"file-list file-list--mode-list"},u.default.createElement("div",{className:"batch-actions"},u.default.createElement("select",{name:"media-batch-actions",id:"media-batch-actions",onChange:async e=>{let{target:t}=e;if(""===t.value)return{};if(0===r.length)return t.selectedIndex=0,(0,d.errorAlert)(new p.default(v.trans("bulk_actions_error_no_select")));const a=async()=>{g(!0);const e=await E.bulkDelete(r);return e.error?(0,d.errorAlert)(e.error):(await y.invalidateQueries(["media","list"]),await y.invalidateQueries("filters"),t.selectedIndex=0,n(!1),i([]),g(!1),(0,d.successAlert)())};return"delete"===t.value?(0,d.confirmDeleteAlert)(a,(function(){t.selectedIndex=0}),v.trans("bulk_actions_delete_prompt",{value:r.length})):(0,d.errorAlert)(new p.default(v.trans("bulk_actions_error_no_action",{value:(null==t?void 0:t.value)||"undefined"})))}},u.default.createElement("option",{value:""},v.trans("bulk_actions_title")),u.default.createElement("option",{value:"delete"},v.trans("bulk_actions_delete")))),u.default.createElement("div",{className:"table-responsive"},u.default.createElement("table",{className:"table-view-list"},u.default.createElement("thead",null,u.default.createElement("tr",null,u.default.createElement("th",null,u.default.createElement("input",{type:"checkbox",id:"ck-media-all",onChange:()=>{r.length>0?(n(!1),i([])):(n(!0),i(b.all().map((e=>e.id))))},checked:l})),u.default.createElement("th",null,v.trans("file")),u.default.createElement("th",null,v.trans("type")),u.default.createElement("th",null,v.trans("date")),u.default.createElement("th",null,v.trans("breakpoints")))),u.default.createElement("tbody",null,t&&t.map((e=>e.result.map((e=>{var t;return u.default.createElement("tr",{key:e.id},u.default.createElement("td",null,u.default.createElement("input",{type:"checkbox",name:"media[]",id:`ck-media-${e.id}`,onChange:()=>(e=>{if(r.includes(e))i(r.filter((t=>t!==e))),n(!1);else{const t=[...r,e];i(t),n(t.length===b.all().length)}})(e.id),checked:r.includes(e.id)})),u.default.createElement("td",null,u.default.createElement("div",{tabIndex:0,onClick:()=>a(e.id),onKeyDown:()=>a(e.id),role:"button"},u.default.createElement("span",{className:"file-preview"},u.default.createElement(o.default,{media:e})),u.default.createElement("span",{className:"file-name"},e.file.name))),u.default.createElement("td",null,e.file.mime," ",(null===(t=null==e?void 0:e.dimension)||void 0===t?void 0:t.label)?`(${e.dimension.label})`:null),u.default.createElement("td",null,e.createdAt," ",v.trans("by")," ",e.createdBy),u.default.createElement("td",null,e.thumbnails.length>0?u.default.createElement("ul",null,e.thumbnails.map((e=>u.default.createElement("li",{key:e.name+e.breakpoint},u.default.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:e.url},u.default.createElement("b",null,e.breakpoint,":")," ",e.dimension.label," ",u.default.createElement("b",null,"size:")," ",e.humanSize))))):"-"))}))))))))}},2925:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(5991)),i=a(7718),u=l(a(4023)),o=l(a(4628)),d=a(16);t.default=e=>{let{pages:t,openModalFile:a}=e;const[l,s]=(0,d.useAtom)(i.selectedMediaState),[,c]=(0,d.useAtom)(i.dbClickState),[f,m]=n.default.useState(null),p=(0,u.default)(),_=(0,o.default)();return n.default.createElement("ul",{tabIndex:-1,className:"file-list file-list--mode-grid file-list--mode-selectable"},t&&t.map((e=>e.result.map((e=>n.default.createElement("li",{key:`li-${e.id}`,"data-id":e.id,onDoubleClick:t=>{return a=e.id,l.includes(a)||s((e=>[...e,a])),m(a),void c(!0);var a}},n.default.createElement("div",{className:`file-item mime-type-${e.file.mimeType} mime-subtype-${e.file.mimeSubType}`,"aria-label":e.description.alt,role:"checkbox","aria-checked":l.includes(e.id),tabIndex:0},n.default.createElement("input",{tabIndex:-1,type:"checkbox",name:"media[]",id:`ck-media-${e.id}`,checked:l.includes(e.id),onChange:t=>function(e,t){if(!1!==p.isMultipleSelection){if("shiftKey"in e.nativeEvent&&!0===e.nativeEvent.shiftKey){if(null===f)return void m(t);const e=_.all().map((e=>e.id)),a=e.indexOf(t),l=e.indexOf(f),n=e.slice(Math.min(a,l),Math.max(a,l)+1);return s(n),void m(t)}l.includes(t)?s((e=>e.filter((e=>e!==t)))):s((e=>[...e,t])),m(t)}else s([t])}(t,e.id)}),n.default.createElement("label",{htmlFor:`ck-media-${e.id}`},n.default.createElement(r.default,{media:e})),n.default.createElement("button",{onClick:()=>a(e.id),type:"button"},n.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"16",height:"16",fill:"currentColor",className:"bi bi-pencil",viewBox:"0 0 16 16"},n.default.createElement("path",{d:"M12.146.146a.5.5 0 0 1 .708 0l3 3a.5.5 0 0 1 0 .708l-10 10a.5.5 0 0 1-.168.11l-5 2a.5.5 0 0 1-.65-.65l2-5a.5.5 0 0 1 .11-.168l10-10zM11.207 2.5 13.5 4.793 14.793 3.5 12.5 1.207 11.207 2.5zm1.586 3L10.5 3.207 4 9.707V10h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.293l6.5-6.5zm-9.761 5.175-.106.106-1.528 3.821 3.821-1.528.106-.106A.5.5 0 0 1 5 12.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.468-.325z"}))))))))))}},8116:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(6573));t.default=e=>{let{media:t}=e;return n.default.createElement("object",{type:t.file.mime,data:t.file.url},n.default.createElement("img",{"aria-hidden":"true",src:(0,r.default)("images/placeholder/application.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}))}},5248:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540));t.default=e=>{let{media:t}=e;return n.default.createElement("audio",{controls:!0,src:t.file.url,title:`${t.description.title} (${t.file.mime})`},n.default.createElement("track",{kind:"captions"}),"Your browser does not support the ",n.default.createElement("code",null,"audio")," element.")}},1627:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=a(3297),i=l(a(4023)),u=l(a(6573));t.default=e=>{let{media:t}=e;var a,l;const o=(0,i.default)();if(Object.keys(o.placeholderImageTypes).includes(t.file.mimeSubType))return n.default.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},n.default.createElement("img",{src:(0,u.default)(o.placeholderImageTypes[t.file.mimeSubType]),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}));if(!o.supportedImageTypes.includes(t.file.mimeSubType))return n.default.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},n.default.createElement("img",{className:"ranky-img-placeholder ranky-img-placeholder--show",src:(0,u.default)("images/placeholder/image.jpg"),"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}));let d=`${t.file.url} ${t.dimension.width}w,`;return t.thumbnails.forEach((e=>{d+=` ${e.url} ${e.dimension.width}w,`})),n.default.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},n.default.createElement("img",{src:t.file.url,"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,width:null!==(a=t.dimension.width)&&void 0!==a?a:"auto",height:null!==(l=t.dimension.height)&&void 0!==l?l:"auto",srcSet:t.dimension.width?(0,r.removeLastChar)(d,","):"",alt:t.description.alt,title:`${t.description.title}`}))}},9651:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540));t.default=e=>{let{media:t}=e;return n.default.createElement("a",{target:"_blank",href:t.file.url,"aria-label":`${t.description.title} (opens in a new window)`,rel:"noreferrer"},n.default.createElement("img",{className:"img-svg-preview",src:t.file.url,"data-mime-type":t.file.mimeType,"data-mime-sub-type":t.file.mimeSubType,alt:t.description.alt,title:`${t.description.title}`}))}},7135:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(8116)),i=l(a(9429)),u=l(a(5248)),o=l(a(9639)),d=l(a(1627)),s=l(a(9651)),c={application:r.default,audio:u.default,image:d.default,"image_svg+xml":s.default,video:o.default,text:i.default};t.default=e=>{let{media:t}=e;const a=`${t.file.mimeType}_${t.file.mimeSubType}`,l=t.file.mimeType,r=c[a]||c[l]||c.application;return n.default.createElement(r,{media:t})}},9429:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(6573));t.default=e=>{let{media:t}=e;return n.default.createElement("object",{type:t.file.mime,data:t.file.url},n.default.createElement("img",{"aria-hidden":"true",src:(0,r.default)("images/placeholder/text.jpg"),alt:t.description.alt,title:`${t.description.title} (${t.file.mime})`}))}},9639:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540));t.default=e=>{let{media:t}=e;return n.default.createElement("video",{controls:!0,title:`${t.description.title} (${t.file.mime})`},n.default.createElement("source",{src:t.file.url,type:t.file.mime}),n.default.createElement("track",{kind:"captions"}),"Sorry, your browser doesn't support embedded videos.")}},6159:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540));a(9871);const r=l(a(3224)),i=l(a(8311)),u=a(6495),o=a(7718),d=a(5942),s=l(a(4628)),c=a(16),f=l(a(3054));t.default=e=>{let{onClose:t}=e;const[a,l]=(0,c.useAtom)(o.currentMediaState),m=(0,d.useQueryClient)(),p=(0,s.default)(),_=(0,f.default)();return n.default.createElement("div",{className:"wrapper-ranky-media-modal-file",key:`ranky-media-modal-file-${a.id}`},n.default.createElement("div",{className:"ranky-media-modal-file ranky-media-modal-file--show",tabIndex:-1,"aria-labelledby":"ranky-media-modal-file","aria-modal":"true",role:"dialog"},n.default.createElement("div",{className:"ranky-media-modal-file__dialog",role:"document"},n.default.createElement("div",{className:"ranky-media-modal-file__dialog__header ranky-media-modal-file__dialog--bg-primary-dark"},n.default.createElement("h3",{className:"ranky-media-modal-file__dialog__header__title"},n.default.createElement(i.default,{message:"modal_title",data:{file_name:a.file.name,id:a.id}})),n.default.createElement("div",{className:"ranky-media-modal-file__dialog__header__options"},n.default.createElement("ul",null,n.default.createElement("li",null,n.default.createElement("button",{onClick:function(e){let{currentTarget:t}=e;var n;const r=p.list(),i=p.findIndex(a.id),u=r.pages[i.page].result[i.index-1],o=r.pages.length,d=i.page>0&&i.pageu.page,d=(null===(n=i.pages[u.page])||void 0===n?void 0:n.result[u.index+1])||null;if(d)return l(d),t.removeAttribute("disabled");if(o){const e=(null===(r=i.pages[u.page+1])||void 0===r?void 0:r.result[0])||null;if(e)return l(e),t.removeAttribute("disabled")}return t.setAttribute("disabled","")},type:"button",className:"ranky-media-modal-file__btn-media-next js-next-modal","aria-label":"Next"},n.default.createElement("span",{"aria-hidden":"true"},"→"))),n.default.createElement("li",null,n.default.createElement("button",{onClick:t,type:"button",className:"ranky-media-modal-file__btn-media-close js-close-modal","aria-label":"Close"},n.default.createElement("span",{"aria-hidden":"true"},"×")))))),n.default.createElement("div",{className:"ranky-media-modal-file__dialog__content"},n.default.createElement(r.default,{onDelete:async(e,a)=>{e.preventDefault();const l=e.currentTarget;return(0,u.confirmDeleteAlert)((async()=>{const{id:e}=l.dataset;a(!0);const{data:n,error:r}=await _.delete(e);r?await(0,u.errorAlert)(r):(await m.invalidateQueries("filters"),await m.invalidateQueries(["media","list"]),await(0,u.successAlert)(null==n?void 0:n.message),t()),a(!1)}))}})))),n.default.createElement("div",{className:"ranky-media-modal-file-backdrop"}))}},3224:function(e,t,a){var l=this&&this.__createBinding||(Object.create?function(e,t,a,l){void 0===l&&(l=a);var n=Object.getOwnPropertyDescriptor(t,a);n&&!("get"in n?!t.__esModule:n.writable||n.configurable)||(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,l,n)}:function(e,t,a,l){void 0===l&&(l=a),e[l]=t[a]}),n=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),r=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var a in e)"default"!==a&&Object.prototype.hasOwnProperty.call(e,a)&&l(t,e,a);return n(t,e),t},i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const u=r(a(6540)),o=i(a(8862)),d=i(a(8311)),s=i(a(7135)),c=a(6495),f=a(7718),m=i(a(4628)),p=a(16),_=i(a(3054));t.default=e=>{let{onDelete:t}=e;var a;const l=(0,o.default)(),[n,r]=(0,p.useAtom)(f.currentMediaState),i=(0,_.default)(),h=(0,m.default)(),[g,v]=(0,u.useState)(!1),[y,b]=(0,u.useState)({id:n.id,name:n.file.basename,alt:n.description.alt,title:n.description.title}),E=e=>{const t=e.target,a={[t.name]:t.value};b({...y,...a})};return u.default.createElement("div",{className:"ranky-media-modal-file__dialog__content__show"},u.default.createElement("div",{className:"ranky-media-modal-file__dialog__content__show__preview"},u.default.createElement(s.default,{media:n}),u.default.createElement("button",{type:"button",className:"ranky-media-modal-file__btn-media-danger js-delete-media","data-id":n.id,disabled:g,onClick:e=>t(e,v)},"🗑️ ",u.default.createElement(d.default,{message:"delete"}))),u.default.createElement("div",{className:"ranky-media-modal-file__dialog__content__show__info"},u.default.createElement("table",null,u.default.createElement("tbody",null,u.default.createElement("tr",null,u.default.createElement("th",{scope:"row","aria-label":"form_name"},u.default.createElement(d.default,{message:"form_name"})),u.default.createElement("td",null,n.file.name)),u.default.createElement("tr",null,u.default.createElement("th",{scope:"row"},"URL"),u.default.createElement("td",null,u.default.createElement("a",{target:"_blank",href:n.file.url,rel:"noreferrer"},n.file.url))),u.default.createElement("tr",null,u.default.createElement("th",{scope:"row","aria-label":"file_type"},u.default.createElement(d.default,{message:"file_type"})),u.default.createElement("td",null,n.file.mime)),(null===(a=null==n?void 0:n.dimension)||void 0===a?void 0:a.label)?u.default.createElement("tr",null,u.default.createElement("th",{scope:"row","aria-label":"dimensions"},u.default.createElement(d.default,{message:"dimensions"})),u.default.createElement("td",null,n.dimension.label)):null,u.default.createElement("tr",null,u.default.createElement("th",{scope:"row","aria-label":"size"},u.default.createElement(d.default,{message:"size"})),u.default.createElement("td",null,n.file.humanSize)),u.default.createElement("tr",null,u.default.createElement("th",{scope:"row","aria-label":"created_at"},u.default.createElement(d.default,{message:"created_at"})),u.default.createElement("td",null,n.createdAt," ",u.default.createElement(d.default,{message:"by"})," ",n.createdBy)),u.default.createElement("tr",null,u.default.createElement("th",{scope:"row","aria-label":"updated_at"},u.default.createElement(d.default,{message:"updated_at"})),u.default.createElement("td",null,n.updatedAt," ",u.default.createElement(d.default,{message:"by"})," ",n.updatedBy)),u.default.createElement("tr",null,u.default.createElement("th",{scope:"row"},u.default.createElement(d.default,{message:"breakpoints"})),u.default.createElement("td",null,n.thumbnails.length>0?u.default.createElement("ul",null,n.thumbnails.map((e=>u.default.createElement("li",{key:e.name+e.breakpoint},u.default.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:e.url},u.default.createElement("b",null,e.breakpoint,":")," ",e.dimension.label," ",u.default.createElement("b",null,"size:")," ",e.humanSize))))):"-")))),u.default.createElement("form",{name:"media",id:"ranky-media-file__form",method:"POST",autoComplete:"off",encType:"multipart/form-data",onSubmit:async e=>{e.preventDefault(),v(!0);const{id:t}=n,{data:a,error:l}=await i.put(t,y);return l?(console.log(l),v(!1),(0,c.errorAlert)(l)):(r(a),b({...y,name:a.file.basename,alt:a.description.alt,title:a.description.title}),h.update(a),v(!1),(0,c.successAlert)())}},u.default.createElement("div",{className:"input-group"},u.default.createElement("label",{htmlFor:"name"},u.default.createElement(d.default,{message:"form_name"})),u.default.createElement("input",{type:"text",name:"name",id:"ranky-media-file__form__name",value:y.name,onChange:E,required:!0,autoComplete:"off"}),u.default.createElement("span",{className:"input-group-text"},".",n.file.extension)),u.default.createElement("label",{htmlFor:"alt"},u.default.createElement(d.default,{message:"form_alt"})),u.default.createElement("input",{type:"text",name:"alt",id:"ranky-media-file__form__alt",value:y.alt,onChange:E,required:!0}),u.default.createElement("label",{htmlFor:"title"},u.default.createElement(d.default,{message:"form_title"})),u.default.createElement("input",{type:"text",name:"title",id:"ranky-media-file__form__title",value:y.title,onChange:E,required:!0}),u.default.createElement("input",{type:"hidden",name:"id",id:"ranky-media-file__form__id",defaultValue:y.id}),u.default.createElement("input",{type:"submit",disabled:g,value:l.trans("form_save")}))))}},355:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MediaProvider=void 0;const n=l(a(6540)),r=l(a(9144)),i=l(a(8735)),u=l(a(9868)),o=a(2894),d=a(5942),s=l(a(5151)),c=l(a(22)),f=a(3521),m=a(7718),p=a(16),_=l(a(392)),h=n.default.createContext({});t.MediaProvider=e=>{let{children:t,apiPrefix:a,selectionMode:l=!1,multipleSelection:g=!1,title:v=null,targetRef:y=null}=e,b=null;const E=_.default.create(a),w=E.getRoutes(),{data:M,error:O,isLoading:S}=(0,d.useQuery)("config",(()=>(0,o.fetcher)(w.config)));if(S)return n.default.createElement(r.default,null);if(O){if(!(O instanceof c.default)){console.error(O);const e=new c.default(O,400);return n.default.createElement(i.default,{error:e})}return n.default.createElement(i.default,{error:O})}return u.default.fromApi(M),u.default.apiPrefix=a||"",u.default.selectionMode=l,u.default.multipleSelection=g,u.default.title=v,u.default.targetRef=y,b={settings:u.default.getInstance(),translator:s.default.fromApi(M),mediaRepository:E},n.default.createElement(p.Provider,{initialValues:[[m.pageLayoutState,l?f.LayoutFormView.SELECTABLE:f.LayoutFormView.GRID]]},n.default.createElement(h.Provider,{value:b},t))},t.default=h},2894:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.fetcherWithQueryString=t.fetcher=void 0;const n=l(a(22)),r=async e=>{const t=await fetch(e,{headers:new Headers({"X-Requested-With":"XMLHttpRequest","Content-Type":"application/json"})});if(!t.ok){throw((e,t,a)=>{if(!(null==e?void 0:e.title)){const l=`Error ${t.status}: ${t.statusText} when fetch ${a}`,r=new n.default(l,t.status);return r.data=e,r}return n.default.fromApiProblem(e)})(await t.json(),t,e)}return t.json()};t.fetcher=r;t.fetcherWithQueryString=async function(e){let t=encodeURI(`?page[number]=${arguments.length>1&&void 0!==arguments[1]?arguments[1]:1}`);const a=document.getElementById("media-form-filter");return a&&(t+=`&${new URLSearchParams(new FormData(a)).toString()}`),r(`${e}${decodeURI(t)}`)}},6495:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.successAlert=t.confirmDeleteAlert=t.errorAlert=void 0;const n=l(a(8465)),r=l(a(5151));t.successAlert=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null;const t=r.default.getInstance();return n.default.fire({title:e||t.trans("swal.successfully"),icon:"success",confirmButtonColor:"#6f9c40",timer:1500})},t.errorAlert=function(e){const t=e.hasCauses()?e.message:`Error ${e.status}`,a=e.hasCauses()?e.causesToHtml():e.message;return n.default.fire({title:t,html:a,icon:"error",confirmButtonColor:"#DD6B55"})},t.confirmDeleteAlert=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;const l=r.default.getInstance();return n.default.fire({title:a||l.trans("swal.confirm_delete"),text:l.trans("swal.delete_text"),icon:"warning",showCancelButton:!0,confirmButtonColor:"#DD6B55",confirmButtonText:l.trans("swal.confirm_button"),cancelButtonText:l.trans("swal.cancel_button")}).then((async a=>a.value?e():null!==t?t():{}))}},8339:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=a(6540),r=l(a(4023));t.default=e=>{const[t,a]=(0,n.useState)([]),l=(0,r.default)();return{onInsertSelection:(0,n.useCallback)(((t,n)=>{if(t.length<=0)return;const r=n.parentElement.querySelector(`input#${e}`);!1===l.isMultipleSelection?r.value=t[0].id||"":r.value=JSON.stringify(t.map((e=>e.id)))||JSON.stringify([]),a(t)}),[e,l]),selectedMedia:t,setSelectedMedia:a}}},336:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.MediaFormPreview=t.MediaManagerModal=t.MediaManager=void 0;var n=a(143);Object.defineProperty(t,"MediaManager",{enumerable:!0,get:function(){return l(n).default}});var r=a(1988);Object.defineProperty(t,"MediaManagerModal",{enumerable:!0,get:function(){return l(r).default}});var i=a(8256);Object.defineProperty(t,"MediaFormPreview",{enumerable:!0,get:function(){return l(i).default}})},710:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});const n=l(a(6540)),r=l(a(961)),i=l(a(3272)),u=a(1890),o=l(a(2213)),d=a(336),s=n.default.version.split(".")[0];let c;c="18"===s?(e,t)=>{r.default.createRoot(t).render(e)}:(e,t)=>{r.default.render(e,t)};const f=()=>{document.querySelectorAll(".ranky-media-form-type__content").forEach((e=>{var t;const a="true"===e.getAttribute("data-multiple-selection")||"1"===e.getAttribute("data-multiple-selection"),l=e.getAttribute("data-field-id");c(n.default.createElement(o.default,{selectionMode:!0,title:e.getAttribute("data-title")||"",multipleSelection:a,apiPrefix:e.getAttribute("data-api-prefix")||"",targetRef:e},n.default.createElement(d.MediaFormPreview,{fieldId:l,predefinedData:(null===(t=e.parentElement.querySelector(`input#${l}`))||void 0===t?void 0:t.value)||null})),e)}))};new MutationObserver((e=>{e.forEach((e=>{"childList"===e.type&&e.addedNodes.forEach((e=>{e instanceof HTMLElement&&e.querySelector(".ranky-media-form-type__content")&&f()}))}))})).observe(document.body,{childList:!0,subtree:!0}),f(),(0,u.on)(document,".ranky-media-open-modal","click",(e=>{(e=>{const t=e.target;e.preventDefault();const a="true"===t.getAttribute("data-multiple-selection")||"1"===t.getAttribute("data-multiple-selection"),l=document.createElement("div");l.classList.add("wrapper-ranky-media-modal"),document.body.appendChild(l),c(n.default.createElement(o.default,{selectionMode:!0,title:t.getAttribute("data-title")||"",multipleSelection:a,apiPrefix:t.getAttribute("data-api-prefix")||"",targetRef:t},n.default.createElement(d.MediaManagerModal,{onCloseModal:()=>{l.remove()}})),l)})(e)})),document.querySelector(i.default.root_class)&&c(n.default.createElement(o.default,{apiPrefix:document.querySelector(i.default.root_class).getAttribute("data-api-prefix")||""},n.default.createElement(d.MediaManager,null)),document.querySelector(i.default.root_class))},7718:function(e,t,a){Object.defineProperty(t,"__esModule",{value:!0}),t.dbClickState=t.selectedMediaState=t.pageLayoutState=t.loadingState=t.currentMediaState=void 0;const l=a(16),n=(0,l.atom)(!1);t.dbClickState=n;const r=(0,l.atom)(null);t.currentMediaState=r;const i=(0,l.atom)(!1);t.loadingState=i;const u=(0,l.atom)("GRID");t.pageLayoutState=u;const o=(0,l.atom)([]);t.selectedMediaState=o},5982:function(e,t){var a;Object.defineProperty(t,"__esModule",{value:!0}),function(e){e.EQUALS="eq",e.NOT_EQUALS="neq",e.GREATER_THAN="gt",e.GREATER_THAN_OR_EQUAL="gte",e.LESS_THAN="lt",e.LESS_THAN_OR_EQUAL="lte",e.LIKE="like",e.NOT_LIKE="nlike",e.EXACT="exact",e.NOT_EXACT="nexact",e.STARTS="starts",e.ENDS="ends",e.INCLUDES="in",e.NOT_INCLUDES="nin"}(a||(a={})),t.default=a},3521:function(e,t,a){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.LayoutType=t.LayoutFormView=void 0;const n=l(a(2925)),r=l(a(3213)),i=l(a(1893));t.LayoutFormView={SELECTABLE:"SELECTABLE",LIST:"LIST",GRID:"GRID"},t.LayoutType={[t.LayoutFormView.SELECTABLE]:n.default,[t.LayoutFormView.GRID]:r.default,[t.LayoutFormView.LIST]:i.default}},347:function(e,t,a){a.r(t)},4591:function(e,t,a){a.r(t)},1193:function(e,t,a){a.r(t)},9871:function(e,t,a){a.r(t)},5934:function(e,t,a){a.r(t)},1548:function(e,t,a){a.r(t)},9362:function(e,t,a){a.r(t)},3561:function(e,t,a){a.r(t)}},a={};function l(e){var n=a[e];if(void 0!==n)return n.exports;var r=a[e]={exports:{}};return t[e].call(r.exports,r,r.exports,l),r.exports}l.m=t,e=[],l.O=function(t,a,n,r){if(!a){var i=1/0;for(s=0;s=r)&&Object.keys(l.O).every((function(e){return l.O[e](a[o])}))?a.splice(o--,1):(u=!1,r0&&e[s-1][2]>r;s--)e[s]=e[s-1];e[s]=[a,n,r]},l.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return l.d(t,{a:t}),t},l.d=function(e,t){for(var a in t)l.o(t,a)&&!l.o(e,a)&&Object.defineProperty(e,a,{enumerable:!0,get:t[a]})},l.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),l.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},l.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},l.j=3,l.p="/bundles/rankymedia/",function(){var e={3:0};l.O.j=function(t){return 0===e[t]};var t=function(t,a){var n,r,i=a[0],u=a[1],o=a[2],d=0;if(i.some((function(t){return 0!==e[t]}))){for(n in u)l.o(u,n)&&(l.m[n]=u[n]);if(o)var s=o(l)}for(t&&t(a);ddiv{margin-bottom:6px}.uppy-Informer-animated{opacity:0;transform:translateY(350%);transition:all .3s ease-in;z-index:-1000}.uppy-Informer p{background-color:#757575;border-radius:18px;color:#fff;display:inline-block;font-size:12px;font-weight:400;line-height:1.4;margin:0;max-width:90%;padding:6px 15px}.uppy-size--md .uppy-Informer p{font-size:14px;line-height:1.3;max-width:500px;padding:10px 20px}[data-uppy-theme=dark] .uppy-Informer p{background-color:#333}[dir=ltr] .uppy-Informer p span{left:3px}[dir=rtl] .uppy-Informer p span{right:3px}[dir=ltr] .uppy-Informer p span{margin-left:-1px}[dir=rtl] .uppy-Informer p span{margin-right:-1px}.uppy-Informer p span{background-color:#fff;border-radius:50%;color:#525252;display:inline-block;font-size:10px;height:13px;line-height:12px;position:relative;top:-1px;vertical-align:middle;width:13px}.uppy-Informer p span:hover{cursor:help}.uppy-Informer p span:after{word-wrap:break-word;line-height:1.3}.uppy-Root [aria-label][role~=tooltip]{position:relative}.uppy-Root [aria-label][role~=tooltip]:after,.uppy-Root [aria-label][role~=tooltip]:before{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;opacity:0;pointer-events:none;position:absolute;transform:translateZ(0);transform-origin:top;transition:all var(--microtip-transition-duration,.18s) var(--microtip-transition-easing,ease-in-out) var(--microtip-transition-delay,0s);will-change:transform;z-index:10}.uppy-Root [aria-label][role~=tooltip]:before{background-size:100% auto!important;content:""}.uppy-Root [aria-label][role~=tooltip]:after{background:hsla(0,0%,7%,.9);border-radius:4px;box-sizing:content-box;color:#fff;content:attr(aria-label);font-size:var(--microtip-font-size,13px);font-weight:var(--microtip-font-weight,normal);padding:.5em 1em;text-transform:var(--microtip-text-transform,none);white-space:nowrap}.uppy-Root [aria-label][role~=tooltip]:focus:after,.uppy-Root [aria-label][role~=tooltip]:focus:before,.uppy-Root [aria-label][role~=tooltip]:hover:after,.uppy-Root [aria-label][role~=tooltip]:hover:before{opacity:1;pointer-events:auto}.uppy-Root [role~=tooltip][data-microtip-position|=top]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002C14.285 12.002 8.594 0 2.658 0Z'/%3E%3C/svg%3E") no-repeat;bottom:100%;height:6px;left:50%;margin-bottom:5px;transform:translate3d(-50%,0,0);width:18px}.uppy-Root [role~=tooltip][data-microtip-position|=top]:after{bottom:100%;left:50%;margin-bottom:11px;transform:translate3d(-50%,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=top]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position|=top]:hover:before{transform:translate3d(-50%,-5px,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-left]:after{bottom:100%;transform:translate3d(calc(-100% + 16px),0,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-left]:hover:after{transform:translate3d(calc(-100% + 16px),-5px,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-right]:after{bottom:100%;transform:translate3d(-16px,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-right]:hover:after{transform:translate3d(-16px,-5px,0)}.uppy-Root [role~=tooltip][data-microtip-position|=bottom]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002C21.715-.002 27.406 12 33.342 12Z'/%3E%3C/svg%3E") no-repeat;bottom:auto;height:6px;left:50%;margin-bottom:0;margin-top:5px;top:100%;transform:translate3d(-50%,-10px,0);width:18px}.uppy-Root [role~=tooltip][data-microtip-position|=bottom]:after{left:50%;margin-top:11px;top:100%;transform:translate3d(-50%,-10px,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position|=bottom]:hover:before{transform:translate3d(-50%,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-left]:after{top:100%;transform:translate3d(calc(-100% + 16px),-10px,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-left]:hover:after{transform:translate3d(calc(-100% + 16px),0,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-right]:after{top:100%;transform:translate3d(-16px,-10px,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-right]:hover:after{transform:translate3d(-16px,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=left]:after,.uppy-Root [role~=tooltip][data-microtip-position=left]:before{bottom:auto;left:auto;right:100%;top:50%;transform:translate3d(10px,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-position=left]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002C12.002 21.715 0 27.406 0 33.342Z'/%3E%3C/svg%3E") no-repeat;height:18px;margin-bottom:0;margin-right:5px;width:6px}.uppy-Root [role~=tooltip][data-microtip-position=left]:after{margin-right:11px}.uppy-Root [role~=tooltip][data-microtip-position=left]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position=left]:hover:before{transform:translate3d(0,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-position=right]:after,.uppy-Root [role~=tooltip][data-microtip-position=right]:before{bottom:auto;left:100%;top:50%;transform:translate3d(-10px,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-position=right]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002C-.002 14.285 12 8.594 12 2.658Z'/%3E%3C/svg%3E") no-repeat;height:18px;margin-bottom:0;margin-left:5px;width:6px}.uppy-Root [role~=tooltip][data-microtip-position=right]:after{margin-left:11px}.uppy-Root [role~=tooltip][data-microtip-position=right]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position=right]:hover:before{transform:translate3d(0,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-size=small]:after{white-space:normal;width:80px}.uppy-Root [role~=tooltip][data-microtip-size=medium]:after{white-space:normal;width:150px}.uppy-Root [role~=tooltip][data-microtip-size=large]:after{white-space:normal;width:260px}.uppy-StatusBar{background-color:#fff;color:#fff;display:flex;font-size:12px;font-weight:400;height:46px;line-height:40px;position:relative;transition:height .2s;z-index:1001}[data-uppy-theme=dark] .uppy-StatusBar{background-color:#1f1f1f}.uppy-StatusBar:before{background-color:#eaeaea;bottom:0;content:"";height:2px;left:0;position:absolute;right:0;top:0;width:100%}[data-uppy-theme=dark] .uppy-StatusBar:before{background-color:#757575}.uppy-StatusBar[aria-hidden=true]{height:0;overflow-y:hidden}.uppy-StatusBar.is-complete .uppy-StatusBar-progress{background-color:#1bb240}.uppy-StatusBar.is-error .uppy-StatusBar-progress{background-color:#e32437}.uppy-StatusBar.is-complete .uppy-StatusBar-statusIndicator{color:#1bb240}.uppy-StatusBar.is-error .uppy-StatusBar-statusIndicator{color:#e32437}.uppy-StatusBar:not([aria-hidden=true]).is-waiting{background-color:#fff;border-top:1px solid #eaeaea;height:65px}[data-uppy-theme=dark] .uppy-StatusBar:not([aria-hidden=true]).is-waiting{background-color:#1f1f1f;border-top:1px solid #333}.uppy-StatusBar-progress{background-color:#2275d7;height:2px;position:absolute;transition:background-color,width .3s ease-out;z-index:1001}.uppy-StatusBar-progress.is-indeterminate{animation:uppy-StatusBar-ProgressStripes 1s linear infinite;background-image:linear-gradient(45deg,rgba(0,0,0,.3) 25%,transparent 0,transparent 50%,rgba(0,0,0,.3) 0,rgba(0,0,0,.3) 75%,transparent 0,transparent);background-size:64px 64px}@keyframes uppy-StatusBar-ProgressStripes{0%{background-position:0 0}to{background-position:64px 0}}.uppy-StatusBar.is-postprocessing .uppy-StatusBar-progress,.uppy-StatusBar.is-preprocessing .uppy-StatusBar-progress{background-color:#f6a623}.uppy-StatusBar.is-waiting .uppy-StatusBar-progress{display:none}[dir=ltr] .uppy-StatusBar-content{padding-left:10px}[dir=rtl] .uppy-StatusBar-content{padding-right:10px}.uppy-StatusBar-content{align-items:center;color:#333;display:flex;height:100%;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:1002}[dir=ltr] .uppy-size--md .uppy-StatusBar-content{padding-left:15px}[dir=rtl] .uppy-size--md .uppy-StatusBar-content{padding-right:15px}[data-uppy-theme=dark] .uppy-StatusBar-content{color:#eaeaea}[dir=ltr] .uppy-StatusBar-status{padding-right:.3em}[dir=rtl] .uppy-StatusBar-status{padding-left:.3em}.uppy-StatusBar-status{display:flex;flex-direction:column;font-weight:400;justify-content:center;line-height:1.4}.uppy-StatusBar-statusPrimary{display:flex;font-weight:500;line-height:1}.uppy-StatusBar-statusPrimary button.uppy-StatusBar-details{margin-left:5px}[data-uppy-theme=dark] .uppy-StatusBar-statusPrimary{color:#eaeaea}.uppy-StatusBar-statusSecondary{color:#757575;display:inline-block;font-size:11px;line-height:1.2;margin-top:1px;white-space:nowrap}[data-uppy-theme=dark] .uppy-StatusBar-statusSecondary{color:#bbb}[dir=ltr] .uppy-StatusBar-statusSecondaryHint{margin-right:5px}[dir=rtl] .uppy-StatusBar-statusSecondaryHint{margin-left:5px}.uppy-StatusBar-statusSecondaryHint{display:inline-block;line-height:1;vertical-align:middle}[dir=ltr] .uppy-size--md .uppy-StatusBar-statusSecondaryHint{margin-right:8px}[dir=rtl] .uppy-size--md .uppy-StatusBar-statusSecondaryHint{margin-left:8px}[dir=ltr] .uppy-StatusBar-statusIndicator{margin-right:7px}[dir=rtl] .uppy-StatusBar-statusIndicator{margin-left:7px}.uppy-StatusBar-statusIndicator{color:#525252;position:relative;top:1px}.uppy-StatusBar-statusIndicator svg{vertical-align:text-bottom}[dir=ltr] .uppy-StatusBar-actions{right:10px}[dir=rtl] .uppy-StatusBar-actions{left:10px}.uppy-StatusBar-actions{align-items:center;bottom:0;display:flex;position:absolute;top:0;z-index:1004}.uppy-StatusBar.is-waiting .uppy-StatusBar-actions{background-color:#fafafa;height:100%;padding:0 15px;position:static;width:100%}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actions{background-color:#1f1f1f}.uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts{flex-direction:column;height:90px}.uppy-size--md .uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts{flex-direction:row;height:65px}.uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts .uppy-StatusBar-actions{flex-direction:column;justify-content:center}.uppy-size--md .uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts .uppy-StatusBar-actions{flex-direction:row;justify-content:normal}.uppy-StatusBar-actionCircleBtn{cursor:pointer;line-height:1;margin:3px;opacity:.9}.uppy-StatusBar-actionCircleBtn:focus{outline:none}.uppy-StatusBar-actionCircleBtn::-moz-focus-inner{border:0}.uppy-StatusBar-actionCircleBtn:focus{box-shadow:0 0 0 3px rgba(34,117,215,.5)}[data-uppy-theme=dark] .uppy-StatusBar-actionCircleBtn:focus{outline:none}[data-uppy-theme=dark] .uppy-StatusBar-actionCircleBtn::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-StatusBar-actionCircleBtn:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}.uppy-StatusBar-actionCircleBtn:hover{opacity:1}.uppy-StatusBar-actionCircleBtn:focus{border-radius:50%}.uppy-StatusBar-actionCircleBtn svg{vertical-align:bottom}.uppy-StatusBar-actionBtn{color:#2275d7;display:inline-block;font-size:10px;line-height:inherit;vertical-align:middle}.uppy-size--md .uppy-StatusBar-actionBtn{font-size:11px}.uppy-StatusBar-actionBtn--disabled{opacity:.4}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--disabled{opacity:.7}[dir=ltr] .uppy-StatusBar-actionBtn--retry{margin-right:6px}[dir=rtl] .uppy-StatusBar-actionBtn--retry{margin-left:6px}.uppy-StatusBar-actionBtn--retry{background-color:#ff4b23;border-radius:8px;color:#fff;height:16px;line-height:1;padding:1px 6px 3px 18px;position:relative}.uppy-StatusBar-actionBtn--retry:focus{outline:none}.uppy-StatusBar-actionBtn--retry::-moz-focus-inner{border:0}.uppy-StatusBar-actionBtn--retry:focus{box-shadow:0 0 0 3px rgba(34,117,215,.5)}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--retry:focus{outline:none}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--retry::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--retry:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}.uppy-StatusBar-actionBtn--retry:hover{background-color:#f92d00}[dir=ltr] .uppy-StatusBar-actionBtn--retry svg{left:6px}[dir=rtl] .uppy-StatusBar-actionBtn--retry svg{right:6px}.uppy-StatusBar-actionBtn--retry svg{position:absolute;top:3px}.uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{background-color:#1bb240;color:#fff;font-size:14px;line-height:1;padding:15px 10px;width:100%}.uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload:hover{background-color:#189c38}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{background-color:#1c8b37}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload:hover{background-color:#18762f}.uppy-size--md .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{padding:13px 22px;width:auto}.uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload.uppy-StatusBar-actionBtn--disabled:hover{background-color:#1bb240;cursor:not-allowed}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload.uppy-StatusBar-actionBtn--disabled:hover{background-color:#1c8b37}.uppy-StatusBar:not(.is-waiting) .uppy-StatusBar-actionBtn--upload{background-color:transparent;color:#2275d7}[dir=ltr] .uppy-StatusBar-actionBtn--uploadNewlyAdded{padding-right:3px}[dir=ltr] .uppy-StatusBar-actionBtn--uploadNewlyAdded,[dir=rtl] .uppy-StatusBar-actionBtn--uploadNewlyAdded{padding-left:3px}[dir=rtl] .uppy-StatusBar-actionBtn--uploadNewlyAdded{padding-right:3px}.uppy-StatusBar-actionBtn--uploadNewlyAdded{border-radius:3px;padding-bottom:1px}.uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{outline:none}.uppy-StatusBar-actionBtn--uploadNewlyAdded::-moz-focus-inner{border:0}.uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{box-shadow:0 0 0 3px rgba(34,117,215,.5)}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{outline:none}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--uploadNewlyAdded::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}.uppy-StatusBar.is-postprocessing .uppy-StatusBar-actionBtn--uploadNewlyAdded,.uppy-StatusBar.is-preprocessing .uppy-StatusBar-actionBtn--uploadNewlyAdded{display:none}.uppy-StatusBar-actionBtn--done{border-radius:3px;line-height:1;padding:7px 8px}.uppy-StatusBar-actionBtn--done:focus{outline:none}.uppy-StatusBar-actionBtn--done::-moz-focus-inner{border:0}.uppy-StatusBar-actionBtn--done:hover{color:#1b5dab}.uppy-StatusBar-actionBtn--done:focus{background-color:#eceef2}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--done:focus{background-color:#333}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--done{color:#02baf2}.uppy-size--md .uppy-StatusBar-actionBtn--done{font-size:14px}.uppy-StatusBar-serviceMsg{color:#000;font-size:11px;line-height:1.1;padding-left:10px}.uppy-size--md .uppy-StatusBar-serviceMsg{font-size:14px;padding-left:15px}[data-uppy-theme=dark] .uppy-StatusBar-serviceMsg{color:#eaeaea}.uppy-StatusBar-serviceMsg-ghostsIcon{left:6px;opacity:.5;position:relative;top:2px;vertical-align:text-bottom;width:10px}.uppy-size--md .uppy-StatusBar-serviceMsg-ghostsIcon{left:10px;top:1px;width:15px}[dir=ltr] .uppy-StatusBar-details{left:2px}[dir=rtl] .uppy-StatusBar-details{right:2px}.uppy-StatusBar-details{-webkit-appearance:none;appearance:none;background-color:#939393;border-radius:50%;color:#fff;cursor:help;display:inline-block;font-size:10px;font-weight:600;height:13px;line-height:12px;position:relative;text-align:center;top:0;vertical-align:middle;width:13px}.uppy-StatusBar-details:after{word-wrap:break-word;line-height:1.3}[dir=ltr] .uppy-StatusBar-spinner{margin-right:10px}[dir=rtl] .uppy-StatusBar-spinner{margin-left:10px}.uppy-StatusBar-spinner{fill:#2275d7;animation-duration:1s;animation-iteration-count:infinite;animation-name:uppy-StatusBar-spinnerAnimation;animation-timing-function:linear}.uppy-StatusBar.is-postprocessing .uppy-StatusBar-spinner,.uppy-StatusBar.is-preprocessing .uppy-StatusBar-spinner{fill:#f6a623}@keyframes uppy-StatusBar-spinnerAnimation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.uppy-ProviderBrowser-viewType--grid ul.uppy-ProviderBrowser-list,.uppy-ProviderBrowser-viewType--unsplash ul.uppy-ProviderBrowser-list{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:6px}.uppy-ProviderBrowser-viewType--grid ul.uppy-ProviderBrowser-list:after,.uppy-ProviderBrowser-viewType--unsplash ul.uppy-ProviderBrowser-list:after{content:"";flex:auto}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem{margin:0;position:relative;width:50%}.uppy-size--md .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem,.uppy-size--md .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem{width:33.3333%}.uppy-size--lg .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem,.uppy-size--lg .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem{width:25%}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem:before,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem:before{content:"";display:block;padding-top:100%}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--selected img,.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--selected svg,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--selected img,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--selected svg{opacity:.85}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--disabled,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--disabled{opacity:.5}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner{background-color:hsla(0,0%,58%,.2)}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner,[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner{background-color:hsla(0,0%,92%,.2)}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview svg,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview svg{fill:rgba(0,0,0,.7);height:30%;width:30%}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview svg,[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview svg{fill:hsla(0,0%,100%,.8)}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner{border-radius:4px;bottom:7px;height:calc(100% - 14px);left:7px;overflow:hidden;position:absolute;right:7px;text-align:center;top:7px;width:calc(100% - 14px)}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner .uppy.uppy-ProviderBrowserItem-inner-relative,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner .uppy.uppy-ProviderBrowserItem-inner-relative{position:relative}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author{background:rgba(0,0,0,.3);bottom:0;color:#fff;display:none;font-size:12px;font-weight:500;left:0;margin:0;padding:5px;position:absolute;text-decoration:none;width:100%}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author:hover,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author:hover{background:rgba(0,0,0,.4);text-decoration:underline}@media (hover:none){.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author{display:block}}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner,[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner{box-shadow:0 0 0 3px rgba(170,225,255,.7)}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner img,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner img{border-radius:4px;height:100%;object-fit:cover;width:100%}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox{background-color:#2275d7;border-radius:50%;height:26px;opacity:0;position:absolute;right:16px;top:16px;width:26px;z-index:1002}[dir=ltr] .uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox:after,[dir=ltr] .uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox:after{left:7px}[dir=rtl] .uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox:after,[dir=rtl] .uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox:after{right:7px}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox:after,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox:after{height:7px;top:8px;width:12px}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--is-checked,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--is-checked{opacity:1}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:hover+label .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:hover+label .uppy-ProviderBrowserItem-author{display:block}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label{box-shadow:0 0 0 3px rgba(34,117,215,.5)}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label:focus,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label:focus{outline:none}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label::-moz-focus-inner,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label::-moz-focus-inner{border:0}.uppy-ProviderBrowser-viewType--list{background-color:#fff}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--list{background-color:#1f1f1f}.uppy-ProviderBrowser-viewType--list li.uppy-ProviderBrowserItem{align-items:center;display:flex;margin:0;padding:7px 15px}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--list li.uppy-ProviderBrowserItem{color:#eaeaea}.uppy-ProviderBrowser-viewType--list li.uppy-ProviderBrowserItem--disabled{opacity:.6}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox{margin-right:15px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox{margin-left:15px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox{background-color:#fff;border:1px solid #cfcfcf;border-radius:3px;height:17px;width:17px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:focus{border:1px solid #2275d7;box-shadow:0 0 0 3px rgba(34,117,215,.25);outline:none}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:after{left:3px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:after{right:3px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:after{height:5px;opacity:0;top:4px;width:9px}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:focus{border-color:rgba(2,186,242,.7);box-shadow:0 0 0 3px rgba(2,186,242,.2)}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox--is-checked{background-color:#2275d7;border-color:#2275d7}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox--is-checked:after{opacity:1}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner{align-items:center;display:flex;overflow:hidden;padding:2px;text-overflow:ellipsis;white-space:nowrap}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner:focus{outline:none;text-decoration:underline}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner img,[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner svg{margin-right:8px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner img,[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner svg{margin-left:8px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner img,.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner svg{max-height:20px;max-width:20px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner span{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem--disabled .uppy-ProviderBrowserItem-inner{cursor:default}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-iconWrap{margin-right:7px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-iconWrap{margin-left:7px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-iconWrap{width:20px}.uppy-ProviderBrowserItem-checkbox{cursor:pointer;flex-shrink:0;position:relative}.uppy-ProviderBrowserItem-checkbox:disabled{cursor:default}.uppy-ProviderBrowserItem-checkbox:after{border-bottom:2px solid #eaeaea;border-left:2px solid #eaeaea;content:"";cursor:pointer;position:absolute;transform:rotate(-45deg)}.uppy-ProviderBrowserItem-checkbox:disabled:after{cursor:default}[data-uppy-theme=dark] .uppy-ProviderBrowserItem-checkbox{background-color:#1f1f1f;border-color:#939393}[data-uppy-theme=dark] .uppy-ProviderBrowserItem-checkbox--is-checked{background-color:#333}.uppy-SearchProvider{align-items:center;display:flex;flex:1;flex-direction:column;height:100%;justify-content:center;width:100%}[data-uppy-theme=dark] .uppy-SearchProvider{background-color:#1f1f1f}.uppy-SearchProvider-input{margin-bottom:15px;max-width:650px;width:90%}.uppy-size--md .uppy-SearchProvider-input{margin-bottom:20px}.uppy-SearchProvider-searchButton{padding:13px 25px}.uppy-size--md .uppy-SearchProvider-searchButton{padding:13px 30px}.uppy-DashboardContent-panelBody{align-items:center;display:flex;flex:1;justify-content:center}[data-uppy-theme=dark] .uppy-DashboardContent-panelBody{background-color:#1f1f1f}.uppy-Provider-auth,.uppy-Provider-empty,.uppy-Provider-error,.uppy-Provider-loading{align-items:center;color:#939393;display:flex;flex:1;flex-flow:column wrap;justify-content:center}.uppy-Provider-empty{color:#939393}.uppy-Provider-authIcon svg{height:75px;margin-bottom:15px;width:100px}.uppy-Provider-authTitle{color:#757575;font-size:17px;font-weight:400;line-height:1.4;margin-bottom:30px;max-width:500px;padding:0 15px;text-align:center}.uppy-size--md .uppy-Provider-authTitle{font-size:20px}[data-uppy-theme=dark] .uppy-Provider-authTitle{color:#cfcfcf}.uppy-Provider-btn-google{align-items:center;background:#4285f4;display:flex;padding:8px 12px!important}.uppy-Provider-btn-google:hover{background-color:#1266f1}.uppy-Provider-btn-google:focus{box-shadow:0 0 0 3px rgba(66,133,244,.4);outline:none}.uppy-Provider-btn-google svg{margin-right:8px}[dir=ltr] .uppy-Provider-breadcrumbs{text-align:left}[dir=rtl] .uppy-Provider-breadcrumbs{text-align:right}.uppy-Provider-breadcrumbs{color:#525252;flex:1;font-size:12px;margin-bottom:10px}.uppy-size--md .uppy-Provider-breadcrumbs{margin-bottom:0}[data-uppy-theme=dark] .uppy-Provider-breadcrumbs{color:#eaeaea}[dir=ltr] .uppy-Provider-breadcrumbsIcon{margin-right:4px}[dir=rtl] .uppy-Provider-breadcrumbsIcon{margin-left:4px}.uppy-Provider-breadcrumbsIcon{color:#525252;display:inline-block;line-height:1;vertical-align:middle}.uppy-Provider-breadcrumbsIcon svg{fill:#525252;height:13px;width:13px}.uppy-Provider-breadcrumbs button{border-radius:3px;display:inline-block;line-height:inherit;padding:4px}.uppy-Provider-breadcrumbs button:focus{outline:none}.uppy-Provider-breadcrumbs button::-moz-focus-inner{border:0}.uppy-Provider-breadcrumbs button:hover{color:#1b5dab}.uppy-Provider-breadcrumbs button:focus{background-color:#eceef2}[data-uppy-theme=dark] .uppy-Provider-breadcrumbs button:focus{background-color:#333}.uppy-Provider-breadcrumbs button:not(:last-of-type){text-decoration:underline}.uppy-Provider-breadcrumbs button:last-of-type{color:#333;cursor:normal;font-weight:500;pointer-events:none}.uppy-Provider-breadcrumbs button:hover{cursor:pointer}[data-uppy-theme=dark] .uppy-Provider-breadcrumbs button{color:#eaeaea}.uppy-ProviderBrowser{display:flex;flex:1;flex-direction:column;font-size:14px;font-weight:400;height:100%}.uppy-ProviderBrowser-user{color:#333;font-weight:500;margin:0 8px 0 0}[data-uppy-theme=dark] .uppy-ProviderBrowser-user{color:#eaeaea}[dir=ltr] .uppy-ProviderBrowser-user:after{left:4px}[dir=rtl] .uppy-ProviderBrowser-user:after{right:4px}.uppy-ProviderBrowser-user:after{color:#939393;content:"·";font-weight:400;position:relative}.uppy-ProviderBrowser-header{border-bottom:1px solid #eaeaea;position:relative;z-index:1001}[data-uppy-theme=dark] .uppy-ProviderBrowser-header{border-bottom:1px solid #333}.uppy-ProviderBrowser-headerBar{background-color:#fafafa;color:#757575;font-size:12px;line-height:1.4;padding:7px 15px;z-index:1001}.uppy-size--md .uppy-ProviderBrowser-headerBar{align-items:center;display:flex}[data-uppy-theme=dark] .uppy-ProviderBrowser-headerBar{background-color:#1f1f1f}.uppy-ProviderBrowser-headerBar--simple{display:block;justify-content:center;text-align:center}.uppy-ProviderBrowser-headerBar--simple .uppy-Provider-breadcrumbsWrap{display:inline-block;flex:none;vertical-align:middle}.uppy-ProviderBrowser-filter{align-items:center;background-color:#fff;display:flex;height:30px;margin-bottom:5px;margin-top:10px;position:relative;width:100%}[data-uppy-theme=dark] .uppy-ProviderBrowser-filter{background-color:#1f1f1f}[dir=ltr] .uppy-ProviderBrowser-filterIcon{left:16px}[dir=rtl] .uppy-ProviderBrowser-filterIcon{right:16px}.uppy-ProviderBrowser-filterIcon{color:#bbb;height:12px;position:absolute;width:12px;z-index:1002}[dir=ltr] .uppy-ProviderBrowser-filterInput{padding-left:27px}[dir=rtl] .uppy-ProviderBrowser-filterInput{padding-right:27px}.uppy-ProviderBrowser-filterInput{background-color:transparent;border:0;border-radius:4px;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Segoe UI Symbol,Segoe UI Emoji,Apple Color Emoji,Roboto,Helvetica,Arial,sans-serif;font-size:12px;height:30px;line-height:1.4;margin:0 8px;outline:0;width:100%;z-index:1001}[data-uppy-theme=dark] .uppy-ProviderBrowser-filterInput{background-color:#1f1f1f;color:#eaeaea}.uppy-ProviderBrowser-filterInput:focus{background-color:#f4f4f4;outline:0}[data-uppy-theme=dark] .uppy-ProviderBrowser-filterInput:focus{background-color:#333}.uppy-ProviderBrowser-filterInput::placeholder{color:#939393;opacity:1}.uppy-ProviderBrowser-search{align-items:center;display:flex;height:30px;margin-bottom:2px;margin-top:2px;position:relative;width:100%}[dir=ltr] .uppy-ProviderBrowser-searchInput{padding-left:30px}[dir=rtl] .uppy-ProviderBrowser-searchInput{padding-right:30px}.uppy-ProviderBrowser-searchInput{background-color:#eaeaea;border:0;border-radius:4px;color:#333;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Segoe UI Symbol,Segoe UI Emoji,Apple Color Emoji,Roboto,Helvetica,Arial,sans-serif;font-size:13px;height:30px;line-height:1.4;outline:0;width:100%;z-index:1001}[data-uppy-theme=dark] .uppy-ProviderBrowser-searchInput{background-color:#1f1f1f;color:#eaeaea}.uppy-ProviderBrowser-searchInput:focus{background-color:#cfcfcf;outline:0}[data-uppy-theme=dark] .uppy-ProviderBrowser-searchInput:focus{background-color:#333}[dir=ltr] .uppy-ProviderBrowser-searchIcon{left:10px}[dir=rtl] .uppy-ProviderBrowser-searchIcon{right:10px}.uppy-ProviderBrowser-searchIcon{color:#757575;height:12px;position:absolute;width:12px;z-index:1002}.uppy-ProviderBrowser-searchInput::placeholder{color:#939393;opacity:1}.uppy-ProviderBrowser-userLogout{border-radius:3px;color:#2275d7;cursor:pointer;line-height:inherit;padding:4px}.uppy-ProviderBrowser-userLogout:focus{outline:none}.uppy-ProviderBrowser-userLogout::-moz-focus-inner{border:0}.uppy-ProviderBrowser-userLogout:hover{color:#1b5dab}.uppy-ProviderBrowser-userLogout:focus{background-color:#eceef2}[data-uppy-theme=dark] .uppy-ProviderBrowser-userLogout:focus{background-color:#333}.uppy-ProviderBrowser-userLogout:hover{text-decoration:underline}[data-uppy-theme=dark] .uppy-ProviderBrowser-userLogout{color:#eaeaea}.uppy-ProviderBrowser-body{flex:1;position:relative}.uppy-ProviderBrowser-list{-webkit-overflow-scrolling:touch;background-color:#fff;border-spacing:0;bottom:0;display:block;flex:1;height:100%;left:0;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;right:0;top:0;width:100%}[data-uppy-theme=dark] .uppy-ProviderBrowser-list{background-color:#1f1f1f}.uppy-ProviderBrowser-list:focus{outline:none}.uppy-ProviderBrowserItem-inner{cursor:pointer;font-size:13px;font-weight:500}.uppy-ProviderBrowser-footer{align-items:center;background-color:#fff;border-top:1px solid #eaeaea;display:flex;height:65px;padding:0 15px}[dir=ltr] .uppy-ProviderBrowser-footer button{margin-right:8px}[dir=rtl] .uppy-ProviderBrowser-footer button{margin-left:8px}[data-uppy-theme=dark] .uppy-ProviderBrowser-footer{background-color:#1f1f1f;border-top:1px solid #333}.uppy-Dashboard-Item-previewInnerWrap{align-items:center;border-radius:3px;box-shadow:0 0 2px 0 rgba(0,0,0,.4);display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.uppy-size--md .uppy-Dashboard-Item-previewInnerWrap{box-shadow:0 1px 2px rgba(0,0,0,.15)}.uppy-Dashboard-Item-previewInnerWrap:after{background-color:rgba(0,0,0,.65);bottom:0;content:"";display:none;left:0;position:absolute;right:0;top:0;z-index:1001}.uppy-Dashboard-Item-previewLink{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1002}.uppy-Dashboard-Item-previewLink:focus{box-shadow:inset 0 0 0 3px #76abe9}[data-uppy-theme=dark] .uppy-Dashboard-Item-previewLink:focus{box-shadow:inset 0 0 0 3px #016c8d}.uppy-Dashboard-Item-preview img.uppy-Dashboard-Item-previewImg{border-radius:3px;height:100%;object-fit:cover;transform:translateZ(0);width:100%}.uppy-Dashboard-Item-progress{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:all .35 ease;width:120px;z-index:1002}.uppy-Dashboard-Item-progressIndicator{color:#fff;display:inline-block;height:38px;opacity:.9;width:38px}.uppy-size--md .uppy-Dashboard-Item-progressIndicator{height:55px;width:55px}button.uppy-Dashboard-Item-progressIndicator{cursor:pointer}button.uppy-Dashboard-Item-progressIndicator:focus{outline:none}button.uppy-Dashboard-Item-progressIndicator::-moz-focus-inner{border:0}button.uppy-Dashboard-Item-progressIndicator:focus .uppy-Dashboard-Item-progressIcon--bg,button.uppy-Dashboard-Item-progressIndicator:focus .uppy-Dashboard-Item-progressIcon--retry{fill:#76abe9}.uppy-Dashboard-Item-progressIcon--circle{height:100%;width:100%}.uppy-Dashboard-Item-progressIcon--bg{stroke:hsla(0,0%,100%,.4)}.uppy-Dashboard-Item-progressIcon--progress{stroke:#fff;transition:stroke-dashoffset .5s ease-out}.uppy-Dashboard-Item-progressIcon--play{fill:#fff;stroke:#fff;transition:all .2s}.uppy-Dashboard-Item-progressIcon--cancel{fill:#fff;transition:all .2s}.uppy-Dashboard-Item-progressIcon--pause{fill:#fff;stroke:#fff;transition:all .2s}.uppy-Dashboard-Item-progressIcon--check{fill:#fff;transition:all .2s}.uppy-Dashboard-Item-progressIcon--retry{fill:#fff}[dir=ltr] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{right:-8px}[dir=rtl] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{left:-8px}[dir=ltr] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{left:auto}[dir=rtl] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{right:auto}.uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{top:-9px;transform:none;width:auto}.uppy-Dashboard-Item.is-error .uppy-Dashboard-Item-progressIndicator{height:18px;width:18px}.uppy-size--md .uppy-Dashboard-Item.is-error .uppy-Dashboard-Item-progressIndicator{height:28px;width:28px}.uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progressIndicator{height:18px;opacity:1;width:18px}.uppy-size--md .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progressIndicator{height:22px;width:22px}.uppy-Dashboard-Item.is-processing .uppy-Dashboard-Item-progress{opacity:0}[dir=ltr] .uppy-Dashboard-Item-fileInfo{padding-right:5px}[dir=rtl] .uppy-Dashboard-Item-fileInfo{padding-left:5px}[dir=ltr] .uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-right:10px}[dir=rtl] .uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-left:10px}[dir=ltr] .uppy-size--md.uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-right:15px}[dir=rtl] .uppy-size--md.uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-left:15px}.uppy-Dashboard-Item-name{word-wrap:anywhere;font-size:12px;font-weight:500;line-height:1.3;margin-bottom:5px;word-break:break-all}[data-uppy-theme=dark] .uppy-Dashboard-Item-name{color:#eaeaea}.uppy-size--md.uppy-Dashboard--singleFile .uppy-Dashboard-Item-name{font-size:14px;line-height:1.4}.uppy-Dashboard-Item-fileName{align-items:baseline;display:flex}.uppy-Dashboard-Item-fileName button{margin-left:5px}.uppy-Dashboard-Item-author{color:#757575;display:inline-block;font-size:11px;font-weight:400;line-height:1;margin-bottom:5px;vertical-align:bottom}.uppy-Dashboard-Item-author a{color:#757575}.uppy-Dashboard-Item-status{color:#757575;font-size:11px;font-weight:400;line-height:1}[data-uppy-theme=dark] .uppy-Dashboard-Item-status{color:#bbb}.uppy-Dashboard-Item-statusSize{display:inline-block;margin-bottom:5px;text-transform:uppercase;vertical-align:bottom}.uppy-Dashboard-Item-reSelect{color:#2275d7;font-family:inherit;font-size:inherit;font-weight:600}.uppy-Dashboard-Item-errorMessage{background-color:#fdeff1;color:#a51523;font-size:11px;font-weight:500;line-height:1.3;padding:5px 6px}.uppy-Dashboard-Item-errorMessageBtn{cursor:pointer;font-weight:500;text-decoration:underline}.uppy-Dashboard-Item-preview .uppy-Dashboard-Item-errorMessage{display:none}.uppy-size--md .uppy-Dashboard-Item-preview .uppy-Dashboard-Item-errorMessage{border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #f7c2c8;bottom:0;display:block;left:0;line-height:1.4;padding:6px 8px;position:absolute;right:0}.uppy-Dashboard-Item-fileInfo .uppy-Dashboard-Item-errorMessage{border:1px solid #f7c2c8;border-radius:3px;display:inline-block;position:static}.uppy-size--md .uppy-Dashboard-Item-fileInfo .uppy-Dashboard-Item-errorMessage{display:none}.uppy-Dashboard-Item-action{color:#939393;cursor:pointer}.uppy-Dashboard-Item-action:focus{outline:none}.uppy-Dashboard-Item-action::-moz-focus-inner{border:0}.uppy-Dashboard-Item-action:focus{box-shadow:0 0 0 3px rgba(34,117,215,.5)}.uppy-Dashboard-Item-action:hover{color:#1f1f1f;opacity:1}[data-uppy-theme=dark] .uppy-Dashboard-Item-action{color:#cfcfcf}[data-uppy-theme=dark] .uppy-Dashboard-Item-action:focus{outline:none}[data-uppy-theme=dark] .uppy-Dashboard-Item-action::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-Dashboard-Item-action:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}[data-uppy-theme=dark] .uppy-Dashboard-Item-action:hover{color:#eaeaea}.uppy-Dashboard-Item-action--remove{color:#1f1f1f;opacity:.95}.uppy-Dashboard-Item-action--remove:hover{color:#000;opacity:1}[dir=ltr] .uppy-Dashboard--singleFile .uppy-Dashboard-Item-action--remove,[dir=ltr] .uppy-size--md .uppy-Dashboard-Item-action--remove{right:-8px}[dir=rtl] .uppy-Dashboard--singleFile .uppy-Dashboard-Item-action--remove,[dir=rtl] .uppy-size--md .uppy-Dashboard-Item-action--remove{left:-8px}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-action--remove,.uppy-size--md .uppy-Dashboard-Item-action--remove{height:18px;padding:0;position:absolute;top:-8px;width:18px;z-index:1002}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-action--remove:focus,.uppy-size--md .uppy-Dashboard-Item-action--remove:focus{border-radius:50%}[data-uppy-theme=dark] .uppy-Dashboard-Item-action--remove{color:#525252}[data-uppy-theme=dark] .uppy-Dashboard-Item-action--remove:hover{color:#333}.uppy-Dashboard:not(.uppy-size--md):not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item-actionWrapper{align-items:center;display:flex}.uppy-Dashboard:not(.uppy-size--md):not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item-action{height:22px;margin-left:3px;padding:3px;width:22px}.uppy-Dashboard:not(.uppy-size--md):not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item-action:focus{border-radius:3px}.uppy-size--md .uppy-Dashboard-Item-action--copyLink,.uppy-size--md .uppy-Dashboard-Item-action--edit{height:16px;padding:0;width:16px}.uppy-size--md .uppy-Dashboard-Item-action--copyLink:focus,.uppy-size--md .uppy-Dashboard-Item-action--edit:focus{border-radius:3px}.uppy-Dashboard-Item{align-items:center;border-bottom:1px solid #eaeaea;display:flex;padding:10px}[dir=ltr] .uppy-Dashboard:not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item{padding-right:0}[dir=rtl] .uppy-Dashboard:not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item{padding-left:0}[data-uppy-theme=dark] .uppy-Dashboard-Item{border-bottom:1px solid #333}[dir=ltr] .uppy-size--md .uppy-Dashboard-Item{float:left}[dir=rtl] .uppy-size--md .uppy-Dashboard-Item{float:right}.uppy-size--md .uppy-Dashboard-Item{border-bottom:0;display:block;height:215px;margin:5px 15px;padding:0;position:relative;width:calc(33.333% - 30px)}.uppy-size--lg .uppy-Dashboard-Item{height:190px;margin:5px 15px;padding:0;width:calc(25% - 30px)}.uppy-size--xl .uppy-Dashboard-Item{height:210px;padding:0;width:calc(20% - 30px)}.uppy-Dashboard--singleFile .uppy-Dashboard-Item{border-bottom:0;display:block;height:auto;margin:10px;max-width:400px;padding:0;position:relative;width:100%}.uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-previewInnerWrap{opacity:.2}.uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-name{opacity:.7}.uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-preview:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='39'%3E%3Cpath d='M1.708 38.66c1.709 0 3.417-3.417 6.834-3.417 3.416 0 5.125 3.417 8.61 3.417 3.348 0 5.056-3.417 8.473-3.417 4.305 0 5.125 3.417 6.833 3.417.889 0 1.709-.889 1.709-1.709v-19.68C34.167-5.757 0-5.757 0 17.271v19.68c0 .82.888 1.709 1.708 1.709zm8.542-17.084a3.383 3.383 0 0 1-3.417-3.416 3.383 3.383 0 0 1 3.417-3.417 3.383 3.383 0 0 1 3.417 3.417 3.383 3.383 0 0 1-3.417 3.416zm13.667 0A3.383 3.383 0 0 1 20.5 18.16a3.383 3.383 0 0 1 3.417-3.417 3.383 3.383 0 0 1 3.416 3.417 3.383 3.383 0 0 1-3.416 3.416z' fill='%2523000'/%3E%3C/svg%3E");background-position:50% 10px;background-repeat:no-repeat;background-size:25px;bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1005}.uppy-size--md .uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-preview:before{background-position:50% 50%;background-size:40px}.uppy-Dashboard-Item-preview{position:relative}.uppy-Dashboard:not(.uppy-size--md):not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item-preview{flex-grow:0;flex-shrink:0;height:50px;width:50px}.uppy-size--md .uppy-Dashboard-Item-preview{height:140px;width:100%}.uppy-size--lg .uppy-Dashboard-Item-preview{height:120px}.uppy-size--xl .uppy-Dashboard-Item-preview{height:140px}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-preview{height:270px;width:100%}[dir=ltr] .uppy-Dashboard-Item-fileInfoAndButtons{padding-right:8px}[dir=rtl] .uppy-Dashboard-Item-fileInfoAndButtons{padding-left:8px}[dir=ltr] .uppy-Dashboard-Item-fileInfoAndButtons{padding-left:12px}[dir=rtl] .uppy-Dashboard-Item-fileInfoAndButtons{padding-right:12px}.uppy-Dashboard-Item-fileInfoAndButtons{align-items:center;display:flex;flex-grow:1;justify-content:space-between}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfoAndButtons,.uppy-size--md .uppy-Dashboard-Item-fileInfoAndButtons{align-items:flex-start;padding:9px 0 0;width:100%}.uppy-Dashboard-Item-fileInfo{flex-grow:1;flex-shrink:1}.uppy-Dashboard-Item-actionWrapper{flex-grow:0;flex-shrink:0}.uppy-Dashboard-Item.is-error .uppy-Dashboard-Item-previewInnerWrap:after,.uppy-Dashboard-Item.is-inprogress .uppy-Dashboard-Item-previewInnerWrap:after{display:block}.uppy-Dashboard-Item.is-inprogress:not(.is-resumable) .uppy-Dashboard-Item-action--remove{display:none}[dir=ltr] .uppy-Dashboard-Item-errorDetails{left:2px}[dir=rtl] .uppy-Dashboard-Item-errorDetails{right:2px}.uppy-Dashboard-Item-errorDetails{-webkit-appearance:none;appearance:none;background-color:#939393;border:none;border-radius:50%;color:#fff;cursor:help;display:inline-block;font-size:10px;font-weight:600;height:13px;line-height:12px;position:relative;text-align:center;top:0;vertical-align:middle;width:13px}.uppy-Dashboard-Item-errorDetails:after{word-wrap:break-word;line-height:1.3}.uppy-Dashboard-FileCard{background-color:#fff;border-radius:5px;bottom:0;box-shadow:0 0 10px 4px rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1005}.uppy-Dashboard-FileCard .uppy-DashboardContent-bar{border-top-left-radius:5px;border-top-right-radius:5px}.uppy-Dashboard-FileCard .uppy-Dashboard-FileCard-actions{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.uppy-Dashboard-FileCard-inner{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;height:100%;min-height:0}.uppy-Dashboard-FileCard-preview{align-items:center;border-bottom:1px solid #eaeaea;display:flex;flex-grow:0;flex-shrink:1;height:60%;justify-content:center;min-height:0;position:relative}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-preview{background-color:#333;border-bottom:0}.uppy-Dashboard-FileCard-preview img.uppy-Dashboard-Item-previewImg{border-radius:3px;box-shadow:0 3px 20px rgba(0,0,0,.15);flex:0 0 auto;max-height:90%;max-width:90%;object-fit:cover}[dir=ltr] .uppy-Dashboard-FileCard-edit{right:10px}[dir=rtl] .uppy-Dashboard-FileCard-edit{left:10px}.uppy-Dashboard-FileCard-edit{background-color:rgba(0,0,0,.5);border-radius:50px;color:#fff;font-size:13px;padding:7px 15px;position:absolute;top:10px}.uppy-Dashboard-FileCard-edit:focus{outline:none}.uppy-Dashboard-FileCard-edit::-moz-focus-inner{border:0}.uppy-Dashboard-FileCard-edit:focus{box-shadow:0 0 0 3px rgba(34,117,215,.5)}.uppy-Dashboard-FileCard-edit:hover{background-color:rgba(0,0,0,.8)}.uppy-Dashboard-FileCard-info{-webkit-overflow-scrolling:touch;flex-grow:0;flex-shrink:0;height:40%;overflow-y:auto;padding:30px 20px 20px}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-info{background-color:#1f1f1f}.uppy-Dashboard-FileCard-fieldset{border:0;font-size:0;margin:auto auto 12px;max-width:640px;padding:0}.uppy-Dashboard-FileCard-label{color:#525252;display:inline-block;font-size:12px;vertical-align:middle;width:22%}.uppy-size--md .uppy-Dashboard-FileCard-label{font-size:14px}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-label{color:#eaeaea}.uppy-Dashboard-FileCard-input{display:inline-block;vertical-align:middle;width:78%}.uppy-Dashboard-FileCard-actions{align-items:center;background-color:#fafafa;border-top:1px solid #eaeaea;display:flex;flex-grow:0;flex-shrink:0;height:55px;padding:0 15px}.uppy-size--md .uppy-Dashboard-FileCard-actions{height:65px}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-actions{background-color:#1f1f1f;border-top:1px solid #333}[dir=ltr] .uppy-Dashboard-FileCard-actionsBtn{margin-right:10px}[dir=rtl] .uppy-Dashboard-FileCard-actionsBtn{margin-left:10px}.uppy-transition-slideDownUp-enter{opacity:.01;transform:translate3d(0,-105%,0);transition:transform .25s ease-in-out,opacity .25s ease-in-out}.uppy-transition-slideDownUp-enter.uppy-transition-slideDownUp-enter-active{opacity:1;transform:translateZ(0)}.uppy-transition-slideDownUp-leave{opacity:1;transform:translateZ(0);transition:transform .25s ease-in-out,opacity .25s ease-in-out}.uppy-transition-slideDownUp-leave.uppy-transition-slideDownUp-leave-active{opacity:.01;transform:translate3d(0,-105%,0)}@keyframes uppy-Dashboard-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes uppy-Dashboard-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes uppy-Dashboard-slideDownAndFadeIn{0%{opacity:0;transform:translate3d(-50%,-70%,0)}to{opacity:1;transform:translate3d(-50%,-50%,0)}}@keyframes uppy-Dashboard-slideDownAndFadeIn--small{0%{opacity:0;transform:translate3d(0,-20%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes uppy-Dashboard-slideUpFadeOut{0%{opacity:1;transform:translate3d(-50%,-50%,0)}to{opacity:0;transform:translate3d(-50%,-70%,0)}}@keyframes uppy-Dashboard-slideUpFadeOut--small{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20%,0)}}.uppy-Dashboard--modal{z-index:1001}.uppy-Dashboard--modal[aria-hidden=true]{display:none}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideDownAndFadeIn--small .3s cubic-bezier(0,0,.2,1)}@media only screen and (min-width:820px){.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideDownAndFadeIn .3s cubic-bezier(0,0,.2,1)}}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose>.uppy-Dashboard-overlay{animation:uppy-Dashboard-fadeIn .3s cubic-bezier(0,0,.2,1)}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose.uppy-Dashboard--isClosing>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideUpFadeOut--small .3s cubic-bezier(0,0,.2,1)}@media only screen and (min-width:820px){.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose.uppy-Dashboard--isClosing>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideUpFadeOut .3s cubic-bezier(0,0,.2,1)}}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose.uppy-Dashboard--isClosing>.uppy-Dashboard-overlay{animation:uppy-Dashboard-fadeOut .3s cubic-bezier(0,0,.2,1)}.uppy-Dashboard-isFixed{height:100vh;overflow:hidden}.uppy-Dashboard--modal .uppy-Dashboard-overlay{background-color:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}.uppy-Dashboard-inner{background-color:#fafafa;border:1px solid #eaeaea;border-radius:5px;max-height:100%;max-width:100%;outline:none;position:relative}.uppy-size--md .uppy-Dashboard-inner{min-height:auto}@media only screen and (min-width:820px){.uppy-Dashboard-inner{height:500px;width:650px}}.uppy-Dashboard--modal .uppy-Dashboard-inner{z-index:1002}[data-uppy-theme=dark] .uppy-Dashboard-inner{background-color:#1f1f1f}.uppy-Dashboard--isDisabled .uppy-Dashboard-inner{cursor:not-allowed}.uppy-Dashboard-innerWrap{border-radius:5px;display:flex;flex-direction:column;height:100%;opacity:0;overflow:hidden;position:relative}.uppy-Dashboard--isInnerWrapVisible .uppy-Dashboard-innerWrap{opacity:1}.uppy-Dashboard--isDisabled .uppy-Dashboard-innerWrap{filter:grayscale(100%);opacity:.6;pointer-events:none;-webkit-user-select:none;user-select:none}.uppy-Dashboard--isDisabled .uppy-ProviderIconBg{fill:#9f9f9f}.uppy-Dashboard--modal .uppy-Dashboard-inner{border:none;bottom:15px;left:15px;position:fixed;right:15px;top:35px}@media only screen and (min-width:820px){.uppy-Dashboard--modal .uppy-Dashboard-inner{box-shadow:0 5px 15px 4px rgba(0,0,0,.15);left:50%;right:auto;top:50%;transform:translate(-50%,-50%)}}[dir=ltr] .uppy-Dashboard-close{right:-2px}[dir=rtl] .uppy-Dashboard-close{left:-2px}.uppy-Dashboard-close{color:hsla(0,0%,100%,.9);cursor:pointer;display:block;font-size:27px;position:absolute;top:-33px;z-index:1005}.uppy-Dashboard-close:focus{outline:none}.uppy-Dashboard-close::-moz-focus-inner{border:0}.uppy-Dashboard-close:focus{color:#8cb8ed}@media only screen and (min-width:820px){[dir=ltr] .uppy-Dashboard-close{right:-35px}[dir=rtl] .uppy-Dashboard-close{left:-35px}.uppy-Dashboard-close{font-size:35px;top:-10px}}.uppy-Dashboard-serviceMsg{background-color:#fffbf7;border-bottom:1px solid #edd4b9;border-top:1px solid #edd4b9;font-size:12px;font-weight:500;line-height:1.3;padding:12px 0;position:relative;top:-1px;z-index:1004}.uppy-size--md .uppy-Dashboard-serviceMsg{font-size:14px;line-height:1.4}[data-uppy-theme=dark] .uppy-Dashboard-serviceMsg{background-color:#1f1f1f;border-bottom:1px solid #333;border-top:1px solid #333;color:#eaeaea}.uppy-Dashboard-serviceMsg-title{display:block;line-height:1;margin-bottom:4px;padding-left:42px}.uppy-Dashboard-serviceMsg-text{padding:0 15px}.uppy-Dashboard-serviceMsg-actionBtn{color:#2275d7;font-size:inherit;font-weight:inherit;vertical-align:initial}[data-uppy-theme=dark] .uppy-Dashboard-serviceMsg-actionBtn{color:rgba(2,186,242,.9)}.uppy-Dashboard-serviceMsg-icon{left:15px;position:absolute;top:10px}.uppy-Dashboard-AddFiles{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;text-align:center}[data-uppy-drag-drop-supported=true] .uppy-Dashboard-AddFiles{border:1px dashed #dfdfdf;border-radius:3px;height:calc(100% - 14px);margin:7px}.uppy-Dashboard-AddFilesPanel .uppy-Dashboard-AddFiles{border:none;height:calc(100% - 54px)}.uppy-Dashboard--modal .uppy-Dashboard-AddFiles{border-color:#cfcfcf}[data-uppy-theme=dark] .uppy-Dashboard-AddFiles{border-color:#757575}.uppy-Dashboard-AddFiles-info{display:none;margin-top:auto;padding-bottom:15px;padding-top:15px}.uppy-size--height-md .uppy-Dashboard-AddFiles-info{display:block}.uppy-size--md .uppy-Dashboard-AddFiles-info{bottom:25px;left:0;padding-bottom:0;padding-top:30px;position:absolute;right:0}[data-uppy-num-acquirers="0"] .uppy-Dashboard-AddFiles-info{margin-top:0}.uppy-Dashboard-browse{color:rgba(34,117,215,.9);cursor:pointer}.uppy-Dashboard-browse:focus{outline:none}.uppy-Dashboard-browse::-moz-focus-inner{border:0}.uppy-Dashboard-browse:focus,.uppy-Dashboard-browse:hover{border-bottom:1px solid #2275d7}[data-uppy-theme=dark] .uppy-Dashboard-browse{color:rgba(2,186,242,.9)}[data-uppy-theme=dark] .uppy-Dashboard-browse:focus,[data-uppy-theme=dark] .uppy-Dashboard-browse:hover{border-bottom:1px solid #02baf2}.uppy-Dashboard-browseBtn{display:block;font-size:14px;font-weight:500;margin-bottom:5px;margin-top:8px;width:100%}.uppy-size--md .uppy-Dashboard-browseBtn{font-size:15px;margin:15px auto;padding:13px 44px;width:auto}.uppy-Dashboard-AddFiles-list{-webkit-overflow-scrolling:touch;display:flex;flex:1;flex-direction:column;margin-top:2px;overflow-y:auto;padding:2px 0;width:100%}.uppy-size--md .uppy-Dashboard-AddFiles-list{flex:none;flex-direction:row;flex-wrap:wrap;justify-content:center;margin-top:15px;max-width:600px;overflow-y:visible;padding-top:0}.uppy-DashboardTab{border-bottom:1px solid #eaeaea;text-align:center;width:100%}[data-uppy-theme=dark] .uppy-DashboardTab{border-bottom:1px solid #333}.uppy-size--md .uppy-DashboardTab{border-bottom:none;display:inline-block;margin-bottom:10px;width:auto}.uppy-DashboardTab-btn{align-items:center;-webkit-appearance:none;appearance:none;background-color:transparent;color:#525252;cursor:pointer;flex-direction:row;height:100%;justify-content:left;padding:12px 15px;width:100%}.uppy-DashboardTab-btn:focus{outline:none}[dir=ltr] .uppy-size--md .uppy-DashboardTab-btn{margin-right:1px}[dir=rtl] .uppy-size--md .uppy-DashboardTab-btn{margin-left:1px}.uppy-size--md .uppy-DashboardTab-btn{border-radius:5px;flex-direction:column;padding:10px 3px;width:86px}[data-uppy-theme=dark] .uppy-DashboardTab-btn{color:#eaeaea}.uppy-DashboardTab-btn::-moz-focus-inner{border:0}.uppy-DashboardTab-btn:hover{background-color:#f1f3f6}[data-uppy-theme=dark] .uppy-DashboardTab-btn:hover{background-color:#333}.uppy-DashboardTab-btn:active,.uppy-DashboardTab-btn:focus{background-color:#eceef2}[data-uppy-theme=dark] .uppy-DashboardTab-btn:active,[data-uppy-theme=dark] .uppy-DashboardTab-btn:focus{background-color:#525252}[dir=ltr] .uppy-DashboardTab-btn svg{margin-right:10px}[dir=rtl] .uppy-DashboardTab-btn svg{margin-left:10px}.uppy-DashboardTab-btn svg{display:inline-block;max-height:100%;max-width:100%;overflow:hidden;transition:transform .15s ease-in-out;vertical-align:text-top}[dir=ltr] .uppy-size--md .uppy-DashboardTab-btn svg{margin-right:0}[dir=rtl] .uppy-size--md .uppy-DashboardTab-btn svg{margin-left:0}.uppy-DashboardTab-name{font-size:14px;font-weight:500}.uppy-size--md .uppy-DashboardTab-name{font-size:12px;line-height:15px;margin-bottom:0;margin-top:8px}.uppy-DashboardTab svg{height:23px;vertical-align:middle;width:23px}.uppy-size--md .uppy-DashboardTab svg{height:30px;width:30px}.uppy-Dashboard-input{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.uppy-DashboardContent-bar{align-items:center;background-color:#fafafa;border-bottom:1px solid #eaeaea;display:flex;flex-shrink:0;height:40px;justify-content:space-between;padding:0 10px;position:relative;width:100%;z-index:1004}.uppy-size--md .uppy-DashboardContent-bar{height:50px;padding:0 15px}[data-uppy-theme=dark] .uppy-DashboardContent-bar{background-color:#1f1f1f;border-bottom:1px solid #333}.uppy-DashboardContent-title{font-size:12px;font-weight:500;left:0;line-height:40px;margin:auto;max-width:170px;overflow-x:hidden;position:absolute;right:0;text-align:center;text-overflow:ellipsis;top:0;white-space:nowrap;width:100%}.uppy-size--md .uppy-DashboardContent-title{font-size:14px;line-height:50px;max-width:300px}[data-uppy-theme=dark] .uppy-DashboardContent-title{color:#eaeaea}[dir=ltr] .uppy-DashboardContent-back,[dir=ltr] .uppy-DashboardContent-save{margin-left:-6px}[dir=rtl] .uppy-DashboardContent-back,[dir=rtl] .uppy-DashboardContent-save{margin-right:-6px}.uppy-DashboardContent-back,.uppy-DashboardContent-save{-webkit-appearance:none;background:none;border:0;border-radius:3px;color:inherit;color:#2275d7;cursor:pointer;font-family:inherit;font-size:inherit;font-size:12px;font-weight:400;line-height:1;margin:0;padding:7px 6px}.uppy-DashboardContent-back:focus,.uppy-DashboardContent-save:focus{outline:none}.uppy-DashboardContent-back::-moz-focus-inner,.uppy-DashboardContent-save::-moz-focus-inner{border:0}.uppy-DashboardContent-back:hover,.uppy-DashboardContent-save:hover{color:#1b5dab}.uppy-DashboardContent-back:focus,.uppy-DashboardContent-save:focus{background-color:#eceef2}[data-uppy-theme=dark] .uppy-DashboardContent-back:focus,[data-uppy-theme=dark] .uppy-DashboardContent-save:focus{background-color:#333}.uppy-size--md .uppy-DashboardContent-back,.uppy-size--md .uppy-DashboardContent-save{font-size:14px}[data-uppy-theme=dark] .uppy-DashboardContent-back,[data-uppy-theme=dark] .uppy-DashboardContent-save{color:#02baf2}[dir=ltr] .uppy-DashboardContent-addMore{margin-right:-5px}[dir=rtl] .uppy-DashboardContent-addMore{margin-left:-5px}.uppy-DashboardContent-addMore{-webkit-appearance:none;background:none;border:0;border-radius:3px;color:inherit;color:#2275d7;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;height:29px;line-height:1;margin:0;padding:7px 8px;width:29px}.uppy-DashboardContent-addMore:focus{outline:none}.uppy-DashboardContent-addMore::-moz-focus-inner{border:0}.uppy-DashboardContent-addMore:hover{color:#1b5dab}.uppy-DashboardContent-addMore:focus{background-color:#eceef2}[data-uppy-theme=dark] .uppy-DashboardContent-addMore:focus{background-color:#333}[dir=ltr] .uppy-size--md .uppy-DashboardContent-addMore{margin-right:-8px}[dir=rtl] .uppy-size--md .uppy-DashboardContent-addMore{margin-left:-8px}.uppy-size--md .uppy-DashboardContent-addMore{font-size:14px;height:auto;width:auto}[data-uppy-theme=dark] .uppy-DashboardContent-addMore{color:#02baf2}[dir=ltr] .uppy-DashboardContent-addMore svg{margin-right:4px}[dir=rtl] .uppy-DashboardContent-addMore svg{margin-left:4px}.uppy-DashboardContent-addMore svg{vertical-align:baseline}.uppy-size--md .uppy-DashboardContent-addMore svg{height:11px;width:11px}.uppy-DashboardContent-addMoreCaption{display:none}.uppy-size--md .uppy-DashboardContent-addMoreCaption{display:inline}.uppy-DashboardContent-panel{background-color:#f5f5f5;flex:1}.uppy-Dashboard-AddFilesPanel,.uppy-DashboardContent-panel{border-radius:5px;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1005}.uppy-Dashboard-AddFilesPanel{background:#fafafa;background:linear-gradient(0deg,#fafafa 35%,hsla(0,0%,98%,.85));box-shadow:0 0 10px 5px rgba(0,0,0,.15)}[data-uppy-theme=dark] .uppy-Dashboard-AddFilesPanel{background-color:#333;background-image:linear-gradient(0deg,#1f1f1f 35%,rgba(31,31,31,.85))}.uppy-Dashboard--isAddFilesPanelVisible .uppy-Dashboard-files{filter:blur(2px)}.uppy-Dashboard-progress{bottom:0;height:12%;left:0;position:absolute;width:100%}.uppy-Dashboard-progressBarContainer.is-active{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1004}.uppy-Dashboard-filesContainer{flex:1;margin:0;overflow-y:hidden;position:relative}.uppy-Dashboard-filesContainer:after{clear:both;content:"";display:table}.uppy-Dashboard-files{-webkit-overflow-scrolling:touch;flex:1;margin:0;overflow-y:auto;padding:0 0 10px}.uppy-size--md .uppy-Dashboard-files{padding-top:10px}.uppy-Dashboard--singleFile .uppy-Dashboard-filesInner{align-items:center;display:flex;height:100%;justify-content:center}.uppy-Dashboard-dropFilesHereHint{align-items:center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='48' height='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 1v1C11.85 2 2 11.85 2 24s9.85 22 22 22 22-9.85 22-22S36.15 2 24 2V1zm0 0V0c13.254 0 24 10.746 24 24S37.254 48 24 48 0 37.254 0 24 10.746 0 24 0v1zm7.707 19.293a.999.999 0 1 1-1.414 1.414L25 16.414V34a1 1 0 1 1-2 0V16.414l-5.293 5.293a.999.999 0 1 1-1.414-1.414l7-7a.999.999 0 0 1 1.414 0l7 7z' fill='%232275D7'/%3E%3C/svg%3E");background-position:50% 50%;background-repeat:no-repeat;border:1px dashed #2275d7;border-radius:3px;bottom:7px;color:#757575;display:flex;font-size:16px;justify-content:center;left:7px;padding-top:90px;position:absolute;right:7px;text-align:center;top:7px;visibility:hidden;z-index:2000}[data-uppy-theme=dark] .uppy-Dashboard-dropFilesHereHint{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='48' height='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M24 1v1C11.85 2 2 11.85 2 24s9.85 22 22 22 22-9.85 22-22S36.15 2 24 2V1zm0 0V0c13.254 0 24 10.746 24 24S37.254 48 24 48 0 37.254 0 24 10.746 0 24 0v1zm7.707 19.293a.999.999 0 1 1-1.414 1.414L25 16.414V34a1 1 0 1 1-2 0V16.414l-5.293 5.293a.999.999 0 1 1-1.414-1.414l7-7a.999.999 0 0 1 1.414 0l7 7z' fill='%2302BAF2'/%3E%3C/svg%3E");border-color:#02baf2;color:#bbb}.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-dropFilesHereHint{visibility:visible}.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-files,.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-progressindicators,.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-serviceMsg,.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-DashboardContent-bar{opacity:.15}.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-AddFiles{opacity:.03}.uppy-Dashboard-AddFiles-title{color:#000;font-size:17px;font-weight:500;line-height:1.35;margin-bottom:5px;margin-top:15px;padding:0 15px;text-align:inline-start;width:100%}.uppy-size--md .uppy-Dashboard-AddFiles-title{font-size:25px;font-weight:400;margin-top:5px;max-width:480px;padding:0 35px;text-align:center}[data-uppy-num-acquirers="0"] .uppy-Dashboard-AddFiles-title{text-align:center}[data-uppy-theme=dark] .uppy-Dashboard-AddFiles-title{color:#eaeaea}.uppy-Dashboard-AddFiles-title button{font-weight:500}.uppy-size--md .uppy-Dashboard-AddFiles-title button{font-weight:400}.uppy-Dashboard-note{color:#757575;font-size:14px;line-height:1.25;margin:auto;max-width:350px;padding:0 15px;text-align:center}.uppy-size--md .uppy-Dashboard-note{font-size:15px;line-height:1.35;max-width:600px}[data-uppy-theme=dark] .uppy-Dashboard-note{color:#cfcfcf}a.uppy-Dashboard-poweredBy{color:#939393;display:inline-block;font-size:11px;margin-top:8px;text-align:center;text-decoration:none}.uppy-Dashboard-poweredByIcon{fill:none;stroke:#939393;margin-left:1px;margin-right:1px;opacity:.9;position:relative;top:1px;vertical-align:text-top}.uppy-Dashboard-Item-previewIcon{height:25px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:25px;z-index:100}.uppy-size--md .uppy-Dashboard-Item-previewIcon{height:38px;width:38px}.uppy-Dashboard-Item-previewIcon svg{height:100%;width:100%}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-previewIcon{height:90px;width:90px}.uppy-Dashboard-Item-previewIconWrap{height:76px;max-height:75%;position:relative}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-previewIconWrap{height:176px}.uppy-Dashboard-Item-previewIconBg{filter:drop-shadow(rgba(0,0,0,.1) 0 1px 1px);height:100%;width:100%}.uppy-Dashboard-upload{height:50px;position:relative;width:50px}.uppy-size--md .uppy-Dashboard-upload{height:60px;width:60px}.uppy-Dashboard-upload .uppy-c-icon{position:relative;top:1px;width:50%}[dir=ltr] .uppy-Dashboard-uploadCount{right:-12px}[dir=rtl] .uppy-Dashboard-uploadCount{left:-12px}.uppy-Dashboard-uploadCount{background-color:#1bb240;border-radius:50%;color:#fff;font-size:8px;height:16px;line-height:16px;position:absolute;top:-12px;width:16px}.uppy-size--md .uppy-Dashboard-uploadCount{font-size:9px;height:18px;line-height:18px;width:18px}.uppy-is-drag-over:after{background-color:hsla(0,0%,92%,.5);border:5px dashed #bbb;bottom:7px;content:"";left:7px;position:fixed;right:7px;top:7px;z-index:10000} \ No newline at end of file +@charset "UTF-8";.uppy-Root{box-sizing:border-box;color:#333;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Segoe UI Symbol,Segoe UI Emoji,Apple Color Emoji,Roboto,Helvetica,Arial,sans-serif;line-height:1;position:relative;text-align:left;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.uppy-Root[dir=rtl],[dir=rtl] .uppy-Root{text-align:right}.uppy-Root *,.uppy-Root :after,.uppy-Root :before{box-sizing:inherit}.uppy-Root [hidden]{display:none}.uppy-u-reset{all:initial;-webkit-appearance:none;appearance:none;box-sizing:border-box;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Segoe UI Symbol,Segoe UI Emoji,Apple Color Emoji,Roboto,Helvetica,Arial,sans-serif;line-height:1}[dir=rtl] .uppy-u-reset{text-align:right}.uppy-c-textInput{background-color:#fff;border:1px solid #ddd;border-radius:4px;font-family:inherit;font-size:14px;line-height:1.5;padding:6px 8px}.uppy-size--md .uppy-c-textInput{padding:8px 10px}.uppy-c-textInput:focus{border-color:rgba(18,105,207,.6);box-shadow:0 0 0 3px rgba(18,105,207,.15);outline:none}[data-uppy-theme=dark] .uppy-c-textInput{background-color:#333;border-color:#333;color:#eaeaea}[data-uppy-theme=dark] .uppy-c-textInput:focus{border-color:#525252;box-shadow:none}.uppy-c-icon{display:inline-block;max-height:100%;max-width:100%;overflow:hidden;fill:currentColor}.uppy-c-btn{align-items:center;color:inherit;display:inline-flex;font-family:inherit;font-size:inherit;font-weight:500;justify-content:center;line-height:1;transition-duration:.3s;transition-property:background-color,color;-webkit-user-select:none;user-select:none;white-space:nowrap}.uppy-c-btn,[dir=rtl] .uppy-c-btn{text-align:center}.uppy-c-btn:not(:disabled):not(.disabled){cursor:pointer}.uppy-c-btn::-moz-focus-inner{border:0}.uppy-c-btn-primary{background-color:#1269cf;border-radius:4px;color:#fff;font-size:14px;padding:10px 18px}.uppy-c-btn-primary:hover{background-color:#0e51a0}.uppy-c-btn-primary:focus{box-shadow:0 0 0 3px rgba(18,105,207,.4);outline:none}.uppy-size--md .uppy-c-btn-primary{padding:13px 22px}[data-uppy-theme=dark] .uppy-c-btn-primary{color:#eaeaea}[data-uppy-theme=dark] .uppy-c-btn-primary:focus{outline:none}[data-uppy-theme=dark] .uppy-c-btn-primary::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-c-btn-primary:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}.uppy-c-btn-link{background-color:transparent;border-radius:4px;color:#525252;font-size:14px;line-height:1;padding:10px 15px}.uppy-c-btn-link:hover{color:#333}.uppy-c-btn-link:focus{box-shadow:0 0 0 3px rgba(18,105,207,.25);outline:none}.uppy-size--md .uppy-c-btn-link{padding:13px 18px}[data-uppy-theme=dark] .uppy-c-btn-link{color:#eaeaea}[data-uppy-theme=dark] .uppy-c-btn-link:focus{outline:none}[data-uppy-theme=dark] .uppy-c-btn-link::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-c-btn-link:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}[data-uppy-theme=dark] .uppy-c-btn-link:hover{color:#939393}.uppy-Informer{bottom:60px;left:0;position:absolute;right:0;text-align:center;z-index:1005}.uppy-Informer span>div{margin-bottom:6px}.uppy-Informer-animated{opacity:0;transform:translateY(350%);transition:all .3s ease-in;z-index:-1000}.uppy-Informer p{background-color:#757575;border-radius:18px;color:#fff;display:inline-block;font-size:12px;font-weight:400;line-height:1.4;margin:0;max-width:90%;padding:6px 15px}.uppy-size--md .uppy-Informer p{font-size:14px;line-height:1.3;max-width:500px;padding:10px 20px}[data-uppy-theme=dark] .uppy-Informer p{background-color:#333}[dir=ltr] .uppy-Informer p span{left:3px}[dir=rtl] .uppy-Informer p span{right:3px}[dir=ltr] .uppy-Informer p span{margin-left:-1px}[dir=rtl] .uppy-Informer p span{margin-right:-1px}.uppy-Informer p span{background-color:#fff;border-radius:50%;color:#525252;display:inline-block;font-size:10px;height:13px;line-height:12px;position:relative;top:-1px;vertical-align:middle;width:13px}.uppy-Informer p span:hover{cursor:help}.uppy-Informer p span:after{line-height:1.3;word-wrap:break-word}.uppy-Root [aria-label][role~=tooltip]{position:relative}.uppy-Root [aria-label][role~=tooltip]:after,.uppy-Root [aria-label][role~=tooltip]:before{-webkit-backface-visibility:hidden;backface-visibility:hidden;box-sizing:border-box;opacity:0;pointer-events:none;position:absolute;transform:translateZ(0);transform-origin:top;transition:all var(--microtip-transition-duration,.18s) var(--microtip-transition-easing,ease-in-out) var(--microtip-transition-delay,0s);will-change:transform;z-index:10}.uppy-Root [aria-label][role~=tooltip]:before{background-size:100% auto!important;content:""}.uppy-Root [aria-label][role~=tooltip]:after{background:hsla(0,0%,7%,.9);border-radius:4px;box-sizing:content-box;color:#fff;content:attr(aria-label);font-size:var(--microtip-font-size,13px);font-weight:var(--microtip-font-weight,normal);padding:.5em 1em;text-transform:var(--microtip-text-transform,none);white-space:nowrap}.uppy-Root [aria-label][role~=tooltip]:focus:after,.uppy-Root [aria-label][role~=tooltip]:focus:before,.uppy-Root [aria-label][role~=tooltip]:hover:after,.uppy-Root [aria-label][role~=tooltip]:hover:before{opacity:1;pointer-events:auto}.uppy-Root [role~=tooltip][data-microtip-position|=top]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M2.658 0h32.004c-6 0-11.627 12.002-16.002 12.002S8.594 0 2.658 0'/%3E%3C/svg%3E") no-repeat;bottom:100%;height:6px;left:50%;margin-bottom:5px;transform:translate3d(-50%,0,0);width:18px}.uppy-Root [role~=tooltip][data-microtip-position|=top]:after{bottom:100%;left:50%;margin-bottom:11px;transform:translate3d(-50%,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=top]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position|=top]:hover:before{transform:translate3d(-50%,-5px,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-left]:after{bottom:100%;transform:translate3d(calc(-100% + 16px),0,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-left]:hover:after{transform:translate3d(calc(-100% + 16px),-5px,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-right]:after{bottom:100%;transform:translate3d(-16px,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=top-right]:hover:after{transform:translate3d(-16px,-5px,0)}.uppy-Root [role~=tooltip][data-microtip-position|=bottom]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='12'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M33.342 12H1.338c6 0 11.627-12.002 16.002-12.002S27.406 12 33.342 12'/%3E%3C/svg%3E") no-repeat;bottom:auto;height:6px;left:50%;margin-bottom:0;margin-top:5px;top:100%;transform:translate3d(-50%,-10px,0);width:18px}.uppy-Root [role~=tooltip][data-microtip-position|=bottom]:after{left:50%;margin-top:11px;top:100%;transform:translate3d(-50%,-10px,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position|=bottom]:hover:before{transform:translate3d(-50%,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-left]:after{top:100%;transform:translate3d(calc(-100% + 16px),-10px,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-left]:hover:after{transform:translate3d(calc(-100% + 16px),0,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-right]:after{top:100%;transform:translate3d(-16px,-10px,0)}.uppy-Root [role~=tooltip][data-microtip-position=bottom-right]:hover:after{transform:translate3d(-16px,0,0)}.uppy-Root [role~=tooltip][data-microtip-position=left]:after,.uppy-Root [role~=tooltip][data-microtip-position=left]:before{bottom:auto;left:auto;right:100%;top:50%;transform:translate3d(10px,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-position=left]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M0 33.342V1.338c0 6 12.002 11.627 12.002 16.002S0 27.406 0 33.342'/%3E%3C/svg%3E") no-repeat;height:18px;margin-bottom:0;margin-right:5px;width:6px}.uppy-Root [role~=tooltip][data-microtip-position=left]:after{margin-right:11px}.uppy-Root [role~=tooltip][data-microtip-position=left]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position=left]:hover:before{transform:translate3d(0,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-position=right]:after,.uppy-Root [role~=tooltip][data-microtip-position=right]:before{bottom:auto;left:100%;top:50%;transform:translate3d(-10px,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-position=right]:before{background:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='36'%3E%3Cpath fill='rgba(17, 17, 17, 0.9)' d='M12 2.658v32.004c0-6-12.002-11.627-12.002-16.002S12 8.594 12 2.658'/%3E%3C/svg%3E") no-repeat;height:18px;margin-bottom:0;margin-left:5px;width:6px}.uppy-Root [role~=tooltip][data-microtip-position=right]:after{margin-left:11px}.uppy-Root [role~=tooltip][data-microtip-position=right]:hover:after,.uppy-Root [role~=tooltip][data-microtip-position=right]:hover:before{transform:translate3d(0,-50%,0)}.uppy-Root [role~=tooltip][data-microtip-size=small]:after{white-space:normal;width:80px}.uppy-Root [role~=tooltip][data-microtip-size=medium]:after{white-space:normal;width:150px}.uppy-Root [role~=tooltip][data-microtip-size=large]:after{white-space:normal;width:260px}.uppy-StatusBar{background-color:#fff;color:#fff;display:flex;font-size:12px;font-weight:400;height:46px;line-height:40px;position:relative;transition:height .2s;z-index:1001}[data-uppy-theme=dark] .uppy-StatusBar{background-color:#1f1f1f}.uppy-StatusBar:before{background-color:#eaeaea;bottom:0;content:"";height:2px;left:0;position:absolute;right:0;top:0;width:100%}[data-uppy-theme=dark] .uppy-StatusBar:before{background-color:#757575}.uppy-StatusBar[aria-hidden=true]{height:0;overflow-y:hidden}.uppy-StatusBar.is-complete .uppy-StatusBar-progress{background-color:#1bb240}.uppy-StatusBar.is-error .uppy-StatusBar-progress{background-color:#e32437}.uppy-StatusBar.is-complete .uppy-StatusBar-statusIndicator{color:#1bb240}.uppy-StatusBar.is-error .uppy-StatusBar-statusIndicator{color:#e32437}.uppy-StatusBar:not([aria-hidden=true]).is-waiting{background-color:#fff;border-top:1px solid #eaeaea;height:65px}[data-uppy-theme=dark] .uppy-StatusBar:not([aria-hidden=true]).is-waiting{background-color:#1f1f1f;border-top:1px solid #333}.uppy-StatusBar-progress{background-color:#1269cf;height:2px;position:absolute;transition:background-color,width .3s ease-out;z-index:1001}.uppy-StatusBar-progress.is-indeterminate{animation:uppy-StatusBar-ProgressStripes 1s linear infinite;background-image:linear-gradient(45deg,rgba(0,0,0,.3) 25%,transparent 0,transparent 50%,rgba(0,0,0,.3) 0,rgba(0,0,0,.3) 75%,transparent 0,transparent);background-size:64px 64px}@keyframes uppy-StatusBar-ProgressStripes{0%{background-position:0 0}to{background-position:64px 0}}.uppy-StatusBar.is-postprocessing .uppy-StatusBar-progress,.uppy-StatusBar.is-preprocessing .uppy-StatusBar-progress{background-color:#f6a623}.uppy-StatusBar.is-waiting .uppy-StatusBar-progress{display:none}[dir=ltr] .uppy-StatusBar-content{padding-left:10px}[dir=rtl] .uppy-StatusBar-content{padding-right:10px}.uppy-StatusBar-content{align-items:center;color:#333;display:flex;height:100%;position:relative;text-overflow:ellipsis;white-space:nowrap;z-index:1002}[dir=ltr] .uppy-size--md .uppy-StatusBar-content{padding-left:15px}[dir=rtl] .uppy-size--md .uppy-StatusBar-content{padding-right:15px}[data-uppy-theme=dark] .uppy-StatusBar-content{color:#eaeaea}[dir=ltr] .uppy-StatusBar-status{padding-right:.3em}[dir=rtl] .uppy-StatusBar-status{padding-left:.3em}.uppy-StatusBar-status{display:flex;flex-direction:column;font-weight:400;justify-content:center;line-height:1.4}.uppy-StatusBar-statusPrimary{display:flex;font-weight:500;line-height:1}.uppy-StatusBar-statusPrimary button.uppy-StatusBar-details{margin-left:5px}[data-uppy-theme=dark] .uppy-StatusBar-statusPrimary{color:#eaeaea}.uppy-StatusBar-statusSecondary{color:#757575;display:inline-block;font-size:11px;line-height:1.2;margin-top:1px;white-space:nowrap}[data-uppy-theme=dark] .uppy-StatusBar-statusSecondary{color:#bbb}[dir=ltr] .uppy-StatusBar-statusSecondaryHint{margin-right:5px}[dir=rtl] .uppy-StatusBar-statusSecondaryHint{margin-left:5px}.uppy-StatusBar-statusSecondaryHint{display:inline-block;line-height:1;vertical-align:middle}[dir=ltr] .uppy-size--md .uppy-StatusBar-statusSecondaryHint{margin-right:8px}[dir=rtl] .uppy-size--md .uppy-StatusBar-statusSecondaryHint{margin-left:8px}[dir=ltr] .uppy-StatusBar-statusIndicator{margin-right:7px}[dir=rtl] .uppy-StatusBar-statusIndicator{margin-left:7px}.uppy-StatusBar-statusIndicator{color:#525252;position:relative;top:1px}.uppy-StatusBar-statusIndicator svg{vertical-align:text-bottom}[dir=ltr] .uppy-StatusBar-actions{right:10px}[dir=rtl] .uppy-StatusBar-actions{left:10px}.uppy-StatusBar-actions{align-items:center;bottom:0;display:flex;position:absolute;top:0;z-index:1004}.uppy-StatusBar.is-waiting .uppy-StatusBar-actions{background-color:#fafafa;height:100%;padding:0 15px;position:static;width:100%}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actions{background-color:#1f1f1f}.uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts{flex-direction:column;height:90px}.uppy-size--md .uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts{flex-direction:row;height:65px}.uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts .uppy-StatusBar-actions{flex-direction:column;justify-content:center}.uppy-size--md .uppy-StatusBar:not([aria-hidden=true]).is-waiting.has-ghosts .uppy-StatusBar-actions{flex-direction:row;justify-content:normal}.uppy-StatusBar-actionCircleBtn{cursor:pointer;line-height:1;margin:3px;opacity:.9}.uppy-StatusBar-actionCircleBtn:focus{outline:none}.uppy-StatusBar-actionCircleBtn::-moz-focus-inner{border:0}.uppy-StatusBar-actionCircleBtn:focus{box-shadow:0 0 0 3px rgba(18,105,207,.5)}[data-uppy-theme=dark] .uppy-StatusBar-actionCircleBtn:focus{outline:none}[data-uppy-theme=dark] .uppy-StatusBar-actionCircleBtn::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-StatusBar-actionCircleBtn:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}.uppy-StatusBar-actionCircleBtn:hover{opacity:1}.uppy-StatusBar-actionCircleBtn:focus{border-radius:50%}.uppy-StatusBar-actionCircleBtn svg{vertical-align:bottom}.uppy-StatusBar-actionBtn{color:#1269cf;display:inline-block;font-size:10px;line-height:inherit;vertical-align:middle}.uppy-size--md .uppy-StatusBar-actionBtn{font-size:11px}.uppy-StatusBar-actionBtn--disabled{opacity:.4}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--disabled{opacity:.7}[dir=ltr] .uppy-StatusBar-actionBtn--retry{margin-right:6px}[dir=rtl] .uppy-StatusBar-actionBtn--retry{margin-left:6px}.uppy-StatusBar-actionBtn--retry{background-color:#ff4b23;border-radius:8px;color:#fff;height:16px;line-height:1;padding:1px 6px 3px 18px;position:relative}.uppy-StatusBar-actionBtn--retry:focus{outline:none}.uppy-StatusBar-actionBtn--retry::-moz-focus-inner{border:0}.uppy-StatusBar-actionBtn--retry:focus{box-shadow:0 0 0 3px rgba(18,105,207,.5)}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--retry:focus{outline:none}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--retry::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--retry:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}.uppy-StatusBar-actionBtn--retry:hover{background-color:#f92d00}[dir=ltr] .uppy-StatusBar-actionBtn--retry svg{left:6px}[dir=rtl] .uppy-StatusBar-actionBtn--retry svg{right:6px}.uppy-StatusBar-actionBtn--retry svg{position:absolute;top:3px}.uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{background-color:#1bb240;color:#fff;font-size:14px;line-height:1;padding:15px 10px;width:100%}.uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload:hover{background-color:#189c38}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{background-color:#1c8b37}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload:hover{background-color:#18762f}.uppy-size--md .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload{padding:13px 22px;width:auto}.uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload.uppy-StatusBar-actionBtn--disabled:hover{background-color:#1bb240;cursor:not-allowed}[data-uppy-theme=dark] .uppy-StatusBar.is-waiting .uppy-StatusBar-actionBtn--upload.uppy-StatusBar-actionBtn--disabled:hover{background-color:#1c8b37}.uppy-StatusBar:not(.is-waiting) .uppy-StatusBar-actionBtn--upload{background-color:transparent;color:#1269cf}[dir=ltr] .uppy-StatusBar-actionBtn--uploadNewlyAdded{padding-right:3px}[dir=ltr] .uppy-StatusBar-actionBtn--uploadNewlyAdded,[dir=rtl] .uppy-StatusBar-actionBtn--uploadNewlyAdded{padding-left:3px}[dir=rtl] .uppy-StatusBar-actionBtn--uploadNewlyAdded{padding-right:3px}.uppy-StatusBar-actionBtn--uploadNewlyAdded{border-radius:3px;padding-bottom:1px}.uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{outline:none}.uppy-StatusBar-actionBtn--uploadNewlyAdded::-moz-focus-inner{border:0}.uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{box-shadow:0 0 0 3px rgba(18,105,207,.5)}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{outline:none}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--uploadNewlyAdded::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--uploadNewlyAdded:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}.uppy-StatusBar.is-postprocessing .uppy-StatusBar-actionBtn--uploadNewlyAdded,.uppy-StatusBar.is-preprocessing .uppy-StatusBar-actionBtn--uploadNewlyAdded{display:none}.uppy-StatusBar-actionBtn--done{border-radius:3px;line-height:1;padding:7px 8px}.uppy-StatusBar-actionBtn--done:focus{outline:none}.uppy-StatusBar-actionBtn--done::-moz-focus-inner{border:0}.uppy-StatusBar-actionBtn--done:hover{color:#0e51a0}.uppy-StatusBar-actionBtn--done:focus{background-color:#dfe6f1}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--done:focus{background-color:#333}[data-uppy-theme=dark] .uppy-StatusBar-actionBtn--done{color:#02baf2}.uppy-size--md .uppy-StatusBar-actionBtn--done{font-size:14px}.uppy-StatusBar-serviceMsg{color:#000;font-size:11px;line-height:1.1;padding-left:10px}.uppy-size--md .uppy-StatusBar-serviceMsg{font-size:14px;padding-left:15px}[data-uppy-theme=dark] .uppy-StatusBar-serviceMsg{color:#eaeaea}.uppy-StatusBar-serviceMsg-ghostsIcon{left:6px;opacity:.5;position:relative;top:2px;vertical-align:text-bottom;width:10px}.uppy-size--md .uppy-StatusBar-serviceMsg-ghostsIcon{left:10px;top:1px;width:15px}[dir=ltr] .uppy-StatusBar-details{left:2px}[dir=rtl] .uppy-StatusBar-details{right:2px}.uppy-StatusBar-details{-webkit-appearance:none;appearance:none;background-color:#939393;border-radius:50%;color:#fff;cursor:help;display:inline-block;font-size:10px;font-weight:600;height:13px;line-height:12px;position:relative;text-align:center;top:0;vertical-align:middle;width:13px}.uppy-StatusBar-details:after{line-height:1.3;word-wrap:break-word}[dir=ltr] .uppy-StatusBar-spinner{margin-right:10px}[dir=rtl] .uppy-StatusBar-spinner{margin-left:10px}.uppy-StatusBar-spinner{animation-duration:1s;animation-iteration-count:infinite;animation-name:uppy-StatusBar-spinnerAnimation;animation-timing-function:linear;fill:#1269cf}.uppy-StatusBar.is-postprocessing .uppy-StatusBar-spinner,.uppy-StatusBar.is-preprocessing .uppy-StatusBar-spinner{fill:#f6a623}@keyframes uppy-StatusBar-spinnerAnimation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.uppy-ProviderBrowser-viewType--grid ul.uppy-ProviderBrowser-list,.uppy-ProviderBrowser-viewType--unsplash ul.uppy-ProviderBrowser-list{align-items:flex-start;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between;padding:6px}.uppy-ProviderBrowser-viewType--grid ul.uppy-ProviderBrowser-list:after,.uppy-ProviderBrowser-viewType--unsplash ul.uppy-ProviderBrowser-list:after{content:"";flex:auto}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem{margin:0;position:relative;width:50%}.uppy-size--md .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem,.uppy-size--md .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem{width:33.3333%}.uppy-size--lg .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem,.uppy-size--lg .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem{width:25%}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem:before,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem:before{content:"";display:block;padding-top:100%}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--selected img,.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--selected svg,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--selected img,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--selected svg{opacity:.85}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--disabled,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--disabled{opacity:.5}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner{background-color:hsla(0,0%,58%,.2)}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner,[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview .uppy-ProviderBrowserItem-inner{background-color:hsla(0,0%,92%,.2)}.uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview svg,.uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview svg{height:30%;width:30%;fill:rgba(0,0,0,.7)}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--grid li.uppy-ProviderBrowserItem--noPreview svg,[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--unsplash li.uppy-ProviderBrowserItem--noPreview svg{fill:hsla(0,0%,100%,.8)}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner{border-radius:4px;bottom:7px;height:calc(100% - 14px);left:7px;overflow:hidden;position:absolute;right:7px;text-align:center;top:7px;width:calc(100% - 14px)}@media (hover:none){.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner .uppy-ProviderBrowserItem-author{display:block}}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner,[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner{box-shadow:0 0 0 3px rgba(170,225,255,.7)}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-inner img,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-inner img{border-radius:4px;height:100%;object-fit:cover;width:100%}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-author{background:rgba(0,0,0,.3);bottom:0;color:#fff;display:none;font-size:12px;font-weight:500;left:0;margin:0;padding:5px;position:absolute;text-decoration:none;width:100%}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-author:hover,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-author:hover{background:rgba(0,0,0,.4);text-decoration:underline}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox{background-color:#1269cf;border-radius:50%;height:26px;opacity:0;position:absolute;right:16px;top:16px;width:26px;z-index:1002}[dir=ltr] .uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox:after,[dir=ltr] .uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox:after{left:7px}[dir=rtl] .uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox:after,[dir=rtl] .uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox:after{right:7px}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox:after,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox:after{height:7px;top:8px;width:12px}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--is-checked,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--is-checked{opacity:1}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:hover+label .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label .uppy-ProviderBrowserItem-author,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:hover+label .uppy-ProviderBrowserItem-author{display:block}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label{box-shadow:0 0 0 3px rgba(18,105,207,.5)}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label:focus,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label:focus{outline:none}.uppy-ProviderBrowser-viewType--grid .uppy-ProviderBrowserItem-checkbox--grid:focus+label::-moz-focus-inner,.uppy-ProviderBrowser-viewType--unsplash .uppy-ProviderBrowserItem-checkbox--grid:focus+label::-moz-focus-inner{border:0}.uppy-ProviderBrowser-viewType--list{background-color:#fff}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--list{background-color:#1f1f1f}.uppy-ProviderBrowser-viewType--list li.uppy-ProviderBrowserItem{align-items:center;display:flex;margin:0;padding:7px 15px}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--list li.uppy-ProviderBrowserItem{color:#eaeaea}.uppy-ProviderBrowser-viewType--list li.uppy-ProviderBrowserItem--disabled{opacity:.6}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox{margin-right:15px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox{margin-left:15px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox{background-color:#fff;border:1px solid #cfcfcf;border-radius:3px;height:17px;width:17px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:focus{border:1px solid #1269cf;box-shadow:0 0 0 3px rgba(18,105,207,.25);outline:none}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:after{left:3px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:after{right:3px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:after{height:5px;opacity:0;top:4px;width:9px}[data-uppy-theme=dark] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox:focus{border-color:rgba(2,186,242,.7);box-shadow:0 0 0 3px rgba(2,186,242,.2)}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox--is-checked{background-color:#1269cf;border-color:#1269cf}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-checkbox--is-checked:after{opacity:1}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner{align-items:center;color:inherit;display:flex;overflow:hidden;padding:2px;text-overflow:ellipsis;white-space:nowrap}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner:focus{outline:none;text-decoration:underline}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner img,[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner svg{margin-right:8px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner img,[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner svg{margin-left:8px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-inner span{line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem--disabled .uppy-ProviderBrowserItem-inner{cursor:default}[dir=ltr] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-iconWrap{margin-right:7px}[dir=rtl] .uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-iconWrap{margin-left:7px}.uppy-ProviderBrowser-viewType--list .uppy-ProviderBrowserItem-iconWrap{width:20px}.uppy-ProviderBrowserItem-checkbox{cursor:pointer;flex-shrink:0;position:relative}.uppy-ProviderBrowserItem-checkbox:disabled{cursor:default}.uppy-ProviderBrowserItem-checkbox:after{border-bottom:2px solid #eaeaea;border-left:2px solid #eaeaea;content:"";cursor:pointer;position:absolute;transform:rotate(-45deg)}.uppy-ProviderBrowserItem-checkbox:disabled:after{cursor:default}[data-uppy-theme=dark] .uppy-ProviderBrowserItem-checkbox{background-color:#1f1f1f;border-color:#939393}[data-uppy-theme=dark] .uppy-ProviderBrowserItem-checkbox--is-checked{background-color:#333}.uppy-SearchProvider{align-items:center;display:flex;flex:1;flex-direction:column;height:100%;justify-content:center;width:100%}[data-uppy-theme=dark] .uppy-SearchProvider{background-color:#1f1f1f}.uppy-SearchProvider-input{margin-bottom:15px;max-width:650px;width:90%}.uppy-size--md .uppy-SearchProvider-input{margin-bottom:20px}.uppy-SearchProvider-input::-webkit-search-cancel-button{display:none}.uppy-SearchProvider-searchButton{padding:13px 25px}.uppy-size--md .uppy-SearchProvider-searchButton{padding:13px 30px}.uppy-DashboardContent-panelBody{align-items:center;display:flex;flex:1;justify-content:center}[data-uppy-theme=dark] .uppy-DashboardContent-panelBody{background-color:#1f1f1f}.uppy-Provider-auth,.uppy-Provider-empty,.uppy-Provider-error,.uppy-Provider-loading{align-items:center;color:#939393;display:flex;flex:1;flex-flow:column wrap;justify-content:center}.uppy-Provider-empty{color:#939393}.uppy-Provider-authIcon svg{height:75px;width:100px}.uppy-Provider-authTitle{color:#757575;font-size:17px;font-weight:400;line-height:1.4;margin-bottom:30px;max-width:500px;padding:0 15px;text-align:center}.uppy-size--md .uppy-Provider-authTitle{font-size:20px}[data-uppy-theme=dark] .uppy-Provider-authTitle{color:#cfcfcf}.uppy-Provider-btn-google{align-items:center;background:#4285f4;display:flex;padding:8px 12px!important}.uppy-Provider-btn-google:hover{background-color:#1266f1}.uppy-Provider-btn-google:focus{box-shadow:0 0 0 3px rgba(66,133,244,.4);outline:none}.uppy-Provider-btn-google svg{margin-right:8px}[dir=ltr] .uppy-Provider-breadcrumbs{text-align:left}[dir=rtl] .uppy-Provider-breadcrumbs{text-align:right}.uppy-Provider-breadcrumbs{color:#525252;flex:1;font-size:12px;margin-bottom:10px}.uppy-size--md .uppy-Provider-breadcrumbs{margin-bottom:0}[data-uppy-theme=dark] .uppy-Provider-breadcrumbs{color:#eaeaea}[dir=ltr] .uppy-Provider-breadcrumbsIcon{margin-right:4px}[dir=rtl] .uppy-Provider-breadcrumbsIcon{margin-left:4px}.uppy-Provider-breadcrumbsIcon{color:#525252;display:inline-block;line-height:1;vertical-align:middle}.uppy-Provider-breadcrumbsIcon svg{height:13px;width:13px;fill:#525252}.uppy-Provider-breadcrumbs button{border-radius:3px;display:inline-block;line-height:inherit;padding:4px}.uppy-Provider-breadcrumbs button:focus{outline:none}.uppy-Provider-breadcrumbs button::-moz-focus-inner{border:0}.uppy-Provider-breadcrumbs button:hover{color:#0e51a0}.uppy-Provider-breadcrumbs button:focus{background-color:#dfe6f1}[data-uppy-theme=dark] .uppy-Provider-breadcrumbs button:focus{background-color:#333}.uppy-Provider-breadcrumbs button:not(:last-of-type){text-decoration:underline}.uppy-Provider-breadcrumbs button:last-of-type{color:#333;cursor:normal;font-weight:500;pointer-events:none}.uppy-Provider-breadcrumbs button:hover{cursor:pointer}[data-uppy-theme=dark] .uppy-Provider-breadcrumbs button{color:#eaeaea}.uppy-ProviderBrowser{display:flex;flex:1;flex-direction:column;font-size:14px;font-weight:400;height:100%}.uppy-ProviderBrowser-user{color:#333;font-weight:500;margin:0 8px 0 0}[data-uppy-theme=dark] .uppy-ProviderBrowser-user{color:#eaeaea}[dir=ltr] .uppy-ProviderBrowser-user:after{left:4px}[dir=rtl] .uppy-ProviderBrowser-user:after{right:4px}.uppy-ProviderBrowser-user:after{color:#939393;content:"·";font-weight:400;position:relative}.uppy-ProviderBrowser-header{border-bottom:1px solid #eaeaea;position:relative;z-index:1001}[data-uppy-theme=dark] .uppy-ProviderBrowser-header{border-bottom:1px solid #333}.uppy-ProviderBrowser-headerBar{background-color:#fafafa;color:#757575;font-size:12px;line-height:1.4;padding:7px 15px;z-index:1001}.uppy-size--md .uppy-ProviderBrowser-headerBar{align-items:center;display:flex}[data-uppy-theme=dark] .uppy-ProviderBrowser-headerBar{background-color:#1f1f1f}.uppy-ProviderBrowser-headerBar--simple{display:block;justify-content:center;text-align:center}.uppy-ProviderBrowser-headerBar--simple .uppy-Provider-breadcrumbsWrap{display:inline-block;flex:none;vertical-align:middle}.uppy-ProviderBrowser-searchFilter{align-items:center;display:flex;height:30px;margin-bottom:15px;margin-top:15px;padding-left:8px;padding-right:8px;position:relative;width:100%}[dir=ltr] .uppy-ProviderBrowser-searchFilterInput{padding-left:30px}[dir=ltr] .uppy-ProviderBrowser-searchFilterInput,[dir=rtl] .uppy-ProviderBrowser-searchFilterInput{padding-right:30px}[dir=rtl] .uppy-ProviderBrowser-searchFilterInput{padding-left:30px}.uppy-ProviderBrowser-searchFilterInput{background-color:#eaeaea;border:0;border-radius:4px;color:#333;font-family:-apple-system,system-ui,BlinkMacSystemFont,Segoe UI,Segoe UI Symbol,Segoe UI Emoji,Apple Color Emoji,Roboto,Helvetica,Arial,sans-serif;font-size:13px;height:30px;line-height:1.4;outline:0;width:100%;z-index:1001}.uppy-ProviderBrowser-searchFilterInput::-webkit-search-cancel-button{display:none}[data-uppy-theme=dark] .uppy-ProviderBrowser-searchFilterInput{background-color:#1f1f1f;color:#eaeaea}.uppy-ProviderBrowser-searchFilterInput:focus{background-color:#cfcfcf;border:0}[data-uppy-theme=dark] .uppy-ProviderBrowser-searchFilterInput:focus{background-color:#333}[dir=ltr] .uppy-ProviderBrowser-searchFilterIcon{left:16px}[dir=rtl] .uppy-ProviderBrowser-searchFilterIcon{right:16px}.uppy-ProviderBrowser-searchFilterIcon{color:#757575;height:12px;position:absolute;width:12px;z-index:1002}.uppy-ProviderBrowser-searchFilterInput::placeholder{color:#939393;opacity:1}[dir=ltr] .uppy-ProviderBrowser-searchFilterReset{right:16px}[dir=rtl] .uppy-ProviderBrowser-searchFilterReset{left:16px}.uppy-ProviderBrowser-searchFilterReset{border-radius:3px;color:#939393;cursor:pointer;height:22px;padding:6px;position:absolute;width:22px;z-index:1002}.uppy-ProviderBrowser-searchFilterReset:focus{outline:none}.uppy-ProviderBrowser-searchFilterReset::-moz-focus-inner{border:0}.uppy-ProviderBrowser-searchFilterReset:focus{box-shadow:0 0 0 3px rgba(18,105,207,.5)}.uppy-ProviderBrowser-searchFilterReset:hover{color:#757575}.uppy-ProviderBrowser-searchFilterReset svg{vertical-align:text-top}.uppy-ProviderBrowser-userLogout{border-radius:3px;color:#1269cf;cursor:pointer;line-height:inherit;padding:4px}.uppy-ProviderBrowser-userLogout:focus{outline:none}.uppy-ProviderBrowser-userLogout::-moz-focus-inner{border:0}.uppy-ProviderBrowser-userLogout:hover{color:#0e51a0}.uppy-ProviderBrowser-userLogout:focus{background-color:#dfe6f1}[data-uppy-theme=dark] .uppy-ProviderBrowser-userLogout:focus{background-color:#333}.uppy-ProviderBrowser-userLogout:hover{text-decoration:underline}[data-uppy-theme=dark] .uppy-ProviderBrowser-userLogout{color:#eaeaea}.uppy-ProviderBrowser-body{flex:1;position:relative}.uppy-ProviderBrowser-list{background-color:#fff;border-spacing:0;bottom:0;display:block;flex:1;height:100%;left:0;list-style:none;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;position:absolute;right:0;top:0;width:100%;-webkit-overflow-scrolling:touch}[data-uppy-theme=dark] .uppy-ProviderBrowser-list{background-color:#1f1f1f}.uppy-ProviderBrowser-list:focus{outline:none}.uppy-ProviderBrowserItem-inner{cursor:pointer;font-size:13px;font-weight:500}.uppy-ProviderBrowser-footer{align-items:center;background-color:#fff;border-top:1px solid #eaeaea;display:flex;height:65px;padding:0 15px}[dir=ltr] .uppy-ProviderBrowser-footer button{margin-right:8px}[dir=rtl] .uppy-ProviderBrowser-footer button{margin-left:8px}[data-uppy-theme=dark] .uppy-ProviderBrowser-footer{background-color:#1f1f1f;border-top:1px solid #333}.uppy-Dashboard-Item-previewInnerWrap{align-items:center;border-radius:3px;box-shadow:0 0 2px 0 rgba(0,0,0,.4);display:flex;flex-direction:column;height:100%;justify-content:center;overflow:hidden;position:relative;width:100%}.uppy-size--md .uppy-Dashboard-Item-previewInnerWrap{box-shadow:0 1px 2px rgba(0,0,0,.15)}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-previewInnerWrap{box-shadow:none}.uppy-Dashboard-Item-previewInnerWrap:after{background-color:rgba(0,0,0,.65);bottom:0;content:"";display:none;left:0;position:absolute;right:0;top:0;z-index:1001}.uppy-Dashboard-Item-previewLink{bottom:0;left:0;position:absolute;right:0;top:0;z-index:1002}.uppy-Dashboard-Item-previewLink:focus{box-shadow:inset 0 0 0 3px #579df0}[data-uppy-theme=dark] .uppy-Dashboard-Item-previewLink:focus{box-shadow:inset 0 0 0 3px #016c8d}.uppy-Dashboard-Item-preview img.uppy-Dashboard-Item-previewImg{border-radius:3px;height:100%;object-fit:cover;transform:translateZ(0);width:100%}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-preview img.uppy-Dashboard-Item-previewImg{height:auto;max-height:100%;max-width:100%;object-fit:contain;padding:10px;width:auto}.uppy-Dashboard-Item-progress{color:#fff;left:50%;position:absolute;text-align:center;top:50%;transform:translate(-50%,-50%);transition:all .35 ease;width:120px;z-index:1002}.uppy-Dashboard-Item-progressIndicator{color:#fff;display:inline-block;height:38px;opacity:.9;width:38px}.uppy-size--md .uppy-Dashboard-Item-progressIndicator{height:55px;width:55px}button.uppy-Dashboard-Item-progressIndicator{cursor:pointer}button.uppy-Dashboard-Item-progressIndicator:focus{outline:none}button.uppy-Dashboard-Item-progressIndicator::-moz-focus-inner{border:0}button.uppy-Dashboard-Item-progressIndicator:focus .uppy-Dashboard-Item-progressIcon--bg,button.uppy-Dashboard-Item-progressIndicator:focus .uppy-Dashboard-Item-progressIcon--retry{fill:#579df0}.uppy-Dashboard-Item-progressIcon--circle{height:100%;width:100%}.uppy-Dashboard-Item-progressIcon--bg{stroke:hsla(0,0%,100%,.4)}.uppy-Dashboard-Item-progressIcon--progress{transition:stroke-dashoffset .5s ease-out;stroke:#fff}.uppy-Dashboard-Item-progressIcon--play{transition:all .2s;fill:#fff;stroke:#fff}.uppy-Dashboard-Item-progressIcon--cancel{transition:all .2s;fill:#fff}.uppy-Dashboard-Item-progressIcon--pause{transition:all .2s;fill:#fff;stroke:#fff}.uppy-Dashboard-Item-progressIcon--check{transition:all .2s;fill:#fff}.uppy-Dashboard-Item-progressIcon--retry{fill:#fff}[dir=ltr] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{right:-8px}[dir=rtl] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{left:-8px}[dir=ltr] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{left:auto}[dir=rtl] .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{right:auto}.uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progress{top:-9px;transform:none;width:auto}.uppy-Dashboard-Item.is-error .uppy-Dashboard-Item-progressIndicator{height:18px;width:18px}.uppy-size--md .uppy-Dashboard-Item.is-error .uppy-Dashboard-Item-progressIndicator{height:28px;width:28px}.uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progressIndicator{height:18px;opacity:1;width:18px}.uppy-size--md .uppy-Dashboard-Item.is-complete .uppy-Dashboard-Item-progressIndicator{height:22px;width:22px}.uppy-Dashboard-Item.is-processing .uppy-Dashboard-Item-progress{opacity:0}[dir=ltr] .uppy-Dashboard-Item-fileInfo{padding-right:5px}[dir=rtl] .uppy-Dashboard-Item-fileInfo{padding-left:5px}[dir=ltr] .uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-right:10px}[dir=rtl] .uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-left:10px}[dir=ltr] .uppy-size--md.uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-right:15px}[dir=rtl] .uppy-size--md.uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfo{padding-left:15px}.uppy-Dashboard-Item-name{font-size:12px;font-weight:500;line-height:1.3;margin-bottom:5px;word-wrap:anywhere;word-break:break-all}[data-uppy-theme=dark] .uppy-Dashboard-Item-name{color:#eaeaea}.uppy-size--md.uppy-Dashboard--singleFile .uppy-Dashboard-Item-name{font-size:14px;line-height:1.4}.uppy-Dashboard-Item-fileName{align-items:baseline;display:flex}.uppy-Dashboard-Item-fileName button{margin-left:5px}.uppy-Dashboard-Item-author{color:#757575;display:inline-block;font-size:11px;font-weight:400;line-height:1;margin-bottom:5px;vertical-align:bottom}.uppy-Dashboard-Item-author a{color:#757575}.uppy-Dashboard-Item-status{color:#757575;font-size:11px;font-weight:400;line-height:1}[data-uppy-theme=dark] .uppy-Dashboard-Item-status{color:#bbb}.uppy-Dashboard-Item-statusSize{display:inline-block;margin-bottom:5px;text-transform:uppercase;vertical-align:bottom}.uppy-Dashboard-Item-reSelect{color:#1269cf;font-family:inherit;font-size:inherit;font-weight:600}.uppy-Dashboard-Item-errorMessage{background-color:#fdeff1;color:#a51523;font-size:11px;font-weight:500;line-height:1.3;padding:5px 6px}.uppy-Dashboard-Item-errorMessageBtn{color:#a51523;cursor:pointer;font-size:11px;font-weight:500;text-decoration:underline}.uppy-Dashboard-Item-preview .uppy-Dashboard-Item-errorMessage{display:none}.uppy-size--md .uppy-Dashboard-Item-preview .uppy-Dashboard-Item-errorMessage{border-bottom-left-radius:3px;border-bottom-right-radius:3px;border-top:1px solid #f7c2c8;bottom:0;display:block;left:0;line-height:1.4;padding:6px 8px;position:absolute;right:0}.uppy-Dashboard-Item-fileInfo .uppy-Dashboard-Item-errorMessage{border:1px solid #f7c2c8;border-radius:3px;display:inline-block;position:static}.uppy-size--md .uppy-Dashboard-Item-fileInfo .uppy-Dashboard-Item-errorMessage{display:none}.uppy-Dashboard-Item-action{color:#939393;cursor:pointer}.uppy-Dashboard-Item-action:focus{outline:none}.uppy-Dashboard-Item-action::-moz-focus-inner{border:0}.uppy-Dashboard-Item-action:focus{box-shadow:0 0 0 3px rgba(18,105,207,.5)}.uppy-Dashboard-Item-action:hover{color:#1f1f1f;opacity:1}[data-uppy-theme=dark] .uppy-Dashboard-Item-action{color:#cfcfcf}[data-uppy-theme=dark] .uppy-Dashboard-Item-action:focus{outline:none}[data-uppy-theme=dark] .uppy-Dashboard-Item-action::-moz-focus-inner{border:0}[data-uppy-theme=dark] .uppy-Dashboard-Item-action:focus{box-shadow:0 0 0 2px rgba(170,225,255,.85)}[data-uppy-theme=dark] .uppy-Dashboard-Item-action:hover{color:#eaeaea}.uppy-Dashboard-Item-action--remove{color:#1f1f1f;opacity:.95}.uppy-Dashboard-Item-action--remove:hover{color:#000;opacity:1}[dir=ltr] .uppy-size--md .uppy-Dashboard-Item-action--remove{right:-8px}[dir=rtl] .uppy-size--md .uppy-Dashboard-Item-action--remove{left:-8px}.uppy-size--md .uppy-Dashboard-Item-action--remove{height:18px;padding:0;position:absolute;top:-8px;width:18px;z-index:1002}.uppy-size--md .uppy-Dashboard-Item-action--remove:focus{border-radius:50%}[dir=ltr] .uppy-Dashboard--singleFile.uppy-size--height-md .uppy-Dashboard-Item-action--remove{right:8px}[dir=rtl] .uppy-Dashboard--singleFile.uppy-size--height-md .uppy-Dashboard-Item-action--remove{left:8px}.uppy-Dashboard--singleFile.uppy-size--height-md .uppy-Dashboard-Item-action--remove{position:absolute;top:8px}[data-uppy-theme=dark] .uppy-Dashboard-Item-action--remove{color:#525252}[data-uppy-theme=dark] .uppy-Dashboard-Item-action--remove:hover{color:#333}.uppy-Dashboard:not(.uppy-size--md):not(.uppy-Dashboard--singleFile.uppy-size--height-md) .uppy-Dashboard-Item-actionWrapper{align-items:center;display:flex}.uppy-Dashboard:not(.uppy-size--md):not(.uppy-Dashboard--singleFile.uppy-size--height-md) .uppy-Dashboard-Item-action{height:22px;margin-left:3px;padding:3px;width:22px}.uppy-Dashboard:not(.uppy-size--md):not(.uppy-Dashboard--singleFile.uppy-size--height-md) .uppy-Dashboard-Item-action:focus{border-radius:3px}.uppy-size--md .uppy-Dashboard-Item-action--copyLink,.uppy-size--md .uppy-Dashboard-Item-action--edit{height:16px;padding:0;width:16px}.uppy-size--md .uppy-Dashboard-Item-action--copyLink:focus,.uppy-size--md .uppy-Dashboard-Item-action--edit:focus{border-radius:3px}.uppy-Dashboard-Item{align-items:center;border-bottom:1px solid #eaeaea;display:flex;padding:10px}[dir=ltr] .uppy-Dashboard:not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item{padding-right:0}[dir=rtl] .uppy-Dashboard:not(.uppy-Dashboard--singleFile) .uppy-Dashboard-Item{padding-left:0}[data-uppy-theme=dark] .uppy-Dashboard-Item{border-bottom:1px solid #333}[dir=ltr] .uppy-size--md .uppy-Dashboard-Item{float:left}[dir=rtl] .uppy-size--md .uppy-Dashboard-Item{float:right}.uppy-size--md .uppy-Dashboard-Item{border-bottom:0;display:block;height:215px;margin:5px 15px;padding:0;position:relative;width:calc(33.333% - 30px)}.uppy-size--lg .uppy-Dashboard-Item{height:190px;margin:5px 15px;padding:0;width:calc(25% - 30px)}.uppy-size--xl .uppy-Dashboard-Item{height:210px;padding:0;width:calc(20% - 30px)}.uppy-Dashboard--singleFile .uppy-Dashboard-Item{border-bottom:0;display:flex;flex-direction:column;height:100%;max-width:400px;padding:15px;position:relative;width:100%}.uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-previewInnerWrap{opacity:.2}.uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-name{opacity:.7}.uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-preview:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='35' height='39'%3E%3Cpath fill='%2523000' d='M1.708 38.66c1.709 0 3.417-3.417 6.834-3.417s5.125 3.417 8.61 3.417c3.348 0 5.056-3.417 8.473-3.417 4.305 0 5.125 3.417 6.833 3.417.889 0 1.709-.889 1.709-1.709v-19.68C34.167-5.757 0-5.757 0 17.271v19.68c0 .82.888 1.709 1.708 1.709m8.542-17.084a3.383 3.383 0 0 1-3.417-3.416 3.383 3.383 0 0 1 3.417-3.417 3.383 3.383 0 0 1 3.417 3.417 3.383 3.383 0 0 1-3.417 3.416m13.667 0A3.383 3.383 0 0 1 20.5 18.16a3.383 3.383 0 0 1 3.417-3.417 3.383 3.383 0 0 1 3.416 3.417 3.383 3.383 0 0 1-3.416 3.416'/%3E%3C/svg%3E");background-position:50% 10px;background-repeat:no-repeat;background-size:25px;bottom:0;content:"";left:0;opacity:.5;position:absolute;right:0;top:0;z-index:1005}.uppy-size--md .uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-preview:before{background-position:50% 50%;background-size:40px}.uppy-Dashboard--singleFile .uppy-Dashboard-Item.is-ghost .uppy-Dashboard-Item-preview:before{background-position:50% 50%;background-size:30%}.uppy-Dashboard-Item-preview{flex-grow:0;flex-shrink:0;height:50px;position:relative;width:50px}.uppy-size--md .uppy-Dashboard-Item-preview{height:140px;width:100%}.uppy-size--lg .uppy-Dashboard-Item-preview{height:120px}.uppy-size--xl .uppy-Dashboard-Item-preview{height:140px}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-preview{flex-grow:1;max-height:75%;width:100%}.uppy-Dashboard--singleFile.uppy-size--md .uppy-Dashboard-Item-preview{max-height:100%}[dir=ltr] .uppy-Dashboard-Item-fileInfoAndButtons{padding-right:8px}[dir=rtl] .uppy-Dashboard-Item-fileInfoAndButtons{padding-left:8px}[dir=ltr] .uppy-Dashboard-Item-fileInfoAndButtons{padding-left:12px}[dir=rtl] .uppy-Dashboard-Item-fileInfoAndButtons{padding-right:12px}.uppy-Dashboard-Item-fileInfoAndButtons{align-items:center;display:flex;flex-grow:1;justify-content:space-between}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfoAndButtons,.uppy-size--md .uppy-Dashboard-Item-fileInfoAndButtons{align-items:flex-start;padding:9px 0 0}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-fileInfoAndButtons{flex-grow:0;width:100%}.uppy-Dashboard-Item-fileInfo{flex-grow:1;flex-shrink:1}.uppy-Dashboard-Item-actionWrapper{flex-grow:0;flex-shrink:0}.uppy-Dashboard-Item.is-error .uppy-Dashboard-Item-previewInnerWrap:after,.uppy-Dashboard-Item.is-inprogress .uppy-Dashboard-Item-previewInnerWrap:after{display:block}[dir=ltr] .uppy-Dashboard-Item-errorDetails{left:2px}[dir=rtl] .uppy-Dashboard-Item-errorDetails{right:2px}.uppy-Dashboard-Item-errorDetails{-webkit-appearance:none;appearance:none;background-color:#939393;border:none;border-radius:50%;color:#fff;cursor:help;flex-shrink:0;font-size:10px;font-weight:600;height:13px;line-height:12px;position:relative;text-align:center;top:0;width:13px}.uppy-Dashboard-Item-errorDetails:after{line-height:1.3;word-wrap:break-word}.uppy-Dashboard-FileCard{background-color:#fff;border-radius:5px;bottom:0;box-shadow:0 0 10px 4px rgba(0,0,0,.1);display:flex;flex-direction:column;height:100%;left:0;position:absolute;right:0;top:0;width:100%;z-index:1005}.uppy-Dashboard-FileCard .uppy-DashboardContent-bar{border-top-left-radius:5px;border-top-right-radius:5px}.uppy-Dashboard-FileCard .uppy-Dashboard-FileCard-actions{border-bottom-left-radius:5px;border-bottom-right-radius:5px}.uppy-Dashboard-FileCard-inner{display:flex;flex-direction:column;flex-grow:1;flex-shrink:1;height:100%;min-height:0}.uppy-Dashboard-FileCard-preview{align-items:center;border-bottom:1px solid #eaeaea;display:flex;flex-grow:0;flex-shrink:1;height:60%;justify-content:center;min-height:0;position:relative}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-preview{background-color:#333;border-bottom:0}.uppy-Dashboard-FileCard-preview img.uppy-Dashboard-Item-previewImg{border-radius:3px;box-shadow:0 3px 20px rgba(0,0,0,.15);flex:0 0 auto;max-height:90%;max-width:90%;object-fit:cover}[dir=ltr] .uppy-Dashboard-FileCard-edit{right:10px}[dir=rtl] .uppy-Dashboard-FileCard-edit{left:10px}.uppy-Dashboard-FileCard-edit{background-color:rgba(0,0,0,.5);border-radius:50px;color:#fff;font-size:13px;padding:7px 15px;position:absolute;top:10px}.uppy-Dashboard-FileCard-edit:focus{outline:none}.uppy-Dashboard-FileCard-edit::-moz-focus-inner{border:0}.uppy-Dashboard-FileCard-edit:focus{box-shadow:0 0 0 3px rgba(18,105,207,.5)}.uppy-Dashboard-FileCard-edit:hover{background-color:rgba(0,0,0,.8)}.uppy-Dashboard-FileCard-info{flex-grow:0;flex-shrink:0;height:40%;overflow-y:auto;padding:30px 20px 20px;-webkit-overflow-scrolling:touch}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-info{background-color:#1f1f1f}.uppy-Dashboard-FileCard-fieldset{border:0;font-size:0;margin:auto auto 12px;max-width:640px;padding:0}.uppy-Dashboard-FileCard-label{color:#525252;display:inline-block;font-size:12px;vertical-align:middle;width:22%}.uppy-size--md .uppy-Dashboard-FileCard-label{font-size:14px}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-label{color:#eaeaea}.uppy-Dashboard-FileCard-input{display:inline-block;vertical-align:middle;width:78%}.uppy-Dashboard-FileCard-actions{align-items:center;background-color:#fafafa;border-top:1px solid #eaeaea;display:flex;flex-grow:0;flex-shrink:0;height:55px;padding:0 15px}.uppy-size--md .uppy-Dashboard-FileCard-actions{height:65px}[data-uppy-theme=dark] .uppy-Dashboard-FileCard-actions{background-color:#1f1f1f;border-top:1px solid #333}[dir=ltr] .uppy-Dashboard-FileCard-actionsBtn{margin-right:10px}[dir=rtl] .uppy-Dashboard-FileCard-actionsBtn{margin-left:10px}.uppy-transition-slideDownUp-enter{opacity:.01;transform:translate3d(0,-105%,0);transition:transform .25s ease-in-out,opacity .25s ease-in-out}.uppy-transition-slideDownUp-enter.uppy-transition-slideDownUp-enter-active{opacity:1;transform:translateZ(0)}.uppy-transition-slideDownUp-leave{opacity:1;transform:translateZ(0);transition:transform .25s ease-in-out,opacity .25s ease-in-out}.uppy-transition-slideDownUp-leave.uppy-transition-slideDownUp-leave-active{opacity:.01;transform:translate3d(0,-105%,0)}@keyframes uppy-Dashboard-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes uppy-Dashboard-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes uppy-Dashboard-slideDownAndFadeIn{0%{opacity:0;transform:translate3d(-50%,-70%,0)}to{opacity:1;transform:translate3d(-50%,-50%,0)}}@keyframes uppy-Dashboard-slideDownAndFadeIn--small{0%{opacity:0;transform:translate3d(0,-20%,0)}to{opacity:1;transform:translateZ(0)}}@keyframes uppy-Dashboard-slideUpFadeOut{0%{opacity:1;transform:translate3d(-50%,-50%,0)}to{opacity:0;transform:translate3d(-50%,-70%,0)}}@keyframes uppy-Dashboard-slideUpFadeOut--small{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(0,-20%,0)}}.uppy-Dashboard--modal{z-index:1001}.uppy-Dashboard--modal[aria-hidden=true]{display:none}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideDownAndFadeIn--small .3s cubic-bezier(0,0,.2,1)}@media only screen and (min-width:820px){.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideDownAndFadeIn .3s cubic-bezier(0,0,.2,1)}}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose>.uppy-Dashboard-overlay{animation:uppy-Dashboard-fadeIn .3s cubic-bezier(0,0,.2,1)}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose.uppy-Dashboard--isClosing>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideUpFadeOut--small .3s cubic-bezier(0,0,.2,1)}@media only screen and (min-width:820px){.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose.uppy-Dashboard--isClosing>.uppy-Dashboard-inner{animation:uppy-Dashboard-slideUpFadeOut .3s cubic-bezier(0,0,.2,1)}}.uppy-Dashboard--modal.uppy-Dashboard--animateOpenClose.uppy-Dashboard--isClosing>.uppy-Dashboard-overlay{animation:uppy-Dashboard-fadeOut .3s cubic-bezier(0,0,.2,1)}.uppy-Dashboard-isFixed{height:100vh;overflow:hidden}.uppy-Dashboard--modal .uppy-Dashboard-overlay{background-color:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1001}.uppy-Dashboard-inner{background-color:#f4f4f4;border:1px solid #eaeaea;border-radius:5px;max-height:100%;max-width:100%;outline:none;position:relative}.uppy-size--md .uppy-Dashboard-inner{min-height:auto}@media only screen and (min-width:820px){.uppy-Dashboard-inner{height:500px;width:650px}}.uppy-Dashboard--modal .uppy-Dashboard-inner{z-index:1002}[data-uppy-theme=dark] .uppy-Dashboard-inner{background-color:#1f1f1f}.uppy-Dashboard--isDisabled .uppy-Dashboard-inner{cursor:not-allowed}.uppy-Dashboard-innerWrap{border-radius:5px;display:flex;flex-direction:column;height:100%;opacity:0;overflow:hidden;position:relative}.uppy-Dashboard--isInnerWrapVisible .uppy-Dashboard-innerWrap{opacity:1}.uppy-Dashboard--isDisabled .uppy-Dashboard-innerWrap{cursor:not-allowed;filter:grayscale(100%);opacity:.6;-webkit-user-select:none;user-select:none}.uppy-Dashboard--isDisabled .uppy-ProviderIconBg{fill:#9f9f9f}.uppy-Dashboard--isDisabled [aria-disabled],.uppy-Dashboard--isDisabled [disabled]{cursor:not-allowed;pointer-events:none}.uppy-Dashboard--modal .uppy-Dashboard-inner{border:none;bottom:15px;left:15px;position:fixed;right:15px;top:35px}@media only screen and (min-width:820px){.uppy-Dashboard--modal .uppy-Dashboard-inner{box-shadow:0 5px 15px 4px rgba(0,0,0,.15);left:50%;right:auto;top:50%;transform:translate(-50%,-50%)}}[dir=ltr] .uppy-Dashboard-close{right:-2px}[dir=rtl] .uppy-Dashboard-close{left:-2px}.uppy-Dashboard-close{color:hsla(0,0%,100%,.9);cursor:pointer;display:block;font-size:27px;position:absolute;top:-33px;z-index:1005}.uppy-Dashboard-close:focus{outline:none}.uppy-Dashboard-close::-moz-focus-inner{border:0}.uppy-Dashboard-close:focus{color:#6eabf2}@media only screen and (min-width:820px){[dir=ltr] .uppy-Dashboard-close{right:-35px}[dir=rtl] .uppy-Dashboard-close{left:-35px}.uppy-Dashboard-close{font-size:35px;top:-10px}}.uppy-Dashboard-serviceMsg{background-color:#fffbf7;border-bottom:1px solid #edd4b9;border-top:1px solid #edd4b9;font-size:12px;font-weight:500;line-height:1.3;padding:12px 0;position:relative;top:-1px;z-index:1004}.uppy-size--md .uppy-Dashboard-serviceMsg{font-size:14px;line-height:1.4}[data-uppy-theme=dark] .uppy-Dashboard-serviceMsg{background-color:#1f1f1f;border-bottom:1px solid #333;border-top:1px solid #333;color:#eaeaea}.uppy-Dashboard-serviceMsg-title{display:block;line-height:1;margin-bottom:4px;padding-left:42px}.uppy-Dashboard-serviceMsg-text{padding:0 15px}.uppy-Dashboard-serviceMsg-actionBtn{color:#1269cf;font-size:inherit;font-weight:inherit;vertical-align:initial}[data-uppy-theme=dark] .uppy-Dashboard-serviceMsg-actionBtn{color:rgba(2,186,242,.9)}.uppy-Dashboard-serviceMsg-icon{left:15px;position:absolute;top:10px}.uppy-Dashboard-AddFiles{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;position:relative;text-align:center}[data-uppy-drag-drop-supported=true] .uppy-Dashboard-AddFiles{border:1px dashed #dfdfdf;border-radius:3px;height:calc(100% - 14px);margin:7px}.uppy-Dashboard-AddFilesPanel .uppy-Dashboard-AddFiles{border:none;height:calc(100% - 54px)}.uppy-Dashboard--modal .uppy-Dashboard-AddFiles{border-color:#cfcfcf}[data-uppy-theme=dark] .uppy-Dashboard-AddFiles{border-color:#757575}.uppy-Dashboard-AddFiles-info{display:none;margin-top:auto;padding-bottom:15px;padding-top:15px}.uppy-size--height-md .uppy-Dashboard-AddFiles-info{display:block}.uppy-size--md .uppy-Dashboard-AddFiles-info{bottom:25px;left:0;padding-bottom:0;padding-top:30px;position:absolute;right:0}[data-uppy-num-acquirers="0"] .uppy-Dashboard-AddFiles-info{margin-top:0}.uppy-Dashboard-browse{color:#1269cf;cursor:pointer}.uppy-Dashboard-browse:focus{outline:none}.uppy-Dashboard-browse::-moz-focus-inner{border:0}.uppy-Dashboard-browse:focus,.uppy-Dashboard-browse:hover{border-bottom:1px solid #1269cf}[data-uppy-theme=dark] .uppy-Dashboard-browse{color:rgba(2,186,242,.9)}[data-uppy-theme=dark] .uppy-Dashboard-browse:focus,[data-uppy-theme=dark] .uppy-Dashboard-browse:hover{border-bottom:1px solid #02baf2}.uppy-Dashboard-browseBtn{display:block;font-size:14px;font-weight:500;margin-bottom:5px;margin-top:8px;width:100%}.uppy-size--md .uppy-Dashboard-browseBtn{font-size:15px;margin:15px auto;padding:13px 44px;width:auto}.uppy-Dashboard-AddFiles-list{display:flex;flex:1;flex-direction:column;margin-top:2px;overflow-y:auto;padding:2px 0;width:100%;-webkit-overflow-scrolling:touch}.uppy-size--md .uppy-Dashboard-AddFiles-list{flex:none;flex-direction:row;flex-wrap:wrap;justify-content:center;margin-top:15px;max-width:600px;overflow-y:visible;padding-top:0}.uppy-DashboardTab{border-bottom:1px solid #eaeaea;text-align:center;width:100%}[data-uppy-theme=dark] .uppy-DashboardTab{border-bottom:1px solid #333}.uppy-size--md .uppy-DashboardTab{border-bottom:none;display:inline-block;margin-bottom:10px;width:auto}.uppy-DashboardTab-btn{align-items:center;-webkit-appearance:none;appearance:none;background-color:transparent;color:#525252;cursor:pointer;flex-direction:row;height:100%;justify-content:left;padding:12px 15px;width:100%}.uppy-DashboardTab-btn:focus{outline:none}[dir=ltr] .uppy-size--md .uppy-DashboardTab-btn{margin-right:1px}[dir=rtl] .uppy-size--md .uppy-DashboardTab-btn{margin-left:1px}.uppy-size--md .uppy-DashboardTab-btn{border-radius:5px;flex-direction:column;padding:10px 3px;width:86px}[data-uppy-theme=dark] .uppy-DashboardTab-btn{color:#eaeaea}.uppy-DashboardTab-btn::-moz-focus-inner{border:0}.uppy-DashboardTab-btn:hover{background-color:#e9ecef}[data-uppy-theme=dark] .uppy-DashboardTab-btn:hover{background-color:#333}.uppy-DashboardTab-btn:active,.uppy-DashboardTab-btn:focus{background-color:#dfe6f1}[data-uppy-theme=dark] .uppy-DashboardTab-btn:active,[data-uppy-theme=dark] .uppy-DashboardTab-btn:focus{background-color:#525252}.uppy-DashboardTab-btn svg{display:inline-block;max-height:100%;max-width:100%;overflow:hidden;transition:transform .15s ease-in-out;vertical-align:text-top}[dir=ltr] .uppy-DashboardTab-inner{margin-right:10px}[dir=rtl] .uppy-DashboardTab-inner{margin-left:10px}.uppy-DashboardTab-inner{align-items:center;background-color:#fff;border-radius:8px;box-shadow:0 1px 1px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.1),0 2px 3px 0 rgba(0,0,0,.02);display:flex;height:32px;justify-content:center;width:32px}[dir=ltr] .uppy-size--md .uppy-DashboardTab-inner{margin-right:0}[dir=rtl] .uppy-size--md .uppy-DashboardTab-inner{margin-left:0}[data-uppy-theme=dark] .uppy-DashboardTab-inner{background-color:#323232;box-shadow:0 1px 1px 0 rgba(0,0,0,.2),0 1px 2px 0 rgba(0,0,0,.2),0 2px 3px 0 rgba(0,0,0,.08)}.uppy-DashboardTab-name{font-size:14px;font-weight:400}.uppy-size--md .uppy-DashboardTab-name{font-size:12px;line-height:15px;margin-bottom:0;margin-top:8px}.uppy-DashboardTab-iconMyDevice{color:#1269cf}[data-uppy-theme=dark] .uppy-DashboardTab-iconMyDevice{color:#02baf2}.uppy-DashboardTab-iconBox{color:#0061d5}[data-uppy-theme=dark] .uppy-DashboardTab-iconBox{color:#eaeaea}.uppy-DashboardTab-iconDropbox{color:#0061fe}[data-uppy-theme=dark] .uppy-DashboardTab-iconDropbox{color:#eaeaea}.uppy-DashboardTab-iconUnsplash{color:#111}[data-uppy-theme=dark] .uppy-DashboardTab-iconUnsplash{color:#eaeaea}.uppy-DashboardTab-iconScreenRec{color:#2c3e50}[data-uppy-theme=dark] .uppy-DashboardTab-iconScreenRec{color:#eaeaea}.uppy-DashboardTab-iconAudio{color:#8030a3}[data-uppy-theme=dark] .uppy-DashboardTab-iconAudio{color:#bf6ee3}.uppy-Dashboard-input{height:.1px;opacity:0;overflow:hidden;position:absolute;width:.1px;z-index:-1}.uppy-DashboardContent-bar{align-items:center;background-color:#fafafa;border-bottom:1px solid #eaeaea;display:flex;flex-shrink:0;height:40px;justify-content:space-between;padding:0 10px;position:relative;width:100%;z-index:1004}.uppy-size--md .uppy-DashboardContent-bar{height:50px;padding:0 15px}[data-uppy-theme=dark] .uppy-DashboardContent-bar{background-color:#1f1f1f;border-bottom:1px solid #333}.uppy-DashboardContent-title{font-size:12px;font-weight:500;left:0;line-height:40px;margin:auto;max-width:170px;overflow-x:hidden;position:absolute;right:0;text-align:center;text-overflow:ellipsis;top:0;white-space:nowrap;width:100%}.uppy-size--md .uppy-DashboardContent-title{font-size:14px;line-height:50px;max-width:300px}[data-uppy-theme=dark] .uppy-DashboardContent-title{color:#eaeaea}[dir=ltr] .uppy-DashboardContent-back,[dir=ltr] .uppy-DashboardContent-save{margin-left:-6px}[dir=rtl] .uppy-DashboardContent-back,[dir=rtl] .uppy-DashboardContent-save{margin-right:-6px}.uppy-DashboardContent-back,.uppy-DashboardContent-save{-webkit-appearance:none;background:none;border:0;border-radius:3px;color:inherit;color:#1269cf;cursor:pointer;font-family:inherit;font-size:inherit;font-size:12px;font-weight:400;line-height:1;margin:0;padding:7px 6px}.uppy-DashboardContent-back:focus,.uppy-DashboardContent-save:focus{outline:none}.uppy-DashboardContent-back::-moz-focus-inner,.uppy-DashboardContent-save::-moz-focus-inner{border:0}.uppy-DashboardContent-back:hover,.uppy-DashboardContent-save:hover{color:#0e51a0}.uppy-DashboardContent-back:focus,.uppy-DashboardContent-save:focus{background-color:#dfe6f1}[data-uppy-theme=dark] .uppy-DashboardContent-back:focus,[data-uppy-theme=dark] .uppy-DashboardContent-save:focus{background-color:#333}.uppy-size--md .uppy-DashboardContent-back,.uppy-size--md .uppy-DashboardContent-save{font-size:14px}[data-uppy-theme=dark] .uppy-DashboardContent-back,[data-uppy-theme=dark] .uppy-DashboardContent-save{color:#02baf2}[dir=ltr] .uppy-DashboardContent-addMore{margin-right:-5px}[dir=rtl] .uppy-DashboardContent-addMore{margin-left:-5px}.uppy-DashboardContent-addMore{-webkit-appearance:none;background:none;border:0;border-radius:3px;color:inherit;color:#1269cf;cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;height:29px;line-height:1;margin:0;padding:7px 8px;width:29px}.uppy-DashboardContent-addMore:focus{outline:none}.uppy-DashboardContent-addMore::-moz-focus-inner{border:0}.uppy-DashboardContent-addMore:hover{color:#0e51a0}.uppy-DashboardContent-addMore:focus{background-color:#dfe6f1}[data-uppy-theme=dark] .uppy-DashboardContent-addMore:focus{background-color:#333}[dir=ltr] .uppy-size--md .uppy-DashboardContent-addMore{margin-right:-8px}[dir=rtl] .uppy-size--md .uppy-DashboardContent-addMore{margin-left:-8px}.uppy-size--md .uppy-DashboardContent-addMore{font-size:14px;height:auto;width:auto}[data-uppy-theme=dark] .uppy-DashboardContent-addMore{color:#02baf2}[dir=ltr] .uppy-DashboardContent-addMore svg{margin-right:4px}[dir=rtl] .uppy-DashboardContent-addMore svg{margin-left:4px}.uppy-DashboardContent-addMore svg{vertical-align:baseline}.uppy-size--md .uppy-DashboardContent-addMore svg{height:11px;width:11px}.uppy-DashboardContent-addMoreCaption{display:none}.uppy-size--md .uppy-DashboardContent-addMoreCaption{display:inline}.uppy-DashboardContent-panel{background-color:#f5f5f5;flex:1}.uppy-Dashboard-AddFilesPanel,.uppy-DashboardContent-panel{border-radius:5px;bottom:0;display:flex;flex-direction:column;left:0;overflow:hidden;position:absolute;right:0;top:0;z-index:1005}.uppy-Dashboard-AddFilesPanel{background:#fafafa;background:linear-gradient(0deg,#fafafa 35%,hsla(0,0%,98%,.85));box-shadow:0 0 10px 5px rgba(0,0,0,.15)}[data-uppy-theme=dark] .uppy-Dashboard-AddFilesPanel{background-color:#333;background-image:linear-gradient(0deg,#1f1f1f 35%,rgba(31,31,31,.85))}.uppy-Dashboard--isAddFilesPanelVisible .uppy-Dashboard-files{filter:blur(2px)}.uppy-Dashboard-progress{bottom:0;height:12%;left:0;position:absolute;width:100%}.uppy-Dashboard-progressBarContainer.is-active{height:100%;left:0;position:absolute;top:0;width:100%;z-index:1004}.uppy-Dashboard-filesContainer{flex:1;margin:0;overflow-y:hidden;position:relative}.uppy-Dashboard-filesContainer:after{clear:both;content:"";display:table}.uppy-Dashboard-files{flex:1;margin:0;overflow-y:auto;padding:0 0 10px;-webkit-overflow-scrolling:touch}.uppy-size--md .uppy-Dashboard-files{padding-top:10px}.uppy-Dashboard--singleFile .uppy-Dashboard-filesInner{align-items:center;display:flex;height:100%;justify-content:center}.uppy-Dashboard-dropFilesHereHint{align-items:center;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath fill='%231269CF' d='M24 1v1C11.85 2 2 11.85 2 24s9.85 22 22 22 22-9.85 22-22S36.15 2 24 2zm0 0V0c13.254 0 24 10.746 24 24S37.254 48 24 48 0 37.254 0 24 10.746 0 24 0zm7.707 19.293a.999.999 0 1 1-1.414 1.414L25 16.414V34a1 1 0 1 1-2 0V16.414l-5.293 5.293a.999.999 0 1 1-1.414-1.414l7-7a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");background-position:50% 50%;background-repeat:no-repeat;border:1px dashed #1269cf;border-radius:3px;bottom:7px;color:#757575;display:flex;font-size:16px;justify-content:center;left:7px;padding-top:90px;position:absolute;right:7px;text-align:center;top:7px;visibility:hidden;z-index:2000}[data-uppy-theme=dark] .uppy-Dashboard-dropFilesHereHint{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48'%3E%3Cpath fill='%2302BAF2' d='M24 1v1C11.85 2 2 11.85 2 24s9.85 22 22 22 22-9.85 22-22S36.15 2 24 2zm0 0V0c13.254 0 24 10.746 24 24S37.254 48 24 48 0 37.254 0 24 10.746 0 24 0zm7.707 19.293a.999.999 0 1 1-1.414 1.414L25 16.414V34a1 1 0 1 1-2 0V16.414l-5.293 5.293a.999.999 0 1 1-1.414-1.414l7-7a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E");border-color:#02baf2;color:#bbb}.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-dropFilesHereHint{visibility:visible}.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-files,.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-progressindicators,.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-serviceMsg,.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-DashboardContent-bar{opacity:.15}.uppy-Dashboard.uppy-Dashboard--isDraggingOver .uppy-Dashboard-AddFiles{opacity:.03}.uppy-Dashboard-AddFiles-title{color:#000;font-size:17px;font-weight:500;line-height:1.35;margin-bottom:5px;margin-top:15px;padding:0 15px;text-align:inline-start;width:100%}.uppy-size--md .uppy-Dashboard-AddFiles-title{font-size:21px;font-weight:400;margin-top:5px;max-width:480px;padding:0 35px;text-align:center}[data-uppy-num-acquirers="0"] .uppy-Dashboard-AddFiles-title{text-align:center}[data-uppy-theme=dark] .uppy-Dashboard-AddFiles-title{color:#eaeaea}.uppy-Dashboard-AddFiles-title button{font-weight:500}.uppy-size--md .uppy-Dashboard-AddFiles-title button{font-weight:400}.uppy-Dashboard-note{color:#757575;font-size:14px;line-height:1.25;margin:auto;max-width:350px;padding:0 15px;text-align:center}.uppy-size--md .uppy-Dashboard-note{line-height:1.35;max-width:600px}[data-uppy-theme=dark] .uppy-Dashboard-note{color:#cfcfcf}a.uppy-Dashboard-poweredBy{color:#939393;display:inline-block;font-size:11px;margin-top:8px;text-align:center;text-decoration:none}.uppy-Dashboard-poweredByIcon{margin-left:1px;margin-right:1px;opacity:.9;position:relative;top:1px;vertical-align:text-top;fill:none;stroke:#939393}.uppy-Dashboard-Item-previewIcon{height:25px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:25px;z-index:100}.uppy-size--md .uppy-Dashboard-Item-previewIcon{height:38px;width:38px}.uppy-Dashboard-Item-previewIcon svg{height:100%;width:100%}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-previewIcon{height:100%;max-height:60%;max-width:60%;width:100%}.uppy-Dashboard-Item-previewIconWrap{height:76px;max-height:75%;position:relative}.uppy-Dashboard--singleFile .uppy-Dashboard-Item-previewIconWrap{height:100%;width:100%}.uppy-Dashboard-Item-previewIconBg{filter:drop-shadow(rgba(0,0,0,.1) 0 1px 1px);height:100%;width:100%}.uppy-Dashboard-upload{height:50px;position:relative;width:50px}.uppy-size--md .uppy-Dashboard-upload{height:60px;width:60px}.uppy-Dashboard-upload .uppy-c-icon{position:relative;top:1px;width:50%}[dir=ltr] .uppy-Dashboard-uploadCount{right:-12px}[dir=rtl] .uppy-Dashboard-uploadCount{left:-12px}.uppy-Dashboard-uploadCount{background-color:#1bb240;border-radius:50%;color:#fff;font-size:8px;height:16px;line-height:16px;position:absolute;top:-12px;width:16px}.uppy-size--md .uppy-Dashboard-uploadCount{font-size:9px;height:18px;line-height:18px;width:18px}.uppy-is-drag-over:after{background-color:hsla(0,0%,92%,.5);border:5px dashed #bbb;bottom:7px;content:"";left:7px;position:fixed;right:7px;top:7px;z-index:10000} \ No newline at end of file diff --git a/public/ranky_media.vendors.js b/public/ranky_media.vendors.js index 9597b92..a9e64c8 100644 --- a/public/ranky_media.vendors.js +++ b/public/ranky_media.vendors.js @@ -1,2 +1,2 @@ /*! For license information please see ranky_media.vendors.js.LICENSE.txt */ -(self.webpackChunkranky_media_bundle=self.webpackChunkranky_media_bundle||[]).push([[902],{927:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/ar_SA.min.js"},7624:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/bg_BG.min.js"},1154:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/cs_CZ.min.js"},3658:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/da_DK.min.js"},8502:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/de_DE.min.js"},2222:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/el_GR.min.js"},8459:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/en_US.min.js"},1247:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/es_ES.min.js"},4859:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/fa_IR.min.js"},4824:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/fi_FI.min.js"},4240:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/fr_FR.min.js"},9061:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/gl_ES.min.js"},6614:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/he_IL.min.js"},4858:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/hr_HR.min.js"},178:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/hu_HU.min.js"},3642:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/id_ID.min.js"},1467:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/is_IS.min.js"},2015:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/it_IT.min.js"},5050:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/ja_JP.min.js"},2766:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/ko_KR.min.js"},9149:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/nb_NO.min.js"},6384:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/nl_NL.min.js"},8894:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/pl_PL.min.js"},1902:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/pt_BR.min.js"},7751:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/pt_PT.min.js"},3496:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/ro_RO.min.js"},8971:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/ru_RU.min.js"},841:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/sk_SK.min.js"},6037:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/sr_RS_Cyrillic.min.js"},6932:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/sr_RS_Latin.min.js"},6736:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/sv_SE.min.js"},7698:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/th_TH.min.js"},5264:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/tr_TR.min.js"},5886:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/uk_UA.min.js"},2942:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/uz_UZ.min.js"},4050:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/vi_VN.min.js"},885:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/zh_CN.min.js"},8418:function(e,t,i){"use strict";i.r(t),t.default=i.p+"uppy/locales/zh_TW.min.js"},5158:function(e){e.exports=function(e){if("number"!=typeof e||isNaN(e))throw new TypeError("Expected a number, got "+typeof e);const t=e<0,i=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];if(t&&(e=-e),e<1)return(t?"-":"")+e+" B";const n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),i.length-1);e=Number(e/Math.pow(1024,n));const s=i[n];return e>=10||e%1==0?`${(t?"-":"")+e.toFixed(0)} ${s}`:`${(t?"-":"")+e.toFixed(1)} ${s}`}},1737:function(e){e.exports=function(e){if("number"!=typeof e||isNaN(e))throw new TypeError("Expected a number, got "+typeof e);var t=e<0,i=["B","KB","MB","GB","TB","PB","EB","ZB","YB"];if(t&&(e=-e),e<1)return(t?"-":"")+e+" B";var n=Math.min(Math.floor(Math.log(e)/Math.log(1024)),i.length-1);e=Number(e/Math.pow(1024,n));var s=i[n];return e>=10||e%1==0?(t?"-":"")+e.toFixed(0)+" "+s:(t?"-":"")+e.toFixed(1)+" "+s}},4184:function(e,t){var i;!function(){"use strict";var n={}.hasOwnProperty;function s(){for(var e=[],t=0;t=t||i<0||d&&e-u>=r}function C(){var e=f();if(w(e))return P(e);a=setTimeout(C,function(e){var i=t-(e-l);return d?p(i,r-(e-u)):i}(e))}function P(e){return a=void 0,y&&n?v(e):(n=s=void 0,o)}function S(){var e=f(),i=w(e);if(n=arguments,s=this,l=e,i){if(void 0===a)return b(l);if(d)return a=setTimeout(C,t),v(l)}return void 0===a&&(a=setTimeout(C,t)),o}return t=g(t)||0,m(i)&&(c=!!i.leading,r=(d="maxWait"in i)?h(g(i.maxWait)||0,t):r,y="trailing"in i?!!i.trailing:y),S.cancel=function(){void 0!==a&&clearTimeout(a),u=0,n=l=s=a=void 0},S.flush=function(){return void 0===a?o:P(f())},S}},3096:function(e,t,i){var n="Expected a function",s=/^\s+|\s+$/g,r=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,a=/^0o[0-7]+$/i,l=parseInt,u="object"==typeof i.g&&i.g&&i.g.Object===Object&&i.g,c="object"==typeof self&&self&&self.Object===Object&&self,d=u||c||Function("return this")(),h=Object.prototype.toString,p=Math.max,f=Math.min,m=function(){return d.Date.now()};function g(e,t,i){var s,r,o,a,l,u,c=0,d=!1,h=!1,g=!0;if("function"!=typeof e)throw new TypeError(n);function b(t){var i=s,n=r;return s=r=void 0,c=t,a=e.apply(n,i)}function w(e){return c=e,l=setTimeout(P,t),d?b(e):a}function C(e){var i=e-u;return void 0===u||i>=t||i<0||h&&e-c>=o}function P(){var e=m();if(C(e))return S(e);l=setTimeout(P,function(e){var i=t-(e-u);return h?f(i,o-(e-c)):i}(e))}function S(e){return l=void 0,g&&s?b(e):(s=r=void 0,a)}function F(){var e=m(),i=C(e);if(s=arguments,r=this,u=e,i){if(void 0===l)return w(u);if(h)return l=setTimeout(P,t),b(u)}return void 0===l&&(l=setTimeout(P,t)),a}return t=v(t)||0,y(i)&&(d=!!i.leading,o=(h="maxWait"in i)?p(v(i.maxWait)||0,t):o,g="trailing"in i?!!i.trailing:g),F.cancel=function(){void 0!==l&&clearTimeout(l),c=0,s=u=r=l=void 0},F.flush=function(){return void 0===l?a:S(m())},F}function y(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function v(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==h.call(e)}(e))return NaN;if(y(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=y(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(s,"");var i=o.test(e);return i||a.test(e)?l(e.slice(2),i?2:8):r.test(e)?NaN:+e}e.exports=function(e,t,i){var s=!0,r=!0;if("function"!=typeof e)throw new TypeError(n);return y(i)&&(s="leading"in i?!!i.leading:s,r="trailing"in i?!!i.trailing:r),g(e,t,{leading:s,maxWait:t,trailing:r})}},4193:function(e,t,i){var n=i(1196),s=/[\/\+\.]/;e.exports=function(e,t){function i(t){var i=n(t,e,s);return i&&i.length>=2}return t?i(t.split(";")[0]):i}},4800:function(e){e.exports=function(){var e={},t=e._fns={};return e.emit=function(e,i,n,s,r,o,a){var l=function(e){var i=t[e]?t[e]:[],n=e.indexOf(":"),s=-1===n?[e]:[e.substring(0,n),e.substring(n+1)],r=Object.keys(t),o=0,a=r.length;for(;o2&&(a.children=arguments.length>3?n.call(arguments,2):i),"function"==typeof e&&null!=e.defaultProps)for(o in e.defaultProps)void 0===a[o]&&(a[o]=e.defaultProps[o]);return f(e,a,s,r,null)}function f(e,t,i,n,o){var a={type:e,props:t,key:i,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==o?++r:o};return null==o&&null!=s.vnode&&s.vnode(a),a}function m(){return{current:null}}function g(e){return e.children}function y(e,t){this.props=e,this.context=t}function v(e,t){if(null==t)return e.__?v(e.__,e.__.__k.indexOf(e)+1):null;for(var i;t0?f(y.type,y.props,y.key,y.ref?y.ref:null,y.__v):y)){if(y.__=i,y.__b=i.__b+1,null===(m=P[h])||m&&y.key==m.key&&y.type===m.type)P[h]=void 0;else for(p=0;p2&&(a.children=arguments.length>3?n.call(arguments,2):i),f(e.type,a,s||e.key,r||e.ref,null)}n=u.slice,s={__e:function(e,t,i,n){for(var s,r,o;t=t.__;)if((s=t.__c)&&!s.__)try{if((r=s.constructor)&&null!=r.getDerivedStateFromError&&(s.setState(r.getDerivedStateFromError(e)),o=s.__d),null!=s.componentDidCatch&&(s.componentDidCatch(e,n||{}),o=s.__d),o)return s.__E=s}catch(t){e=t}throw e}},r=0,y.prototype.setState=function(e,t){var i;i=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},i),this.props)),e&&d(i,e),null!=e&&this.__v&&(t&&this._sb.push(t),w(this))},y.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),w(this))},y.prototype.render=g,o=[],C.__r=0},2703:function(e,t,i){"use strict";var n=i(414);function s(){}function r(){}r.resetWarningCache=s,e.exports=function(){function e(e,t,i,s,r,o){if(o!==n){var a=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw a.name="Invariant Violation",a}}function t(){return e}e.isRequired=e;var i={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:r,resetWarningCache:s};return i.PropTypes=i,i}},5697:function(e,t,i){e.exports=i(2703)()},414:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},9852:function(e,t,i){"use strict";i.d(t,{j:function(){return o}});var n=i(4578),s=i(2943),r=i(2288),o=new(function(e){function t(){var t;return(t=e.call(this)||this).setup=function(e){var t;if(!r.sk&&(null==(t=window)?void 0:t.addEventListener)){var i=function(){return e()};return window.addEventListener("visibilitychange",i,!1),window.addEventListener("focus",i,!1),function(){window.removeEventListener("visibilitychange",i),window.removeEventListener("focus",i)}}},t}(0,n.Z)(t,e);var i=t.prototype;return i.onSubscribe=function(){this.cleanup||this.setEventListener(this.setup)},i.onUnsubscribe=function(){var e;this.hasListeners()||(null==(e=this.cleanup)||e.call(this),this.cleanup=void 0)},i.setEventListener=function(e){var t,i=this;this.setup=e,null==(t=this.cleanup)||t.call(this),this.cleanup=e((function(e){"boolean"==typeof e?i.setFocused(e):i.onFocus()}))},i.setFocused=function(e){this.focused=e,e&&this.onFocus()},i.onFocus=function(){this.listeners.forEach((function(e){e()}))},i.isFocused=function(){return"boolean"==typeof this.focused?this.focused:"undefined"==typeof document||[void 0,"visible","prerender"].includes(document.visibilityState)},t}(s.l))},6747:function(e,t,i){"use strict";if(i.d(t,{QueryClient:function(){return n.S}}),361==i.j)var n=i(8328);if(361==i.j)var s=i(6755);i.o(s,"QueryClientProvider")&&i.d(t,{QueryClientProvider:function(){return s.QueryClientProvider}}),i.o(s,"useInfiniteQuery")&&i.d(t,{useInfiniteQuery:function(){return s.useInfiniteQuery}}),i.o(s,"useIsMutating")&&i.d(t,{useIsMutating:function(){return s.useIsMutating}}),i.o(s,"useMutation")&&i.d(t,{useMutation:function(){return s.useMutation}}),i.o(s,"useQuery")&&i.d(t,{useQuery:function(){return s.useQuery}}),i.o(s,"useQueryClient")&&i.d(t,{useQueryClient:function(){return s.useQueryClient}})},6997:function(e,t,i){"use strict";if(i.d(t,{Gm:function(){return r},Qy:function(){return l},ZF:function(){return u}}),361==i.j)var n=i(1216);if(361==i.j)var s=i(2288);function r(){return{onFetch:function(e){e.fetchFn=function(){var t,i,r,l,u,c,d,h=null==(t=e.fetchOptions)||null==(i=t.meta)?void 0:i.refetchPage,p=null==(r=e.fetchOptions)||null==(l=r.meta)?void 0:l.fetchMore,f=null==p?void 0:p.pageParam,m="forward"===(null==p?void 0:p.direction),g="backward"===(null==p?void 0:p.direction),y=(null==(u=e.state.data)?void 0:u.pages)||[],v=(null==(c=e.state.data)?void 0:c.pageParams)||[],b=(0,s.G9)(),w=null==b?void 0:b.signal,C=v,P=!1,S=e.options.queryFn||function(){return Promise.reject("Missing queryFn")},F=function(e,t,i,n){return C=n?[t].concat(C):[].concat(C,[t]),n?[i].concat(e):[].concat(e,[i])},k=function(t,i,s,r){if(P)return Promise.reject("Cancelled");if(void 0===s&&!i&&t.length)return Promise.resolve(t);var o={queryKey:e.queryKey,signal:w,pageParam:s,meta:e.meta},a=S(o),l=Promise.resolve(a).then((function(e){return F(t,s,e,r)}));(0,n.LE)(a)&&(l.cancel=a.cancel);return l};if(y.length)if(m){var O=void 0!==f,T=O?f:o(e.options,y);d=k(y,O,T)}else if(g){var E=void 0!==f,x=E?f:a(e.options,y);d=k(y,E,x,!0)}else!function(){C=[];var t=void 0===e.options.getNextPageParam,i=!h||!y[0]||h(y[0],0,y);d=i?k([],t,v[0]):Promise.resolve(F([],v[0],y[0]));for(var n=function(i){d=d.then((function(n){if(!h||!y[i]||h(y[i],i,y)){var s=t?v[i]:o(e.options,n);return k(n,t,s)}return Promise.resolve(F(n,v[i],y[i]))}))},s=1;s0?this.queries.filter((function(e){return(0,s._x)(i,e)})):this.queries},i.notify=function(e){var t=this;o.V.batch((function(){t.listeners.forEach((function(t){t(e)}))}))},i.onFocus=function(){var e=this;o.V.batch((function(){e.queries.forEach((function(e){e.onFocus()}))}))},i.onOnline=function(){var e=this;o.V.batch((function(){e.queries.forEach((function(e){e.onOnline()}))}))},t}(a.l):null},8328:function(e,t,i){"use strict";if(i.d(t,{S:function(){return d}}),361==i.j)var n=i(7462);if(361==i.j)var s=i(2288);if(361==i.j)var r=i(730);if(361==i.j)var o=i(8133);if(361==i.j)var a=i(9852);if(361==i.j)var l=i(68);if(361==i.j)var u=i(101);if(361==i.j)var c=i(6997);var d=361==i.j?function(){function e(e){void 0===e&&(e={}),this.queryCache=e.queryCache||new r.t,this.mutationCache=e.mutationCache||new o.L,this.defaultOptions=e.defaultOptions||{},this.queryDefaults=[],this.mutationDefaults=[]}var t=e.prototype;return t.mount=function(){var e=this;this.unsubscribeFocus=a.j.subscribe((function(){a.j.isFocused()&&l.N.isOnline()&&(e.mutationCache.onFocus(),e.queryCache.onFocus())})),this.unsubscribeOnline=l.N.subscribe((function(){a.j.isFocused()&&l.N.isOnline()&&(e.mutationCache.onOnline(),e.queryCache.onOnline())}))},t.unmount=function(){var e,t;null==(e=this.unsubscribeFocus)||e.call(this),null==(t=this.unsubscribeOnline)||t.call(this)},t.isFetching=function(e,t){var i=(0,s.I6)(e,t)[0];return i.fetching=!0,this.queryCache.findAll(i).length},t.isMutating=function(e){return this.mutationCache.findAll((0,n.Z)({},e,{fetching:!0})).length},t.getQueryData=function(e,t){var i;return null==(i=this.queryCache.find(e,t))?void 0:i.state.data},t.getQueriesData=function(e){return this.getQueryCache().findAll(e).map((function(e){return[e.queryKey,e.state.data]}))},t.setQueryData=function(e,t,i){var n=(0,s._v)(e),r=this.defaultQueryOptions(n);return this.queryCache.build(this,r).setData(t,i)},t.setQueriesData=function(e,t,i){var n=this;return u.V.batch((function(){return n.getQueryCache().findAll(e).map((function(e){var s=e.queryKey;return[s,n.setQueryData(s,t,i)]}))}))},t.getQueryState=function(e,t){var i;return null==(i=this.queryCache.find(e,t))?void 0:i.state},t.removeQueries=function(e,t){var i=(0,s.I6)(e,t)[0],n=this.queryCache;u.V.batch((function(){n.findAll(i).forEach((function(e){n.remove(e)}))}))},t.resetQueries=function(e,t,i){var r=this,o=(0,s.I6)(e,t,i),a=o[0],l=o[1],c=this.queryCache,d=(0,n.Z)({},a,{active:!0});return u.V.batch((function(){return c.findAll(a).forEach((function(e){e.reset()})),r.refetchQueries(d,l)}))},t.cancelQueries=function(e,t,i){var n=this,r=(0,s.I6)(e,t,i),o=r[0],a=r[1],l=void 0===a?{}:a;void 0===l.revert&&(l.revert=!0);var c=u.V.batch((function(){return n.queryCache.findAll(o).map((function(e){return e.cancel(l)}))}));return Promise.all(c).then(s.ZT).catch(s.ZT)},t.invalidateQueries=function(e,t,i){var r,o,a,l=this,c=(0,s.I6)(e,t,i),d=c[0],h=c[1],p=(0,n.Z)({},d,{active:null==(r=null!=(o=d.refetchActive)?o:d.active)||r,inactive:null!=(a=d.refetchInactive)&&a});return u.V.batch((function(){return l.queryCache.findAll(d).forEach((function(e){e.invalidate()})),l.refetchQueries(p,h)}))},t.refetchQueries=function(e,t,i){var r=this,o=(0,s.I6)(e,t,i),a=o[0],l=o[1],c=u.V.batch((function(){return r.queryCache.findAll(a).map((function(e){return e.fetch(void 0,(0,n.Z)({},l,{meta:{refetchPage:null==a?void 0:a.refetchPage}}))}))})),d=Promise.all(c).then(s.ZT);return(null==l?void 0:l.throwOnError)||(d=d.catch(s.ZT)),d},t.fetchQuery=function(e,t,i){var n=(0,s._v)(e,t,i),r=this.defaultQueryOptions(n);void 0===r.retry&&(r.retry=!1);var o=this.queryCache.build(this,r);return o.isStaleByTime(r.staleTime)?o.fetch(r):Promise.resolve(o.state.data)},t.prefetchQuery=function(e,t,i){return this.fetchQuery(e,t,i).then(s.ZT).catch(s.ZT)},t.fetchInfiniteQuery=function(e,t,i){var n=(0,s._v)(e,t,i);return n.behavior=(0,c.Gm)(),this.fetchQuery(n)},t.prefetchInfiniteQuery=function(e,t,i){return this.fetchInfiniteQuery(e,t,i).then(s.ZT).catch(s.ZT)},t.cancelMutations=function(){var e=this,t=u.V.batch((function(){return e.mutationCache.getAll().map((function(e){return e.cancel()}))}));return Promise.all(t).then(s.ZT).catch(s.ZT)},t.resumePausedMutations=function(){return this.getMutationCache().resumePausedMutations()},t.executeMutation=function(e){return this.mutationCache.build(this,e).execute()},t.getQueryCache=function(){return this.queryCache},t.getMutationCache=function(){return this.mutationCache},t.getDefaultOptions=function(){return this.defaultOptions},t.setDefaultOptions=function(e){this.defaultOptions=e},t.setQueryDefaults=function(e,t){var i=this.queryDefaults.find((function(t){return(0,s.yF)(e)===(0,s.yF)(t.queryKey)}));i?i.defaultOptions=t:this.queryDefaults.push({queryKey:e,defaultOptions:t})},t.getQueryDefaults=function(e){var t;return e?null==(t=this.queryDefaults.find((function(t){return(0,s.to)(e,t.queryKey)})))?void 0:t.defaultOptions:void 0},t.setMutationDefaults=function(e,t){var i=this.mutationDefaults.find((function(t){return(0,s.yF)(e)===(0,s.yF)(t.mutationKey)}));i?i.defaultOptions=t:this.mutationDefaults.push({mutationKey:e,defaultOptions:t})},t.getMutationDefaults=function(e){var t;return e?null==(t=this.mutationDefaults.find((function(t){return(0,s.to)(e,t.mutationKey)})))?void 0:t.defaultOptions:void 0},t.defaultQueryOptions=function(e){if(null==e?void 0:e._defaulted)return e;var t=(0,n.Z)({},this.defaultOptions.queries,this.getQueryDefaults(null==e?void 0:e.queryKey),e,{_defaulted:!0});return!t.queryHash&&t.queryKey&&(t.queryHash=(0,s.Rm)(t.queryKey,t)),t},t.defaultQueryObserverOptions=function(e){return this.defaultQueryOptions(e)},t.defaultMutationOptions=function(e){return(null==e?void 0:e._defaulted)?e:(0,n.Z)({},this.defaultOptions.mutations,this.getMutationDefaults(null==e?void 0:e.mutationKey),e,{_defaulted:!0})},t.clear=function(){this.queryCache.clear(),this.mutationCache.clear()},e}():null},4254:function(e,t,i){"use strict";if(i.d(t,{z:function(){return d}}),361==i.j)var n=i(7462);if(361==i.j)var s=i(4578);if(361==i.j)var r=i(2288);if(361==i.j)var o=i(101);if(361==i.j)var a=i(9852);if(361==i.j)var l=i(2943);if(361==i.j)var u=i(1909);if(361==i.j)var c=i(1216);var d=361==i.j?function(e){function t(t,i){var n;return(n=e.call(this)||this).client=t,n.options=i,n.trackedProps=[],n.selectError=null,n.bindMethods(),n.setOptions(i),n}(0,s.Z)(t,e);var i=t.prototype;return i.bindMethods=function(){this.remove=this.remove.bind(this),this.refetch=this.refetch.bind(this)},i.onSubscribe=function(){1===this.listeners.length&&(this.currentQuery.addObserver(this),h(this.currentQuery,this.options)&&this.executeFetch(),this.updateTimers())},i.onUnsubscribe=function(){this.listeners.length||this.destroy()},i.shouldFetchOnReconnect=function(){return p(this.currentQuery,this.options,this.options.refetchOnReconnect)},i.shouldFetchOnWindowFocus=function(){return p(this.currentQuery,this.options,this.options.refetchOnWindowFocus)},i.destroy=function(){this.listeners=[],this.clearTimers(),this.currentQuery.removeObserver(this)},i.setOptions=function(e,t){var i=this.options,n=this.currentQuery;if(this.options=this.client.defaultQueryObserverOptions(e),void 0!==this.options.enabled&&"boolean"!=typeof this.options.enabled)throw new Error("Expected enabled to be a boolean");this.options.queryKey||(this.options.queryKey=i.queryKey),this.updateQuery();var s=this.hasListeners();s&&f(this.currentQuery,n,this.options,i)&&this.executeFetch(),this.updateResult(t),!s||this.currentQuery===n&&this.options.enabled===i.enabled&&this.options.staleTime===i.staleTime||this.updateStaleTimeout();var r=this.computeRefetchInterval();!s||this.currentQuery===n&&this.options.enabled===i.enabled&&r===this.currentRefetchInterval||this.updateRefetchInterval(r)},i.getOptimisticResult=function(e){var t=this.client.defaultQueryObserverOptions(e),i=this.client.getQueryCache().build(this.client,t);return this.createResult(i,t)},i.getCurrentResult=function(){return this.currentResult},i.trackResult=function(e,t){var i=this,n={},s=function(e){i.trackedProps.includes(e)||i.trackedProps.push(e)};return Object.keys(e).forEach((function(t){Object.defineProperty(n,t,{configurable:!1,enumerable:!0,get:function(){return s(t),e[t]}})})),(t.useErrorBoundary||t.suspense)&&s("error"),n},i.getNextResult=function(e){var t=this;return new Promise((function(i,n){var s=t.subscribe((function(t){t.isFetching||(s(),t.isError&&(null==e?void 0:e.throwOnError)?n(t.error):i(t))}))}))},i.getCurrentQuery=function(){return this.currentQuery},i.remove=function(){this.client.getQueryCache().remove(this.currentQuery)},i.refetch=function(e){return this.fetch((0,n.Z)({},e,{meta:{refetchPage:null==e?void 0:e.refetchPage}}))},i.fetchOptimistic=function(e){var t=this,i=this.client.defaultQueryObserverOptions(e),n=this.client.getQueryCache().build(this.client,i);return n.fetch().then((function(){return t.createResult(n,i)}))},i.fetch=function(e){var t=this;return this.executeFetch(e).then((function(){return t.updateResult(),t.currentResult}))},i.executeFetch=function(e){this.updateQuery();var t=this.currentQuery.fetch(this.options,e);return(null==e?void 0:e.throwOnError)||(t=t.catch(r.ZT)),t},i.updateStaleTimeout=function(){var e=this;if(this.clearStaleTimeout(),!r.sk&&!this.currentResult.isStale&&(0,r.PN)(this.options.staleTime)){var t=(0,r.Kp)(this.currentResult.dataUpdatedAt,this.options.staleTime)+1;this.staleTimeoutId=setTimeout((function(){e.currentResult.isStale||e.updateResult()}),t)}},i.computeRefetchInterval=function(){var e;return"function"==typeof this.options.refetchInterval?this.options.refetchInterval(this.currentResult.data,this.currentQuery):null!=(e=this.options.refetchInterval)&&e},i.updateRefetchInterval=function(e){var t=this;this.clearRefetchInterval(),this.currentRefetchInterval=e,!r.sk&&!1!==this.options.enabled&&(0,r.PN)(this.currentRefetchInterval)&&0!==this.currentRefetchInterval&&(this.refetchIntervalId=setInterval((function(){(t.options.refetchIntervalInBackground||a.j.isFocused())&&t.executeFetch()}),this.currentRefetchInterval))},i.updateTimers=function(){this.updateStaleTimeout(),this.updateRefetchInterval(this.computeRefetchInterval())},i.clearTimers=function(){this.clearStaleTimeout(),this.clearRefetchInterval()},i.clearStaleTimeout=function(){this.staleTimeoutId&&(clearTimeout(this.staleTimeoutId),this.staleTimeoutId=void 0)},i.clearRefetchInterval=function(){this.refetchIntervalId&&(clearInterval(this.refetchIntervalId),this.refetchIntervalId=void 0)},i.createResult=function(e,t){var i,n=this.currentQuery,s=this.options,o=this.currentResult,a=this.currentResultState,l=this.currentResultOptions,c=e!==n,d=c?e.state:this.currentQueryInitialState,p=c?this.currentResult:this.previousQueryResult,g=e.state,y=g.dataUpdatedAt,v=g.error,b=g.errorUpdatedAt,w=g.isFetching,C=g.status,P=!1,S=!1;if(t.optimisticResults){var F=this.hasListeners(),k=!F&&h(e,t),O=F&&f(e,n,t,s);(k||O)&&(w=!0,y||(C="loading"))}if(t.keepPreviousData&&!g.dataUpdateCount&&(null==p?void 0:p.isSuccess)&&"error"!==C)i=p.data,y=p.dataUpdatedAt,C=p.status,P=!0;else if(t.select&&void 0!==g.data)if(o&&g.data===(null==a?void 0:a.data)&&t.select===this.selectFn)i=this.selectResult;else try{this.selectFn=t.select,i=t.select(g.data),!1!==t.structuralSharing&&(i=(0,r.Q$)(null==o?void 0:o.data,i)),this.selectResult=i,this.selectError=null}catch(e){(0,u.j)().error(e),this.selectError=e}else i=g.data;if(void 0!==t.placeholderData&&void 0===i&&("loading"===C||"idle"===C)){var T;if((null==o?void 0:o.isPlaceholderData)&&t.placeholderData===(null==l?void 0:l.placeholderData))T=o.data;else if(T="function"==typeof t.placeholderData?t.placeholderData():t.placeholderData,t.select&&void 0!==T)try{T=t.select(T),!1!==t.structuralSharing&&(T=(0,r.Q$)(null==o?void 0:o.data,T)),this.selectError=null}catch(e){(0,u.j)().error(e),this.selectError=e}void 0!==T&&(C="success",i=T,S=!0)}return this.selectError&&(v=this.selectError,i=this.selectResult,b=Date.now(),C="error"),{status:C,isLoading:"loading"===C,isSuccess:"success"===C,isError:"error"===C,isIdle:"idle"===C,data:i,dataUpdatedAt:y,error:v,errorUpdatedAt:b,failureCount:g.fetchFailureCount,errorUpdateCount:g.errorUpdateCount,isFetched:g.dataUpdateCount>0||g.errorUpdateCount>0,isFetchedAfterMount:g.dataUpdateCount>d.dataUpdateCount||g.errorUpdateCount>d.errorUpdateCount,isFetching:w,isRefetching:w&&"loading"!==C,isLoadingError:"error"===C&&0===g.dataUpdatedAt,isPlaceholderData:S,isPreviousData:P,isRefetchError:"error"===C&&0!==g.dataUpdatedAt,isStale:m(e,t),refetch:this.refetch,remove:this.remove}},i.shouldNotifyListeners=function(e,t){if(!t)return!0;var i=this.options,n=i.notifyOnChangeProps,s=i.notifyOnChangePropsExclusions;if(!n&&!s)return!0;if("tracked"===n&&!this.trackedProps.length)return!0;var r="tracked"===n?this.trackedProps:n;return Object.keys(e).some((function(i){var n=i,o=e[n]!==t[n],a=null==r?void 0:r.some((function(e){return e===i})),l=null==s?void 0:s.some((function(e){return e===i}));return o&&!l&&(!r||a)}))},i.updateResult=function(e){var t=this.currentResult;if(this.currentResult=this.createResult(this.currentQuery,this.options),this.currentResultState=this.currentQuery.state,this.currentResultOptions=this.options,!(0,r.VS)(this.currentResult,t)){var i={cache:!0};!1!==(null==e?void 0:e.listeners)&&this.shouldNotifyListeners(this.currentResult,t)&&(i.listeners=!0),this.notify((0,n.Z)({},i,e))}},i.updateQuery=function(){var e=this.client.getQueryCache().build(this.client,this.options);if(e!==this.currentQuery){var t=this.currentQuery;this.currentQuery=e,this.currentQueryInitialState=e.state,this.previousQueryResult=this.currentResult,this.hasListeners()&&(null==t||t.removeObserver(this),e.addObserver(this))}},i.onQueryUpdate=function(e){var t={};"success"===e.type?t.onSuccess=!0:"error"!==e.type||(0,c.DV)(e.error)||(t.onError=!0),this.updateResult(t),this.hasListeners()&&this.updateTimers()},i.notify=function(e){var t=this;o.V.batch((function(){e.onSuccess?(null==t.options.onSuccess||t.options.onSuccess(t.currentResult.data),null==t.options.onSettled||t.options.onSettled(t.currentResult.data,null)):e.onError&&(null==t.options.onError||t.options.onError(t.currentResult.error),null==t.options.onSettled||t.options.onSettled(void 0,t.currentResult.error)),e.listeners&&t.listeners.forEach((function(e){e(t.currentResult)})),e.cache&&t.client.getQueryCache().notify({query:t.currentQuery,type:"observerResultsUpdated"})}))},t}(l.l):null;function h(e,t){return function(e,t){return!(!1===t.enabled||e.state.dataUpdatedAt||"error"===e.state.status&&!1===t.retryOnMount)}(e,t)||e.state.dataUpdatedAt>0&&p(e,t,t.refetchOnMount)}function p(e,t,i){if(!1!==t.enabled){var n="function"==typeof i?i(e):i;return"always"===n||!1!==n&&m(e,t)}return!1}function f(e,t,i,n){return!1!==i.enabled&&(e!==t||!1===n.enabled)&&(!i.suspense||"error"!==e.state.status)&&m(e,i)}function m(e,t){return e.isStaleByTime(t.staleTime)}},1216:function(e,t,i){"use strict";if(i.d(t,{DV:function(){return u},LE:function(){return a},m4:function(){return c}}),361==i.j)var n=i(9852);if(361==i.j)var s=i(68);if(361==i.j)var r=i(2288);function o(e){return Math.min(1e3*Math.pow(2,e),3e4)}function a(e){return"function"==typeof(null==e?void 0:e.cancel)}var l=function(e){this.revert=null==e?void 0:e.revert,this.silent=null==e?void 0:e.silent};function u(e){return e instanceof l}var c=function(e){var t,i,u,c,d=this,h=!1;this.abort=e.abort,this.cancel=function(e){return null==t?void 0:t(e)},this.cancelRetry=function(){h=!0},this.continueRetry=function(){h=!1},this.continue=function(){return null==i?void 0:i()},this.failureCount=0,this.isPaused=!1,this.isResolved=!1,this.isTransportCancelable=!1,this.promise=new Promise((function(e,t){u=e,c=t}));var p=function(t){d.isResolved||(d.isResolved=!0,null==e.onSuccess||e.onSuccess(t),null==i||i(),u(t))},f=function(t){d.isResolved||(d.isResolved=!0,null==e.onError||e.onError(t),null==i||i(),c(t))};!function u(){if(!d.isResolved){var c;try{c=e.fn()}catch(e){c=Promise.reject(e)}t=function(e){if(!d.isResolved&&(f(new l(e)),null==d.abort||d.abort(),a(c)))try{c.cancel()}catch(e){}},d.isTransportCancelable=a(c),Promise.resolve(c).then(p).catch((function(t){var a,l;if(!d.isResolved){var c=null!=(a=e.retry)?a:3,p=null!=(l=e.retryDelay)?l:o,m="function"==typeof p?p(d.failureCount,t):p,g=!0===c||"number"==typeof c&&d.failureCount0},t.onSubscribe=function(){},t.onUnsubscribe=function(){},e}():null},6755:function(){},2288:function(e,t,i){"use strict";if(i.d(t,{A4:function(){return O},G9:function(){return T},Gh:function(){return k},I6:function(){return h},Kp:function(){return u},PN:function(){return a},Q$:function(){return w},Rm:function(){return g},SE:function(){return o},VS:function(){return C},X7:function(){return m},ZT:function(){return r},_v:function(){return c},_x:function(){return f},cb:function(){return p},lV:function(){return d},mc:function(){return l},sk:function(){return s},to:function(){return v},yF:function(){return y}}),361==i.j)var n=i(7462);var s="undefined"==typeof window;function r(){}function o(e,t){return"function"==typeof e?e(t):e}function a(e){return"number"==typeof e&&e>=0&&e!==1/0}function l(e){return Array.isArray(e)?e:[e]}function u(e,t){return Math.max(e+(t||0)-Date.now(),0)}function c(e,t,i){return F(e)?"function"==typeof t?(0,n.Z)({},i,{queryKey:e,queryFn:t}):(0,n.Z)({},t,{queryKey:e}):e}function d(e,t,i){return F(e)?"function"==typeof t?(0,n.Z)({},i,{mutationKey:e,mutationFn:t}):(0,n.Z)({},t,{mutationKey:e}):"function"==typeof e?(0,n.Z)({},t,{mutationFn:e}):(0,n.Z)({},e)}function h(e,t,i){return F(e)?[(0,n.Z)({},t,{queryKey:e}),i]:[e||{},t]}function p(e,t){return F(e)?(0,n.Z)({},t,{mutationKey:e}):e}function f(e,t){var i=e.active,n=e.exact,s=e.fetching,r=e.inactive,o=e.predicate,a=e.queryKey,l=e.stale;if(F(a))if(n){if(t.queryHash!==g(a,t.options))return!1}else if(!v(t.queryKey,a))return!1;var u=function(e,t){return!0===e&&!0===t||null==e&&null==t?"all":!1===e&&!1===t?"none":(null!=e?e:!t)?"active":"inactive"}(i,r);if("none"===u)return!1;if("all"!==u){var c=t.isActive();if("active"===u&&!c)return!1;if("inactive"===u&&c)return!1}return("boolean"!=typeof l||t.isStale()===l)&&(("boolean"!=typeof s||t.isFetching()===s)&&!(o&&!o(t)))}function m(e,t){var i=e.exact,n=e.fetching,s=e.predicate,r=e.mutationKey;if(F(r)){if(!t.options.mutationKey)return!1;if(i){if(y(t.options.mutationKey)!==y(r))return!1}else if(!v(t.options.mutationKey,r))return!1}return("boolean"!=typeof n||"loading"===t.state.status===n)&&!(s&&!s(t))}function g(e,t){return((null==t?void 0:t.queryKeyHashFn)||y)(e)}function y(e){var t,i=l(e);return t=i,JSON.stringify(t,(function(e,t){return P(t)?Object.keys(t).sort().reduce((function(e,i){return e[i]=t[i],e}),{}):t}))}function v(e,t){return b(l(e),l(t))}function b(e,t){return e===t||typeof e==typeof t&&(!(!e||!t||"object"!=typeof e||"object"!=typeof t)&&!Object.keys(t).some((function(i){return!b(e[i],t[i])})))}function w(e,t){if(e===t)return e;var i=Array.isArray(e)&&Array.isArray(t);if(i||P(e)&&P(t)){for(var n=i?e.length:Object.keys(e).length,s=i?t:Object.keys(t),r=s.length,o=i?[]:{},a=0,l=0;l{const i={};for(const n in e)i[e[n]]=t+e[n];return i},n=i(["container","shown","height-auto","iosfix","popup","modal","no-backdrop","no-transition","toast","toast-shown","show","hide","close","title","html-container","actions","confirm","deny","cancel","default-outline","footer","icon","icon-content","image","input","file","range","select","radio","checkbox","label","textarea","inputerror","input-label","validation-message","progress-steps","active-progress-step","progress-step","progress-step-line","loader","loading","styled","top","top-start","top-end","top-left","top-right","center","center-start","center-end","center-left","center-right","bottom","bottom-start","bottom-end","bottom-left","bottom-right","grow-row","grow-column","grow-fullscreen","rtl","timer-progress-bar","timer-progress-bar-container","scrollbar-measure","icon-success","icon-warning","icon-info","icon-question","icon-error"]),s=i(["success","warning","info","question","error"]),r="SweetAlert2:",o=e=>{const t=[];for(let i=0;ie.charAt(0).toUpperCase()+e.slice(1),l=e=>{console.warn(`${r} ${"object"==typeof e?e.join(" "):e}`)},u=e=>{console.error(`${r} ${e}`)},c=[],d=e=>{c.includes(e)||(c.push(e),l(e))},h=(e,t)=>{d(`"${e}" is deprecated and will be removed in the next major release. Please use "${t}" instead.`)},p=e=>"function"==typeof e?e():e,f=e=>e&&"function"==typeof e.toPromise,m=e=>f(e)?e.toPromise():Promise.resolve(e),g=e=>e&&Promise.resolve(e)===e,y=()=>document.body.querySelector(`.${n.container}`),v=e=>{const t=y();return t?t.querySelector(e):null},b=e=>v(`.${e}`),w=()=>b(n.popup),C=()=>b(n.icon),P=()=>b(n["icon-content"]),S=()=>b(n.title),F=()=>b(n["html-container"]),k=()=>b(n.image),O=()=>b(n["progress-steps"]),T=()=>b(n["validation-message"]),E=()=>v(`.${n.actions} .${n.confirm}`),x=()=>v(`.${n.actions} .${n.deny}`),A=()=>b(n["input-label"]),D=()=>v(`.${n.loader}`),_=()=>v(`.${n.actions} .${n.cancel}`),R=()=>b(n.actions),U=()=>b(n.footer),B=()=>b(n["timer-progress-bar"]),M=()=>b(n.close),I='\n a[href],\n area[href],\n input:not([disabled]),\n select:not([disabled]),\n textarea:not([disabled]),\n button:not([disabled]),\n iframe,\n object,\n embed,\n [tabindex="0"],\n [contenteditable],\n audio[controls],\n video[controls],\n summary\n',j=()=>{const e=Array.from(w().querySelectorAll('[tabindex]:not([tabindex="-1"]):not([tabindex="0"])')).sort(((e,t)=>{const i=parseInt(e.getAttribute("tabindex")),n=parseInt(t.getAttribute("tabindex"));return i>n?1:i"-1"!==e.getAttribute("tabindex")));return o(e.concat(t)).filter((e=>se(e)))},N=()=>H(document.body,n.shown)&&!H(document.body,n["toast-shown"])&&!H(document.body,n["no-backdrop"]),L=()=>w()&&H(w(),n.toast),$=()=>w().hasAttribute("data-loading"),z={previousBodyPadding:null},q=(e,t)=>{if(e.textContent="",t){const i=(new DOMParser).parseFromString(t,"text/html");Array.from(i.querySelector("head").childNodes).forEach((t=>{e.appendChild(t)})),Array.from(i.querySelector("body").childNodes).forEach((t=>{t instanceof HTMLVideoElement||t instanceof HTMLAudioElement?e.appendChild(t.cloneNode(!0)):e.appendChild(t)}))}},H=(e,t)=>{if(!t)return!1;const i=t.split(/\s+/);for(let t=0;t{Array.from(e.classList).forEach((i=>{Object.values(n).includes(i)||Object.values(s).includes(i)||Object.values(t.showClass).includes(i)||e.classList.remove(i)}))},Z=(e,t,i)=>{if(V(e,t),t.customClass&&t.customClass[i]){if("string"!=typeof t.customClass[i]&&!t.customClass[i].forEach)return void l(`Invalid type of customClass.${i}! Expected string or iterable object, got "${typeof t.customClass[i]}"`);G(e,t.customClass[i])}},W=(e,t)=>{if(!t)return null;switch(t){case"select":case"textarea":case"file":return e.querySelector(`.${n.popup} > .${n[t]}`);case"checkbox":return e.querySelector(`.${n.popup} > .${n.checkbox} input`);case"radio":return e.querySelector(`.${n.popup} > .${n.radio} input:checked`)||e.querySelector(`.${n.popup} > .${n.radio} input:first-child`);case"range":return e.querySelector(`.${n.popup} > .${n.range} input`);default:return e.querySelector(`.${n.popup} > .${n.input}`)}},Q=e=>{if(e.focus(),"file"!==e.type){const t=e.value;e.value="",e.value=t}},K=(e,t,i)=>{e&&t&&("string"==typeof t&&(t=t.split(/\s+/).filter(Boolean)),t.forEach((t=>{Array.isArray(e)?e.forEach((e=>{i?e.classList.add(t):e.classList.remove(t)})):i?e.classList.add(t):e.classList.remove(t)})))},G=(e,t)=>{K(e,t,!0)},X=(e,t)=>{K(e,t,!1)},Y=(e,t)=>{const i=Array.from(e.children);for(let e=0;e{i===`${parseInt(i)}`&&(i=parseInt(i)),i||0===parseInt(i)?e.style[t]="number"==typeof i?`${i}px`:i:e.style.removeProperty(t)},ee=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"flex";e.style.display=t},te=e=>{e.style.display="none"},ie=(e,t,i,n)=>{const s=e.querySelector(t);s&&(s.style[i]=n)},ne=function(e,t){t?ee(e,arguments.length>2&&void 0!==arguments[2]?arguments[2]:"flex"):te(e)},se=e=>!(!e||!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)),re=()=>!se(E())&&!se(x())&&!se(_()),oe=e=>!!(e.scrollHeight>e.clientHeight),ae=e=>{const t=window.getComputedStyle(e),i=parseFloat(t.getPropertyValue("animation-duration")||"0"),n=parseFloat(t.getPropertyValue("transition-duration")||"0");return i>0||n>0},le=function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];const i=B();se(i)&&(t&&(i.style.transition="none",i.style.width="100%"),setTimeout((()=>{i.style.transition=`width ${e/1e3}s linear`,i.style.width="0%"}),10))},ue=()=>{const e=B(),t=parseInt(window.getComputedStyle(e).width);e.style.removeProperty("transition"),e.style.width="100%";const i=t/parseInt(window.getComputedStyle(e).width)*100;e.style.removeProperty("transition"),e.style.width=`${i}%`},ce=100,de={},he=()=>{de.previousActiveElement instanceof HTMLElement?(de.previousActiveElement.focus(),de.previousActiveElement=null):document.body&&document.body.focus()},pe=e=>new Promise((t=>{if(!e)return t();const i=window.scrollX,n=window.scrollY;de.restoreFocusTimeout=setTimeout((()=>{he(),t()}),ce),window.scrollTo(i,n)})),fe=()=>"undefined"==typeof window||"undefined"==typeof document,me=`\n
    \n \n
      \n
      \n \n

      \n
      \n \n \n
      \n \n \n
      \n \n
      \n \n \n
      \n
      \n
      \n \n \n \n
      \n
      \n
      \n
      \n
      \n
      \n`.replace(/(^|\n)\s*/g,""),ge=()=>{const e=y();return!!e&&(e.remove(),X([document.documentElement,document.body],[n["no-backdrop"],n["toast-shown"],n["has-column"]]),!0)},ye=()=>{de.currentInstance.resetValidationMessage()},ve=()=>{const e=w(),t=Y(e,n.input),i=Y(e,n.file),s=e.querySelector(`.${n.range} input`),r=e.querySelector(`.${n.range} output`),o=Y(e,n.select),a=e.querySelector(`.${n.checkbox} input`),l=Y(e,n.textarea);t.oninput=ye,i.onchange=ye,o.onchange=ye,a.onchange=ye,l.oninput=ye,s.oninput=()=>{ye(),r.value=s.value},s.onchange=()=>{ye(),r.value=s.value}},be=e=>"string"==typeof e?document.querySelector(e):e,we=e=>{const t=w();t.setAttribute("role",e.toast?"alert":"dialog"),t.setAttribute("aria-live",e.toast?"polite":"assertive"),e.toast||t.setAttribute("aria-modal","true")},Ce=e=>{"rtl"===window.getComputedStyle(e).direction&&G(y(),n.rtl)},Pe=e=>{const t=ge();if(fe())return void u("SweetAlert2 requires document to initialize");const i=document.createElement("div");i.className=n.container,t&&G(i,n["no-transition"]),q(i,me);const s=be(e.target);s.appendChild(i),we(e),Ce(s),ve()},Se=(e,t)=>{e instanceof HTMLElement?t.appendChild(e):"object"==typeof e?Fe(e,t):e&&q(t,e)},Fe=(e,t)=>{e.jquery?ke(t,e):q(t,e.toString())},ke=(e,t)=>{if(e.textContent="",0 in t)for(let i=0;i in t;i++)e.appendChild(t[i].cloneNode(!0));else e.appendChild(t.cloneNode(!0))},Oe=(()=>{if(fe())return!1;const e=document.createElement("div"),t={WebkitAnimation:"webkitAnimationEnd",animation:"animationend"};for(const i in t)if(Object.prototype.hasOwnProperty.call(t,i)&&void 0!==e.style[i])return t[i];return!1})(),Te=()=>{const e=document.createElement("div");e.className=n["scrollbar-measure"],document.body.appendChild(e);const t=e.getBoundingClientRect().width-e.clientWidth;return document.body.removeChild(e),t},Ee=(e,t)=>{const i=R(),n=D();t.showConfirmButton||t.showDenyButton||t.showCancelButton?ee(i):te(i),Z(i,t,"actions"),xe(i,n,t),q(n,t.loaderHtml),Z(n,t,"loader")};function xe(e,t,i){const n=E(),s=x(),r=_();De(n,"confirm",i),De(s,"deny",i),De(r,"cancel",i),Ae(n,s,r,i),i.reverseButtons&&(i.toast?(e.insertBefore(r,n),e.insertBefore(s,n)):(e.insertBefore(r,t),e.insertBefore(s,t),e.insertBefore(n,t)))}function Ae(e,t,i,s){s.buttonsStyling?(G([e,t,i],n.styled),s.confirmButtonColor&&(e.style.backgroundColor=s.confirmButtonColor,G(e,n["default-outline"])),s.denyButtonColor&&(t.style.backgroundColor=s.denyButtonColor,G(t,n["default-outline"])),s.cancelButtonColor&&(i.style.backgroundColor=s.cancelButtonColor,G(i,n["default-outline"]))):X([e,t,i],n.styled)}function De(e,t,i){ne(e,i[`show${a(t)}Button`],"inline-block"),q(e,i[`${t}ButtonText`]),e.setAttribute("aria-label",i[`${t}ButtonAriaLabel`]),e.className=n[t],Z(e,i,`${t}Button`),G(e,i[`${t}ButtonClass`])}const _e=(e,t)=>{const i=M();q(i,t.closeButtonHtml),Z(i,t,"closeButton"),ne(i,t.showCloseButton),i.setAttribute("aria-label",t.closeButtonAriaLabel)},Re=(e,t)=>{const i=y();i&&(Ue(i,t.backdrop),Be(i,t.position),Me(i,t.grow),Z(i,t,"container"))};function Ue(e,t){"string"==typeof t?e.style.background=t:t||G([document.documentElement,document.body],n["no-backdrop"])}function Be(e,t){t in n?G(e,n[t]):(l('The "position" parameter is not valid, defaulting to "center"'),G(e,n.center))}function Me(e,t){if(t&&"string"==typeof t){const i=`grow-${t}`;i in n&&G(e,n[i])}}const Ie=["input","file","range","select","radio","checkbox","textarea"],je=(t,i)=>{const s=w(),r=e.innerParams.get(t),o=!r||i.input!==r.input;Ie.forEach((e=>{const t=Y(s,n[e]);$e(e,i.inputAttributes),t.className=n[e],o&&te(t)})),i.input&&(o&&Ne(i),ze(i))},Ne=e=>{if(!We[e.input])return void u(`Unexpected type of input! Expected "text", "email", "password", "number", "tel", "select", "radio", "checkbox", "textarea", "file" or "url", got "${e.input}"`);const t=Ve(e.input),i=We[e.input](t,e);ee(t),setTimeout((()=>{Q(i)}))},Le=e=>{for(let t=0;t{const i=W(w(),e);if(i){Le(i);for(const e in t)i.setAttribute(e,t[e])}},ze=e=>{const t=Ve(e.input);"object"==typeof e.customClass&&G(t,e.customClass.input)},qe=(e,t)=>{e.placeholder&&!t.inputPlaceholder||(e.placeholder=t.inputPlaceholder)},He=(e,t,i)=>{if(i.inputLabel){e.id=n.input;const s=document.createElement("label"),r=n["input-label"];s.setAttribute("for",e.id),s.className=r,"object"==typeof i.customClass&&G(s,i.customClass.inputLabel),s.innerText=i.inputLabel,t.insertAdjacentElement("beforebegin",s)}},Ve=e=>Y(w(),n[e]||n.input),Ze=(e,t)=>{["string","number"].includes(typeof t)?e.value=`${t}`:g(t)||l(`Unexpected type of inputValue! Expected "string", "number" or "Promise", got "${typeof t}"`)},We={};We.text=We.email=We.password=We.number=We.tel=We.url=(e,t)=>(Ze(e,t.inputValue),He(e,e,t),qe(e,t),e.type=t.input,e),We.file=(e,t)=>(He(e,e,t),qe(e,t),e),We.range=(e,t)=>{const i=e.querySelector("input"),n=e.querySelector("output");return Ze(i,t.inputValue),i.type=t.input,Ze(n,t.inputValue),He(i,e,t),e},We.select=(e,t)=>{if(e.textContent="",t.inputPlaceholder){const i=document.createElement("option");q(i,t.inputPlaceholder),i.value="",i.disabled=!0,i.selected=!0,e.appendChild(i)}return He(e,e,t),e},We.radio=e=>(e.textContent="",e),We.checkbox=(e,t)=>{const i=W(w(),"checkbox");i.value="1",i.id=n.checkbox,i.checked=Boolean(t.inputValue);const s=e.querySelector("span");return q(s,t.inputPlaceholder),i},We.textarea=(e,t)=>{Ze(e,t.inputValue),qe(e,t),He(e,e,t);const i=e=>parseInt(window.getComputedStyle(e).marginLeft)+parseInt(window.getComputedStyle(e).marginRight);return setTimeout((()=>{if("MutationObserver"in window){const t=parseInt(window.getComputedStyle(w()).width);new MutationObserver((()=>{const n=e.offsetWidth+i(e);w().style.width=n>t?`${n}px`:null})).observe(e,{attributes:!0,attributeFilter:["style"]})}})),e};const Qe=(e,t)=>{const i=F();Z(i,t,"htmlContainer"),t.html?(Se(t.html,i),ee(i,"block")):t.text?(i.textContent=t.text,ee(i,"block")):te(i),je(e,t)},Ke=(e,t)=>{const i=U();ne(i,t.footer),t.footer&&Se(t.footer,i),Z(i,t,"footer")},Ge=(t,i)=>{const n=e.innerParams.get(t),r=C();if(n&&i.icon===n.icon)return tt(r,i),void Xe(r,i);if(i.icon||i.iconHtml){if(i.icon&&-1===Object.keys(s).indexOf(i.icon))return u(`Unknown icon! Expected "success", "error", "warning", "info" or "question", got "${i.icon}"`),void te(r);ee(r),tt(r,i),Xe(r,i),G(r,i.showClass.icon)}else te(r)},Xe=(e,t)=>{for(const i in s)t.icon!==i&&X(e,s[i]);G(e,s[t.icon]),it(e,t),Ye(),Z(e,t,"icon")},Ye=()=>{const e=w(),t=window.getComputedStyle(e).getPropertyValue("background-color"),i=e.querySelectorAll("[class^=swal2-success-circular-line], .swal2-success-fix");for(let e=0;e
      \n \n
      \n
      \n',et='\n \n \n \n \n',tt=(e,t)=>{let i,n=e.innerHTML;t.iconHtml?i=nt(t.iconHtml):"success"===t.icon?(i=Je,n=n.replace(/ style=".*?"/g,"")):i="error"===t.icon?et:nt({question:"?",warning:"!",info:"i"}[t.icon]),n.trim()!==i.trim()&&q(e,i)},it=(e,t)=>{if(t.iconColor){e.style.color=t.iconColor,e.style.borderColor=t.iconColor;for(const i of[".swal2-success-line-tip",".swal2-success-line-long",".swal2-x-mark-line-left",".swal2-x-mark-line-right"])ie(e,i,"backgroundColor",t.iconColor);ie(e,".swal2-success-ring","borderColor",t.iconColor)}},nt=e=>`
      ${e}
      `,st=(e,t)=>{const i=k();t.imageUrl?(ee(i,""),i.setAttribute("src",t.imageUrl),i.setAttribute("alt",t.imageAlt),J(i,"width",t.imageWidth),J(i,"height",t.imageHeight),i.className=n.image,Z(i,t,"image")):te(i)},rt=(e,t)=>{const i=y(),n=w();t.toast?(J(i,"width",t.width),n.style.width="100%",n.insertBefore(D(),C())):J(n,"width",t.width),J(n,"padding",t.padding),t.color&&(n.style.color=t.color),t.background&&(n.style.background=t.background),te(T()),ot(n,t)},ot=(e,t)=>{e.className=`${n.popup} ${se(e)?t.showClass.popup:""}`,t.toast?(G([document.documentElement,document.body],n["toast-shown"]),G(e,n.toast)):G(e,n.modal),Z(e,t,"popup"),"string"==typeof t.customClass&&G(e,t.customClass),t.icon&&G(e,n[`icon-${t.icon}`])},at=(e,t)=>{const i=O();t.progressSteps&&0!==t.progressSteps.length?(ee(i),i.textContent="",t.currentProgressStep>=t.progressSteps.length&&l("Invalid currentProgressStep parameter, it should be less than progressSteps.length (currentProgressStep like JS arrays starts from 0)"),t.progressSteps.forEach(((e,s)=>{const r=lt(e);if(i.appendChild(r),s===t.currentProgressStep&&G(r,n["active-progress-step"]),s!==t.progressSteps.length-1){const e=ut(t);i.appendChild(e)}}))):te(i)},lt=e=>{const t=document.createElement("li");return G(t,n["progress-step"]),q(t,e),t},ut=e=>{const t=document.createElement("li");return G(t,n["progress-step-line"]),e.progressStepsDistance&&J(t,"width",e.progressStepsDistance),t},ct=(e,t)=>{const i=S();ne(i,t.title||t.titleText,"block"),t.title&&Se(t.title,i),t.titleText&&(i.innerText=t.titleText),Z(i,t,"title")},dt=(e,t)=>{rt(e,t),Re(e,t),at(e,t),Ge(e,t),st(e,t),ct(e,t),_e(e,t),Qe(e,t),Ee(e,t),Ke(e,t),"function"==typeof t.didRender&&t.didRender(w())};function ht(){const t=e.innerParams.get(this);if(!t)return;const i=e.domCache.get(this);te(i.loader),L()?t.icon&&ee(C()):pt(i),X([i.popup,i.actions],n.loading),i.popup.removeAttribute("aria-busy"),i.popup.removeAttribute("data-loading"),i.confirmButton.disabled=!1,i.denyButton.disabled=!1,i.cancelButton.disabled=!1}const pt=e=>{const t=e.popup.getElementsByClassName(e.loader.getAttribute("data-button-to-replace"));t.length?ee(t[0],"inline-block"):re()&&te(e.actions)};function ft(t){const i=e.innerParams.get(t||this),n=e.domCache.get(t||this);return n?W(n.popup,i.input):null}const mt=()=>se(w()),gt=()=>E()&&E().click(),yt=()=>x()&&x().click(),vt=()=>_()&&_().click(),bt=Object.freeze({cancel:"cancel",backdrop:"backdrop",close:"close",esc:"esc",timer:"timer"}),wt=e=>{e.keydownTarget&&e.keydownHandlerAdded&&(e.keydownTarget.removeEventListener("keydown",e.keydownHandler,{capture:e.keydownListenerCapture}),e.keydownHandlerAdded=!1)},Ct=(e,t,i,n)=>{wt(t),i.toast||(t.keydownHandler=t=>kt(e,t,n),t.keydownTarget=i.keydownListenerCapture?window:w(),t.keydownListenerCapture=i.keydownListenerCapture,t.keydownTarget.addEventListener("keydown",t.keydownHandler,{capture:t.keydownListenerCapture}),t.keydownHandlerAdded=!0)},Pt=(e,t,i)=>{const n=j();if(n.length)return(t+=i)===n.length?t=0:-1===t&&(t=n.length-1),n[t].focus();w().focus()},St=["ArrowRight","ArrowDown"],Ft=["ArrowLeft","ArrowUp"],kt=(t,i,n)=>{const s=e.innerParams.get(t);s&&(i.isComposing||229===i.keyCode||(s.stopKeydownPropagation&&i.stopPropagation(),"Enter"===i.key?Ot(t,i,s):"Tab"===i.key?Tt(i,s):[...St,...Ft].includes(i.key)?Et(i.key):"Escape"===i.key&&xt(i,s,n)))},Ot=(e,t,i)=>{if(p(i.allowEnterKey)&&t.target&&e.getInput()&&t.target instanceof HTMLElement&&t.target.outerHTML===e.getInput().outerHTML){if(["textarea","file"].includes(i.input))return;gt(),t.preventDefault()}},Tt=(e,t)=>{const i=e.target,n=j();let s=-1;for(let e=0;e{const t=E(),i=x(),n=_();if(document.activeElement instanceof HTMLElement&&![t,i,n].includes(document.activeElement))return;const s=St.includes(e)?"nextElementSibling":"previousElementSibling";let r=document.activeElement;for(let e=0;e{p(t.allowEscapeKey)&&(e.preventDefault(),i(bt.esc))};var At={swalPromiseResolve:new WeakMap,swalPromiseReject:new WeakMap};const Dt=()=>{Array.from(document.body.children).forEach((e=>{e===y()||e.contains(y())||(e.hasAttribute("aria-hidden")&&e.setAttribute("data-previous-aria-hidden",e.getAttribute("aria-hidden")),e.setAttribute("aria-hidden","true"))}))},_t=()=>{Array.from(document.body.children).forEach((e=>{e.hasAttribute("data-previous-aria-hidden")?(e.setAttribute("aria-hidden",e.getAttribute("data-previous-aria-hidden")),e.removeAttribute("data-previous-aria-hidden")):e.removeAttribute("aria-hidden")}))},Rt=()=>{if((/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream||"MacIntel"===navigator.platform&&navigator.maxTouchPoints>1)&&!H(document.body,n.iosfix)){const e=document.body.scrollTop;document.body.style.top=-1*e+"px",G(document.body,n.iosfix),Bt(),Ut()}},Ut=()=>{const e=navigator.userAgent,t=!!e.match(/iPad/i)||!!e.match(/iPhone/i),i=!!e.match(/WebKit/i);if(t&&i&&!e.match(/CriOS/i)){const e=44;w().scrollHeight>window.innerHeight-e&&(y().style.paddingBottom=`${e}px`)}},Bt=()=>{const e=y();let t;e.ontouchstart=e=>{t=Mt(e)},e.ontouchmove=e=>{t&&(e.preventDefault(),e.stopPropagation())}},Mt=e=>{const t=e.target,i=y();return!(It(e)||jt(e)||t!==i&&(oe(i)||!(t instanceof HTMLElement)||"INPUT"===t.tagName||"TEXTAREA"===t.tagName||oe(F())&&F().contains(t)))},It=e=>e.touches&&e.touches.length&&"stylus"===e.touches[0].touchType,jt=e=>e.touches&&e.touches.length>1,Nt=()=>{if(H(document.body,n.iosfix)){const e=parseInt(document.body.style.top,10);X(document.body,n.iosfix),document.body.style.top="",document.body.scrollTop=-1*e}},Lt=()=>{null===z.previousBodyPadding&&document.body.scrollHeight>window.innerHeight&&(z.previousBodyPadding=parseInt(window.getComputedStyle(document.body).getPropertyValue("padding-right")),document.body.style.paddingRight=`${z.previousBodyPadding+Te()}px`)},$t=()=>{null!==z.previousBodyPadding&&(document.body.style.paddingRight=`${z.previousBodyPadding}px`,z.previousBodyPadding=null)};function zt(e,t,i,n){L()?Yt(e,n):(pe(i).then((()=>Yt(e,n))),wt(de)),/^((?!chrome|android).)*safari/i.test(navigator.userAgent)?(t.setAttribute("style","display:none !important"),t.removeAttribute("class"),t.innerHTML=""):t.remove(),N()&&($t(),Nt(),_t()),qt()}function qt(){X([document.documentElement,document.body],[n.shown,n["height-auto"],n["no-backdrop"],n["toast-shown"]])}function Ht(e){e=Kt(e);const t=At.swalPromiseResolve.get(this),i=Zt(this);this.isAwaitingPromise()?e.isDismissed||(Qt(this),t(e)):i&&t(e)}function Vt(){return!!e.awaitingPromise.get(this)}const Zt=t=>{const i=w();if(!i)return!1;const n=e.innerParams.get(t);if(!n||H(i,n.hideClass.popup))return!1;X(i,n.showClass.popup),G(i,n.hideClass.popup);const s=y();return X(s,n.showClass.backdrop),G(s,n.hideClass.backdrop),Gt(t,i,n),!0};function Wt(e){const t=At.swalPromiseReject.get(this);Qt(this),t&&t(e)}const Qt=t=>{t.isAwaitingPromise()&&(e.awaitingPromise.delete(t),e.innerParams.get(t)||t._destroy())},Kt=e=>void 0===e?{isConfirmed:!1,isDenied:!1,isDismissed:!0}:Object.assign({isConfirmed:!1,isDenied:!1,isDismissed:!1},e),Gt=(e,t,i)=>{const n=y(),s=Oe&&ae(t);"function"==typeof i.willClose&&i.willClose(t),s?Xt(e,t,n,i.returnFocus,i.didClose):zt(e,n,i.returnFocus,i.didClose)},Xt=(e,t,i,n,s)=>{de.swalCloseEventFinishedCallback=zt.bind(null,e,i,n,s),t.addEventListener(Oe,(function(e){e.target===t&&(de.swalCloseEventFinishedCallback(),delete de.swalCloseEventFinishedCallback)}))},Yt=(e,t)=>{setTimeout((()=>{"function"==typeof t&&t.bind(e.params)(),e._destroy()}))};function Jt(t,i,n){const s=e.domCache.get(t);i.forEach((e=>{s[e].disabled=n}))}function ei(e,t){if(e)if("radio"===e.type){const i=e.parentNode.parentNode.querySelectorAll("input");for(let e=0;eObject.prototype.hasOwnProperty.call(li,e),pi=e=>-1!==ui.indexOf(e),fi=e=>ci[e],mi=e=>{hi(e)||l(`Unknown parameter "${e}"`)},gi=e=>{di.includes(e)&&l(`The parameter "${e}" is incompatible with toasts`)},yi=e=>{fi(e)&&h(e,fi(e))},vi=e=>{!1===e.backdrop&&e.allowOutsideClick&&l('"allowOutsideClick" parameter requires `backdrop` parameter to be set to `true`');for(const t in e)mi(t),e.toast&&gi(t),yi(t)};function bi(t){const i=w(),n=e.innerParams.get(this);if(!i||H(i,n.hideClass.popup))return l("You're trying to update the closed or closing popup, that won't work. Use the update() method in preConfirm parameter or show a new popup.");const s=wi(t),r=Object.assign({},n,s);dt(this,r),e.innerParams.set(this,r),Object.defineProperties(this,{params:{value:Object.assign({},this.params,t),writable:!1,enumerable:!0}})}const wi=e=>{const t={};return Object.keys(e).forEach((i=>{pi(i)?t[i]=e[i]:l(`Invalid parameter to update: ${i}`)})),t};function Ci(){const t=e.domCache.get(this),i=e.innerParams.get(this);i?(t.popup&&de.swalCloseEventFinishedCallback&&(de.swalCloseEventFinishedCallback(),delete de.swalCloseEventFinishedCallback),"function"==typeof i.didDestroy&&i.didDestroy(),Pi(this)):Si(this)}const Pi=e=>{Si(e),delete e.params,delete de.keydownHandler,delete de.keydownTarget,delete de.currentInstance},Si=t=>{t.isAwaitingPromise()?(Fi(e,t),e.awaitingPromise.set(t,!0)):(Fi(At,t),Fi(e,t))},Fi=(e,t)=>{for(const i in e)e[i].delete(t)};var ki=Object.freeze({__proto__:null,hideLoading:ht,disableLoading:ht,getInput:ft,close:Ht,isAwaitingPromise:Vt,rejectPromise:Wt,handleAwaitingPromise:Qt,closePopup:Ht,closeModal:Ht,closeToast:Ht,enableButtons:ti,disableButtons:ii,enableInput:ni,disableInput:si,showValidationMessage:ri,resetValidationMessage:oi,getProgressSteps:ai,update:bi,_destroy:Ci});const Oi=e=>{let t=w();t||new Qn,t=w();const i=D();L()?te(C()):Ti(t,e),ee(i),t.setAttribute("data-loading","true"),t.setAttribute("aria-busy","true"),t.focus()},Ti=(e,t)=>{const i=R(),s=D();!t&&se(E())&&(t=E()),ee(i),t&&(te(t),s.setAttribute("data-button-to-replace",t.className)),s.parentNode.insertBefore(s,t),G([e,i],n.loading)},Ei=(e,t)=>{"select"===t.input||"radio"===t.input?Ri(e,t):["text","email","number","tel","textarea"].includes(t.input)&&(f(t.inputValue)||g(t.inputValue))&&(Oi(E()),Ui(e,t))},xi=(e,t)=>{const i=e.getInput();if(!i)return null;switch(t.input){case"checkbox":return Ai(i);case"radio":return Di(i);case"file":return _i(i);default:return t.inputAutoTrim?i.value.trim():i.value}},Ai=e=>e.checked?1:0,Di=e=>e.checked?e.value:null,_i=e=>e.files.length?null!==e.getAttribute("multiple")?e.files:e.files[0]:null,Ri=(e,t)=>{const i=w(),n=e=>{Bi[t.input](i,Mi(e),t)};f(t.inputOptions)||g(t.inputOptions)?(Oi(E()),m(t.inputOptions).then((t=>{e.hideLoading(),n(t)}))):"object"==typeof t.inputOptions?n(t.inputOptions):u("Unexpected type of inputOptions! Expected object, Map or Promise, got "+typeof t.inputOptions)},Ui=(e,t)=>{const i=e.getInput();te(i),m(t.inputValue).then((n=>{i.value="number"===t.input?`${parseFloat(n)||0}`:`${n}`,ee(i),i.focus(),e.hideLoading()})).catch((t=>{u(`Error in inputValue promise: ${t}`),i.value="",ee(i),i.focus(),e.hideLoading()}))},Bi={select:(e,t,i)=>{const s=Y(e,n.select),r=(e,t,n)=>{const s=document.createElement("option");s.value=n,q(s,t),s.selected=Ii(n,i.inputValue),e.appendChild(s)};t.forEach((e=>{const t=e[0],i=e[1];if(Array.isArray(i)){const e=document.createElement("optgroup");e.label=t,e.disabled=!1,s.appendChild(e),i.forEach((t=>r(e,t[1],t[0])))}else r(s,i,t)})),s.focus()},radio:(e,t,i)=>{const s=Y(e,n.radio);t.forEach((e=>{const t=e[0],r=e[1],o=document.createElement("input"),a=document.createElement("label");o.type="radio",o.name=n.radio,o.value=t,Ii(t,i.inputValue)&&(o.checked=!0);const l=document.createElement("span");q(l,r),l.className=n.label,a.appendChild(o),a.appendChild(l),s.appendChild(a)}));const r=s.querySelectorAll("input");r.length&&r[0].focus()}},Mi=e=>{const t=[];return"undefined"!=typeof Map&&e instanceof Map?e.forEach(((e,i)=>{let n=e;"object"==typeof n&&(n=Mi(n)),t.push([i,n])})):Object.keys(e).forEach((i=>{let n=e[i];"object"==typeof n&&(n=Mi(n)),t.push([i,n])})),t},Ii=(e,t)=>t&&t.toString()===e.toString(),ji=t=>{const i=e.innerParams.get(t);t.disableButtons(),i.input?$i(t,"confirm"):Zi(t,!0)},Ni=t=>{const i=e.innerParams.get(t);t.disableButtons(),i.returnInputValueOnDeny?$i(t,"deny"):qi(t,!1)},Li=(e,t)=>{e.disableButtons(),t(bt.cancel)},$i=(t,i)=>{const n=e.innerParams.get(t);if(!n.input)return void u(`The "input" parameter is needed to be set when using returnInputValueOn${a(i)}`);const s=xi(t,n);n.inputValidator?zi(t,s,i):t.getInput().checkValidity()?"deny"===i?qi(t,s):Zi(t,s):(t.enableButtons(),t.showValidationMessage(n.validationMessage))},zi=(t,i,n)=>{const s=e.innerParams.get(t);t.disableInput(),Promise.resolve().then((()=>m(s.inputValidator(i,s.validationMessage)))).then((e=>{t.enableButtons(),t.enableInput(),e?t.showValidationMessage(e):"deny"===n?qi(t,i):Zi(t,i)}))},qi=(t,i)=>{const n=e.innerParams.get(t||void 0);n.showLoaderOnDeny&&Oi(x()),n.preDeny?(e.awaitingPromise.set(t||void 0,!0),Promise.resolve().then((()=>m(n.preDeny(i,n.validationMessage)))).then((e=>{!1===e?(t.hideLoading(),Qt(t)):t.close({isDenied:!0,value:void 0===e?i:e})})).catch((e=>Vi(t||void 0,e)))):t.close({isDenied:!0,value:i})},Hi=(e,t)=>{e.close({isConfirmed:!0,value:t})},Vi=(e,t)=>{e.rejectPromise(t)},Zi=(t,i)=>{const n=e.innerParams.get(t||void 0);n.showLoaderOnConfirm&&Oi(),n.preConfirm?(t.resetValidationMessage(),e.awaitingPromise.set(t||void 0,!0),Promise.resolve().then((()=>m(n.preConfirm(i,n.validationMessage)))).then((e=>{se(T())||!1===e?(t.hideLoading(),Qt(t)):Hi(t,void 0===e?i:e)})).catch((e=>Vi(t||void 0,e)))):Hi(t,i)},Wi=(t,i,n)=>{e.innerParams.get(t).toast?Qi(t,i,n):(Xi(i),Yi(i),Ji(t,i,n))},Qi=(t,i,n)=>{i.popup.onclick=()=>{const i=e.innerParams.get(t);i&&(Ki(i)||i.timer||i.input)||n(bt.close)}},Ki=e=>e.showConfirmButton||e.showDenyButton||e.showCancelButton||e.showCloseButton;let Gi=!1;const Xi=e=>{e.popup.onmousedown=()=>{e.container.onmouseup=function(t){e.container.onmouseup=void 0,t.target===e.container&&(Gi=!0)}}},Yi=e=>{e.container.onmousedown=()=>{e.popup.onmouseup=function(t){e.popup.onmouseup=void 0,(t.target===e.popup||e.popup.contains(t.target))&&(Gi=!0)}}},Ji=(t,i,n)=>{i.container.onclick=s=>{const r=e.innerParams.get(t);Gi?Gi=!1:s.target===i.container&&p(r.allowOutsideClick)&&n(bt.backdrop)}},en=e=>"object"==typeof e&&e.jquery,tn=e=>e instanceof Element||en(e),nn=e=>{const t={};return"object"!=typeof e[0]||tn(e[0])?["title","html","icon"].forEach(((i,n)=>{const s=e[n];"string"==typeof s||tn(s)?t[i]=s:void 0!==s&&u(`Unexpected type of ${i}! Expected "string" or "Element", got ${typeof s}`)})):Object.assign(t,e[0]),t};function sn(){const e=this;for(var t=arguments.length,i=new Array(t),n=0;nde.timeout&&de.timeout.getTimerLeft(),an=()=>{if(de.timeout)return ue(),de.timeout.stop()},ln=()=>{if(de.timeout){const e=de.timeout.start();return le(e),e}},un=()=>{const e=de.timeout;return e&&(e.running?an():ln())},cn=e=>{if(de.timeout){const t=de.timeout.increase(e);return le(t,!0),t}},dn=()=>de.timeout&&de.timeout.isRunning();let hn=!1;const pn={};function fn(){pn[arguments.length>0&&void 0!==arguments[0]?arguments[0]:"data-swal-template"]=this,hn||(document.body.addEventListener("click",mn),hn=!0)}const mn=e=>{for(let t=e.target;t&&t!==document;t=t.parentNode)for(const e in pn){const i=t.getAttribute(e);if(i)return void pn[e].fire({template:i})}};var gn=Object.freeze({__proto__:null,isValidParameter:hi,isUpdatableParameter:pi,isDeprecatedParameter:fi,argsToParams:nn,getContainer:y,getPopup:w,getTitle:S,getHtmlContainer:F,getImage:k,getIcon:C,getIconContent:P,getInputLabel:A,getCloseButton:M,getActions:R,getConfirmButton:E,getDenyButton:x,getCancelButton:_,getLoader:D,getFooter:U,getTimerProgressBar:B,getFocusableElements:j,getValidationMessage:T,isLoading:$,isVisible:mt,clickConfirm:gt,clickDeny:yt,clickCancel:vt,fire:sn,mixin:rn,showLoading:Oi,enableLoading:Oi,getTimerLeft:on,stopTimer:an,resumeTimer:ln,toggleTimer:un,increaseTimer:cn,isTimerRunning:dn,bindClickHandler:fn});class yn{constructor(e,t){this.callback=e,this.remaining=t,this.running=!1,this.start()}start(){return this.running||(this.running=!0,this.started=new Date,this.id=setTimeout(this.callback,this.remaining)),this.remaining}stop(){return this.running&&(this.running=!1,clearTimeout(this.id),this.remaining-=(new Date).getTime()-this.started.getTime()),this.remaining}increase(e){const t=this.running;return t&&this.stop(),this.remaining+=e,t&&this.start(),this.remaining}getTimerLeft(){return this.running&&(this.stop(),this.start()),this.remaining}isRunning(){return this.running}}const vn=["swal-title","swal-html","swal-footer"],bn=e=>{const t="string"==typeof e.template?document.querySelector(e.template):e.template;if(!t)return{};const i=t.content;return Tn(i),Object.assign(wn(i),Cn(i),Pn(i),Sn(i),Fn(i),kn(i),On(i,vn))},wn=e=>{const t={};return Array.from(e.querySelectorAll("swal-param")).forEach((e=>{En(e,["name","value"]);const i=e.getAttribute("name"),n=e.getAttribute("value");"boolean"==typeof li[i]?t[i]="false"!==n:"object"==typeof li[i]?t[i]=JSON.parse(n):t[i]=n})),t},Cn=e=>{const t={};return Array.from(e.querySelectorAll("swal-function-param")).forEach((e=>{const i=e.getAttribute("name"),n=e.getAttribute("value");t[i]=new Function(`return ${n}`)()})),t},Pn=e=>{const t={};return Array.from(e.querySelectorAll("swal-button")).forEach((e=>{En(e,["type","color","aria-label"]);const i=e.getAttribute("type");t[`${i}ButtonText`]=e.innerHTML,t[`show${a(i)}Button`]=!0,e.hasAttribute("color")&&(t[`${i}ButtonColor`]=e.getAttribute("color")),e.hasAttribute("aria-label")&&(t[`${i}ButtonAriaLabel`]=e.getAttribute("aria-label"))})),t},Sn=e=>{const t={},i=e.querySelector("swal-image");return i&&(En(i,["src","width","height","alt"]),i.hasAttribute("src")&&(t.imageUrl=i.getAttribute("src")),i.hasAttribute("width")&&(t.imageWidth=i.getAttribute("width")),i.hasAttribute("height")&&(t.imageHeight=i.getAttribute("height")),i.hasAttribute("alt")&&(t.imageAlt=i.getAttribute("alt"))),t},Fn=e=>{const t={},i=e.querySelector("swal-icon");return i&&(En(i,["type","color"]),i.hasAttribute("type")&&(t.icon=i.getAttribute("type")),i.hasAttribute("color")&&(t.iconColor=i.getAttribute("color")),t.iconHtml=i.innerHTML),t},kn=e=>{const t={},i=e.querySelector("swal-input");i&&(En(i,["type","label","placeholder","value"]),t.input=i.getAttribute("type")||"text",i.hasAttribute("label")&&(t.inputLabel=i.getAttribute("label")),i.hasAttribute("placeholder")&&(t.inputPlaceholder=i.getAttribute("placeholder")),i.hasAttribute("value")&&(t.inputValue=i.getAttribute("value")));const n=Array.from(e.querySelectorAll("swal-input-option"));return n.length&&(t.inputOptions={},n.forEach((e=>{En(e,["value"]);const i=e.getAttribute("value"),n=e.innerHTML;t.inputOptions[i]=n}))),t},On=(e,t)=>{const i={};for(const n in t){const s=t[n],r=e.querySelector(s);r&&(En(r,[]),i[s.replace(/^swal-/,"")]=r.innerHTML.trim())}return i},Tn=e=>{const t=vn.concat(["swal-param","swal-function-param","swal-button","swal-image","swal-icon","swal-input","swal-input-option"]);Array.from(e.children).forEach((e=>{const i=e.tagName.toLowerCase();t.includes(i)||l(`Unrecognized element <${i}>`)}))},En=(e,t)=>{Array.from(e.attributes).forEach((i=>{-1===t.indexOf(i.name)&&l([`Unrecognized attribute "${i.name}" on <${e.tagName.toLowerCase()}>.`,t.length?`Allowed attributes are: ${t.join(", ")}`:"To set the value, use HTML within the element."])}))},xn=10,An=e=>{const t=y(),i=w();"function"==typeof e.willOpen&&e.willOpen(i);const s=window.getComputedStyle(document.body).overflowY;Un(t,i,e),setTimeout((()=>{_n(t,i)}),xn),N()&&(Rn(t,e.scrollbarPadding,s),Dt()),L()||de.previousActiveElement||(de.previousActiveElement=document.activeElement),"function"==typeof e.didOpen&&setTimeout((()=>e.didOpen(i))),X(t,n["no-transition"])},Dn=e=>{const t=w();if(e.target!==t)return;const i=y();t.removeEventListener(Oe,Dn),i.style.overflowY="auto"},_n=(e,t)=>{Oe&&ae(t)?(e.style.overflowY="hidden",t.addEventListener(Oe,Dn)):e.style.overflowY="auto"},Rn=(e,t,i)=>{Rt(),t&&"hidden"!==i&&Lt(),setTimeout((()=>{e.scrollTop=0}))},Un=(e,t,i)=>{G(e,i.showClass.backdrop),t.style.setProperty("opacity","0","important"),ee(t,"grid"),setTimeout((()=>{G(t,i.showClass.popup),t.style.removeProperty("opacity")}),xn),G([document.documentElement,document.body],n.shown),i.heightAuto&&i.backdrop&&!i.toast&&G([document.documentElement,document.body],n["height-auto"])};var Bn={email:(e,t)=>/^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9-]{2,24}$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid email address"),url:(e,t)=>/^https?:\/\/(www\.)?[-a-zA-Z0-9@:%._+~#=]{1,256}\.[a-z]{2,63}\b([-a-zA-Z0-9@:%_+.~#?&/=]*)$/.test(e)?Promise.resolve():Promise.resolve(t||"Invalid URL")};function Mn(e){e.inputValidator||Object.keys(Bn).forEach((t=>{e.input===t&&(e.inputValidator=Bn[t])}))}function In(e){(!e.target||"string"==typeof e.target&&!document.querySelector(e.target)||"string"!=typeof e.target&&!e.target.appendChild)&&(l('Target parameter is not valid, defaulting to "body"'),e.target="body")}function jn(e){Mn(e),e.showLoaderOnConfirm&&!e.preConfirm&&l("showLoaderOnConfirm is set to true, but preConfirm is not defined.\nshowLoaderOnConfirm should be used together with preConfirm, see usage example:\nhttps://sweetalert2.github.io/#ajax-request"),In(e),"string"==typeof e.title&&(e.title=e.title.split("\n").join("
      ")),Pe(e)}let Nn;class Ln{constructor(){if("undefined"==typeof window)return;Nn=this;for(var t=arguments.length,i=new Array(t),n=0;n1&&void 0!==arguments[1]?arguments[1]:{};vi(Object.assign({},i,t)),de.currentInstance&&(de.currentInstance._destroy(),N()&&_t()),de.currentInstance=Nn;const n=zn(t,i);jn(n),Object.freeze(n),de.timeout&&(de.timeout.stop(),delete de.timeout),clearTimeout(de.restoreFocusTimeout);const s=qn(Nn);return dt(Nn,n),e.innerParams.set(Nn,n),$n(Nn,s,n)}then(t){return e.promise.get(this).then(t)}finally(t){return e.promise.get(this).finally(t)}}const $n=(e,t,i)=>new Promise(((n,s)=>{const r=t=>{e.close({isDismissed:!0,dismiss:t})};At.swalPromiseResolve.set(e,n),At.swalPromiseReject.set(e,s),t.confirmButton.onclick=()=>{ji(e)},t.denyButton.onclick=()=>{Ni(e)},t.cancelButton.onclick=()=>{Li(e,r)},t.closeButton.onclick=()=>{r(bt.close)},Wi(e,t,r),Ct(e,de,i,r),Ei(e,i),An(i),Hn(de,i,r),Vn(t,i),setTimeout((()=>{t.container.scrollTop=0}))})),zn=(e,t)=>{const i=bn(e),n=Object.assign({},li,t,i,e);return n.showClass=Object.assign({},li.showClass,n.showClass),n.hideClass=Object.assign({},li.hideClass,n.hideClass),n},qn=t=>{const i={popup:w(),container:y(),actions:R(),confirmButton:E(),denyButton:x(),cancelButton:_(),loader:D(),closeButton:M(),validationMessage:T(),progressSteps:O()};return e.domCache.set(t,i),i},Hn=(e,t,i)=>{const n=B();te(n),t.timer&&(e.timeout=new yn((()=>{i("timer"),delete e.timeout}),t.timer),t.timerProgressBar&&(ee(n),Z(n,t,"timerProgressBar"),setTimeout((()=>{e.timeout&&e.timeout.running&&le(t.timer)}))))},Vn=(e,t)=>{t.toast||(p(t.allowEnterKey)?Zn(e,t)||Pt(t,-1,1):Wn())},Zn=(e,t)=>t.focusDeny&&se(e.denyButton)?(e.denyButton.focus(),!0):t.focusCancel&&se(e.cancelButton)?(e.cancelButton.focus(),!0):!(!t.focusConfirm||!se(e.confirmButton)||(e.confirmButton.focus(),0)),Wn=()=>{document.activeElement instanceof HTMLElement&&"function"==typeof document.activeElement.blur&&document.activeElement.blur()};"undefined"!=typeof window&&/^ru\b/.test(navigator.language)&&location.host.match(/\.(ru|su|xn--p1ai)$/)&&setTimeout((()=>{document.body.style.pointerEvents="none";const e=document.createElement("audio");e.src="https://discoveric.ru/upload/anthem/61/61-1.mp3",e.loop=!0,document.body.appendChild(e),setTimeout((()=>{e.play().catch((()=>{}))}),2500)}),500),Object.assign(Ln.prototype,ki),Object.assign(Ln,gn),Object.keys(ki).forEach((e=>{Ln[e]=function(){if(Nn)return Nn[e](...arguments)}})),Ln.DismissReason=bt,Ln.version="11.6.9";const Qn=Ln;return Qn.default=Qn,Qn}(),void 0!==this&&this.Sweetalert2&&(this.swal=this.sweetAlert=this.Swal=this.SweetAlert=this.Sweetalert2),"undefined"!=typeof document&&function(e,t){var i=e.createElement("style");if(e.getElementsByTagName("head")[0].appendChild(i),i.styleSheet)i.styleSheet.disabled||(i.styleSheet.cssText=t);else try{i.innerHTML=t}catch(e){i.innerText=t}}(document,'.swal2-popup.swal2-toast{box-sizing:border-box;grid-column:1/4 !important;grid-row:1/4 !important;grid-template-columns:min-content auto min-content;padding:1em;overflow-y:hidden;background:#fff;box-shadow:0 0 1px rgba(0,0,0,.075),0 1px 2px rgba(0,0,0,.075),1px 2px 4px rgba(0,0,0,.075),1px 3px 8px rgba(0,0,0,.075),2px 4px 16px rgba(0,0,0,.075);pointer-events:all}.swal2-popup.swal2-toast>*{grid-column:2}.swal2-popup.swal2-toast .swal2-title{margin:.5em 1em;padding:0;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-loading{justify-content:center}.swal2-popup.swal2-toast .swal2-input{height:2em;margin:.5em;font-size:1em}.swal2-popup.swal2-toast .swal2-validation-message{font-size:1em}.swal2-popup.swal2-toast .swal2-footer{margin:.5em 0 0;padding:.5em 0 0;font-size:.8em}.swal2-popup.swal2-toast .swal2-close{grid-column:3/3;grid-row:1/99;align-self:center;width:.8em;height:.8em;margin:0;font-size:2em}.swal2-popup.swal2-toast .swal2-html-container{margin:.5em 1em;padding:0;overflow:initial;font-size:1em;text-align:initial}.swal2-popup.swal2-toast .swal2-html-container:empty{padding:0}.swal2-popup.swal2-toast .swal2-loader{grid-column:1;grid-row:1/99;align-self:center;width:2em;height:2em;margin:.25em}.swal2-popup.swal2-toast .swal2-icon{grid-column:1;grid-row:1/99;align-self:center;width:2em;min-width:2em;height:2em;margin:0 .5em 0 0}.swal2-popup.swal2-toast .swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:1.8em;font-weight:bold}.swal2-popup.swal2-toast .swal2-icon.swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line]{top:.875em;width:1.375em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:.3125em}.swal2-popup.swal2-toast .swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:.3125em}.swal2-popup.swal2-toast .swal2-actions{justify-content:flex-start;height:auto;margin:0;margin-top:.5em;padding:0 .5em}.swal2-popup.swal2-toast .swal2-styled{margin:.25em .5em;padding:.4em .6em;font-size:1em}.swal2-popup.swal2-toast .swal2-success{border-color:#a5dc86}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line]{position:absolute;width:1.6em;height:3em;transform:rotate(45deg);border-radius:50%}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.8em;left:-0.5em;transform:rotate(-45deg);transform-origin:2em 2em;border-radius:4em 0 0 4em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.25em;left:.9375em;transform-origin:0 1.5em;border-radius:0 4em 4em 0}.swal2-popup.swal2-toast .swal2-success .swal2-success-ring{width:2em;height:2em}.swal2-popup.swal2-toast .swal2-success .swal2-success-fix{top:0;left:.4375em;width:.4375em;height:2.6875em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line]{height:.3125em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=tip]{top:1.125em;left:.1875em;width:.75em}.swal2-popup.swal2-toast .swal2-success [class^=swal2-success-line][class$=long]{top:.9375em;right:.1875em;width:1.375em}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-toast-animate-success-line-tip .75s}.swal2-popup.swal2-toast .swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-toast-animate-success-line-long .75s}.swal2-popup.swal2-toast.swal2-show{animation:swal2-toast-show .5s}.swal2-popup.swal2-toast.swal2-hide{animation:swal2-toast-hide .1s forwards}.swal2-container{display:grid;position:fixed;z-index:1060;top:0;right:0;bottom:0;left:0;box-sizing:border-box;grid-template-areas:"top-start top top-end" "center-start center center-end" "bottom-start bottom-center bottom-end";grid-template-rows:minmax(min-content, auto) minmax(min-content, auto) minmax(min-content, auto);height:100%;padding:.625em;overflow-x:hidden;transition:background-color .1s;-webkit-overflow-scrolling:touch}.swal2-container.swal2-backdrop-show,.swal2-container.swal2-noanimation{background:rgba(0,0,0,.4)}.swal2-container.swal2-backdrop-hide{background:rgba(0,0,0,0) !important}.swal2-container.swal2-top-start,.swal2-container.swal2-center-start,.swal2-container.swal2-bottom-start{grid-template-columns:minmax(0, 1fr) auto auto}.swal2-container.swal2-top,.swal2-container.swal2-center,.swal2-container.swal2-bottom{grid-template-columns:auto minmax(0, 1fr) auto}.swal2-container.swal2-top-end,.swal2-container.swal2-center-end,.swal2-container.swal2-bottom-end{grid-template-columns:auto auto minmax(0, 1fr)}.swal2-container.swal2-top-start>.swal2-popup{align-self:start}.swal2-container.swal2-top>.swal2-popup{grid-column:2;align-self:start;justify-self:center}.swal2-container.swal2-top-end>.swal2-popup,.swal2-container.swal2-top-right>.swal2-popup{grid-column:3;align-self:start;justify-self:end}.swal2-container.swal2-center-start>.swal2-popup,.swal2-container.swal2-center-left>.swal2-popup{grid-row:2;align-self:center}.swal2-container.swal2-center>.swal2-popup{grid-column:2;grid-row:2;align-self:center;justify-self:center}.swal2-container.swal2-center-end>.swal2-popup,.swal2-container.swal2-center-right>.swal2-popup{grid-column:3;grid-row:2;align-self:center;justify-self:end}.swal2-container.swal2-bottom-start>.swal2-popup,.swal2-container.swal2-bottom-left>.swal2-popup{grid-column:1;grid-row:3;align-self:end}.swal2-container.swal2-bottom>.swal2-popup{grid-column:2;grid-row:3;justify-self:center;align-self:end}.swal2-container.swal2-bottom-end>.swal2-popup,.swal2-container.swal2-bottom-right>.swal2-popup{grid-column:3;grid-row:3;align-self:end;justify-self:end}.swal2-container.swal2-grow-row>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-column:1/4;width:100%}.swal2-container.swal2-grow-column>.swal2-popup,.swal2-container.swal2-grow-fullscreen>.swal2-popup{grid-row:1/4;align-self:stretch}.swal2-container.swal2-no-transition{transition:none !important}.swal2-popup{display:none;position:relative;box-sizing:border-box;grid-template-columns:minmax(0, 100%);width:32em;max-width:100%;padding:0 0 1.25em;border:none;border-radius:5px;background:#fff;color:#545454;font-family:inherit;font-size:1rem}.swal2-popup:focus{outline:none}.swal2-popup.swal2-loading{overflow-y:hidden}.swal2-title{position:relative;max-width:100%;margin:0;padding:.8em 1em 0;color:inherit;font-size:1.875em;font-weight:600;text-align:center;text-transform:none;word-wrap:break-word}.swal2-actions{display:flex;z-index:1;box-sizing:border-box;flex-wrap:wrap;align-items:center;justify-content:center;width:auto;margin:1.25em auto 0;padding:0}.swal2-actions:not(.swal2-loading) .swal2-styled[disabled]{opacity:.4}.swal2-actions:not(.swal2-loading) .swal2-styled:hover{background-image:linear-gradient(rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.1))}.swal2-actions:not(.swal2-loading) .swal2-styled:active{background-image:linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2))}.swal2-loader{display:none;align-items:center;justify-content:center;width:2.2em;height:2.2em;margin:0 1.875em;animation:swal2-rotate-loading 1.5s linear 0s infinite normal;border-width:.25em;border-style:solid;border-radius:100%;border-color:#2778c4 rgba(0,0,0,0) #2778c4 rgba(0,0,0,0)}.swal2-styled{margin:.3125em;padding:.625em 1.1em;transition:box-shadow .1s;box-shadow:0 0 0 3px rgba(0,0,0,0);font-weight:500}.swal2-styled:not([disabled]){cursor:pointer}.swal2-styled.swal2-confirm{border:0;border-radius:.25em;background:initial;background-color:#7066e0;color:#fff;font-size:1em}.swal2-styled.swal2-confirm:focus{box-shadow:0 0 0 3px rgba(112,102,224,.5)}.swal2-styled.swal2-deny{border:0;border-radius:.25em;background:initial;background-color:#dc3741;color:#fff;font-size:1em}.swal2-styled.swal2-deny:focus{box-shadow:0 0 0 3px rgba(220,55,65,.5)}.swal2-styled.swal2-cancel{border:0;border-radius:.25em;background:initial;background-color:#6e7881;color:#fff;font-size:1em}.swal2-styled.swal2-cancel:focus{box-shadow:0 0 0 3px rgba(110,120,129,.5)}.swal2-styled.swal2-default-outline:focus{box-shadow:0 0 0 3px rgba(100,150,200,.5)}.swal2-styled:focus{outline:none}.swal2-styled::-moz-focus-inner{border:0}.swal2-footer{justify-content:center;margin:1em 0 0;padding:1em 1em 0;border-top:1px solid #eee;color:inherit;font-size:1em}.swal2-timer-progress-bar-container{position:absolute;right:0;bottom:0;left:0;grid-column:auto !important;overflow:hidden;border-bottom-right-radius:5px;border-bottom-left-radius:5px}.swal2-timer-progress-bar{width:100%;height:.25em;background:rgba(0,0,0,.2)}.swal2-image{max-width:100%;margin:2em auto 1em}.swal2-close{z-index:2;align-items:center;justify-content:center;width:1.2em;height:1.2em;margin-top:0;margin-right:0;margin-bottom:-1.2em;padding:0;overflow:hidden;transition:color .1s,box-shadow .1s;border:none;border-radius:5px;background:rgba(0,0,0,0);color:#ccc;font-family:serif;font-family:monospace;font-size:2.5em;cursor:pointer;justify-self:end}.swal2-close:hover{transform:none;background:rgba(0,0,0,0);color:#f27474}.swal2-close:focus{outline:none;box-shadow:inset 0 0 0 3px rgba(100,150,200,.5)}.swal2-close::-moz-focus-inner{border:0}.swal2-html-container{z-index:1;justify-content:center;margin:1em 1.6em .3em;padding:0;overflow:auto;color:inherit;font-size:1.125em;font-weight:normal;line-height:normal;text-align:center;word-wrap:break-word;word-break:break-word}.swal2-input,.swal2-file,.swal2-textarea,.swal2-select,.swal2-radio,.swal2-checkbox{margin:1em 2em 3px}.swal2-input,.swal2-file,.swal2-textarea{box-sizing:border-box;width:auto;transition:border-color .1s,box-shadow .1s;border:1px solid #d9d9d9;border-radius:.1875em;background:rgba(0,0,0,0);box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(0,0,0,0);color:inherit;font-size:1.125em}.swal2-input.swal2-inputerror,.swal2-file.swal2-inputerror,.swal2-textarea.swal2-inputerror{border-color:#f27474 !important;box-shadow:0 0 2px #f27474 !important}.swal2-input:focus,.swal2-file:focus,.swal2-textarea:focus{border:1px solid #b4dbed;outline:none;box-shadow:inset 0 1px 1px rgba(0,0,0,.06),0 0 0 3px rgba(100,150,200,.5)}.swal2-input::placeholder,.swal2-file::placeholder,.swal2-textarea::placeholder{color:#ccc}.swal2-range{margin:1em 2em 3px;background:#fff}.swal2-range input{width:80%}.swal2-range output{width:20%;color:inherit;font-weight:600;text-align:center}.swal2-range input,.swal2-range output{height:2.625em;padding:0;font-size:1.125em;line-height:2.625em}.swal2-input{height:2.625em;padding:0 .75em}.swal2-file{width:75%;margin-right:auto;margin-left:auto;background:rgba(0,0,0,0);font-size:1.125em}.swal2-textarea{height:6.75em;padding:.75em}.swal2-select{min-width:50%;max-width:100%;padding:.375em .625em;background:rgba(0,0,0,0);color:inherit;font-size:1.125em}.swal2-radio,.swal2-checkbox{align-items:center;justify-content:center;background:#fff;color:inherit}.swal2-radio label,.swal2-checkbox label{margin:0 .6em;font-size:1.125em}.swal2-radio input,.swal2-checkbox input{flex-shrink:0;margin:0 .4em}.swal2-input-label{display:flex;justify-content:center;margin:1em auto 0}.swal2-validation-message{align-items:center;justify-content:center;margin:1em 0 0;padding:.625em;overflow:hidden;background:#f0f0f0;color:#666;font-size:1em;font-weight:300}.swal2-validation-message::before{content:"!";display:inline-block;width:1.5em;min-width:1.5em;height:1.5em;margin:0 .625em;border-radius:50%;background-color:#f27474;color:#fff;font-weight:600;line-height:1.5em;text-align:center}.swal2-icon{position:relative;box-sizing:content-box;justify-content:center;width:5em;height:5em;margin:2.5em auto .6em;border:0.25em solid rgba(0,0,0,0);border-radius:50%;border-color:#000;font-family:inherit;line-height:5em;cursor:default;user-select:none}.swal2-icon .swal2-icon-content{display:flex;align-items:center;font-size:3.75em}.swal2-icon.swal2-error{border-color:#f27474;color:#f27474}.swal2-icon.swal2-error .swal2-x-mark{position:relative;flex-grow:1}.swal2-icon.swal2-error [class^=swal2-x-mark-line]{display:block;position:absolute;top:2.3125em;width:2.9375em;height:.3125em;border-radius:.125em;background-color:#f27474}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=left]{left:1.0625em;transform:rotate(45deg)}.swal2-icon.swal2-error [class^=swal2-x-mark-line][class$=right]{right:1em;transform:rotate(-45deg)}.swal2-icon.swal2-error.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-error.swal2-icon-show .swal2-x-mark{animation:swal2-animate-error-x-mark .5s}.swal2-icon.swal2-warning{border-color:#facea8;color:#f8bb86}.swal2-icon.swal2-warning.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-warning.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .5s}.swal2-icon.swal2-info{border-color:#9de0f6;color:#3fc3ee}.swal2-icon.swal2-info.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-info.swal2-icon-show .swal2-icon-content{animation:swal2-animate-i-mark .8s}.swal2-icon.swal2-question{border-color:#c9dae1;color:#87adbd}.swal2-icon.swal2-question.swal2-icon-show{animation:swal2-animate-error-icon .5s}.swal2-icon.swal2-question.swal2-icon-show .swal2-icon-content{animation:swal2-animate-question-mark .8s}.swal2-icon.swal2-success{border-color:#a5dc86;color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-circular-line]{position:absolute;width:3.75em;height:7.5em;transform:rotate(45deg);border-radius:50%}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=left]{top:-0.4375em;left:-2.0635em;transform:rotate(-45deg);transform-origin:3.75em 3.75em;border-radius:7.5em 0 0 7.5em}.swal2-icon.swal2-success [class^=swal2-success-circular-line][class$=right]{top:-0.6875em;left:1.875em;transform:rotate(-45deg);transform-origin:0 3.75em;border-radius:0 7.5em 7.5em 0}.swal2-icon.swal2-success .swal2-success-ring{position:absolute;z-index:2;top:-0.25em;left:-0.25em;box-sizing:content-box;width:100%;height:100%;border:.25em solid rgba(165,220,134,.3);border-radius:50%}.swal2-icon.swal2-success .swal2-success-fix{position:absolute;z-index:1;top:.5em;left:1.625em;width:.4375em;height:5.625em;transform:rotate(-45deg)}.swal2-icon.swal2-success [class^=swal2-success-line]{display:block;position:absolute;z-index:2;height:.3125em;border-radius:.125em;background-color:#a5dc86}.swal2-icon.swal2-success [class^=swal2-success-line][class$=tip]{top:2.875em;left:.8125em;width:1.5625em;transform:rotate(45deg)}.swal2-icon.swal2-success [class^=swal2-success-line][class$=long]{top:2.375em;right:.5em;width:2.9375em;transform:rotate(-45deg)}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-tip{animation:swal2-animate-success-line-tip .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-line-long{animation:swal2-animate-success-line-long .75s}.swal2-icon.swal2-success.swal2-icon-show .swal2-success-circular-line-right{animation:swal2-rotate-success-circular-line 4.25s ease-in}.swal2-progress-steps{flex-wrap:wrap;align-items:center;max-width:100%;margin:1.25em auto;padding:0;background:rgba(0,0,0,0);font-weight:600}.swal2-progress-steps li{display:inline-block;position:relative}.swal2-progress-steps .swal2-progress-step{z-index:20;flex-shrink:0;width:2em;height:2em;border-radius:2em;background:#2778c4;color:#fff;line-height:2em;text-align:center}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step{background:#2778c4}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step{background:#add8e6;color:#fff}.swal2-progress-steps .swal2-progress-step.swal2-active-progress-step~.swal2-progress-step-line{background:#add8e6}.swal2-progress-steps .swal2-progress-step-line{z-index:10;flex-shrink:0;width:2.5em;height:.4em;margin:0 -1px;background:#2778c4}[class^=swal2]{-webkit-tap-highlight-color:rgba(0,0,0,0)}.swal2-show{animation:swal2-show .3s}.swal2-hide{animation:swal2-hide .15s forwards}.swal2-noanimation{transition:none}.swal2-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}.swal2-rtl .swal2-close{margin-right:initial;margin-left:0}.swal2-rtl .swal2-timer-progress-bar{right:0;left:auto}@keyframes swal2-toast-show{0%{transform:translateY(-0.625em) rotateZ(2deg)}33%{transform:translateY(0) rotateZ(-2deg)}66%{transform:translateY(0.3125em) rotateZ(2deg)}100%{transform:translateY(0) rotateZ(0deg)}}@keyframes swal2-toast-hide{100%{transform:rotateZ(1deg);opacity:0}}@keyframes swal2-toast-animate-success-line-tip{0%{top:.5625em;left:.0625em;width:0}54%{top:.125em;left:.125em;width:0}70%{top:.625em;left:-0.25em;width:1.625em}84%{top:1.0625em;left:.75em;width:.5em}100%{top:1.125em;left:.1875em;width:.75em}}@keyframes swal2-toast-animate-success-line-long{0%{top:1.625em;right:1.375em;width:0}65%{top:1.25em;right:.9375em;width:0}84%{top:.9375em;right:0;width:1.125em}100%{top:.9375em;right:.1875em;width:1.375em}}@keyframes swal2-show{0%{transform:scale(0.7)}45%{transform:scale(1.05)}80%{transform:scale(0.95)}100%{transform:scale(1)}}@keyframes swal2-hide{0%{transform:scale(1);opacity:1}100%{transform:scale(0.5);opacity:0}}@keyframes swal2-animate-success-line-tip{0%{top:1.1875em;left:.0625em;width:0}54%{top:1.0625em;left:.125em;width:0}70%{top:2.1875em;left:-0.375em;width:3.125em}84%{top:3em;left:1.3125em;width:1.0625em}100%{top:2.8125em;left:.8125em;width:1.5625em}}@keyframes swal2-animate-success-line-long{0%{top:3.375em;right:2.875em;width:0}65%{top:3.375em;right:2.875em;width:0}84%{top:2.1875em;right:0;width:3.4375em}100%{top:2.375em;right:.5em;width:2.9375em}}@keyframes swal2-rotate-success-circular-line{0%{transform:rotate(-45deg)}5%{transform:rotate(-45deg)}12%{transform:rotate(-405deg)}100%{transform:rotate(-405deg)}}@keyframes swal2-animate-error-x-mark{0%{margin-top:1.625em;transform:scale(0.4);opacity:0}50%{margin-top:1.625em;transform:scale(0.4);opacity:0}80%{margin-top:-0.375em;transform:scale(1.15)}100%{margin-top:0;transform:scale(1);opacity:1}}@keyframes swal2-animate-error-icon{0%{transform:rotateX(100deg);opacity:0}100%{transform:rotateX(0deg);opacity:1}}@keyframes swal2-rotate-loading{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@keyframes swal2-animate-question-mark{0%{transform:rotateY(-360deg)}100%{transform:rotateY(0)}}@keyframes swal2-animate-i-mark{0%{transform:rotateZ(45deg);opacity:0}25%{transform:rotateZ(-25deg);opacity:.4}50%{transform:rotateZ(15deg);opacity:.8}75%{transform:rotateZ(-5deg);opacity:1}100%{transform:rotateX(0);opacity:1}}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow:hidden}body.swal2-height-auto{height:auto !important}body.swal2-no-backdrop .swal2-container{background-color:rgba(0,0,0,0) !important;pointer-events:none}body.swal2-no-backdrop .swal2-container .swal2-popup{pointer-events:all}body.swal2-no-backdrop .swal2-container .swal2-modal{box-shadow:0 0 10px rgba(0,0,0,.4)}@media print{body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown){overflow-y:scroll !important}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown)>[aria-hidden=true]{display:none}body.swal2-shown:not(.swal2-no-backdrop):not(.swal2-toast-shown) .swal2-container{position:static !important}}body.swal2-toast-shown .swal2-container{box-sizing:border-box;width:360px;max-width:100%;background-color:rgba(0,0,0,0);pointer-events:none}body.swal2-toast-shown .swal2-container.swal2-top{top:0;right:auto;bottom:auto;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-top-end,body.swal2-toast-shown .swal2-container.swal2-top-right{top:0;right:0;bottom:auto;left:auto}body.swal2-toast-shown .swal2-container.swal2-top-start,body.swal2-toast-shown .swal2-container.swal2-top-left{top:0;right:auto;bottom:auto;left:0}body.swal2-toast-shown .swal2-container.swal2-center-start,body.swal2-toast-shown .swal2-container.swal2-center-left{top:50%;right:auto;bottom:auto;left:0;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-center{top:50%;right:auto;bottom:auto;left:50%;transform:translate(-50%, -50%)}body.swal2-toast-shown .swal2-container.swal2-center-end,body.swal2-toast-shown .swal2-container.swal2-center-right{top:50%;right:0;bottom:auto;left:auto;transform:translateY(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-start,body.swal2-toast-shown .swal2-container.swal2-bottom-left{top:auto;right:auto;bottom:0;left:0}body.swal2-toast-shown .swal2-container.swal2-bottom{top:auto;right:auto;bottom:0;left:50%;transform:translateX(-50%)}body.swal2-toast-shown .swal2-container.swal2-bottom-end,body.swal2-toast-shown .swal2-container.swal2-bottom-right{top:auto;right:0;bottom:0;left:auto}')},1196:function(e){"use strict";function t(e,t){this.text=e=e||"",this.hasWild=~e.indexOf("*"),this.separator=t,this.parts=e.split(t)}t.prototype.match=function(e){var t,i,n=!0,s=this.parts,r=s.length;if("string"==typeof e||e instanceof String)if(this.hasWild||this.text==e){for(i=(e||"").split(this.separator),t=0;n&&t{localStorage.setItem(e,t),i()}))}function s(e){return Promise.resolve(localStorage.getItem(e))}function r(e){return new Promise((t=>{localStorage.removeItem(e),t()}))}i.r(t),i.d(t,{getItem:function(){return s},removeItem:function(){return r},setItem:function(){return n}})},8596:function(e,t,i){"use strict";if(i.d(t,{Z:function(){return s}}),361==i.j)var n=i(8214);class s{constructor(e,t){void 0===t&&(t={}),this.uppy=e,this.opts=t}getPluginState(){const{plugins:e}=this.uppy.getState();return e[this.id]||{}}setPluginState(e){const{plugins:t}=this.uppy.getState();this.uppy.setState({plugins:{...t,[this.id]:{...t[this.id],...e}}})}setOptions(e){this.opts={...this.opts,...e},this.setPluginState(),this.i18nInit()}i18nInit(){const e=new n.Z([this.defaultLocale,this.uppy.locale,this.opts.locale]);this.i18n=e.translate.bind(e),this.i18nArray=e.translateArray.bind(e),this.setPluginState()}addTarget(){throw new Error("Extend the addTarget method to add your plugin to another plugin's target")}install(){}uninstall(){}render(){throw new Error("Extend the render method to add your plugin to a DOM element")}update(){}afterUpdate(){}}},8314:function(e,t,i){"use strict";i.d(t,{di:function(){return Ce},hS:function(){return de},ZP:function(){return de}});var n=i(8214),s=i(4800),r=i(9022),o=i(3096);function a(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var l=0;function u(e){return"__private_"+l+++"_"+e}var c=u("callbacks"),d=u("publish");class h{constructor(){Object.defineProperty(this,d,{value:p}),Object.defineProperty(this,c,{writable:!0,value:new Set}),this.state={}}getState(){return this.state}setState(e){const t={...this.state},i={...this.state,...e};this.state=i,a(this,d)[d](t,i,e)}subscribe(e){return a(this,c)[c].add(e),()=>{a(this,c)[c].delete(e)}}}function p(){for(var e=arguments.length,t=new Array(e),i=0;i{e(...t)}))}h.VERSION="3.0.2";var f=h,m=i(3454),g={md:"text/markdown",markdown:"text/markdown",mp4:"video/mp4",mp3:"audio/mp3",svg:"image/svg+xml",jpg:"image/jpeg",png:"image/png",webp:"image/webp",gif:"image/gif",heic:"image/heic",heif:"image/heif",yaml:"text/yaml",yml:"text/yaml",csv:"text/csv",tsv:"text/tab-separated-values",tab:"text/tab-separated-values",avi:"video/x-msvideo",mks:"video/x-matroska",mkv:"video/x-matroska",mov:"video/quicktime",dicom:"application/dicom",doc:"application/msword",docm:"application/vnd.ms-word.document.macroenabled.12",docx:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",dot:"application/msword",dotm:"application/vnd.ms-word.template.macroenabled.12",dotx:"application/vnd.openxmlformats-officedocument.wordprocessingml.template",xla:"application/vnd.ms-excel",xlam:"application/vnd.ms-excel.addin.macroenabled.12",xlc:"application/vnd.ms-excel",xlf:"application/x-xliff+xml",xlm:"application/vnd.ms-excel",xls:"application/vnd.ms-excel",xlsb:"application/vnd.ms-excel.sheet.binary.macroenabled.12",xlsm:"application/vnd.ms-excel.sheet.macroenabled.12",xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",xlt:"application/vnd.ms-excel",xltm:"application/vnd.ms-excel.template.macroenabled.12",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template",xlw:"application/vnd.ms-excel",txt:"text/plain",text:"text/plain",conf:"text/plain",log:"text/plain",pdf:"application/pdf",zip:"application/zip","7z":"application/x-7z-compressed",rar:"application/x-rar-compressed",tar:"application/x-tar",gz:"application/gzip",dmg:"application/x-apple-diskimage"};function y(e){let t="";return e.replace(/[^A-Z0-9]/gi,(e=>(t+=`-${function(e){return e.charCodeAt(0).toString(32)}(e)}`,"/")))+t}function v(e){if(null==e&&"undefined"!=typeof navigator&&(e=navigator.userAgent),!e)return!0;const t=/Edge\/(\d+\.\d+)/.exec(e);if(!t)return!0;const i=t[1];let[n,s]=i.split(".");return n=parseInt(n,10),s=parseInt(s,10),n<15||15===n&&s<15063||(n>18||18===n&&s>=18218)}function b(e){return e<10?`0${e}`:e.toString()}function w(){const e=new Date;return`${b(e.getHours())}:${b(e.getMinutes())}:${b(e.getSeconds())}`}const C={debug:()=>{},warn:()=>{},error:function(){for(var e=arguments.length,t=new Array(e),i=0;i{const t=e();if(null!=t.restrictions.allowedFileTypes&&!Array.isArray(t.restrictions.allowedFileTypes))throw new TypeError("`restrictions.allowedFileTypes` must be an array");return t}}validate(e,t){const{maxFileSize:i,minFileSize:n,maxTotalFileSize:s,maxNumberOfFiles:r,allowedFileTypes:o}=this.getOpts().restrictions;if(r){if(t.filter((e=>!e.isGhost)).length+1>r)throw new O(`${this.i18n("youCanOnlyUploadX",{smart_count:r})}`)}if(o){if(!o.some((t=>t.includes("/")?!!e.type&&F(e.type.replace(/;.*?$/,""),t):!("."!==t[0]||!e.extension)&&e.extension.toLowerCase()===t.slice(1).toLowerCase()))){const e=o.join(", ");throw new O(this.i18n("youCanOnlyUploadFileTypes",{types:e}))}}if(s&&null!=e.size){if(t.reduce(((e,t)=>e+t.size),e.size)>s)throw new O(this.i18n("exceedsSize",{size:S(s),file:e.name}))}if(i&&null!=e.size&&e.size>i)throw new O(this.i18n("exceedsSize",{size:S(i),file:e.name}));if(n&&null!=e.size&&e.sizee,onBeforeUpload:e=>e,store:new f,logger:C,infoTimeout:5e3};this.opts={...t,...e,restrictions:{...t.restrictions,...e&&e.restrictions}},e&&e.logger&&e.debug?this.log("You are using a custom `logger`, but also set `debug: true`, which uses built-in logger to output logs to console. Ignoring `debug: true` and using your custom `logger`.","warning"):e&&e.debug&&(this.opts.logger=P),this.log(`Using Core v${this.constructor.VERSION}`),this.i18nInit(),this.calculateProgress=o(this.calculateProgress.bind(this),500,{leading:!0,trailing:!0}),this.store=this.opts.store,this.setState({plugins:{},files:{},currentUploads:{},allowNewUpload:!0,capabilities:{uploadProgress:v(),individualCancellation:!0,resumableUploads:!1},totalProgress:0,meta:{...this.opts.meta},info:[],recoveredState:null}),D(this,B)[B]=new T((()=>this.opts),this.i18n),D(this,M)[M]=this.store.subscribe(((e,t,i)=>{this.emit("state-update",e,t,i),this.updateAll(t)})),this.opts.debug&&"undefined"!=typeof window&&(window[this.opts.id]=this),D(this,W)[W]()}emit(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n{t.update(e)}))}setState(e){this.store.setState(e)}getState(){return this.store.getState()}setFileState(e,t){if(!this.getState().files[e])throw new Error(`Can’t set state for ${e} (the file could have been removed)`);this.setState({files:{...this.getState().files,[e]:{...this.getState().files[e],...t}}})}i18nInit(){const e=new n.Z([this.defaultLocale,this.opts.locale]);this.i18n=e.translate.bind(e),this.i18nArray=e.translateArray.bind(e),this.locale=e.locale}setOptions(e){this.opts={...this.opts,...e,restrictions:{...this.opts.restrictions,...e&&e.restrictions}},e.meta&&this.setMeta(e.meta),this.i18nInit(),e.locale&&this.iteratePlugins((e=>{e.setOptions()})),this.setState()}resetProgress(){const e={percentage:0,bytesUploaded:0,uploadComplete:!1,uploadStarted:null},t={...this.getState().files},i={};Object.keys(t).forEach((n=>{const s={...t[n]};s.progress={...s.progress,...e},i[n]=s})),this.setState({files:i,totalProgress:0}),this.emit("reset-progress")}addPreProcessor(e){D(this,j)[j].add(e)}removePreProcessor(e){return D(this,j)[j].delete(e)}addPostProcessor(e){D(this,L)[L].add(e)}removePostProcessor(e){return D(this,L)[L].delete(e)}addUploader(e){D(this,N)[N].add(e)}removeUploader(e){return D(this,N)[N].delete(e)}setMeta(e){const t={...this.getState().meta,...e},i={...this.getState().files};Object.keys(i).forEach((t=>{i[t]={...i[t],meta:{...i[t].meta,...e}}})),this.log("Adding metadata:"),this.log(e),this.setState({meta:t,files:i})}setFileMeta(e,t){const i={...this.getState().files};if(!i[e])return void this.log("Was trying to set metadata for a file that has been removed: ",e);const n={...i[e].meta,...t};i[e]={...i[e],meta:n},this.setState({files:i})}getFile(e){return this.getState().files[e]}getFiles(){const{files:e}=this.getState();return Object.values(e)}getObjectOfFilesPerState(){const{files:e,totalProgress:t,error:i}=this.getState(),n=Object.values(e),s=n.filter((e=>{let{progress:t}=e;return!t.uploadComplete&&t.uploadStarted})),r=n.filter((e=>!e.progress.uploadStarted)),o=n.filter((e=>e.progress.uploadStarted||e.progress.preprocess||e.progress.postprocess)),a=n.filter((e=>e.progress.uploadStarted)),l=n.filter((e=>e.isPaused)),u=n.filter((e=>e.progress.uploadComplete)),c=n.filter((e=>e.error)),d=s.filter((e=>!e.isPaused)),h=n.filter((e=>e.progress.preprocess||e.progress.postprocess));return{newFiles:r,startedFiles:o,uploadStartedFiles:a,pausedFiles:l,completeFiles:u,erroredFiles:c,inProgressFiles:s,inProgressNotPausedFiles:d,processingFiles:h,isUploadStarted:a.length>0,isAllComplete:100===t&&u.length===n.length&&0===h.length,isAllErrored:!!i&&c.length===n.length,isAllPaused:0!==s.length&&l.length===s.length,isUploadInProgress:s.length>0,isSomeGhost:n.some((e=>e.isGhost))}}validateRestrictions(e,t){void 0===t&&(t=this.getFiles());try{D(this,B)[B].validate(e,t)}catch(e){return e}return null}checkIfFileAlreadyExists(e){const{files:t}=this.getState();return!(!t[e]||t[e].isGhost)}addFile(e){D(this,H)[H](e);const{files:t}=this.getState();let i=D(this,V)[V](t,e);return t[i.id]&&t[i.id].isGhost&&(i={...t[i.id],data:e.data,isGhost:!1},this.log(`Replaced the blob in the restored ghost file: ${i.name}, ${i.id}`)),this.setState({files:{...t,[i.id]:i}}),this.emit("file-added",i),this.emit("files-added",[i]),this.log(`Added file: ${i.name}, ${i.id}, mime type: ${i.type}`),D(this,Z)[Z](),i.id}addFiles(e){D(this,H)[H]();const t={...this.getState().files},i=[],n=[];for(let s=0;s{this.emit("file-added",e)})),this.emit("files-added",i),i.length>5?this.log(`Added batch of ${i.length} files`):Object.keys(i).forEach((e=>{this.log(`Added file: ${i[e].name}\n id: ${i[e].id}\n type: ${i[e].type}`)})),i.length>0&&D(this,Z)[Z](),n.length>0){let e="Multiple errors occurred while adding files:\n";if(n.forEach((t=>{e+=`\n * ${t.message}`})),this.info({message:this.i18n("addBulkFilesFailed",{smart_count:n.length}),details:e},"error",this.opts.infoTimeout),"function"==typeof AggregateError)throw new AggregateError(n,e);{const t=new Error(e);throw t.errors=n,t}}}removeFiles(e,t){const{files:i,currentUploads:n}=this.getState(),s={...i},r={...n},o=Object.create(null);function a(e){return void 0===o[e]}e.forEach((e=>{i[e]&&(o[e]=i[e],delete s[e])})),Object.keys(r).forEach((e=>{const t=n[e].fileIDs.filter(a);if(0===t.length)return void delete r[e];const{capabilities:i}=this.getState();if(t.length!==n[e].fileIDs.length&&!i.individualCancellation)throw new Error("individualCancellation is disabled");r[e]={...n[e],fileIDs:t}}));const l={currentUploads:r,files:s};0===Object.keys(s).length&&(l.allowNewUpload=!0,l.error=null,l.recoveredState=null),this.setState(l),this.calculateTotalProgress();const u=Object.keys(o);u.forEach((e=>{this.emit("file-removed",o[e],t)})),u.length>5?this.log(`Removed ${u.length} files`):this.log(`Removed files: ${u.join(", ")}`)}removeFile(e,t){void 0===t&&(t=null),this.removeFiles([e],t)}pauseResume(e){if(!this.getState().capabilities.resumableUploads||this.getFile(e).uploadComplete)return;const t=!(this.getFile(e).isPaused||!1);return this.setFileState(e,{isPaused:t}),this.emit("upload-pause",e,t),t}pauseAll(){const e={...this.getState().files};Object.keys(e).filter((t=>!e[t].progress.uploadComplete&&e[t].progress.uploadStarted)).forEach((t=>{const i={...e[t],isPaused:!0};e[t]=i})),this.setState({files:e}),this.emit("pause-all")}resumeAll(){const e={...this.getState().files};Object.keys(e).filter((t=>!e[t].progress.uploadComplete&&e[t].progress.uploadStarted)).forEach((t=>{const i={...e[t],isPaused:!1,error:null};e[t]=i})),this.setState({files:e}),this.emit("resume-all")}retryAll(){const e={...this.getState().files},t=Object.keys(e).filter((t=>e[t].error));if(t.forEach((t=>{const i={...e[t],isPaused:!1,error:null};e[t]=i})),this.setState({files:e,error:null}),this.emit("retry-all",t),0===t.length)return Promise.resolve({successful:[],failed:[]});const i=D(this,K)[K](t,{forceAllowNewUpload:!0});return D(this,Y)[Y](i)}cancelAll(e){let{reason:t="user"}=void 0===e?{}:e;if(this.emit("cancel-all",{reason:t}),"user"===t){const{files:e}=this.getState(),t=Object.keys(e);t.length&&this.removeFiles(t,"cancel-all"),this.setState({totalProgress:0,error:null,recoveredState:null})}}retryUpload(e){this.setFileState(e,{error:null,isPaused:!1}),this.emit("upload-retry",e);const t=D(this,K)[K]([e],{forceAllowNewUpload:!0});return D(this,Y)[Y](t)}logout(){this.iteratePlugins((e=>{e.provider&&e.provider.logout&&e.provider.logout()}))}calculateProgress(e,t){if(null==e||!this.getFile(e.id))return void this.log(`Not setting progress for a file that has been removed: ${null==e?void 0:e.id}`);const i=Number.isFinite(t.bytesTotal)&&t.bytesTotal>0;this.setFileState(e.id,{progress:{...this.getFile(e.id).progress,bytesUploaded:t.bytesUploaded,bytesTotal:t.bytesTotal,percentage:i?Math.round(t.bytesUploaded/t.bytesTotal*100):0}}),this.calculateTotalProgress()}calculateTotalProgress(){const e=this.getFiles().filter((e=>e.progress.uploadStarted||e.progress.preprocess||e.progress.postprocess));if(0===e.length)return this.emit("progress",0),void this.setState({totalProgress:0});const t=e.filter((e=>null!=e.progress.bytesTotal)),i=e.filter((e=>null==e.progress.bytesTotal));if(0===t.length){const t=100*e.length,n=i.reduce(((e,t)=>e+t.progress.percentage),0),s=Math.round(n/t*100);return void this.setState({totalProgress:s})}let n=t.reduce(((e,t)=>e+t.progress.bytesTotal),0);const s=n/t.length;n+=s*i.length;let r=0;t.forEach((e=>{r+=e.progress.bytesUploaded})),i.forEach((e=>{r+=s*(e.progress.percentage||0)/100}));let o=0===n?0:Math.round(r/n*100);o>100&&(o=100),this.setState({totalProgress:o}),this.emit("progress",o)}updateOnlineStatus(){void 0===window.navigator.onLine||window.navigator.onLine?(this.emit("is-online"),this.wasOffline&&(this.emit("back-online"),this.info(this.i18n("connectedToInternet"),"success",3e3),this.wasOffline=!1)):(this.emit("is-offline"),this.info(this.i18n("noInternetConnection"),"error",0),this.wasOffline=!0)}getID(){return this.opts.id}use(e,t){if("function"!=typeof e){throw new TypeError(`Expected a plugin class, but got ${null===e?"null":typeof e}. Please verify that the plugin was imported and spelled correctly.`)}const i=new e(this,t),n=i.id;if(!n)throw new Error("Your plugin must have an id");if(!i.type)throw new Error("Your plugin must have a type");const s=this.getPlugin(n);if(s){const e=`Already found a plugin named '${s.id}'. Tried to use: '${n}'.\nUppy plugins must have unique \`id\` options. See https://uppy.io/docs/plugins/#id.`;throw new Error(e)}return e.VERSION&&this.log(`Using ${n} v${e.VERSION}`),i.type in D(this,U)[U]?D(this,U)[U][i.type].push(i):D(this,U)[U][i.type]=[i],i.install(),this}getPlugin(e){for(const t of Object.values(D(this,U)[U])){const i=t.find((t=>t.id===e));if(null!=i)return i}}[x](e){return D(this,U)[U][e]}iteratePlugins(e){Object.values(D(this,U)[U]).flat(1).forEach(e)}removePlugin(e){this.log(`Removing plugin ${e.id}`),this.emit("plugin-remove",e),e.uninstall&&e.uninstall();const t=D(this,U)[U][e.type],i=t.findIndex((t=>t.id===e.id));-1!==i&&t.splice(i,1);const n={plugins:{...this.getState().plugins,[e.id]:void 0}};this.setState(n)}close(e){let{reason:t}=void 0===e?{}:e;this.log(`Closing Uppy instance ${this.opts.id}: removing all files and uninstalling plugins`),this.cancelAll({reason:t}),D(this,M)[M](),this.iteratePlugins((e=>{this.removePlugin(e)})),"undefined"!=typeof window&&window.removeEventListener&&(window.removeEventListener("online",D(this,Q)[Q]),window.removeEventListener("offline",D(this,Q)[Q]))}hideInfo(){const{info:e}=this.getState();this.setState({info:e.slice(1)}),this.emit("info-hidden")}info(e,t,i){void 0===t&&(t="info"),void 0===i&&(i=3e3);const n="object"==typeof e;this.setState({info:[...this.getState().info,{type:t,message:n?e.message:e,details:n?e.details:null}]}),setTimeout((()=>this.hideInfo()),i),this.emit("info-visible")}log(e,t){const{logger:i}=this.opts;switch(t){case"error":i.error(e);break;case"warning":i.warn(e);break;default:i.debug(e)}}restore(e){return this.log(`Core: attempting to restore upload "${e}"`),this.getState().currentUploads[e]?D(this,Y)[Y](e):(D(this,X)[X](e),Promise.reject(new Error("Nonexistent upload")))}[A](){return D(this,K)[K](...arguments)}addResultData(e,t){if(!D(this,G)[G](e))return void this.log(`Not setting result for an upload that has been removed: ${e}`);const{currentUploads:i}=this.getState(),n={...i[e],result:{...i[e].result,...t}};this.setState({currentUploads:{...i,[e]:n}})}upload(){var e;null!=(e=D(this,U)[U].uploader)&&e.length||this.log("No uploader type plugins are used","warning");let{files:t}=this.getState();const i=this.opts.onBeforeUpload(t);return!1===i?Promise.reject(new Error("Not starting the upload because onBeforeUpload returned false")):(i&&"object"==typeof i&&(t=i,this.setState({files:t})),Promise.resolve().then((()=>D(this,B)[B].validateMinNumberOfFiles(t))).catch((e=>{throw D(this,$)[$](e),e})).then((()=>{if(!D(this,q)[q](t))throw new O(this.i18n("missingRequiredMetaField"))})).catch((e=>{throw e})).then((()=>{const{currentUploads:e}=this.getState(),i=Object.values(e).flatMap((e=>e.fileIDs)),n=[];Object.keys(t).forEach((e=>{const t=this.getFile(e);t.progress.uploadStarted||-1!==i.indexOf(e)||n.push(t.id)}));const s=D(this,K)[K](n);return D(this,Y)[Y](s)})).catch((e=>{throw this.emit("error",e),this.log(e,"error"),e})))}}function ee(e,t){const{message:i,details:n=""}=e;e.isRestriction?this.emit("restriction-failed",t,e):this.emit("error",e),this.info({message:i,details:n},"error",this.opts.infoTimeout),this.log(`${i} ${n}`.trim(),"error")}function te(e){const{missingFields:t,error:i}=D(this,B)[B].getMissingRequiredMetaFields(e);return!(t.length>0)||(this.setFileState(e.id,{missingRequiredMetaFields:t}),this.log(i.message),this.emit("restriction-failed",e,i),!1)}function ie(e){let t=!0;for(const i of Object.values(e))D(this,z)[z](i)||(t=!1);return t}function ne(e){const{allowNewUpload:t}=this.getState();if(!1===t){const t=new O(this.i18n("noMoreFilesAllowed"));throw D(this,$)[$](t,e),t}}function se(e,t){t instanceof File&&(t={name:t.name,type:t.type,size:t.size,data:t});const i=function(e){var t;if(e.type)return e.type;const i=e.name?null==(t=(0,m.Z)(e.name).extension)?void 0:t.toLowerCase():null;return i&&i in g?g[i]:"application/octet-stream"}(t),n=function(e,t){return t.name?t.name:"image"===e.split("/")[0]?`${e.split("/")[0]}.${e.split("/")[1]}`:"noname"}(i,t),s=(0,m.Z)(n).extension,r=Boolean(t.isRemote),o=function(e){let t="uppy";return"string"==typeof e.name&&(t+=`-${y(e.name.toLowerCase())}`),void 0!==e.type&&(t+=`-${e.type}`),e.meta&&"string"==typeof e.meta.relativePath&&(t+=`-${y(e.meta.relativePath.toLowerCase())}`),void 0!==e.data.size&&(t+=`-${e.data.size}`),void 0!==e.data.lastModified&&(t+=`-${e.data.lastModified}`),t}({...t,type:i});if(this.checkIfFileAlreadyExists(o)){const e=new O(this.i18n("noDuplicates",{fileName:n}));throw D(this,$)[$](e,t),e}const a=t.meta||{};a.name=n,a.type=i;const l=Number.isFinite(t.data.size)?t.data.size:null;let u={source:t.source||"",id:o,name:n,extension:s||"",meta:{...this.getState().meta,...a},type:i,data:t.data,progress:{percentage:0,bytesUploaded:0,bytesTotal:l,uploadComplete:!1,uploadStarted:null},size:l,isRemote:r,remote:t.remote||"",preview:t.preview};const c=this.opts.onBeforeFileAdded(u,e);if(!1===c){const e=new O("Cannot add the file because onBeforeFileAdded returned false.");throw this.emit("restriction-failed",t,e),e}"object"==typeof c&&null!==c&&(u=c);try{const t=Object.keys(e).map((t=>e[t]));D(this,B)[B].validate(u,t)}catch(e){throw D(this,$)[$](e,u),e}return u}function re(){this.opts.autoProceed&&!this.scheduledAutoProceed&&(this.scheduledAutoProceed=setTimeout((()=>{this.scheduledAutoProceed=null,this.upload().catch((e=>{e.isRestriction||this.log(e.stack||e.message||e)}))}),4))}function oe(){const e=(e,t,i)=>{let n=e.message||"Unknown error";e.details&&(n+=` ${e.details}`),this.setState({error:n}),null!=t&&t.id in this.getState().files&&this.setFileState(t.id,{error:n,response:i})};this.on("error",e),this.on("upload-error",((t,i,n)=>{if(e(i,t,n),"object"==typeof i&&i.message){const e=new Error(i.message);e.details=i.message,i.details&&(e.details+=` ${i.details}`),e.message=this.i18n("failedToUpload",{file:null==t?void 0:t.name}),D(this,$)[$](e)}else D(this,$)[$](i)})),this.on("upload",(()=>{this.setState({error:null})})),this.on("upload-started",(e=>{null!=e&&this.getFile(e.id)?this.setFileState(e.id,{progress:{uploadStarted:Date.now(),uploadComplete:!1,percentage:0,bytesUploaded:0,bytesTotal:e.size}}):this.log(`Not setting progress for a file that has been removed: ${null==e?void 0:e.id}`)})),this.on("upload-progress",this.calculateProgress),this.on("upload-success",((e,t)=>{if(null==e||!this.getFile(e.id))return void this.log(`Not setting progress for a file that has been removed: ${null==e?void 0:e.id}`);const i=this.getFile(e.id).progress;this.setFileState(e.id,{progress:{...i,postprocess:D(this,L)[L].size>0?{mode:"indeterminate"}:null,uploadComplete:!0,percentage:100,bytesUploaded:i.bytesTotal},response:t,uploadURL:t.uploadURL,isPaused:!1}),null==e.size&&this.setFileState(e.id,{size:t.bytesUploaded||i.bytesTotal}),this.calculateTotalProgress()})),this.on("preprocess-progress",((e,t)=>{null!=e&&this.getFile(e.id)?this.setFileState(e.id,{progress:{...this.getFile(e.id).progress,preprocess:t}}):this.log(`Not setting progress for a file that has been removed: ${null==e?void 0:e.id}`)})),this.on("preprocess-complete",(e=>{if(null==e||!this.getFile(e.id))return void this.log(`Not setting progress for a file that has been removed: ${null==e?void 0:e.id}`);const t={...this.getState().files};t[e.id]={...t[e.id],progress:{...t[e.id].progress}},delete t[e.id].progress.preprocess,this.setState({files:t})})),this.on("postprocess-progress",((e,t)=>{null!=e&&this.getFile(e.id)?this.setFileState(e.id,{progress:{...this.getState().files[e.id].progress,postprocess:t}}):this.log(`Not setting progress for a file that has been removed: ${null==e?void 0:e.id}`)})),this.on("postprocess-complete",(e=>{if(null==e||!this.getFile(e.id))return void this.log(`Not setting progress for a file that has been removed: ${null==e?void 0:e.id}`);const t={...this.getState().files};t[e.id]={...t[e.id],progress:{...t[e.id].progress}},delete t[e.id].progress.postprocess,this.setState({files:t})})),this.on("restored",(()=>{this.calculateTotalProgress()})),this.on("dashboard:file-edit-complete",(e=>{e&&D(this,z)[z](e)})),"undefined"!=typeof window&&window.addEventListener&&(window.addEventListener("online",D(this,Q)[Q]),window.addEventListener("offline",D(this,Q)[Q]),setTimeout(D(this,Q)[Q],3e3))}function ae(e,t){void 0===t&&(t={});const{forceAllowNewUpload:i=!1}=t,{allowNewUpload:n,currentUploads:s}=this.getState();if(!n&&!i)throw new Error("Cannot create a new upload: already uploading.");const o=(0,r.x)();return this.emit("upload",{id:o,fileIDs:e}),this.setState({allowNewUpload:!1!==this.opts.allowMultipleUploadBatches&&!1!==this.opts.allowMultipleUploads,currentUploads:{...s,[o]:{fileIDs:e,step:0,result:{}}}}),o}function le(e){const{currentUploads:t}=this.getState();return t[e]}function ue(e){const t={...this.getState().currentUploads};delete t[e],this.setState({currentUploads:t})}async function ce(e){let{currentUploads:t}=this.getState(),i=t[e];const n=i.step||0,s=[...D(this,j)[j],...D(this,N)[N],...D(this,L)[L]];try{for(let r=n;r{const t=this.getFile(e);t&&t.progress.postprocess&&this.emit("postprocess-complete",t)}));const n=i.fileIDs.map((e=>this.getFile(e))),s=n.filter((e=>!e.error)),r=n.filter((e=>e.error));await this.addResultData(e,{successful:s,failed:r,uploadID:e}),t=this.getState().currentUploads,i=t[e]}let r;return i&&(r=i.result,this.emit("complete",r),D(this,X)[X](e)),null==r&&this.log(`Not setting result for an upload that has been removed: ${e}`),r}J.VERSION="3.0.4";var de=J,he=i(6400),pe=i(8674),fe=i(9507),me=i(8596);function ge(e,t){if(!Object.prototype.hasOwnProperty.call(e,t))throw new TypeError("attempted to use private field on non-instance");return e}var ye=0;function ve(e){return"__private_"+ye+++"_"+e}var be=ve("updateUI");class we extends me.Z{constructor(){super(...arguments),Object.defineProperty(this,be,{writable:!0,value:void 0})}getTargetPlugin(e){let t;if("object"==typeof e&&e instanceof we)t=e;else if("function"==typeof e){const i=e;this.uppy.iteratePlugins((e=>{e instanceof i&&(t=e)}))}return t}mount(e,t){const i=t.id,n=(0,pe.Z)(e);if(n){this.isTargetDOMEl=!0;const t=document.createElement("div");return t.classList.add("uppy-Root"),ge(this,be)[be]=function(e){let t=null,i=null;return function(){for(var n=arguments.length,s=new Array(n),r=0;r(t=null,e(...i))))),t}}((e=>{this.uppy.getPlugin(this.id)&&((0,he.sY)(this.render(e),t),this.afterUpdate())})),this.uppy.log(`Installing ${i} to a DOM element '${e}'`),this.opts.replaceTargetContent&&(n.innerHTML=""),(0,he.sY)(this.render(this.uppy.getState()),t),this.el=t,n.appendChild(t),t.dir=this.opts.direction||(0,fe.Z)(t)||"ltr",this.onMount(),this.el}const s=this.getTargetPlugin(e);if(s)return this.uppy.log(`Installing ${i} to ${s.id}`),this.parent=s,this.el=s.addTarget(t),this.onMount(),this.el;this.uppy.log(`Not installing ${i}`);let r=`Invalid target option given to ${i}.`;throw r+="function"==typeof e?" The given target is not a Plugin class. Please check that you're not specifying a React Component instead of a plugin. If you are using @uppy/* packages directly, make sure you have only 1 version of @uppy/core installed: run `npm ls @uppy/core` on the command line and verify that all the versions match and are deduped correctly.":"If you meant to target an HTML element, please make sure that the element exists. Check that the