diff --git a/.github/workflows/eslint.yml b/.github/workflows/eslint.yml
index ac13cdc40a..1910be2d94 100644
--- a/.github/workflows/eslint.yml
+++ b/.github/workflows/eslint.yml
@@ -15,6 +15,7 @@ jobs:
- uses: actions/setup-node@v2
with:
cache: 'yarn'
+ node-version: 16
# Run yarn install for JS dependencies
- name: 'Yarn Install'
diff --git a/.github/workflows/mysql.yml b/.github/workflows/mysql.yml
index 71d4202bd2..e561c8e8f6 100644
--- a/.github/workflows/mysql.yml
+++ b/.github/workflows/mysql.yml
@@ -14,18 +14,20 @@ jobs:
steps:
# Checkout the repo
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
# Install Ruby and run bundler
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true
-
+
# Install Node
- - uses: actions/setup-node@v2
+ - uses: actions/setup-node@v3
with:
+ node-version: '16.6.0'
cache: 'yarn'
+ node-version: 16
# Copy all of the example configs over
- name: 'Setup the application'
diff --git a/.github/workflows/postgres.yml b/.github/workflows/postgres.yml
index 6a829ed760..1f2ca93ce2 100644
--- a/.github/workflows/postgres.yml
+++ b/.github/workflows/postgres.yml
@@ -30,18 +30,23 @@ jobs:
steps:
# Checkout the repo
- - uses: actions/checkout@v2
+ - uses: actions/checkout@v3
# Install Ruby and run bundler
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.0'
bundler-cache: true
-
+
+ ## - run: echo 'NODE_OPTIONS="--openssl-legacy-provider"' >> $GITHUB_ENV
+ ## /home/runner/runners/2.301.1/externals/node12/bin/node: --openssl-legacy-provider is not allowed in NODE_OPTIONS
+
# Install Node
- - uses: actions/setup-node@v2
+ - uses: actions/setup-node@v3
with:
+ node-version: '16.6.0'
cache: 'yarn'
+ node-version: 16
# Install the Postgres developer packages
- name: 'Install Postgresql Packages'
diff --git a/.rubocop.yml b/.rubocop.yml
index 97624066f7..b902aabe81 100644
--- a/.rubocop.yml
+++ b/.rubocop.yml
@@ -23,6 +23,11 @@
#
# Try to place any new Cops under their relevant section and in alphabetical order
+require:
+# - rubocop-rails
+# - rubocop-rspec
+ - rubocop-performance
+
AllCops:
# Show the name of the cops being voilated in the feedback
DisplayCopNames: true
@@ -104,6 +109,12 @@ Lint/UnexpectedBlockArity: # new in 1.5
Enabled: true
Lint/UnmodifiedReduceAccumulator: # new in 1.1
Enabled: true
+Lint/Debugger: # new in 1.45.0
+ Description: 'Check for debugger calls.'
+ Enabled: true
+ Exclude:
+ - 'lib/tasks/**/*'
+
# -----------
# - METRICS -
diff --git a/CHANGELOG.md b/CHANGELOG.md
index dfaf89f3a3..b28bcbab00 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,8 @@
**Note that the Webpacker gem has been removed in favor of jsbundling-rails.** This was done in preparation for the future migration to Rails 7. See [issue #3185](https://github.com/DMPRoadmap/roadmap/issues/3185) for more details on this change. If, after migrating to this version, you see 'Sprockets' related errors in your application you will need to rebuild you asset library. To do this run `bin/rails assets:clobber && bin/rails assets:precompile` from the project directory.
+All gem and JS dependencies were also updated via `bundle update && yarn upgrade`
+
### Upgrade to Ruby 3
- Upgrade to Ruby version 3.0.5 [#3225](https://github.com/DMPRoadmap/roadmap/issues/3225)
@@ -16,6 +18,15 @@
- Froze `lib/deprecators/*.rb` constants that were Strings
- Updated places that were incorrectly using keyword args. See [this article](https://makandracards.com/makandra/496481-changes-to-positional-and-keyword-args-in-ruby-3-0) for an overview
+#### Upgraded TinyMCE to v6
+
+- Upgraded TinyMCE to v6 (v5 EOL is April 20 2023)
+- Adjusted JS code to conform to new TinyMCE version
+- Adjusted views to work with the new version
+- Updated variables.scss file to fix issue with button text/background color contrast
+- Updated blocks/_tables.scss to fix issue with dropdown menu overlap against table
+- updated config/initializers/assets.rb to copy over the tinymce skins and bootstrap glyphicons to the public directory so that they are accessible by TinyMCE and Bootstrap code
+
#### Removed webpacker gem
As Webpacker is no longer maintained by the Rails community, we have replaced it by `jsbundling-rails` and `cssbundling-rails` for the Javascript & CSS compilation.
@@ -43,6 +54,11 @@ With the removal of the webpacker gem, the DartSass package has been installed t
- Sass variables are no longer declared globally and have to be included in files where they are used.
For more detailed explanation, please refer to this video : https://www.youtube.com/watch?v=CR-a8upNjJ0
+### Introduction of RackAttack
+[Rack Attack](https://github.com/rack/rack-attack) is middleware that can be used to help protect the application from malicious activity. You can establish white/black lists for specific IP addresses and also define rate limits.
+
+- Using Rack-attack address vulnerabilities pointed out in password reset and login: there was no request rate limit.[#3214](https://github.com/DMPRoadmap/roadmap/issues/3214)
+
### Cleanup of Capybara configuration
- Cleaned up Gemfile by:
- removing gems that were already commented out
@@ -51,16 +67,31 @@ For more detailed explanation, please refer to this video : https://www.youtube.
- Cleaned up `spec/rails_helper.rb` and `spec/spec_helper.rb`
- Simplified the `spec/support/capybara.rb` helper to work with the latest version of Capybara and use its built in headless Chrome driver
+### Rubocop updates
+- Installed rubocop-performance gem and made suggested changes
+- Added lib tasks as exclusive from debugger rubocop check after rubocop upgrading to >= v1.45 [#3291](https://github.com/DMPRoadmap/roadmap/issues/3291)
+
+### GitHub actions updates
+- Added node version specification (v16) to eslint, PostgreSQL and MySQL github action to eliminate `digital routine enveloped` error [#319](https://github.com/portagenetwork/roadmap/issues/319)
+
+### Enhancements
+- Added enum to the funding status attribute of plan model to make the dropdown of 'funding status' being translatable
+- Allow users to download both single phase and in PDF, TEXT and DOCX format. CSV file can only download single phase instead of all phases.
+
+### Bug Fixes
+
## v4.0.2
### Added
-
- Added CHANGELOG.md and Danger Github Action [#3257](https://github.com/DMPRoadmap/roadmap/issues/3257)
- Added validation with custom error message in research_output.rb to ensure a user does not enter a very large value as 'Anticipated file size'. [#3161](https://github.com/DMPRoadmap/roadmap/issues/3161)
- Added popover for org profile page and added explanation for public plan
-### Fixed
+ - Added rack-attack version 6.6.1 gem. https://rubygems.org/gems/rack-attack/versions/6.6.1
+### Fixed
+- Fixed an issue that was preventing uses from leaving the research output byte_size field blank
+- Patched issue that was causing template visibility to default to organizationally visible after saving
- Froze mail gem version [#3254](https://github.com/DMPRoadmap/roadmap/issues/3254)
- Updated the CSV export so that it now includes research outputs
- Updated sans-serif font used in PDF downloads to Roboto since Google API no longer offers Helvetica
diff --git a/CHANGELOG_DMPOPIDoR.md b/CHANGELOG_DMPOPIDoR.md
index bd7bb9ea23..d812a59100 100644
--- a/CHANGELOG_DMPOPIDoR.md
+++ b/CHANGELOG_DMPOPIDoR.md
@@ -2,6 +2,16 @@
**Attention** Cette liste de changements concerne les déploiements sur nos serveurs de test en interne.
+## 12/05/2023
+- Mise à jour du CAPTCHA vers Recaptcha V3 :
+ - La validation est transparente basée sur un score calculé par Google
+ - Si la validation échoue, le site propose le test "Je ne suis pas un robot"
+
+## 28/04/2023
+- Correction du problème de pagination de la liste des contributeurs dans l'onglet Contributeurs (issue gitbucket 482) & retrait du champ de recherche
+- Correction du problème d'affichage des boutons
+- Correction du problème d'affichage du message indiquant qu'un élément est déjà présent dans le plan, lors de la sauvegarde dans une popup.
+
## 05/04/2023
- Amélioration des fenetres de confirmation pour le partage d'un plan public, l'import ANR, l'envoi d'une notification et la suppression d'un sous fragment dans une liste de sous fragment. (Installation de la librarie Sweetalert2)
- Correction d'un problème d'affichage des logos Twitter et Github dans le pied de page
diff --git a/Gemfile b/Gemfile
index f0f379d78d..921994bb99 100644
--- a/Gemfile
+++ b/Gemfile
@@ -108,9 +108,8 @@ gem 'jwt'
# OO authorization for Rails (https://github.com/elabs/pundit)
gem 'pundit'
-# Protect your Rails and Rack apps from bad clients. Rack::Attack lets you easily decide when
-# to allow, block and throttle based on properties of the request.
-gem 'rack-attack'
+# Gem for throttling malicious attacks
+gem 'rack-attack', '~> 6.6', '>= 6.6.1'
# ========== #
# UI / VIEWS #
@@ -290,6 +289,9 @@ group :ci, :development do
# RuboCop rules for detecting and autocorrecting undecorated strings for i18n
# (gettext and rails-i18n)
gem 'rubocop-i18n'
+
+ # Performance checks by Rubocop
+ gem 'rubocop-performance', require: false
end
group :development do
diff --git a/Gemfile.lock b/Gemfile.lock
index a5e8b942fa..fbfcbb8215 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -58,7 +58,7 @@ GEM
activesupport (= 6.1.7.3)
activerecord-import (1.4.1)
activerecord (>= 4.2)
- activerecord_json_validator (2.1.3)
+ activerecord_json_validator (2.1.5)
activerecord (>= 4.2.0, < 8)
json_schemer (~> 0.2.18)
activestorage (6.1.7.3)
@@ -86,16 +86,16 @@ GEM
autoprefixer-rails (10.4.13.0)
execjs (~> 2)
bcrypt (3.1.18)
- better_errors (2.9.1)
- coderay (>= 1.0.0)
+ better_errors (2.10.0)
erubi (>= 1.0.0)
rack (>= 0.9.0)
+ rouge (>= 1.0.0)
bindex (0.8.1)
binding_of_caller (1.0.0)
debug_inspector (>= 0.0.1)
bootsnap (1.16.0)
msgpack (~> 1.2)
- brakeman (5.4.1)
+ brakeman (6.0.0)
builder (3.2.4)
bullet (7.0.7)
activesupport (>= 3.0.0)
@@ -106,7 +106,7 @@ GEM
bundler (>= 1.2.0, < 3)
thor (~> 1.0)
byebug (11.1.3)
- capybara (3.39.0)
+ capybara (3.39.1)
addressable
matrix
mini_mime (>= 0.1.3)
@@ -159,7 +159,7 @@ GEM
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
- devise_invitable (2.0.7)
+ devise_invitable (2.0.8)
actionmailer (>= 5.0)
devise (>= 4.6)
diff-lcs (1.5.0)
@@ -184,12 +184,12 @@ GEM
factory_bot_rails (6.2.0)
factory_bot (~> 6.2.0)
railties (>= 5.0.0)
- faker (3.1.1)
+ faker (3.2.0)
i18n (>= 1.8.11, < 2)
- faraday (2.7.4)
+ faraday (2.7.5)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
- faraday-http-cache (2.4.1)
+ faraday-http-cache (2.5.0)
faraday (>= 0.8)
faraday-net_http (3.0.2)
feedjira (3.2.2)
@@ -197,7 +197,7 @@ GEM
sax-machine (>= 1.0)
ffi (1.15.5)
flag_shih_tzu (0.3.23)
- fog-aws (3.18.0)
+ fog-aws (3.19.0)
fog-core (~> 2.1)
fog-json (~> 1.1)
fog-xml (~> 0.1)
@@ -247,7 +247,7 @@ GEM
httparty (0.21.0)
mini_mime (>= 1.0.0)
multi_xml (>= 0.5.2)
- i18n (1.12.0)
+ i18n (1.13.0)
concurrent-ruby (~> 1.0)
jbuilder (2.11.5)
actionview (>= 5.0.0)
@@ -262,7 +262,7 @@ GEM
hana (~> 1.3)
regexp_parser (~> 2.0)
uri_template (~> 0.7)
- jsonpath (1.1.2)
+ jsonpath (1.1.3)
multi_json
jwt (2.7.0)
kaminari (1.2.2)
@@ -287,9 +287,9 @@ GEM
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
locale (2.1.3)
- loofah (2.20.0)
+ loofah (2.21.3)
crass (~> 1.0.2)
- nokogiri (>= 1.5.9)
+ nokogiri (>= 1.12.0)
lumberjack (1.2.8)
mail (2.8.1)
mini_mime (>= 0.1.1)
@@ -309,7 +309,7 @@ GEM
minitest (5.18.0)
mocha (2.0.2)
ruby2_keywords (>= 0.0.5)
- msgpack (1.7.0)
+ msgpack (1.7.1)
multi_json (1.15.0)
multi_xml (0.6.0)
mysql2 (0.5.5)
@@ -326,9 +326,9 @@ GEM
net-protocol
nio4r (2.5.9)
no_proxy_fix (0.1.2)
- nokogiri (1.14.3-arm64-darwin)
+ nokogiri (1.15.2-arm64-darwin)
racc (~> 1.4)
- nokogiri (1.14.3-x86_64-linux)
+ nokogiri (1.15.2-x86_64-linux)
racc (~> 1.4)
notiffany (0.1.3)
nenv (~> 0.1)
@@ -361,10 +361,10 @@ GEM
open4 (1.3.4)
options (2.3.2)
orm_adapter (0.5.0)
- parallel (1.22.1)
- parser (3.2.2.0)
+ parallel (1.23.0)
+ parser (3.2.2.1)
ast (~> 2.4.1)
- pg (1.4.6)
+ pg (1.5.3)
prime (0.1.2)
forwardable
singleton
@@ -375,14 +375,14 @@ GEM
coderay (~> 1.1)
method_source (~> 1.0)
public_suffix (5.0.1)
- puma (6.2.1)
+ puma (6.2.2)
nio4r (~> 2.0)
pundit (2.2.0)
activesupport (>= 3.0.0)
- pundit-matchers (1.8.4)
+ pundit-matchers (2.3.0)
rspec-rails (>= 3.0.0)
racc (1.6.2)
- rack (2.2.6.4)
+ rack (2.2.7)
rack-attack (6.6.1)
rack (>= 1.0, < 3)
rack-mini-profiler (3.1.0)
@@ -427,48 +427,48 @@ GEM
rb-inotify (0.10.1)
ffi (~> 1.0)
rchardet (1.8.0)
- recaptcha (5.13.0)
- json
- regexp_parser (2.7.0)
+ recaptcha (5.14.0)
+ regexp_parser (2.8.0)
responders (3.1.0)
actionpack (>= 5.2)
railties (>= 5.2)
rexml (3.2.5)
rollbar (3.4.0)
+ rouge (4.1.1)
rspec-collection_matchers (1.2.0)
rspec-expectations (>= 2.99.0.beta1)
- rspec-core (3.12.1)
+ rspec-core (3.12.2)
rspec-support (~> 3.12.0)
- rspec-expectations (3.12.2)
+ rspec-expectations (3.12.3)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-mocks (3.12.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
- rspec-rails (6.0.1)
+ rspec-rails (6.0.2)
actionpack (>= 6.1)
activesupport (>= 6.1)
railties (>= 6.1)
- rspec-core (~> 3.11)
- rspec-expectations (~> 3.11)
- rspec-mocks (~> 3.11)
- rspec-support (~> 3.11)
+ rspec-core (~> 3.12)
+ rspec-expectations (~> 3.12)
+ rspec-mocks (~> 3.12)
+ rspec-support (~> 3.12)
rspec-support (3.12.0)
- rswag (2.8.0)
- rswag-api (= 2.8.0)
- rswag-specs (= 2.8.0)
- rswag-ui (= 2.8.0)
- rswag-api (2.8.0)
+ rswag (2.9.0)
+ rswag-api (= 2.9.0)
+ rswag-specs (= 2.9.0)
+ rswag-ui (= 2.9.0)
+ rswag-api (2.9.0)
railties (>= 3.1, < 7.1)
- rswag-specs (2.8.0)
+ rswag-specs (2.9.0)
activesupport (>= 3.1, < 7.1)
json-schema (>= 2.2, < 4.0)
railties (>= 3.1, < 7.1)
rspec-core (>= 2.14)
- rswag-ui (2.8.0)
+ rswag-ui (2.9.0)
actionpack (>= 3.1, < 7.1)
railties (>= 3.1, < 7.1)
- rubocop (1.50.0)
+ rubocop (1.51.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.2.0.0)
@@ -478,10 +478,13 @@ GEM
rubocop-ast (>= 1.28.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.28.0)
+ rubocop-ast (1.28.1)
parser (>= 3.2.1.0)
rubocop-i18n (3.0.0)
rubocop (~> 1.0)
+ rubocop-performance (1.18.0)
+ rubocop (>= 1.7.0, < 2.0)
+ rubocop-ast (>= 0.4.0)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
ruby_dig (0.0.2)
@@ -490,7 +493,7 @@ GEM
addressable (>= 2.3.5)
faraday (>= 0.17.3, < 3)
sax-machine (1.3.2)
- selenium-webdriver (4.8.6)
+ selenium-webdriver (4.9.1)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
@@ -521,10 +524,10 @@ GEM
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
text (1.3.1)
- thor (1.2.1)
+ thor (1.2.2)
timeout (0.3.2)
tomparse (0.4.2)
- translation (1.35)
+ translation (1.36)
gettext (~> 3.2, >= 3.2.5, <= 3.4.3)
turbo-rails (1.4.0)
actionpack (>= 6.0.0)
@@ -560,11 +563,11 @@ GEM
wkhtmltopdf-binary (0.12.6.6)
xpath (3.2.0)
nokogiri (~> 1.8)
- yard (0.9.33)
+ yard (0.9.34)
yard-tomdoc (0.7.1)
tomparse (>= 0.4.0)
yard
- zeitwerk (2.6.7)
+ zeitwerk (2.6.8)
PLATFORMS
arm64-darwin-21
@@ -623,7 +626,7 @@ DEPENDENCIES
puma
pundit
pundit-matchers
- rack-attack
+ rack-attack (~> 6.6, >= 6.6.1)
rack-mini-profiler
rails (~> 6.1)
rails-controller-testing
@@ -634,6 +637,7 @@ DEPENDENCIES
rswag
rubocop
rubocop-i18n
+ rubocop-performance
shoulda
spring
spring-commands-rspec
@@ -650,7 +654,7 @@ DEPENDENCIES
yard-tomdoc
RUBY VERSION
- ruby 3.0.5p211
+ ruby 3.0.4p208
BUNDLED WITH
2.4.8
diff --git a/README.md b/README.md
index 4481f8519b..a99a2df6e6 100644
--- a/README.md
+++ b/README.md
@@ -1,60 +1,46 @@
-# DMP OPIDoR
-
-[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Brakeman/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
-[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Rubocop/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
-[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/ESLint/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
-[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20PostgreSQL/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
-[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20MySQL/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
-
-DMP Roadmap is a Data Management Planning tool. Management and development of DMP Roadmap is jointly provided by the Digital Curation Centre (DCC), http://www.dcc.ac.uk/, and the University of California Curation Center (UC3), http://www.cdlib.org/services/uc3/.
-
-### Requis
-
-- Ruby 2.4.x
-- Rails 4.2.x
-- NodeJS LTS
-- PostgreSQL 9.x
-
-Click here for the latest [releases](https://github.com/DMPRoadmap/roadmap/releases/).
-
-#### Pre-requisites
-Roadmap is a Ruby on Rails application and you will need to have:
-* Ruby = 2.7.6
-* Rails = 6.1
-* MySQL >= 5.0 OR PostgreSQL
-
-Further detail on how to install Ruby on Rails applications are available from the Ruby on Rails site: http://rubyonrails.org.
-
-L'application se lance par défaut en mode développement.
-
-## Développement
-
-### Structure du dépôt Git
-
-#### Installation
-See the [Installation Guide](https://github.com/DMPRoadmap/roadmap/wiki/Installation) on the Wiki.
-
-#### Troubleshooting
-See the [Troubleshooting Guide](https://github.com/DMPRoadmap/roadmap/wiki/Troubleshooting) on the Wiki.
-
-#### Support
-Issues should be reported here on [Github Issues](https://github.com/DMPRoadmap/roadmap/issues)
-Please be advised though that we can only provide limited support for your local installations.
-Any security patches and bugfixes will be applied to the most recent version, and we will endeavour to support migrations to the current release.
-
-#### Contributing
-If you would like to contribute to the project. Please follow these steps to submit a contribution:
-* Comment on the Github issue (or create one if one does not exist) and let us know that you're working on it.
-* Fork the project (if you have not already) or rebase your fork so that it is up to date with the current repository's '_**development**_' branch
-* Create a new branch in your fork. This will ensure that you are able to work at your own pace and continue to pull in any updates made to this project.
-* Make your changes in the new branch
-* When you have finished your work, make sure that your version of the '_**development**_' branch is still up to date with this project. Then merge your new branch into your '_**development**_' branch.
-* Then create a new Pull Request (PR) from your branch to this project's '_**development**_' branch in GitHub
-* The project team will then review your PR and communicate with you to convey any additional changes that would ensure that your work adheres to our guidelines.
-
-See the [Contribution Guide](https://github.com/DMPRoadmap/roadmap/blob/development/CONTRIBUTING.md) on the Wiki for more details.
-
-#### License
-The DMP Roadmap project uses the MIT License .
-
-foobar
+# DMP OPIDoR
+
+[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Brakeman/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
+[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Rubocop/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
+[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/ESLint/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
+[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20PostgreSQL/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
+[![Actions Status](https://github.com/DMPRoadmap/roadmap/workflows/Tests%20-%20MySQL/badge.svg)](https://github.com/DMPRoadmap/roadmap/actions)
+
+DMP Roadmap is a Data Management Planning tool. Management and development of DMP Roadmap is jointly provided by the Digital Curation Centre (DCC), http://www.dcc.ac.uk/, and the University of California Curation Center (UC3), http://www.cdlib.org/services/uc3/.
+
+### Requis
+
+- Ruby 2.4.x
+- Rails 4.2.x
+- NodeJS LTS
+- PostgreSQL 9.x
+
+Click here for the latest [releases](https://github.com/DMPRoadmap/roadmap/releases/).
+
+#### Installation
+See the [Installation Guide](https://github.com/DMPRoadmap/roadmap/wiki/Installation) on the Wiki.
+
+#### Troubleshooting
+See the [Troubleshooting Guide](https://github.com/DMPRoadmap/roadmap/wiki/Troubleshooting) on the Wiki.
+
+#### Support
+Issues should be reported here on [Github Issues](https://github.com/DMPRoadmap/roadmap/issues)
+Please be advised though that we can only provide limited support for your local installations.
+Any security patches and bugfixes will be applied to the most recent version, and we will endeavour to support migrations to the current release.
+
+#### Contributing
+If you would like to contribute to the project. Please follow these steps to submit a contribution:
+* Comment on the Github issue (or create one if one does not exist) and let us know that you're working on it.
+* Fork the project (if you have not already) or rebase your fork so that it is up to date with the current repository's '_**development**_' branch
+* Create a new branch in your fork. This will ensure that you are able to work at your own pace and continue to pull in any updates made to this project.
+* Make your changes in the new branch
+* When you have finished your work, make sure that your version of the '_**development**_' branch is still up to date with this project. Then merge your new branch into your '_**development**_' branch.
+* Then create a new Pull Request (PR) from your branch to this project's '_**development**_' branch in GitHub
+* The project team will then review your PR and communicate with you to convey any additional changes that would ensure that your work adheres to our guidelines.
+
+See the [Contribution Guide](https://github.com/DMPRoadmap/roadmap/blob/development/CONTRIBUTING.md) on the Wiki for more details.
+
+#### License
+The DMP Roadmap project uses the MIT License .
+
+foobar
diff --git a/app/assets/stylesheets/blocks/_buttons.scss b/app/assets/stylesheets/blocks/_buttons.scss
index f137fc9cd0..ffc1d5ee69 100644
--- a/app/assets/stylesheets/blocks/_buttons.scss
+++ b/app/assets/stylesheets/blocks/_buttons.scss
@@ -15,6 +15,7 @@
.btn-primary.active:hover {
background-color: $color-primary-background;
border-color: $color-border-default;
+ color: $color-primary-text;
outline: none;
margin-top: 5px;
margin-bottom: 10px;
@@ -30,6 +31,7 @@
.btn-default.active:hover {
background-color: $color-primary-background;
border-color: $color-border-default;
+ color: $color-primary-text;
outline: none;
margin-top: 5px;
margin-bottom: 10px;
diff --git a/app/assets/stylesheets/blocks/_tables.scss b/app/assets/stylesheets/blocks/_tables.scss
index 7661e39e81..32e3a2038c 100644
--- a/app/assets/stylesheets/blocks/_tables.scss
+++ b/app/assets/stylesheets/blocks/_tables.scss
@@ -48,7 +48,7 @@ th.download-column {
@media (min-width: 768px) {
.table-responsive {
- overflow: visible;
+ overflow: visible !important;
}
}
diff --git a/app/assets/stylesheets/dmpopidor.scss b/app/assets/stylesheets/dmpopidor.scss
index 5a7120ac12..fc4f6af1cb 100644
--- a/app/assets/stylesheets/dmpopidor.scss
+++ b/app/assets/stylesheets/dmpopidor.scss
@@ -493,6 +493,7 @@ header .main-nav {
border-color: $rust;
background-color: $rust;
color: $white;
+ margin-bottom: 10px;
}
.btn-default,
@@ -505,6 +506,7 @@ header .main-nav {
border-color: $rust;
background-color: $rust;
color: $white;
+ margin-bottom: 10px;
}
.btn-secondary,
@@ -992,6 +994,7 @@ header .main-nav {
border-color: $blue;
background-color: $blue;
color: $white;
+ margin-bottom: 10px;
}
.btn-default,
@@ -1004,6 +1007,7 @@ header .main-nav {
border-color: $blue;
background-color: $blue;
color: $white;
+ margin-bottom: 10px;
}
.combobox-clear-button,
@@ -1119,6 +1123,7 @@ header .main-nav {
background-color: $yellow;
color: $black;
text-decoration: none;
+ margin-bottom: 10px;
}
.btn-default,
@@ -1132,6 +1137,7 @@ header .main-nav {
background-color: $yellow;
color: $black;
text-decoration: none;
+ margin-bottom: 10px;
}
.combobox-clear-button,
@@ -1723,6 +1729,10 @@ header .main-nav {
background-color: $light-grey;
}
+ .paginable-search {
+ display: none;
+ }
+
}
.spinner {
diff --git a/app/controllers/answers_controller.rb b/app/controllers/answers_controller.rb
index 9d1abc106f..03c73da29a 100644
--- a/app/controllers/answers_controller.rb
+++ b/app/controllers/answers_controller.rb
@@ -200,8 +200,8 @@ def permitted_params
# --------------------------------
def check_answered(section, q_array, all_answers)
- n_qs = section.questions.select { |question| q_array.include?(question.id) }.length
- n_ans = all_answers.select { |ans| q_array.include?(ans.question.id) and ans.answered? }.length
+ n_qs = section.questions.count { |question| q_array.include?(question.id) }
+ n_ans = all_answers.count { |ans| q_array.include?(ans.question.id) and ans.answered? }
[n_qs, n_ans]
end
end
diff --git a/app/controllers/api/v0/plans_controller.rb b/app/controllers/api/v0/plans_controller.rb
index 0ea43ba707..4e74ab2db9 100644
--- a/app/controllers/api/v0/plans_controller.rb
+++ b/app/controllers/api/v0/plans_controller.rb
@@ -88,7 +88,7 @@ def index
if params['updated_after'].present? || params['updated_before'].present?
@plans = @plans.where(updated_at: dates_to_range(params, 'updated_after', 'updated_before'))
end
- if params['remove_tests'].present? && params['remove_tests'].downcase == 'true'
+ if params['remove_tests'].present? && params['remove_tests'].casecmp('true').zero?
@plans = @plans.where.not(visibility: Plan.visibilities[:is_test])
end
# filter on funder (dmptemplate_id)
diff --git a/app/controllers/api/v0/statistics_controller.rb b/app/controllers/api/v0/statistics_controller.rb
index 2af50dfcb2..dffd03c67c 100644
--- a/app/controllers/api/v0/statistics_controller.rb
+++ b/app/controllers/api/v0/statistics_controller.rb
@@ -219,7 +219,7 @@ def plans
raise Pundit::NotAuthorizedError unless Api::V0::StatisticsPolicy.new(@user, :statistics).plans?
@org_plans = @user.org.plans
- if params['remove_tests'].present? && params['remove_tests'].downcase == 'true'
+ if params['remove_tests'].present? && params['remove_tests'].casecmp('true').zero?
@org_plans = @org_plans.where.not(visibility: Plan.visibilities[:is_test])
end
if params['start_date'].present? || params['end_date'].present?
diff --git a/app/controllers/api/v1/plans_controller.rb b/app/controllers/api/v1/plans_controller.rb
index b1480437bd..3f83f5da93 100644
--- a/app/controllers/api/v1/plans_controller.rb
+++ b/app/controllers/api/v1/plans_controller.rb
@@ -108,7 +108,7 @@ def plan_exists?(json:)
# Get the Plan's owner
def determine_owner(client:, plan:)
- contact = plan.contributors.select(&:data_curation?).first
+ contact = plan.contributors.find(&:data_curation?)
# Use the contact if it was sent in and has an affiliation defined
return contact if contact.present? && contact.org.present?
diff --git a/app/controllers/concerns/conditional_user_mailer.rb b/app/controllers/concerns/conditional_user_mailer.rb
index c83338347d..e7eddc58fe 100644
--- a/app/controllers/concerns/conditional_user_mailer.rb
+++ b/app/controllers/concerns/conditional_user_mailer.rb
@@ -12,14 +12,14 @@ module ConditionalUserMailer
#
# Returns Boolean
def deliver_if(key:, recipients: [], &block)
- return false unless block_given?
+ return false unless block
Array(recipients).each do |recipient|
email_hash = recipient.get_preferences('email').with_indifferent_access
# Violation of rubocop's DoubleNegation check
# preference_value = !!email_hash.dig(*key.to_s.split("."))
preference_value = email_hash.dig(*key.to_s.split('.'))
- block.call(recipient) if preference_value
+ yield(recipient) if preference_value
end
true
diff --git a/app/controllers/contact_us/contacts_controller.rb b/app/controllers/contact_us/contacts_controller.rb
index ca95d2fa3d..14e22d7d7e 100644
--- a/app/controllers/contact_us/contacts_controller.rb
+++ b/app/controllers/contact_us/contacts_controller.rb
@@ -9,8 +9,9 @@ def create
@contact = ContactUs::Contact.new(params[:contact_us_contact])
if !user_signed_in? && Rails.configuration.x.recaptcha.enabled &&
- !(verify_recaptcha(model: @contact) && @contact.save)
+ !(verify_recaptcha(action: 'contact_us', model: @contact) && @contact.save)
flash[:alert] = _('Captcha verification failed, please retry.')
+ @show_checkbox_recaptcha = true
render_new_page and return
end
if @contact.save
diff --git a/app/controllers/dmpopidor/paginable/contributors_controller.rb b/app/controllers/dmpopidor/paginable/contributors_controller.rb
index 6f0db7ca42..88ffa56ce3 100644
--- a/app/controllers/dmpopidor/paginable/contributors_controller.rb
+++ b/app/controllers/dmpopidor/paginable/contributors_controller.rb
@@ -7,12 +7,14 @@ module ContributorsController
# GET /paginable/plans/:plan_id/contributors
# GET /paginable/plans/:plan_id/contributors/index/:page
def index
- @plan = Plan.find_by(id: params[:plan_id])
+ @plan = ::Plan.find_by(id: params[:plan_id])
dmp_fragment = @plan.json_fragment
- authorize @plan
+ authorize @plan, :show?
paginable_renderise(
partial: 'index',
- scope: dmp_fragment.persons,
+ scope: dmp_fragment.persons.order(
+ Arel.sql("data->>'lastName', data->>'firstName'")
+ ),
format: :json
)
end
diff --git a/app/controllers/org_admin/plans_controller.rb b/app/controllers/org_admin/plans_controller.rb
index 89b9900498..5308b2ea55 100644
--- a/app/controllers/org_admin/plans_controller.rb
+++ b/app/controllers/org_admin/plans_controller.rb
@@ -66,7 +66,7 @@ def download_plans
raise Pundit::NotAuthorizedError unless current_user.present? && current_user.can_org_admin?
org = current_user.org
- file_name = org.name.gsub(/ /, '_')
+ file_name = org.name.tr(' ', '_')
.gsub(/[.;,]/, '')
header_cols = [
_('Project title').to_s,
diff --git a/app/controllers/org_admin/templates_controller.rb b/app/controllers/org_admin/templates_controller.rb
index df9b282f70..41dce34daa 100644
--- a/app/controllers/org_admin/templates_controller.rb
+++ b/app/controllers/org_admin/templates_controller.rb
@@ -2,6 +2,7 @@
module OrgAdmin
# Controller that handles templates
+ # rubocop:disable Metrics/ClassLength
class TemplatesController < ApplicationController
include Paginable
include Versionable
@@ -15,7 +16,7 @@ class TemplatesController < ApplicationController
def index
authorize Template
templates = Template.latest_version.where(customization_of: nil)
- published = templates.select { |t| t.published? || t.draft? }.length
+ published = templates.count { |t| t.published? || t.draft? }
@orgs = Org.includes(:identifiers).managed
@title = _('All Templates')
@@ -40,7 +41,7 @@ def organisational
authorize Template
templates = Template.latest_version_per_org(current_user.org.id)
.where(customization_of: nil, org_id: current_user.org.id)
- published = templates.select { |t| t.published? || t.draft? }.length
+ published = templates.count { |t| t.published? || t.draft? }
@orgs = current_user.can_super_admin? ? Org.includes(:identifiers).all : nil
@title = if current_user.can_super_admin?
@@ -78,7 +79,7 @@ def customisable
customizations = customizations.select do |t|
funder_template_families.include?(t.customization_of)
end
- published = customizations.select { |t| t.published? || t.draft? }.length
+ published = customizations.count { |t| t.published? || t.draft? }
@orgs = current_user.can_super_admin? ? Org.includes(:identifiers).all : []
@title = _('Customizable Templates')
@@ -174,6 +175,10 @@ def new
# --------------------------------
# End DMP OPIDoR Customization
# --------------------------------
+ # If the Org is a funder set the visibility to Public otherwise set to Organizational
+ # for Orgs that are both, the admin will see controls on the page to let them choose.
+ # The default is already 'organisationally_visible' so change it if this is a funder
+ @template.visibility = Template.visibilities[:publicly_visible] if current_org.funder?
end
# POST /org_admin/templates
@@ -345,7 +350,7 @@ def template_export
@formatting = Settings::Template::DEFAULT_SETTINGS[:formatting]
begin
- safe_title = @template.title.gsub(/[^a-zA-Z\d\s]/, '').gsub(/ /, '_')
+ safe_title = @template.title.gsub(/[^a-zA-Z\d\s]/, '').tr(' ', '_')
file_name = "#{safe_title}_v#{@template.version}"
respond_to do |format|
format.docx do
@@ -435,4 +440,5 @@ def get_referrer(template, referrer)
end
end
end
+ # rubocop:enable Metrics/ClassLength
end
diff --git a/app/controllers/plan_exports_controller.rb b/app/controllers/plan_exports_controller.rb
index fa7bbd0748..3e051b5b42 100644
--- a/app/controllers/plan_exports_controller.rb
+++ b/app/controllers/plan_exports_controller.rb
@@ -43,12 +43,18 @@ def show
@hash = @plan.as_pdf(current_user, @show_coversheet)
@formatting = export_params[:formatting] || @plan.settings(:export).formatting
- @selected_phase = if params.key?(:phase_id)
- @plan.phases.find(params[:phase_id])
- else
- @plan.phases.order('phases.updated_at DESC')
+ if params.key?(:phase_id) && params[:phase_id].length.positive?
+ # order phases by phase number asc
+ @hash[:phases] = @hash[:phases].sort_by { |phase| phase[:number] }
+ if params[:phase_id] == 'All'
+ @hash[:all_phases] = true
+ else
+ @selected_phase = @plan.phases.find(params[:phase_id])
+ end
+ else
+ @selected_phase = @plan.phases.order('phases.updated_at DESC')
.detect { |p| p.visibility_allowed?(@plan) }
- end
+ end
# Added contributors to coverage of plans.
# Users will see both roles and contributor names if the role is filled
@@ -116,7 +122,7 @@ def show_pdf
date: l(@plan.updated_at.to_date, format: :readable)),
font_size: 8,
spacing: (Integer(@formatting[:margin][:bottom]) / 2) - 4,
- right: '[page] of [topage]',
+ right: _('[page] of [topage]'),
encoding: 'utf8'
}
end
@@ -140,7 +146,7 @@ def file_name
# Sanitize bad characters and replace spaces with underscores
ret = @plan.title
ret = ret.strip.gsub(/\s+/, '_')
- ret = ret.gsub(/"/, '')
+ ret = ret.delete('"')
ret = ActiveStorage::Filename.new(ret).sanitized
# limit the filename length to 100 chars. Windows systems have a MAX_PATH allowance
# of 255 characters, so this should provide enough of the title to allow the user
diff --git a/app/controllers/plans_controller.rb b/app/controllers/plans_controller.rb
index 76c5b839ba..304604b5e6 100644
--- a/app/controllers/plans_controller.rb
+++ b/app/controllers/plans_controller.rb
@@ -165,7 +165,16 @@ def create
# rubocop:enable Layout/LineLength
else
# We used the specified org's or funder's template
- msg += " #{_('This plan is based on the')} #{@plan.template.org.name}: '#{@plan.template.title}' template."
+ # --------------------------------
+ # Start DMP OPIDoR Customization
+ # CHANGES : Change message
+ # --------------------------------
+ msg += _('This plan is based on the "%{template_title}" template provided by %{org_name}.') % {
+ template_title: @plan.template.title, org_name: @plan.template.org.name
+ }
+ # --------------------------------
+ # End DMP OPIDoR Customization
+ # --------------------------------
end
@plan.add_user!(current_user.id, :creator)
@@ -319,7 +328,7 @@ def edit
.find(params[:id])
authorize plan
phase_id = params[:phase_id].to_i
- phase = plan.template.phases.select { |p| p.id == phase_id }.first
+ phase = plan.template.phases.find { |p| p.id == phase_id }
raise ActiveRecord::RecordNotFound if phase.nil?
guidance_groups = GuidanceGroup.where(published: true, id: plan.guidance_group_ids)
@@ -484,6 +493,7 @@ def download
# --------------------------------
@phase_options = @plan.phases.order(:number).pluck(:title, :id)
+ @phase_options.insert(0, ['All phases', 'All']) if @phase_options.length > 1
@export_settings = @plan.settings(:export)
render 'download'
end
diff --git a/app/controllers/public_pages_controller.rb b/app/controllers/public_pages_controller.rb
index 2a49be2c54..7e5e1dd2f1 100644
--- a/app/controllers/public_pages_controller.rb
+++ b/app/controllers/public_pages_controller.rb
@@ -64,7 +64,7 @@ def template_export
@formatting = Settings::Template::DEFAULT_SETTINGS[:formatting]
begin
- file_name = @template.title.gsub(/[^a-zA-Z\d\s]/, '').gsub(/ /, '_')
+ file_name = @template.title.gsub(/[^a-zA-Z\d\s]/, '').tr(' ', '_')
file_name = "#{file_name}_v#{@template.version}"
respond_to do |format|
format.docx do
diff --git a/app/controllers/registrations_controller.rb b/app/controllers/registrations_controller.rb
index 17dc020039..cafd3ae5e5 100644
--- a/app/controllers/registrations_controller.rb
+++ b/app/controllers/registrations_controller.rb
@@ -109,7 +109,7 @@ def create
# Determine if reCAPTCHA is enabled and if so verify it
use_recaptcha = Rails.configuration.x.recaptcha.enabled || false
- if (!use_recaptcha || verify_recaptcha(model: resource)) && resource.save
+ if (!use_recaptcha || verify_recaptcha(action: 'create_account', model: resource)) && resource.save
# rubocop:disable Metrics/BlockNesting
if resource.active_for_authentication?
set_flash_message :notice, :signed_up if is_navigational_format?
@@ -135,6 +135,7 @@ def create
end
# rubocop:enable Metrics/BlockNesting
else
+ @show_checkbox_recaptcha = true
clean_up_passwords resource
redirect_to after_sign_up_error_path_for(resource),
alert: _("Unable to create your account.#{errors_for_display(resource)}")
diff --git a/app/helpers/conditions_helper.rb b/app/helpers/conditions_helper.rb
index 8b6a956c14..9973efb975 100644
--- a/app/helpers/conditions_helper.rb
+++ b/app/helpers/conditions_helper.rb
@@ -89,11 +89,9 @@ def num_section_questions(plan, section, phase = nil)
phase = plan.template
.phases
- .select { |ph| ph.number == phase[:number] }
- .first
+ .find { |ph| ph.number == phase[:number] }
section = phase.sections
- .select { |s| s.phase_id == phase.id && s.title == section[:title] }
- .first
+ .find { |s| s.phase_id == phase.id && s.title == section[:title] }
end
count = 0
plan_remove_list = remove_list(plan)
diff --git a/app/javascript/src/answers/edit.js b/app/javascript/src/answers/edit.js
index 5f25712828..f88a58b1a1 100644
--- a/app/javascript/src/answers/edit.js
+++ b/app/javascript/src/answers/edit.js
@@ -3,7 +3,7 @@ import {
isNumber,
isString,
} from '../utils/isType';
-import { Tinymce } from '../utils/tinymce.js.erb';
+import { Tinymce } from '../utils/tinymce';
import { formLoadingCallback } from '../utils/dynamicFormHelper';
// import debounce from '../utils/debounce';
import { updateSectionProgress, getQuestionDiv } from '../utils/sectionUpdate';
diff --git a/app/javascript/src/guidances/newEdit.js b/app/javascript/src/guidances/newEdit.js
index e5da657c8b..f018eca0b8 100644
--- a/app/javascript/src/guidances/newEdit.js
+++ b/app/javascript/src/guidances/newEdit.js
@@ -1,4 +1,4 @@
-import { Tinymce } from '../utils/tinymce.js.erb';
+import { Tinymce } from '../utils/tinymce.js';
$(() => {
Tinymce.init({ selector: '#guidance_text' });
diff --git a/app/javascript/src/notes/index.js b/app/javascript/src/notes/index.js
index ecdaa549db..c2133f54fa 100644
--- a/app/javascript/src/notes/index.js
+++ b/app/javascript/src/notes/index.js
@@ -1,4 +1,4 @@
-import { Tinymce } from '../utils/tinymce.js.erb';
+import { Tinymce } from '../utils/tinymce.js';
import { isObject, isString } from '../utils/isType';
import TimeagoFactory from '../utils/timeagoFactory.js.erb';
@@ -162,7 +162,9 @@ $(() => {
};
const initOrReload = (researchOutputId = null) => {
if (researchOutputId) {
- Tinymce.init({ selector: '.note' });
+ $('.note').each((_idx, el) => {
+ Tinymce.init({ selector: `#${$(el).attr('id')}` });
+ });
}
eventHandlers({ attachment: 'on' });
TimeagoFactory.render($('time.timeago'));
diff --git a/app/javascript/src/orgAdmin/phases/newEdit.js b/app/javascript/src/orgAdmin/phases/newEdit.js
index 7760ee44f9..e32a49abd0 100644
--- a/app/javascript/src/orgAdmin/phases/newEdit.js
+++ b/app/javascript/src/orgAdmin/phases/newEdit.js
@@ -1,5 +1,5 @@
// import 'bootstrap-sass/assets/javascripts/bootstrap/collapse';
-import { Tinymce } from '../../utils/tinymce.js.erb';
+import { Tinymce } from '../../utils/tinymce.js';
import { isObject, isString } from '../../utils/isType';
import getConstant from '../../utils/constants';
import { addAsterisks } from '../../utils/requiredField';
@@ -9,7 +9,7 @@ import initQuestionOption from '../questionOptions/index';
import updateConditions from '../conditions/updateConditions';
$(() => {
- Tinymce.init({ selector: '.phase' });
+ Tinymce.init({ selector: '#phase_description' });
const parentSelector = '.section-group';
const initQuestion = (context) => {
@@ -64,36 +64,29 @@ $(() => {
// For some reason the toolbar options are retained after the call to Tinymce.init() on
// the views/notifications/edit.js file. Tried 'Object.assign' instead of '$.extend' but it
// made no difference
+ const prefix = 'collapseSection'
+ let sectionId = selector;
+ if (sectionId.startsWith(prefix)) {
+ sectionId = `sc_${sectionId.replace(prefix, '')}_section_description`
+ }
+
Tinymce.init({
- selector: `${selector} .section`,
- init_instance_callback(editor) {
+ selector: `#${sectionId}`,
+ init_instance_callback: (editor) => {
// When the text editor changes to blank, set the corresponding destroy
// field to true (if present).
- editor.on('Change', () => {
- const $texteditor = $(editor.targetElm);
+ editor.on('Change', (ed) => {
+ const $texteditor = $(ed.getContentAreaContainer());
const $fieldset = $texteditor.parents('fieldset');
const $hiddenField = $fieldset.find('input[type=hidden][id$="_destroy"]');
- $hiddenField.val(editor.getContent() === '');
+ $hiddenField.val(ed.getContent() === '');
});
},
});
- const questionForm = $(selector).find('.question_form');
+
+ const questionForm = $(`#${selector}`).find('.question_form');
if (questionForm.length > 0) {
- // Load Tinymce when the 'show' form has a question form.
- // ONLY applicable for template customizations
- Tinymce.init({
- selector: `${selector} .question_form .question`,
- init_instance_callback(editor) {
- // When the text editor changes to blank, set the corresponding destroy
- // field to true (if present).
- editor.on('Change', () => {
- const $texteditor = $(editor.targetElm);
- const $fieldset = $texteditor.parents('fieldset');
- const $hiddenField = $fieldset.find('input[type=hidden][id$="_destroy"]');
- $hiddenField.val(editor.getContent() === '');
- });
- },
- });
+ initQuestion(selector);
}
}
};
@@ -111,8 +104,9 @@ $(() => {
// Display the section's html
panelBody.attr('data-loaded', 'true');
panelBody.html(e.detail[0].html);
+
// Wire up the section
- initSection(`#${panel.attr('id')}`);
+ initSection(`${panel.attr('id')}`);
}
});
@@ -160,8 +154,9 @@ $(() => {
// Handle the section that has focus on initial page load
const currentSection = $('.section-group .in');
if (currentSection.length > 0) {
- initSection(`#${currentSection.attr('id')}`);
+ initSection(`${currentSection.attr('id')}`);
}
// Handle the new section
- initSection('#new_section_new_section');
+ // initSection('#new_section_section_description');
+ Tinymce.init({ selector: '#new_section_section_description' });
});
diff --git a/app/javascript/src/orgAdmin/templates/edit.js b/app/javascript/src/orgAdmin/templates/edit.js
index 6566fba161..c5cdf68794 100644
--- a/app/javascript/src/orgAdmin/templates/edit.js
+++ b/app/javascript/src/orgAdmin/templates/edit.js
@@ -1,4 +1,4 @@
-import { Tinymce } from '../../utils/tinymce.js.erb';
+import { Tinymce } from '../../utils/tinymce.js';
import { eachLinks } from '../../utils/links';
import { isObject, isString } from '../../utils/isType';
import { renderNotice, renderAlert } from '../../utils/notificationHelper';
@@ -6,7 +6,7 @@ import { scrollTo } from '../../utils/scrollTo';
$(() => {
Tinymce.init({
- selector: '.template',
+ selector: '#template_description',
init_instance_callback(editor) {
// When the text editor changes to blank, set the corresponding destroy
// field to true (if present).
diff --git a/app/javascript/src/orgAdmin/templates/new.js b/app/javascript/src/orgAdmin/templates/new.js
index 3e843df0bd..a0e20c6606 100644
--- a/app/javascript/src/orgAdmin/templates/new.js
+++ b/app/javascript/src/orgAdmin/templates/new.js
@@ -1,9 +1,9 @@
-import { Tinymce } from '../../utils/tinymce.js.erb';
+import { Tinymce } from '../../utils/tinymce.js';
import { eachLinks } from '../../utils/links';
$(() => {
Tinymce.init({
- selector: '.template',
+ selector: '#template_description',
init_instance_callback(editor) {
// When the text editor changes to blank, set the corresponding destroy
// field to true (if present).
diff --git a/app/javascript/src/orgs/adminEdit.js b/app/javascript/src/orgs/adminEdit.js
index 92d32dfa04..a440eda1de 100644
--- a/app/javascript/src/orgs/adminEdit.js
+++ b/app/javascript/src/orgs/adminEdit.js
@@ -1,7 +1,7 @@
// TODO: we need to be able to swap in the appropriate locale here
import 'number-to-text/converters/en-us';
import { isObject } from '../utils/isType';
-import { Tinymce } from '../utils/tinymce.js.erb';
+import { Tinymce } from '../utils/tinymce.js';
import { eachLinks } from '../utils/links';
import { initAutocomplete, scrubOrgSelectionParamsOnSubmit } from '../utils/autoComplete';
diff --git a/app/javascript/src/plans/download.js b/app/javascript/src/plans/download.js
index 70499337a0..71e39b2b4e 100644
--- a/app/javascript/src/plans/download.js
+++ b/app/javascript/src/plans/download.js
@@ -16,7 +16,7 @@ $(() => {
$('#pdf-formatting').hide();
}
- if ($(e.currentTarget).val() === 'json') {
+ if (frmt === 'json') {
$('#research-output-export-mode, #export-options').hide();
$('#json-formatting').show();
$('#download-settings').hide();
@@ -25,7 +25,17 @@ $(() => {
$('#json-formatting').hide();
$('#download-settings').show();
}
- });
+
+ if (frmt === 'csv') {
+ $('#phase_id').find('option[value="All"').hide();
+ $('#phase_id option:eq(1)').attr('selected', 'selected');
+ $('#phase_id').val($('#phase_id option:eq(1)').val());
+ } else if (frmt === 'pdf' || frmt === 'html' || frmt === 'docx' || frmt === 'text') {
+ $('#phase_id').find('option[value="All"').show();
+ $('#phase_id').val($('#phase_id option:first').val());
+ $('#phase_id option:first').attr('selected', 'selected');
+ }
+ }).trigger('change');
$('#select-all-phases').on('click', (e) => {
if (e.target.checked) {
diff --git a/app/javascript/src/plans/editDetails.js b/app/javascript/src/plans/editDetails.js
index bee7d1b050..56a331d9a2 100644
--- a/app/javascript/src/plans/editDetails.js
+++ b/app/javascript/src/plans/editDetails.js
@@ -1,4 +1,4 @@
-import { Tinymce } from '../utils/tinymce.js.erb';
+import { Tinymce } from '../utils/tinymce';
import { Select2 } from '../utils/select2';
import getConstant from '../utils/constants';
import * as notifier from '../utils/notificationHelper';
@@ -22,13 +22,9 @@ $(() => {
$('#plan_visibility').val($(e.target).is(':checked') ? 'is_test' : 'privately_visible');
});
- const showHideDataContact = (el) => {
- if ((el).is(':checked')) {
- $('div.data-contact').fadeOut();
- } else {
- $('div.data-contact').fadeIn();
- }
- };
+ if (form.length > 0) {
+ Tinymce.init({ selector: 'textarea#plan_description' });
+ Tinymce.init({ selector: 'textarea#plan_ethical_issues_description' });
$('#show_data_contact').click((e) => {
showHideDataContact($(e.currentTarget));
diff --git a/app/javascript/src/researchOutputs/form.js b/app/javascript/src/researchOutputs/form.js
index b454b9eb3d..c3df1eb317 100644
--- a/app/javascript/src/researchOutputs/form.js
+++ b/app/javascript/src/researchOutputs/form.js
@@ -1,6 +1,6 @@
import getConstant from '../utils/constants';
import { isUndefined, isObject } from '../utils/isType';
-import { Tinymce } from '../utils/tinymce.js.erb';
+import { Tinymce } from '../utils/tinymce.js';
$(() => {
const form = $('.research_output_form');
diff --git a/app/javascript/src/superAdmin/notifications/edit.js b/app/javascript/src/superAdmin/notifications/edit.js
index 03cac9a60b..3587eee0d7 100644
--- a/app/javascript/src/superAdmin/notifications/edit.js
+++ b/app/javascript/src/superAdmin/notifications/edit.js
@@ -1,11 +1,11 @@
-import { Tinymce } from '../../utils/tinymce.js.erb';
+import { Tinymce } from '../../utils/tinymce.js';
// add the info on selecting the check from notification suitable
import { paginableSelector } from '../../utils/paginable';
import * as notifier from '../../utils/notificationHelper';
$(() => {
- Tinymce.init({ selector: '.notification-text', forced_root_block: '' });
+ Tinymce.init({ selector: '#notification_body', forced_root_block: '' });
$(paginableSelector).on('click, change', '.enable_notification input[type="checkbox"]', (e) => {
const form = $(e.target).closest('form');
diff --git a/app/javascript/src/superAdmin/staticPages/edit.js b/app/javascript/src/superAdmin/staticPages/edit.js
index 758ed5bf6e..d9332df441 100644
--- a/app/javascript/src/superAdmin/staticPages/edit.js
+++ b/app/javascript/src/superAdmin/staticPages/edit.js
@@ -1,14 +1,12 @@
-import { Tinymce } from '../../utils/tinymce.js.erb';
+import { Tinymce } from '../../utils/tinymce';
import 'tinymce/plugins/code';
-import 'tinymce/plugins/textcolor';
-import 'tinymce/plugins/colorpicker';
$(() => {
Tinymce.init({
selector: '.content-editor',
forced_root_block: '',
toolbar: 'bold italic underline | formatselect fontsizeselect forecolor backcolor | bullist numlist | link | code',
- plugins: 'table autoresize link paste advlist lists code textcolor colorpicker',
+ plugins: 'table autoresize link paste advlist lists code',
menubar: 'toolbar',
});
});
diff --git a/app/javascript/src/superAdmin/themes/newEdit.js b/app/javascript/src/superAdmin/themes/newEdit.js
index d838e77006..81b51bf55f 100644
--- a/app/javascript/src/superAdmin/themes/newEdit.js
+++ b/app/javascript/src/superAdmin/themes/newEdit.js
@@ -1,4 +1,4 @@
-import { Tinymce } from '../../utils/tinymce.js.erb';
+import { Tinymce } from '../../utils/tinymce.js';
$(() => {
Tinymce.init({ selector: '#theme_description' });
diff --git a/app/javascript/src/utils/conditionalFields.js b/app/javascript/src/utils/conditionalFields.js
index df4a2af42f..d545a1a099 100644
--- a/app/javascript/src/utils/conditionalFields.js
+++ b/app/javascript/src/utils/conditionalFields.js
@@ -6,7 +6,7 @@
// For example see: app/views/plans/_edit_details.html.erb
// app/javascript/src/plans/editDetails.js
//
-import { Tinymce } from './tinymce.js.erb';
+import { Tinymce } from './tinymce.js';
// Expecting `context` to be the field that triggers the hide/show of the corresponding fields
export default function toggleConditionalFields(context, showThem) {
diff --git a/app/javascript/src/utils/dynamicFormHelper.js b/app/javascript/src/utils/dynamicFormHelper.js
index 31e6f79035..8c9517c0e9 100644
--- a/app/javascript/src/utils/dynamicFormHelper.js
+++ b/app/javascript/src/utils/dynamicFormHelper.js
@@ -1,4 +1,4 @@
-import { Tinymce } from './tinymce.js.erb';
+import { Tinymce } from './tinymce';
import { Select2 } from './select2';
import { AutoNumericHelper } from './autoNumericHelper';
diff --git a/app/javascript/src/utils/tinymce.js.erb b/app/javascript/src/utils/tinymce.js
similarity index 61%
rename from app/javascript/src/utils/tinymce.js.erb
rename to app/javascript/src/utils/tinymce.js
index c263e4bd02..37f7056d68 100644
--- a/app/javascript/src/utils/tinymce.js.erb
+++ b/app/javascript/src/utils/tinymce.js
@@ -1,21 +1,24 @@
// Import TinyMCE
import tinymce from 'tinymce/tinymce';
-// Import TinyMCE theme
-import 'tinymce/themes/silver/theme';
+
+// TinyMCE DOM helpers
+import 'tinymce/models/dom/';
+
+// TinyMCE toolbar icons
import 'tinymce/icons/default';
-// Plugins
+
+// TinyMCE theme
+import 'tinymce/themes/silver';
+
+// TinyMCE Plugins
import 'tinymce/plugins/table';
import 'tinymce/plugins/lists';
import 'tinymce/plugins/autoresize';
import 'tinymce/plugins/link';
-import 'tinymce/plugins/paste';
import 'tinymce/plugins/advlist';
// Other dependencies
-import { isObject, isString } from './isType';
-
-// Pull in the rails helper functions
-<% helpers = ActionController::Base.helpers %>
+import { isObject, isString, isUndefined } from './isType';
// // Configuration extracted from
// // https://www.tinymce.com/docs/advanced/usage-with-module-loaders/
@@ -24,8 +27,7 @@ export const defaultOptions = {
statusbar: true,
menubar: false,
toolbar: 'bold italic underline | fontsizeselect forecolor | bullist numlist | link | table',
- plugins: 'table autoresize link paste advlist lists',
- contextmenu: false,
+ plugins: 'table autoresize link advlist lists',
browser_spellcheck: true,
advlist_bullet_styles: 'circle,disc,square', // Only disc bullets display on htmltoword
target_list: false,
@@ -36,12 +38,14 @@ export const defaultOptions = {
autoresize_bottom_margin: 10,
branding: false,
extended_valid_elements: 'iframe[tooltip] , a[href|target=_blank]',
- paste_auto_cleanup_on_paste: true,
- paste_remove_styles: true,
- paste_convert_middot_lists: true,
+ paste_as_text: true,
+ paste_block_drop: true,
+ paste_merge_formats: true,
+ paste_tab_spaces: 4,
+ smart_paste: true,
+ paste_data_images: true,
paste_remove_styles_if_webkit: true,
- paste_remove_spans: true,
- paste_strip_class_attributes: 'all',
+ paste_webkit_styles: 'none',
table_default_attributes: {
border: 1,
},
@@ -50,17 +54,16 @@ export const defaultOptions = {
skin_url: '/tinymce/skins/oxide',
content_css: ['/tinymce/tinymce.css'],
};
+
/*
- This function is invoked anytime a new editor is initialised (e.g. Tinymce.init())
- and shrinks a tinymce editor to the minimum height specified at autoresize_min_height
- editor's settings. Since there are cases that tinymce editor is loaded in the DOM
- but has display:none style, the iframe associated gets the height of the screen's device
- and using this function there is no need to wait until the tinymce gains focus to be autoresized.
-*/
-const resizeEditors = (editors) => {
- editors.forEach((editor) => {
- $(editor.iframeElement).height(editor.settings.autoresize_min_height);
- });
+ This function determines whether or not the editor is a TinyMCE editor
+ */
+const isTinymceEditor = (editor) => {
+ if (isObject(editor)) {
+ return editor.hasOwnProperty('id') && typeof editor.getContainer === 'function';
+ } else {
+ return false;
+ }
};
/*
@@ -69,16 +72,14 @@ const resizeEditors = (editors) => {
behind the scenes) to the Tinymce iframe so that screen readers read the correct
label when the tinymce iframe receives focus.
*/
-const attachLabelToIframe = (tinymceContext, hiddenFieldSelector) => {
- const iframe = $(tinymceContext).siblings('.mce-container').find('iframe');
- const hiddenField = $(hiddenFieldSelector);
+const attachLabelToIframe = (editor) => {
+ if (isTinymceEditor(editor)) {
+ const iframe = editor.getContainer().querySelector('iframe');
+ const lbl = document.querySelector(`label[for="${editor.id}"]`);
- if (isObject(iframe) && isObject(hiddenField)) {
- const id = hiddenField.attr('id');
- const lbl = iframe.closest('form').find(`label[for="${id}"]`);
- if (isObject(lbl)) {
- // Connect the label to the iframe
- lbl.attr('for', iframe.attr('id'));
+ // If the iframe and label could be found, then set the label's 'for' attribute to the id of the iframe
+ if (isObject(iframe) && isObject(lbl)) {
+ lbl.setAttribute('for', iframe.getAttribute('id'));
}
}
};
@@ -90,17 +91,23 @@ export const Tinymce = {
@param options - An object with tinyMCE properties
*/
init(options = {}) {
- if (isObject(options)) {
- tinymce.init($.extend({}, defaultOptions, options)).then(resizeEditors);
- } else {
- tinymce.init(defaultOptions).then(resizeEditors);
- }
+ // If any options were specified, merge them with the default options.
+ const opts = {
+ ...defaultOptions,
+ ...options,
+ };
- // Connect the label to the Tinymce iframe
- $(options.selector).each((idx, el) => {
- attachLabelToIframe(el, options.selector);
+ tinymce.init(opts).then((editors) => {
+ if (editors.length > 0) {
+ for (const editor of editors) {
+ // auto-resize the editor and connect the form label to the TinyMCE iframe
+ editor.execCommand('mceAutoResize');
+ attachLabelToIframe(editor, editor.id);
+ }
+ }
});
},
+
/*
Finds any tinyMCE editor whose target element/textarea has the className passed
@param className - A string representing the class name of the tinyMCE editor
@@ -109,12 +116,11 @@ export const Tinymce = {
*/
findEditorsByClassName(className) {
if (isString(className)) {
- return tinymce.editors.reduce((acc, e) => {
- if ($(e.getElement()).hasClass(className)) {
- return acc.concat([e]);
- }
- return acc;
- }, []);
+ const elements = Array.from(document.getElementsByClassName(className));
+ // Fetch the textarea elements and then return the TinyMCE editors associated with the element ids
+ return elements.map((el) => {
+ return Tinymce.findEditorById(el.getAttribute('id'));
+ });
}
return [];
},
@@ -126,7 +132,7 @@ export const Tinymce = {
*/
findEditorById(id) {
if (isString(id)) {
- return tinymce.editors.find(el => el.id === id);
+ return tinymce.get(id);
}
return undefined;
},
@@ -139,7 +145,14 @@ export const Tinymce = {
*/
destroyEditorsByClassName(className) {
const editors = this.findEditorsByClassName(className);
- editors.forEach(ed => ed.destroy(false));
+ if (editors.length > 0) {
+ /* editors.forEach(ed => ed.destroy(false)); */
+ for (const editor of editors) {
+ if (isTinymceEditor(editor)) {
+ editor.destroy(false);
+ }
+ }
+ }
},
/*
Destroy an editor instance whose target element/textarea has HTML id passed. This method
@@ -148,7 +161,7 @@ export const Tinymce = {
*/
destroyEditorById(id) {
const editor = this.findEditorById(id);
- if (editor) {
+ if (isTinymceEditor(editor)) {
editor.destroy(false);
}
},
diff --git a/app/models/concerns/exportable_plan.rb b/app/models/concerns/exportable_plan.rb
index da67a8106b..3bd4981fd9 100644
--- a/app/models/concerns/exportable_plan.rb
+++ b/app/models/concerns/exportable_plan.rb
@@ -244,7 +244,7 @@ def prepare_research_outputs_for_csv(csv, _headings, hash)
csv << [_('Research Outputs: ')]
# Convert the hash keys to column headers
- csv << hash[:research_outputs].first.keys.map { |key| key.to_s.capitalize.gsub('_', ' ') }
+ csv << hash[:research_outputs].first.keys.map { |key| key.to_s.capitalize.tr('_', ' ') }
hash[:research_outputs].each do |research_output|
csv << research_output.values
end
diff --git a/app/models/concerns/identifiable.rb b/app/models/concerns/identifiable.rb
index e1f0e01eef..217d13b32b 100644
--- a/app/models/concerns/identifiable.rb
+++ b/app/models/concerns/identifiable.rb
@@ -54,7 +54,7 @@ def self.from_identifiers(array:)
# gets the identifier for the scheme
def identifier_for_scheme(scheme:)
scheme = IdentifierScheme.by_name(scheme.downcase).first if scheme.is_a?(String)
- identifiers.select { |id| id.identifier_scheme == scheme }.last
+ identifiers.reverse.find { |id| id.identifier_scheme == scheme }
end
# Combines the existing identifiers with the new ones
diff --git a/app/models/exported_plan.rb b/app/models/exported_plan.rb
index b8e8313805..65890d3286 100644
--- a/app/models/exported_plan.rb
+++ b/app/models/exported_plan.rb
@@ -67,7 +67,7 @@ def project_description
end
def owner
- plan.roles.to_a.select(&:creator?).first.user
+ plan.roles.to_a.find(&:creator?)&.user
end
def funder
diff --git a/app/models/identifier.rb b/app/models/identifier.rb
index 8d8a6221ca..9b7236407a 100644
--- a/app/models/identifier.rb
+++ b/app/models/identifier.rb
@@ -96,7 +96,7 @@ def identifier_format
return 'ark' if value.include?('ark:')
doi_regex = %r{(doi:)?[0-9]{2}\.[0-9]+/.}
- return 'doi' if value =~ doi_regex
+ return 'doi' if value.match?(doi_regex)
return 'url' if value.starts_with?('http')
diff --git a/app/models/plan.rb b/app/models/plan.rb
index 361e64f667..9ce1a9450a 100644
--- a/app/models/plan.rb
+++ b/app/models/plan.rb
@@ -62,6 +62,8 @@ class Plan < ApplicationRecord
# = Constants =
# =============
+ DMP_ID_TYPES = %w[ark doi].freeze
+
# Returns visibility message given a Symbol type visibility passed, otherwise
# nil
VISIBILITY_MESSAGE = {
@@ -79,6 +81,12 @@ class Plan < ApplicationRecord
privately_visible: _('private')
}.freeze
+ FUNDING_STATUS = {
+ planned: _('Planned'),
+ funded: _('Funded'),
+ denied: _('Denied')
+ }.freeze
+
# ==============
# = Attributes =
# ==============
@@ -438,7 +446,7 @@ def settings(key)
# rubocop:disable Metrics/AbcSize, Style/OptionalBooleanParameter
def answer(qid, create_if_missing = true)
answer = answers.select { |a| a.question_id == qid }
- .max { |a, b| a.created_at <=> b.created_at }
+ .max_by(&:created_at)
if answer.nil? && create_if_missing
question = Question.find(qid)
answer = Answer.new
@@ -621,7 +629,7 @@ def latest_update
# Returns nil
def owner
r = roles.select { |rr| rr.active && rr.administrator }
- .min { |a, b| a.created_at <=> b.created_at }
+ .min_by(&:created_at)
r&.user
end
@@ -691,7 +699,7 @@ def authors
#
# Returns Integer
def num_answered_questions(phase = nil)
- return answers.select(&:answered?).length unless phase.present?
+ return answers.count(&:answered?) unless phase.present?
answered = answers.select do |answer|
answer.answered? && phase.questions.include?(answer.question)
@@ -759,7 +767,7 @@ def deactivate!
# Returns the plan's identifier (either a DOI/ARK)
def landing_page
- identifiers.select { |i| %w[doi ark].include?(i.identifier_format) }.first
+ identifiers.find { |i| DMP_ID_TYPES.include?(i.identifier_format) }
end
# Since the Grant is not a normal AR association, override the getter and setter
diff --git a/app/models/question.rb b/app/models/question.rb
index 03da719e99..0147f3260f 100644
--- a/app/models/question.rb
+++ b/app/models/question.rb
@@ -172,7 +172,7 @@ def example_answers(org_ids)
org_ids = Array(org_ids)
annotations.select { |a| org_ids.include?(a.org_id) }
.select(&:example_answer?)
- .sort { |a, b| a.created_at <=> b.created_at }
+ .sort_by(&:created_at)
end
alias get_example_answers example_answers
@@ -188,8 +188,7 @@ def example_answers(org_ids)
# Returns Annotation
def guidance_annotation(org_id)
annotations.select { |a| a.org_id == org_id }
- .select(&:guidance?)
- .first
+ .find(&:guidance?)
end
alias get_guidance_annotation guidance_annotation
diff --git a/app/presenters/api/v1/contributor_presenter.rb b/app/presenters/api/v1/contributor_presenter.rb
index 4ed0c1ca68..185e98de56 100644
--- a/app/presenters/api/v1/contributor_presenter.rb
+++ b/app/presenters/api/v1/contributor_presenter.rb
@@ -8,13 +8,13 @@ class << self
# Convert the specified role into a CRediT Taxonomy URL
def role_as_uri(role:)
return nil unless role.present?
- return 'other' if role.to_s.downcase == 'other'
+ return 'other' if role.to_s.casecmp('other').zero?
- "#{Contributor::ONTOLOGY_BASE_URL}/#{role.to_s.downcase.gsub('_', '-')}"
+ "#{Contributor::ONTOLOGY_BASE_URL}/#{role.to_s.downcase.tr('_', '-')}"
end
def contributor_id(identifiers:)
- identifiers.select { |id| id.identifier_scheme.name == 'orcid' }.first
+ identifiers.find { |id| id.identifier_scheme.name == 'orcid' }
end
end
end
diff --git a/app/presenters/api/v1/org_presenter.rb b/app/presenters/api/v1/org_presenter.rb
index 5ada0166b1..8e14483881 100644
--- a/app/presenters/api/v1/org_presenter.rb
+++ b/app/presenters/api/v1/org_presenter.rb
@@ -6,10 +6,10 @@ module V1
class OrgPresenter
class << self
def affiliation_id(identifiers:)
- ident = identifiers.select { |id| id.identifier_scheme&.name == 'ror' }.first
+ ident = identifiers.find { |id| id.identifier_scheme&.name == 'ror' }
return ident if ident.present?
- identifiers.select { |id| id.identifier_scheme&.name == 'fundref' }.first
+ identifiers.find { |id| id.identifier_scheme&.name == 'fundref' }
end
end
end
diff --git a/app/presenters/api/v1/plan_presenter.rb b/app/presenters/api/v1/plan_presenter.rb
index 291f3bb930..e871e2fa32 100644
--- a/app/presenters/api/v1/plan_presenter.rb
+++ b/app/presenters/api/v1/plan_presenter.rb
@@ -27,7 +27,7 @@ def initialize(plan:)
# Extract the ARK or DOI for the DMP OR use its URL if none exists
def identifier
doi = @plan.identifiers.select do |id|
- %w[ark doi].include?(id.identifier_format)
+ ::Plan::DMP_ID_TYPES.include?(id.identifier_format)
end
return doi.first if doi.first.present?
diff --git a/app/presenters/api/v1/research_output_presenter.rb b/app/presenters/api/v1/research_output_presenter.rb
index 28b7325312..885586045e 100644
--- a/app/presenters/api/v1/research_output_presenter.rb
+++ b/app/presenters/api/v1/research_output_presenter.rb
@@ -62,7 +62,7 @@ def fetch_q_and_a(themes:)
ret = themes.map do |theme|
qs = @plan.questions.select { |q| q.themes.collect(&:title).include?(theme) }
descr = qs.map do |q|
- a = @plan.answers.select { |ans| ans.question_id = q.id }.first
+ a = @plan.answers.find { |ans| ans.question_id = q.id }
next unless a.present? && !a.blank?
"Question: #{q.text}Answer: #{a.text}"
diff --git a/app/presenters/identifier_presenter.rb b/app/presenters/identifier_presenter.rb
index 77e66d6bbe..00a86f9cc2 100644
--- a/app/presenters/identifier_presenter.rb
+++ b/app/presenters/identifier_presenter.rb
@@ -19,7 +19,7 @@ def id_for_scheme(scheme:)
end
def scheme_by_name(name:)
- schemes.select { |scheme| scheme.name.downcase == name.downcase }
+ schemes.select { |scheme| scheme.name.casecmp(name).zero? }
end
private
@@ -39,7 +39,7 @@ def load_schemes
# a curated list of Orgs that can use institutional login
if @identifiable.is_a?(Org) &&
!Rails.configuration.x.shibboleth.use_filtered_discovery_service
- schemes = schemes.reject { |scheme| scheme.name.downcase == 'shibboleth' }
+ schemes = schemes.reject { |scheme| scheme.name.casecmp('shibboleth').zero? }
end
schemes
end
diff --git a/app/presenters/org_selection_presenter.rb b/app/presenters/org_selection_presenter.rb
index 2d8820eecc..2f0b2ffc82 100644
--- a/app/presenters/org_selection_presenter.rb
+++ b/app/presenters/org_selection_presenter.rb
@@ -33,7 +33,7 @@ def select_list
def crosswalk_entry_from_org_id(value:)
return {}.to_json unless value.present? && value.to_s =~ /[0-9]+/
- entry = @crosswalk.select { |item| item[:id].to_s == value.to_s }.first
+ entry = @crosswalk.find { |item| item[:id].to_s == value.to_s }
entry.present? ? entry.to_json : {}.to_json
rescue StandardError
{}.to_json
diff --git a/app/presenters/research_output_presenter.rb b/app/presenters/research_output_presenter.rb
index 3a77f1be80..4187b5d870 100644
--- a/app/presenters/research_output_presenter.rb
+++ b/app/presenters/research_output_presenter.rb
@@ -37,7 +37,7 @@ def selectable_metadata_standards(category:)
# Returns the available licenses for a select tag
def complete_licenses
License.selectable
- .sort { |a, b| a.identifier <=> b.identifier }
+ .sort_by(&:identifier)
.map { |license| [license.identifier, license.id] }
end
@@ -71,7 +71,7 @@ def self.selectable_subjects
'12-Social and Behavioural Sciences',
'42-Thermal Engineering/Process Engineering'
].map do |subject|
- [subject.split('-').last, subject.gsub('-', ' ')]
+ [subject.split('-').last, subject.tr('-', ' ')]
end
end
@@ -111,7 +111,7 @@ def display_type
# Return the user entered text for the type if they selected 'other'
return @research_output.output_type_description if @research_output.other?
- @research_output.output_type.gsub('_', ' ').capitalize
+ @research_output.output_type.tr('_', ' ').capitalize
end
# Returns the display name(s) of the repository(ies)
diff --git a/app/presenters/super_admin/orgs/merge_presenter.rb b/app/presenters/super_admin/orgs/merge_presenter.rb
index 7adad112c3..6966baa5de 100644
--- a/app/presenters/super_admin/orgs/merge_presenter.rb
+++ b/app/presenters/super_admin/orgs/merge_presenter.rb
@@ -22,7 +22,7 @@ def initialize(from_org:, to_org:)
@from_org_entries = prepare_org(org: @from_org)
@to_org_entries = prepare_org(org: @to_org)
@mergeable_entries = prepare_mergeables
- @categories = @from_org_entries.keys.sort { |a, b| a <=> b }
+ @categories = @from_org_entries.keys.sort
# Specific Org columns
@from_org_attributes = org_attributes(org: @from_org)
@@ -39,19 +39,19 @@ def prepare_org(org:)
return {} unless org.present? && org.is_a?(Org)
{
- annotations: org.annotations.sort { |a, b| a.text <=> b.text },
- departments: org.departments.sort { |a, b| a.name <=> b.name },
- funded_plans: org.funded_plans.sort { |a, b| a.title <=> b.title },
+ annotations: org.annotations.sort_by(&:text),
+ departments: org.departments.sort_by(&:name),
+ funded_plans: org.funded_plans.sort_by(&:title),
guidances: org.guidance_groups.collect(&:guidances).flatten,
- identifiers: org.identifiers.sort { |a, b| a.value <=> b.value },
+ identifiers: org.identifiers.sort_by(&:value),
# TODO: Org.plans is overridden and does not clearly identify Orgs that 'own'
# the plan (i.e. the one the user selected as the 'Research Org')
# Loading them directly here until issue #2724 is resolved
- plans: Plan.where(org: org).sort { |a, b| a.title <=> b.title },
- templates: org.templates.sort { |a, b| a.title <=> b.title },
- token_permission_types: org.token_permission_types.sort { |a, b| a.to_s <=> b.to_s },
+ plans: Plan.where(org: org).sort_by(&:title),
+ templates: org.templates.sort_by(&:title),
+ token_permission_types: org.token_permission_types.sort_by(&:to_s),
tracker: [org.tracker].compact,
- users: org.users.sort { |a, b| a.email <=> b.email }
+ users: org.users.sort_by(&:email)
}
end
# rubocop:enable Metrics/AbcSize
diff --git a/app/services/api/v1/deserialization/org.rb b/app/services/api/v1/deserialization/org.rb
index 65773951b6..3bbb252ab2 100644
--- a/app/services/api/v1/deserialization/org.rb
+++ b/app/services/api/v1/deserialization/org.rb
@@ -64,7 +64,8 @@ def find_by_name(json: {})
# Grab the closest match - only caring about results that 'contain'
# the name with preference to those that start with the name
- result = results.select { |r| %i[0 1].include?(r[:weight]) }.first
+ match_weights = %i[0 1]
+ result = results.find { |r| match_weights.include?(r[:weight]) }
# If no good result was found just use the specified name
result ||= { name: name }
diff --git a/app/services/api/v1/persistence_service.rb b/app/services/api/v1/persistence_service.rb
index 68c83f79da..55fe37d4b6 100644
--- a/app/services/api/v1/persistence_service.rb
+++ b/app/services/api/v1/persistence_service.rb
@@ -96,7 +96,7 @@ def deduplicate_contributors(contributors:)
next unless contributor.is_a?(Contributor)
# See if we've already processed this contributor
- existing = out.select { |c| c == contributor }.first
+ existing = out.find { |c| c == contributor }
out << contributor unless existing.present?
next unless existing.present?
diff --git a/app/services/org/monthly_usage_service.rb b/app/services/org/monthly_usage_service.rb
index 6d6b460181..c663c77843 100644
--- a/app/services/org/monthly_usage_service.rb
+++ b/app/services/org/monthly_usage_service.rb
@@ -34,7 +34,7 @@ def reducer_body(acc, rec, key_target)
else
args = { month: month }
args[key_target] = count
- acc[month] = build_model(args)
+ acc[month] = build_model(**args)
end
acc
diff --git a/app/validators/email_validator.rb b/app/validators/email_validator.rb
index 6a3709a13b..bf7242740a 100644
--- a/app/validators/email_validator.rb
+++ b/app/validators/email_validator.rb
@@ -3,7 +3,7 @@
# Validation for email format
class EmailValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
- return if value =~ /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i
+ return if value&.match?(/\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i)
record.errors.add(attribute, options.fetch(:message, 'is not a valid email address'))
end
diff --git a/app/validators/url_validator.rb b/app/validators/url_validator.rb
index 3f344b6ce7..2ba9ebb561 100644
--- a/app/validators/url_validator.rb
+++ b/app/validators/url_validator.rb
@@ -4,7 +4,7 @@
class UrlValidator < ActiveModel::EachValidator
def validate_each(record, attribute, value)
reg = %r{https?://[-a-zA-Z0-9@:%_+.~#?&/=]{2,256}\.[a-z]{2,4}\b(/[-a-zA-Z0-9@:%_+.~#?&/=]*)?}
- return unless value =~ reg
+ return unless value&.match?(reg)
record.errors.add(attribute, options.fetch(:message, 'is not a valid URL'))
end
diff --git a/app/views/api/v0/plans/index.json.jbuilder b/app/views/api/v0/plans/index.json.jbuilder
index 516c9ef98d..056f828cdb 100644
--- a/app/views/api/v0/plans/index.json.jbuilder
+++ b/app/views/api/v0/plans/index.json.jbuilder
@@ -57,7 +57,7 @@ json.array! @plans.each do |plan|
json.themes question.themes.each do |theme|
json.theme theme.title
end
- answer = plan.answers.select { |a| a.question_id == question.id }.first
+ answer = plan.answers.find { |a| a.question_id == question.id }
if answer.present?
json.answered true
json.answer do
diff --git a/app/views/api/v1/datasets/_show.json.jbuilder b/app/views/api/v1/datasets/_show.json.jbuilder
index 2aab9e3a7b..5b5b4e0863 100644
--- a/app/views/api/v1/datasets/_show.json.jbuilder
+++ b/app/views/api/v1/datasets/_show.json.jbuilder
@@ -46,7 +46,7 @@ if output.is_a?(ResearchOutput)
end
json.metadata output.metadata_standards do |metadata_standard|
- website = metadata_standard.locations.select { |loc| loc["type"] == "website" }.first
+ website = metadata_standard.locations.find { |loc| loc["type"] == "website" }
website = { url: "" } unless website.present?
descr_array = [metadata_standard.title, metadata_standard.description, website["url"]]
diff --git a/app/views/branded/contact_us/contacts/_new_left.html.erb b/app/views/branded/contact_us/contacts/_new_left.html.erb
index 1620aed144..034fadd7b9 100644
--- a/app/views/branded/contact_us/contacts/_new_left.html.erb
+++ b/app/views/branded/contact_us/contacts/_new_left.html.erb
@@ -36,9 +36,13 @@
<% if !user_signed_in? && Rails.configuration.x.recaptcha.enabled then %>
- <%= label_tag(nil, _('Security check')) %>
- <%= recaptcha_tags %>
+ <% if @show_checkbox_recaptcha %>
+ <%= label_tag(nil, _('Security check')) %>
+ <%= recaptcha_tags %>
+ <% else %>
+ <%= recaptcha_v3(action: 'contact_us') %>
+ <% end %>
<% end %>
<%= f.button(_('Send'), class: "btn btn-default", type: "submit") %>
-<% end %>
\ No newline at end of file
+<% end %>
diff --git a/app/views/branded/contributors/index.html.erb b/app/views/branded/contributors/index.html.erb
index a32f0c6bad..cea03c59b5 100644
--- a/app/views/branded/contributors/index.html.erb
+++ b/app/views/branded/contributors/index.html.erb
@@ -18,27 +18,16 @@
-
-
-
- <%= _("Name") %>
- <%= _("Affiliation") %>
- <%= _("Attributed roles (Associated research outputs)") %>
-
- <%= _("Actions") %>
-
-
-
-
- <%= paginable_renderise partial: "/paginable/contributors/index",
- controller: "paginable/contributors",
- action: "index",
- scope: @contributors,
- locals: { plan: @plan } %>
-
-
-
-
+ <% if @contributors.any? %>
+ <%= paginable_renderise partial: "/paginable/contributors/index",
+ controller: "paginable/contributors",
+ action: "index",
+ remote: true,
+ scope: @contributors,
+ locals: { plan: @plan } %>
+ <% else %>
+
<%= _("No contributors have been defined.") %>
+ <% end %>
<% if @plan.editable_by?(current_user.id) && @plan.template.structured? %>
@@ -65,4 +54,4 @@
<% end %>
<%= render partial: "plans/navigation", locals: { plan: @plan } %>
-
\ No newline at end of file
+
diff --git a/app/views/branded/paginable/contributors/_index.html.erb b/app/views/branded/paginable/contributors/_index.html.erb
index 505d458fbd..2e11623589 100644
--- a/app/views/branded/paginable/contributors/_index.html.erb
+++ b/app/views/branded/paginable/contributors/_index.html.erb
@@ -1,68 +1,82 @@
<%# locals: @plan, scope %>
<% template_locale = LocaleService.to_gettext(locale: @plan.template.locale) %>
-<% scope.each do |contributor| %>
- <% person_id = contributor.data["personId"]%>
-
-
- <%= contributor.to_s %>
- <% if person_id.present? %>
- - <%= uri?(person_id) ? link_to(person_id, person_id, target: "_blank") : person_id %>
- <% end %>
-
- <%= contributor.data["affiliationName"] %>
-
-
- <% contributor.roles.each do |role| %>
- <%= role %>
- <% end %>
-
-
-
- <% if @plan.editable_by?(current_user.id) %>
- <%= link_to new_edit_linked_madmp_fragments_url(
- :fragment_id => contributor.id,
- :parent_id => contributor.dmp_id,
- :schema_id => contributor.madmp_schema_id,
- :template_locale => template_locale,
- :source => "list-modal",
- :query_id => "contributor"
- ), {
- :remote => true,
- :target => "_self",
- 'data-toggle' => 'modal',
- 'data-target' => '#modal-window'
- } do %>
-
- <% end %>
- <% if scope.length > 1 %>
- ">
- <% end %>
- <% else %>
- <%= link_to show_linked_madmp_fragments_url(
- :fragment_id => contributor.id,
- :template_locale => template_locale,
- ), {
- :remote => true,
- 'data-toggle' => 'modal',
- 'data-target' => '#modal-window'
- } do %>
-
- <% end %>
- <% end %>
-
-
-<% end %>
+
+
+
+ <%= _("Name") %>
+ <%= _("Affiliation") %>
+ <%= _("Attributed roles (Associated research outputs)") %>
+
+ <%= _("Actions") %>
+
+
+
+
+ <% scope.each do |contributor| %>
+ <% person_id = contributor.data["personId"]%>
+
+
+ <%= contributor.to_s %>
+ <% if person_id.present? %>
+ - <%= uri?(person_id) ? link_to(person_id, person_id, target: "_blank") : person_id %>
+ <% end %>
+
+ <%= contributor.data["affiliationName"] %>
+
+
+ <% contributor.roles.each do |role| %>
+ <%= role %>
+ <% end %>
+
+
+
+ <% if @plan.editable_by?(current_user.id) %>
+ <%= link_to new_edit_linked_madmp_fragments_url(
+ :fragment_id => contributor.id,
+ :parent_id => contributor.dmp_id,
+ :schema_id => contributor.madmp_schema_id,
+ :template_locale => template_locale,
+ :source => "list-modal",
+ :query_id => "contributor"
+ ), {
+ :remote => true,
+ :target => "_self",
+ 'data-toggle' => 'modal',
+ 'data-target' => '#modal-window'
+ } do %>
+
+ <% end %>
+ <% if scope.length > 1 %>
+ ">
+ <% end %>
+ <% else %>
+ <%= link_to show_linked_madmp_fragments_url(
+ :fragment_id => contributor.id,
+ :template_locale => template_locale,
+ ), {
+ :remote => true,
+ 'data-toggle' => 'modal',
+ 'data-target' => '#modal-window'
+ } do %>
+
+ <% end %>
+ <% end %>
+
+
+ <% end %>
+
+
diff --git a/app/views/branded/plans/_share_form.html.erb b/app/views/branded/plans/_share_form.html.erb
index 704d9ed5f4..ccde5df928 100644
--- a/app/views/branded/plans/_share_form.html.erb
+++ b/app/views/branded/plans/_share_form.html.erb
@@ -146,7 +146,7 @@
<%= f.radio_button :visibility,
:publicly_visible, class: 'set-plan-public',
data: {
- confirm_message: _('You have chosen to make your plan public. Before confirming, please ensure that your plan is complete. This DMP can be used as an example for other, please fill the different sections. Do you confirm?')
+ confirm_message: _('You have chosen to make your plan public. Before confirming, please ensure that your plan is complete. This DMP can be used as an example for other, please fill the different sections. Do you confirm and then update your choice?')
}
%>
<%= _('Public: anyone can view') %>
diff --git a/app/views/branded/shared/_create_account_form.html.erb b/app/views/branded/shared/_create_account_form.html.erb
index 8fcc5a80e2..882aaf5e24 100644
--- a/app/views/branded/shared/_create_account_form.html.erb
+++ b/app/views/branded/shared/_create_account_form.html.erb
@@ -43,8 +43,12 @@
<% if Rails.configuration.x.recaptcha.enabled %>
- <%= label_tag(nil, _('Security check')) %>
- <%= recaptcha_tags %>
+ <% if @show_checkbox_recaptcha %>
+ <%= label_tag(nil, _('Security check')) %>
+ <%= recaptcha_tags %>
+ <% else %>
+ <%= recaptcha_v3(action: 'create_account') %>
+ <% end %>
<% end %>
diff --git a/app/views/org_admin/conditions/_webhook_form.html.erb b/app/views/org_admin/conditions/_webhook_form.html.erb
index 6613139bb6..8230e61b63 100644
--- a/app/views/org_admin/conditions/_webhook_form.html.erb
+++ b/app/views/org_admin/conditions/_webhook_form.html.erb
@@ -9,33 +9,33 @@
-
-
+
+
<%= label_tag name_start + "[webhook-name]", _('Name'), {'data-error': 'wrong', 'data-success': 'right'} %>
<%= text_field_tag name_start + "[webhook-name]", nil, class: 'form-control validate' %>
-
diff --git a/app/views/org_admin/questions/_form.html.erb b/app/views/org_admin/questions/_form.html.erb
index 52f3aa87e7..64a222b92e 100644
--- a/app/views/org_admin/questions/_form.html.erb
+++ b/app/views/org_admin/questions/_form.html.erb
@@ -5,7 +5,7 @@
<%= form_for(question, url: url,
- namespace: question.id.present? ? question.id : 'new_question',
+ namespace: question.id.present? ? "q_#{question.id}" : 'new_question',
html: { method: method, class: 'question_form' }) do |f| %>
<% current_format = question.question_format.present? ? question.question_format : QuestionFormat.find_by(formattype: QuestionFormat.formattypes[:textarea]) %>
diff --git a/app/views/org_admin/sections/_form.html.erb b/app/views/org_admin/sections/_form.html.erb
index 85587c806f..23e7d2664a 100644
--- a/app/views/org_admin/sections/_form.html.erb
+++ b/app/views/org_admin/sections/_form.html.erb
@@ -1,6 +1,6 @@
<% description_tooltip = _("Enter a basic description. This could be a summary of what is covered in the section or instructions on how to answer. This text will be displayed in the coloured banner once a section is opened to edit.") %>
-<%= form_for(section, url: url, namespace: section.id.present? ? section.id : 'new_section', html: { method: method }) do |f| %>
+<%= form_for(section, url: url, namespace: section.id.present? ? "sc_#{section.id}" : 'new_section', html: { method: method }) do |f| %>
<%= f.label(:title, _('Title') ,class: "control-label") %>
<%= f.text_field(:title, { class: "form-control", placeholder: _('Enter a title for the section'), 'data-toggle': 'tooltip', title: _('Enter a title for the section'), spellcheck: true, 'aria-required': true} ) %>
diff --git a/app/views/org_admin/templates/_form.html.erb b/app/views/org_admin/templates/_form.html.erb
index 29c17a05a1..abf6569b17 100644
--- a/app/views/org_admin/templates/_form.html.erb
+++ b/app/views/org_admin/templates/_form.html.erb
@@ -26,6 +26,12 @@
<% end %>
+<% else %>
+ <%
+ visibility = f.object.visibility
+ visibility = f.object.org.funder? ? 'publicly_visible' : 'organisationally_visible' if visibility.nil?
+ %>
+ <%= f.hidden_field :visibility, value: visibility %>
<% end %>
diff --git a/app/views/plans/_project_details.html.erb b/app/views/plans/_project_details.html.erb
index f82690ee68..dd81a54ef5 100644
--- a/app/views/plans/_project_details.html.erb
+++ b/app/views/plans/_project_details.html.erb
@@ -167,15 +167,14 @@ ethics_report_tooltip = _("Link to a protocol from a meeting with an ethics comm
<%= form.label(:funding_status, _("Funding status"), class: "control-label") %>
- <% funding_statuses = Plan.funding_statuses.map { |status| [status[0].capitalize, status[0]] } %>
- <%= form.select :funding_status, options_for_select(funding_statuses, form.object.funding_status),
+ <% funding_statuses = Plan::FUNDING_STATUS.map { |status| [_(status[0].to_s.capitalize), _(status[0].to_s)] } %>
+ <%= form.select :funding_status, options_for_select(funding_statuses, form.object.funding_status),
{
include_blank: _("- Please select one -"),
selected: form.object.funding_status
},
{ class: "form-control" } %>
-
<%= form.fields_for :grant, plan.grant do |grant_fields| %>
<%= grant_fields.label(:value, _("Grant number/url"), class: "control-label") %>
diff --git a/app/views/questions/_new_edit_question_textarea.html.erb b/app/views/questions/_new_edit_question_textarea.html.erb
index ae52892b9c..e8691555d4 100644
--- a/app/views/questions/_new_edit_question_textarea.html.erb
+++ b/app/views/questions/_new_edit_question_textarea.html.erb
@@ -9,7 +9,7 @@
%>
- <%= f.label(:text, sanitize(question.text), class: 'control-label') %>
+ <%= sanitize(question.text) %>
<% if locking || readonly %>
diff --git a/app/views/shared/export/_plan.erb b/app/views/shared/export/_plan.erb
index dac27560f2..aae3b9b705 100644
--- a/app/views/shared/export/_plan.erb
+++ b/app/views/shared/export/_plan.erb
@@ -18,7 +18,7 @@
<% @hash[:phases].each do |phase| %>
<%# Only render selected phase %>
- <% if phase[:title] == @selected_phase.title %>
+ <% if @hash[:all_phases] || (@selected_phase.present? && phase[:title] == @selected_phase.title) %>
<%# Page break before each phase %>
<%= download_plan_page_title(@plan, phase, @hash) %>
diff --git a/app/views/shared/export/_plan_txt.erb b/app/views/shared/export/_plan_txt.erb
index 7a9c42b87f..ff8570c785 100644
--- a/app/views/shared/export/_plan_txt.erb
+++ b/app/views/shared/export/_plan_txt.erb
@@ -38,7 +38,7 @@
<% @hash[:phases].each do |phase| %>
<%# Only render selected phase %>
-<% if phase[:title] == @selected_phase.title %>
+<% if @hash[:all_phases] || (@selected_phase.present? && phase[:title] == @selected_phase.title) %>
<%= (@hash[:phases].length > 1 ? "#{phase[:title]}" : "") %>
<% phase[:sections].each do |section| %>
<% if display_section?(@hash[:customization], section, @show_custom_sections) && num_section_questions(@plan, section, phase) > 0 %>
diff --git a/config/credentials.yml.enc b/config/credentials.yml.enc
index 391bbbe2fe..e83ca4eafb 100644
--- a/config/credentials.yml.enc
+++ b/config/credentials.yml.enc
@@ -1 +1 @@
-4FSsri29cvN40KDVEm8UzDbpxpjQB0dGq7k9VBDzrg3ItEAcz5NZ3/L0wt+IhEHa2dfZCGO3d49GpjWxVXNIVxxhYirRl/ow5j46el9QDE4rwuy5111HrD5LJQgmE2RldkdkrjxCy31ZGHUD1LAyqmDz4Gv1Am7CCtpSatuUFNg/sIMMagRftj+yayJo2+5m2n7lSffKm91+c00OeMs6GB7ND88lXgRd4x7IcIfq5Plb3X+0ZI5vBZ/A757g4Sg+dF1JzNrfqBpWAOsyjOCsjXNQC3FQfCcITvWxp2V6JKgbNlBUTvW1+O4j5SGa5CoM9PDzAGC1Ea311ovckaJe3fHKMWXGE8jDXYZvaSyWPLSGEMxsS6YYvE0xdb1zVfupZGkBkvDXkcER6rqZHL5Cv5fjlaKB3mimyzN+lJfRBerNuGoKhILg+hSSXtHNCDElbgCyF4dTXkGxysKCsbU8Kc47hzHzNOg4PWGMBGCrA4yas+yHz+haC7fCcji2oezDSThXEpC9bhC7BfcnjJssolNfAIjGS5V/Mjc8t5BLLWyzGjPZkd8xDS8SqjAUoZtSyA0N3hI3u4ORIN+FuKPzyhC3i/h5iNMs7yl9146d+OJPDP7Q6B7tMu+iQqEdds+rtdVcshW+XBnWpuNEfnKWfBsxCsBM8H1jtMOmFt8Qa2jFaur+/n1JbmCWR13Awq4DddlaUZVQWRqJfdEy5a/hJxBWbnXTDtPvuZoVURkhfT2K/sIE6cC8w3666t7I7ivDhtBPe7ITDbc0nz2/wvQ8bJEDO2+YyGFUDJvtARBhnZd6bmTA0gnoEMa/PqFw2yNFVgEUGBOk4EYGXF6sPGQagRGTW9Y22d69FKt65pXDHzjaXluGvnER--BJS+WE67bWvOYcFo--v91cp8ZTRV08WEfy3YzsGA==
\ No newline at end of file
+sx6LH1olJpf4RqFKIx26Se+OJdsxRXioa2WNy2MsZHzMJnKaH7/cPBVEZXSaymth09QlioRPAS9MZDZpg335SEaVan4O77ljiTX+yXzJ4b7MitpXuu0smlxi2nJWtMjtu2MJchebWio9/F3xinkfMjz/sTt2pXdybjaf/Z2qgkZNPm9gkilMd9u1+6hxUEavVmXvZQfnL/t4dmoTLHuFxFLIWymcAhx2qE/osSUhL+e8VHxGbIvVXtxWvPZV+GfXbz+Xa+X0GnAOOSG9yh41ltysjqhPivS399px15WA1quafCb6qPatRw6JfAXIk6iPM6bKkw0lQQj+GYrL00hC8j8kvhoPEk0mSw506PMdOVkvslHnF7JIVc+78eCD6T01cebYhH+dU829r4BztoOLo//hhSVjNY8vW2cKas2XFX9HZM7Pbmirihrmrml+vM+KulV0im6fJkYj0CJFK76j3kmUDCQGarmGaHvnQj23xbQspUCaX8O4kO6A58p16yetfSiyfkOw3JJokuErKuwiopFbBY16dOlWQSCYbKZtMFbmEpRqmAZazTJAUY0x/w5TKkRvRhFAiKbdCohjuV1ii5bxsvayh650o9n3qJ7Wnf/O489yQ+T6SVgZAHrvgM3RrgWnFMJsvcGHBdxSKfj0FrYKChTin+p3+syP4ko3nRnTdp5ru7n1VpnUWcjPjcjOpFiDSsbW7SSzi46NhVkDRgq1Lcy40SBLgjrccMfBZMiRdLa32hTRMU0CBxM7VRQbx5a550TiC3DqOqUQfUb1M1LPvyuM+a54qjzZdKdUn8BfNqYrjDGuw01Rzs+Fmx/2WMRxFeFjueOGlcrYYJ64Bdu+ZbVhAYlQGcD30PWOUmbrsIXFkNKa--l3PdVT6XYlwDCXti--SjRGYTMR1xjaaekhHUZ/zQ==
\ No newline at end of file
diff --git a/config/initializers/_dmproadmap.rb b/config/initializers/_dmproadmap.rb
index da1661be5b..bfadba90cf 100644
--- a/config/initializers/_dmproadmap.rb
+++ b/config/initializers/_dmproadmap.rb
@@ -200,7 +200,7 @@ class Application < Rails::Application
# Whether or not Super adminis can read all of the user's plans regardless of
# the plans visibility and whether or not the plan has been shared
- config.x.plans.org_admins_read_all = true
+ config.x.plans.org_admins_read_all = false
# Whether or not Organisational administrators can read all of the user's plans
# regardless of the plans visibility and whether or not the plan has been shared
config.x.plans.super_admins_read_all = true
diff --git a/config/initializers/assets.rb b/config/initializers/assets.rb
index bd4c6cb22a..ed78d115f4 100644
--- a/config/initializers/assets.rb
+++ b/config/initializers/assets.rb
@@ -14,3 +14,16 @@
# application.js, application.css, and all non-JS/CSS in the app/assets
# folder are already added.
# Rails.application.config.assets.precompile += %w( admin.js admin.css )
+
+# Bootstrap and TinyMCE expect their files to live in a specific place, so copy them over
+puts "Copying Bootstrap glyphicons to the public directory ..."
+source_dir = Dir.glob(Rails.root.join('node_modules', 'bootstrap', 'fonts', 'glyphicons-halflings-regular.*'))
+destination_dir = Rails.root.join('public', 'fonts', 'bootstrap')
+FileUtils.mkdir_p(destination_dir)
+FileUtils.cp_r(source_dir, destination_dir)
+
+puts "Copying TinyMCE skins to the public directory ..."
+source_dir = Dir.glob(Rails.root.join('node_modules', 'tinymce', 'skins', 'ui', 'oxide'))
+destination_dir = Rails.root.join('public', 'tinymce', 'skins')
+FileUtils.mkdir_p(destination_dir)
+FileUtils.cp_r(source_dir, destination_dir)
diff --git a/config/initializers/rack_attack.rb b/config/initializers/rack_attack.rb
index 333a3bb4f5..6a26816d6f 100644
--- a/config/initializers/rack_attack.rb
+++ b/config/initializers/rack_attack.rb
@@ -1,101 +1,25 @@
# frozen_string_literal: true
-# IPs to allow outright
-Rack::Attack.safelist_ip('127.0.0.1')
-Rack::Attack.safelist_ip('::1')
+# NB: `req` is a Rack::Request object (basically an env hash with friendly accessor methods)
-# Set a long block period for any client that is explicitly looking for security holes
-Rack::Attack.blocklist('malicious_clients') do |req|
- Rack::Attack::Fail2Ban.filter("fail2ban_malicious_#{req.ip}", maxretry: 1, findtime: 1.day, bantime: 1.day) do
- CGI.unescape(req.query_string) =~ %r{/etc/passwd} ||
- req.path.include?('/etc/passwd') ||
- req.path.include?('wp-admin') ||
- req.path.include?('wp-login') ||
- /\S+\.php/.match?(req.path)
- end
-end
-
-### Configure Cache ###
-
-# If you don't want to use Rails.cache (Rack::Attack's default), then
-# configure it here.
-#
-# Note: The store is only used for throttling (not blocklisting and
-# safelisting). It must implement .increment and .write like
-# ActiveSupport::Cache::Store
-
-# Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new
-
-### Throttle Spammy Clients ###
+# Enable/disable Rack::Attack
+Rack::Attack.enabled = true
-# If any single client IP is making tons of requests, then they're
-# probably malicious or a poorly-configured scraper. Either way, they
-# don't deserve to hog all of the app server's CPU. Cut them off!
-#
-# Note: If you're serving assets through rack, those requests may be
-# counted by rack-attack and this throttle may be activated too
-# quickly. If so, enable the condition to exclude them from tracking.
+# Cache store required to work.
+Rack::Attack.cache.store = ActiveSupport::Cache::MemoryStore.new # defaults to Rails.cache
-# Throttle all requests by IP (60rpm)
-#
-# Key: "rack::attack:#{Time.now.to_i/:period}:req/ip:#{req.ip}"
-Rack::Attack.throttle('req/ip', limit: 100, period: 1.minute) do |req|
- req.ip unless req.path.start_with?('/assets')
+# Throttle should send a 429 Error responsec code and display public/429.html
+Rack::Attack.throttled_responder = lambda do |_env|
+ html = ActionView::Base.empty.render(file: 'public/429.html')
+ [429, { 'Content-Type' => 'text/html' }, [html]]
end
-### Prevent Brute-Force Login Attacks ###
-
-# The most common brute-force login attack is a brute-force password
-# attack where an attacker simply tries a large number of emails and
-# passwords to see if any credentials match.
-#
-# Another common method of attack is to use a swarm of computers with
-# different IPs to try brute-forcing a password for a specific account.
-
-# Throttle POST requests to /login by IP address
-#
-# Key: "rack::attack:#{Time.now.to_i/:period}:logins/ip:#{req.ip}"
-Rack::Attack.throttle('logins/ip', limit: 5, period: 20.seconds) do |req|
- secure_paths = %w[/oauth/authorize /oauth/token /users/sign_in /users/auth/shibboleth
- /users/auth/orcid /users/password /users]
- req.ip if secure_paths.include?(req.path) && req.post?
+# Throttle attempts to a particular path. 2 POSTs to /users/password every 30 seconds
+Rack::Attack.throttle "password_resets/ip", limit: 2, period: 30.seconds do |req|
+ req.post? && req.path == "/users/password" && req.ip
end
-# Throttle POST requests to /login by email param
-#
-# Key: "rack::attack:#{Time.now.to_i/:period}:logins/email:#{normalized_email}"
-#
-# Note: This creates a problem where a malicious user could intentionally
-# throttle logins for another user and force their login requests to be
-# denied, but that's not very common and shouldn't happen to you. (Knock
-# on wood!)
-# throttle('logins/email', limit: 5, period: 20.seconds) do |req|
-# if req.path == '/login' && req.post?
-# # Normalize the email, using the same logic as your authentication process, to
-# # protect against rate limit bypasses. Return the normalized email if present, nil otherwise.
-# req.params['email'].to_s.downcase.gsub(/\s+/, "").presence
-# end
-# end
-
-### Custom Throttle Response ###
-
-# By default, Rack::Attack returns an HTTP 429 for throttled responses,
-# which is just fine.
-#
-# If you want to return 503 so that the attacker might be fooled into
-# believing that they've successfully broken your app (or you just want to
-# customize the response), then uncomment these lines.
-# self.throttled_response = lambda do |env|
-# [ 503, # status
-# {}, # headers
-# ['']] # body
-# end
-
-# Log the blocked requests
-ActiveSupport::Notifications.subscribe(/rack_attack/) do |name, _start, _finish, _request_id, payload|
- req = payload[:request]
- # rubocop:disable Layout/LineLength
- Rails.logger.info "[Rack::Attack][Blocked] name: #{name}, rule: #{req.env['rack.attack.matched']} remote_ip: #{req.ip}, " \
- "path: #{req.path}, agent: #{req.user_agent}"
- # rubocop:enable Layout/LineLength
+# Throttle attempts to a particular path. 4 POSTs to /users/sign_in every 30 seconds
+Rack::Attack.throttle "logins/ip", limit: 4, period: 30.seconds do |req|
+ req.post? && req.path == "/users/sign_in" && req.ip
end
diff --git a/config/initializers/translation.rb b/config/initializers/translation.rb
index bb19cfd376..4bc772670f 100644
--- a/config/initializers/translation.rb
+++ b/config/initializers/translation.rb
@@ -63,7 +63,7 @@ def default_locale
end
def available_locales
- SUPPORTED_LOCALES.sort { |a, b| a <=> b }
+ SUPPORTED_LOCALES
end
I18n.available_locales = SUPPORTED_LOCALES
diff --git a/config/locale/app.pot b/config/locale/app.pot
index 790362a271..0fdf907f13 100644
--- a/config/locale/app.pot
+++ b/config/locale/app.pot
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: roadmap 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-02-03 09:02+0100\n"
-"PO-Revision-Date: 2023-02-03 09:02+0100\n"
+"POT-Creation-Date: 2023-04-12 10:30-0700\n"
+"PO-Revision-Date: 2023-04-12 10:30-0700\n"
"Last-Translator: FULL NAME
\n"
"Language-Team: LANGUAGE \n"
"Language: \n"
@@ -47,21 +47,21 @@ msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr ""
@@ -438,7 +438,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -450,7 +450,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -540,7 +540,7 @@ msgid "Unable to delete this version of the template."
msgstr ""
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr ""
@@ -602,10 +602,14 @@ msgstr ""
msgid "Your organisation does not seem to be properly configured."
msgstr ""
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr ""
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr ""
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr ""
@@ -639,33 +643,33 @@ msgstr ""
msgid "template with customisations by the"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr ""
@@ -891,7 +895,7 @@ msgstr ""
msgid "merge"
msgstr ""
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -950,19 +954,19 @@ msgid ""
"ot to duplicate too much text."
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr ""
@@ -1108,7 +1112,7 @@ msgid "Public"
msgstr ""
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr ""
@@ -1121,7 +1125,7 @@ msgid "Public: anyone can view."
msgstr ""
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr ""
@@ -1498,23 +1502,35 @@ msgstr ""
msgid "can't be larger than 500KB"
msgstr ""
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr ""
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr ""
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr ""
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr ""
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr ""
@@ -1570,39 +1586,39 @@ msgstr ""
msgid "Copy of %{template}"
msgstr ""
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr ""
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr ""
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr ""
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr ""
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr ""
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr ""
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr ""
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr ""
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr ""
@@ -1791,11 +1807,11 @@ msgstr ""
msgid "invalid JSON"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1871,7 +1887,7 @@ msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1908,11 +1924,11 @@ msgid " by %{user_name}"
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
+msgid " questions from your plan."
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid " questions from your plan."
+msgid "This answer removes "
msgstr ""
#: ../../app/views/answers/_status.html.erb:21
@@ -2517,7 +2533,7 @@ msgid ""
msgstr ""
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2834,87 +2850,87 @@ msgstr ""
msgid "%{application_name}"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Notice:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Notice:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
"ons."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr ""
@@ -3251,11 +3267,11 @@ msgid "Feedback requested"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
+msgid "Notify the plan owner that I have finished providing feedback"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Notify the plan owner that I have finished providing feedback"
+msgid "Complete"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:39
@@ -3291,11 +3307,11 @@ msgid ""
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "Question %{number}:"
+msgid "New question:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "New question:"
+msgid "Question %{number}:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:15
@@ -3475,7 +3491,7 @@ msgstr ""
msgid "for internal %{org_name} use only"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:32
+#: ../../app/views/org_admin/templates/_form.html.erb:38
#: ../../app/views/org_admin/templates/_show.html.erb:13
#: ../../app/views/paginable/guidance_groups/_index.html.erb:7
#: ../../app/views/paginable/guidances/_index.html.erb:9
@@ -3485,7 +3501,7 @@ msgstr ""
msgid "Status"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:37
+#: ../../app/views/org_admin/templates/_form.html.erb:43
#: ../../app/views/org_admin/templates/_row.html.erb:16
#: ../../app/views/org_admin/templates/_show.html.erb:26
#: ../../app/views/paginable/guidance_groups/_index.html.erb:24
@@ -3495,17 +3511,17 @@ msgstr ""
msgid "Unpublished"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:39
+#: ../../app/views/org_admin/templates/_form.html.erb:45
#: ../../app/views/paginable/templates/_history.html.erb:19
msgid "Draft"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:46
+#: ../../app/views/org_admin/templates/_form.html.erb:52
#: ../../app/views/org_admin/templates/_show.html.erb:41
msgid "Created at"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:52
+#: ../../app/views/org_admin/templates/_form.html.erb:58
#: ../../app/views/org_admin/templates/_show.html.erb:43
#: ../../app/views/paginable/guidance_groups/_index.html.erb:9
#: ../../app/views/paginable/guidances/_index.html.erb:10
@@ -3513,22 +3529,22 @@ msgstr ""
msgid "Last updated"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:64
+#: ../../app/views/org_admin/templates/_form.html.erb:70
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:10
msgid "Funder Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:67
+#: ../../app/views/org_admin/templates/_form.html.erb:73
msgid ""
"Add links to funder websites that provide additional information about the req"
"uirements for this template"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:73
+#: ../../app/views/org_admin/templates/_form.html.erb:79
msgid "Sample Plan Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:76
+#: ../../app/views/org_admin/templates/_form.html.erb:82
msgid "Add links to sample plans if provided by the funder."
msgstr ""
@@ -4207,11 +4223,11 @@ msgid "Create a new plan"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "Sample Plans"
+msgid "(if available)"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "(if available)"
+msgid "Sample Plans"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:47
@@ -4515,15 +4531,15 @@ msgstr ""
msgid "Funding status"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:181
+#: ../../app/views/plans/_project_details.html.erb:180
msgid "Grant number/url"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:195
+#: ../../app/views/plans/_project_details.html.erb:194
msgid "Grant number:"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:199
+#: ../../app/views/plans/_project_details.html.erb:198
msgid ""
"Provide a URL to the award's landing page if possible, if not please provide t"
"he award/grant number."
@@ -5530,11 +5546,11 @@ msgid "New API Client"
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Successfully regenerated the client credentials."
+msgid "Unable to regenerate the client credentials."
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Unable to regenerate the client credentials."
+msgid "Successfully regenerated the client credentials."
msgstr ""
#: ../../app/views/super_admin/notifications/_form.html.erb:20
@@ -5957,19 +5973,19 @@ msgid "Hello %{recipient_name},"
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " is creating a Data Management Plan and has answered "
+msgid " to "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " to "
+msgid " based on the template "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " in a plan called "
+msgid " is creating a Data Management Plan and has answered "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " based on the template "
+msgid " in a plan called "
msgstr ""
#: ../../app/views/user_mailer/sharing_notification.html.erb:5
@@ -6110,11 +6126,11 @@ msgid "Download users"
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Successfully regenerate your API token."
+msgid "Unable to regenerate your API token."
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Unable to regenerate your API token."
+msgid "Successfully regenerate your API token."
msgstr ""
#: i18n_placeholders.rb:4
diff --git a/config/locale/client.pot b/config/locale/client.pot
index a58f3a9355..cce91f7633 100644
--- a/config/locale/client.pot
+++ b/config/locale/client.pot
@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: DMPOPIDoR 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-03-31 08:37+0200\n"
-"PO-Revision-Date: 2023-03-31 08:37+0200\n"
+"POT-Creation-Date: 2023-04-27 16:37+0200\n"
+"PO-Revision-Date: 2023-04-27 16:37+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: LANGUAGE \n"
"Language: \n"
@@ -264,7 +264,7 @@ msgid "Invalid JSON: "
msgstr ""
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:13
-#: ../../app/controllers/plans_controller.rb:569
+#: ../../app/controllers/plans_controller.rb:570
msgid "There is no plan associated with id %{id}"
msgstr ""
@@ -274,7 +274,7 @@ msgid "Data contact"
msgstr ""
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:45
-#: ../../app/controllers/plans_controller.rb:526
+#: ../../app/controllers/plans_controller.rb:527
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:47
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:52
#: ../../engines/madmp_opidor/app/controllers/super_admin/registry_values_controller.rb:21
@@ -364,10 +364,14 @@ msgstr ""
msgid "Your organisation does not seem to be properly configured."
msgstr ""
-#: ../../app/controllers/plan_exports_controller.rb:114
+#: ../../app/controllers/plan_exports_controller.rb:120
msgid "Created using %{application_name}. Last modified %{date}"
msgstr ""
+#: ../../app/controllers/plan_exports_controller.rb:125
+msgid "[page] of [topage]"
+msgstr ""
+
#: ../../app/controllers/plans_controller.rb:89
msgid "Unable to identify a suitable template for your plan."
msgstr ""
@@ -389,15 +393,15 @@ msgstr ""
msgid "template with customisations by the"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:500
+#: ../../app/controllers/plans_controller.rb:501
msgid "copied"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:502
+#: ../../app/controllers/plans_controller.rb:503
msgid "copy"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:523
+#: ../../app/controllers/plans_controller.rb:524
#: ../../app/controllers/users_controller.rb:123
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:45
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:50
@@ -405,25 +409,25 @@ msgstr ""
msgid "updated"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:531
+#: ../../app/controllers/plans_controller.rb:532
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:537
+#: ../../app/controllers/plans_controller.rb:538
msgid "Unable to find plan id %{plan_id}"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is now a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is no longer a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:556
+#: ../../app/controllers/plans_controller.rb:557
msgid "Unable to change the plan's test status"
msgstr ""
@@ -636,19 +640,19 @@ msgid ""
"ot to duplicate too much text."
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr ""
@@ -803,7 +807,7 @@ msgstr ""
msgid "Public"
msgstr ""
-#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:75
+#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:77
msgid "Administrator"
msgstr ""
@@ -1053,23 +1057,35 @@ msgstr ""
msgid "can't be larger than 500KB"
msgstr ""
-#: ../../app/models/plan.rb:68
+#: ../../app/models/plan.rb:70
msgid "organisational"
msgstr ""
-#: ../../app/models/plan.rb:69
+#: ../../app/models/plan.rb:71
msgid "public"
msgstr ""
-#: ../../app/models/plan.rb:70
+#: ../../app/models/plan.rb:72
msgid "test"
msgstr ""
-#: ../../app/models/plan.rb:79
+#: ../../app/models/plan.rb:81
msgid "private"
msgstr ""
-#: ../../app/models/plan.rb:797
+#: ../../app/models/plan.rb:85
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:86
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:87
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:805
msgid "must be after the start date"
msgstr ""
@@ -1187,7 +1203,7 @@ msgstr ""
#: ../../app/views/branded/plans/_guidance_selection.html.erb:23
#: ../../app/views/branded/plans/_share_form.html.erb:112
#: ../../app/views/branded/plans/_share_third_party.html.erb:93
-#: ../../app/views/branded/research_outputs/_list.html.erb:101
+#: ../../app/views/branded/research_outputs/_list.html.erb:103
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:67
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:59
#: ../../app/views/branded/users/_notification_preferences.html.erb:47
@@ -1246,10 +1262,10 @@ msgid "Question not answered."
msgstr ""
#: ../../app/views/branded/contact_us/contacts/_new_left.html.erb:4
-#: ../../app/views/branded/contributors/index.html.erb:24
#: ../../app/views/branded/org_admin/departments/edit.html.erb:14
#: ../../app/views/branded/org_admin/departments/new.html.erb:14
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:6
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:6
#: ../../app/views/branded/paginable/static_pages/_index.html.erb:5
#: ../../app/views/branded/paginable/users/_index.html.erb:20
#: ../../app/views/branded/shared/export/_plan_coversheet.erb:68
@@ -1346,44 +1362,15 @@ msgid ""
" for other templates."
msgstr ""
-#: ../../app/views/branded/contributors/index.html.erb:25
-#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
-msgid "Affiliation"
-msgstr ""
-
-#: ../../app/views/branded/contributors/index.html.erb:26
-msgid "Attributed roles (Associated research outputs)"
+#: ../../app/views/branded/contributors/index.html.erb:29
+msgid "No contributors have been defined."
msgstr ""
-#: ../../app/views/branded/contributors/index.html.erb:28
-#: ../../app/views/branded/org_admin/plans/index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
-#: ../../app/views/branded/paginable/departments/_index.html.erb:7
-#: ../../app/views/branded/paginable/departments/_index.html.erb:24
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
-#: ../../app/views/branded/paginable/templates/_history.html.erb:10
-#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
-#: ../../app/views/branded/plans/_share_form.html.erb:20
-#: ../../app/views/branded/plans/_share_third_party.html.erb:35
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
-#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
-msgid "Actions"
-msgstr ""
-
-#: ../../app/views/branded/contributors/index.html.erb:46
+#: ../../app/views/branded/contributors/index.html.erb:35
msgid "Add a person"
msgstr ""
-#: ../../app/views/branded/contributors/index.html.erb:59
+#: ../../app/views/branded/contributors/index.html.erb:48
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_list_field.html.erb:45
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_select_field.html.erb:47
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/registry/_multiple_complex.html.erb:59
@@ -1541,7 +1528,7 @@ msgstr ""
#: ../../app/views/branded/org_admin/questions/_form.html.erb:136
#: ../../app/views/branded/plans/_edit_details.html.erb:63
#: ../../app/views/branded/plans/_guidance_selection.html.erb:35
-#: ../../app/views/branded/research_outputs/_list.html.erb:102
+#: ../../app/views/branded/research_outputs/_list.html.erb:104
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:93
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:67
#: ../../app/views/research_outputs/_form.html.erb:183
@@ -1966,6 +1953,30 @@ msgstr ""
msgid "Request Date"
msgstr ""
+#: ../../app/views/branded/org_admin/plans/index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:10
+#: ../../app/views/branded/paginable/departments/_index.html.erb:7
+#: ../../app/views/branded/paginable/departments/_index.html.erb:24
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
+#: ../../app/views/branded/paginable/templates/_history.html.erb:10
+#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
+#: ../../app/views/branded/plans/_share_form.html.erb:20
+#: ../../app/views/branded/plans/_share_third_party.html.erb:35
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
+#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
+msgid "Actions"
+msgstr ""
+
#: ../../app/views/branded/org_admin/plans/index.html.erb:31
msgid "Complete"
msgstr ""
@@ -2048,7 +2059,7 @@ msgid ""
msgstr ""
#: ../../app/views/branded/org_admin/questions/_form.html.erb:133
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:43
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:55
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:82
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:86
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:61
@@ -2128,7 +2139,7 @@ msgstr ""
#: ../../app/views/branded/org_admin/questions/_show.html.erb:226
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:43
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:36
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:48
#: ../../app/views/branded/paginable/departments/_index.html.erb:27
#: ../../app/views/branded/paginable/orgs/_index.html.erb:39
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:59
@@ -2198,7 +2209,7 @@ msgid "Locale"
msgstr ""
#: ../../app/views/branded/org_admin/templates/_form.html.erb:41
-#: ../../app/views/branded/research_outputs/_list.html.erb:54
+#: ../../app/views/branded/research_outputs/_list.html.erb:56
#: ../../app/views/research_outputs/_form.html.erb:14
msgid "Type"
msgstr ""
@@ -2373,7 +2384,7 @@ msgid "Homepage"
msgstr ""
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:15
-#: ../../app/views/branded/research_outputs/_list.html.erb:73
+#: ../../app/views/branded/research_outputs/_list.html.erb:75
#: ../../app/views/research_outputs/repositories/_search_result.html.erb:42
msgid "Contact"
msgstr ""
@@ -2411,13 +2422,22 @@ msgid ""
"s the API. Are you sure?"
msgstr ""
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:44
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:7
+#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
+msgid "Affiliation"
+msgstr ""
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:8
+msgid "Attributed roles (Associated research outputs)"
+msgstr ""
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:56
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/contributor/_contributor_list.html.erb:44
#: ../../engines/madmp_opidor/app/views/dynamic_form/linked_fragment/_list.html.erb:46
msgid "Do you want to delete this element?"
msgstr ""
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:62
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:74
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:68
#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:72
#: ../../app/views/branded/paginable/templates/_history.html.erb:56
@@ -2506,7 +2526,7 @@ msgid "Shared"
msgstr ""
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:33
-#: ../../app/views/branded/plans/_share_form.html.erb:152
+#: ../../app/views/branded/plans/_share_form.html.erb:157
msgid "Update"
msgstr ""
@@ -3175,15 +3195,15 @@ msgstr ""
msgid "Organisation: anyone at my organisation can view"
msgstr ""
-#: ../../app/views/branded/plans/_share_form.html.erb:147
-msgid "Public: anyone can view"
-msgstr ""
-
-#: ../../app/views/branded/plans/_share_form.html.erb:154
+#: ../../app/views/branded/plans/_share_form.html.erb:149
msgid ""
"You have chosen to make your plan public. Before confirming, please ensure tha"
"t your plan is complete. This DMP can be used as an example for other, please "
-"fill the different sections. Do you confirm?"
+"fill the different sections. Do you confirm and then update your choice?"
+msgstr ""
+
+#: ../../app/views/branded/plans/_share_form.html.erb:152
+msgid "Public: anyone can view"
msgstr ""
#: ../../app/views/branded/plans/_share_third_party.html.erb:3
@@ -3354,48 +3374,48 @@ msgstr ""
msgid "Research output title"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:34
+#: ../../app/views/branded/research_outputs/_list.html.erb:35
msgid "UUID"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:37
-#: ../../app/views/branded/research_outputs/_list.html.erb:42
+#: ../../app/views/branded/research_outputs/_list.html.erb:38
#: ../../app/views/branded/research_outputs/_list.html.erb:43
+#: ../../app/views/branded/research_outputs/_list.html.erb:44
msgid "Research output unique identifier"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:48
+#: ../../app/views/branded/research_outputs/_list.html.erb:49
msgid "Copy UUID to clipboard"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:67
+#: ../../app/views/branded/research_outputs/_list.html.erb:69
#: ../../app/views/research_outputs/_form.html.erb:27
msgid "Research output type"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:94
+#: ../../app/views/branded/research_outputs/_list.html.erb:96
msgid "Persistent Identifier"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:96
+#: ../../app/views/branded/research_outputs/_list.html.erb:98
msgid "If exists, please fill in the research output persistant identifier."
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:108
+#: ../../app/views/branded/research_outputs/_list.html.erb:110
msgid "Edit research output"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:111
+#: ../../app/views/branded/research_outputs/_list.html.erb:113
msgid "Move research output"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:116
+#: ../../app/views/branded/research_outputs/_list.html.erb:118
msgid ""
"Deleting this research output will remove the associated answers. Do you confi"
"rm ?"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:119
+#: ../../app/views/branded/research_outputs/_list.html.erb:121
msgid "Delete research output"
msgstr ""
diff --git a/config/locale/de/LC_MESSAGES/app.mo b/config/locale/de/LC_MESSAGES/app.mo
index 4b9343d91c..7420fe7b7e 100644
Binary files a/config/locale/de/LC_MESSAGES/app.mo and b/config/locale/de/LC_MESSAGES/app.mo differ
diff --git a/config/locale/de/app.po b/config/locale/de/app.po
index e202df8404..788282a1bb 100644
--- a/config/locale/de/app.po
+++ b/config/locale/de/app.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: roadmap 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-02-03 09:02+0100\n"
-"PO-Revision-Date: 2023-02-03 09:02+0100\n"
+"POT-Creation-Date: 2023-04-12 10:30-0700\n"
+"PO-Revision-Date: 2023-04-12 19:30+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: German\n"
"Language: de\n"
@@ -51,21 +51,21 @@ msgstr "Schlechte Parameter"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Monat"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "Nein. Benutzer sind beigetreten"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Gesamt"
@@ -454,7 +454,7 @@ msgstr "Es kann keine neue Version dieser Vorlage erstellt werden. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -466,7 +466,7 @@ msgstr "aktualisiert"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -562,7 +562,7 @@ msgid "Unable to delete this version of the template."
msgstr "Diese Version der Vorlage kann nicht gelöscht werden."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "Kopieren"
@@ -626,10 +626,14 @@ msgstr "Bitte wählen Sie eine Organisation"
msgid "Your organisation does not seem to be properly configured."
msgstr "Ihre Organisation scheint nicht ordnungsgemäß konfiguriert zu sein."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Erstellt mit %{application_name}. Zuletzt geändert am %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[Seite] von [Toppage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "Das ist ein"
@@ -663,11 +667,11 @@ msgstr "Dieser Plan basiert auf dem"
msgid "template with customisations by the"
msgstr "Vorlage mit Anpassungen durch die"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "Kopiert"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -675,23 +679,23 @@ msgstr ""
"Der Status des Plans konnte nicht geändert werden, da mindestens %{percentage}"
" Prozentsatz angefordert wurde"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "Plan-ID konnte nicht gefunden werden %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Ihr Projekt ist jetzt ein Test."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Ihr Projekt ist kein Test mehr."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Der Teststatus des Plans konnte nicht geändert werden"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "ID %{ ist kein Plan zugeordnet S"
@@ -945,7 +949,7 @@ msgstr "zusammengeführt"
msgid "merge"
msgstr "Verschmelzen"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -1012,19 +1016,19 @@ msgstr ""
"Sie auch Hilfestellungen nach Themen angeben, werden diese mit angezeigt; Sie "
"sollten deshalb möglichst wenig Text kopieren."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Antworten"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "sendet eine E-Mail mit dem Betreff %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "wird die Frage entfernen "
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "wird Fragen entfernen "
@@ -1177,7 +1181,7 @@ msgid "Public"
msgstr "Öffentlichkeit"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Private"
@@ -1190,7 +1194,7 @@ msgid "Public: anyone can view."
msgstr "Öffentlich: Jeder kann sehen."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Privat: beschränkt auf mich und Leute, die ich einlade."
@@ -1578,23 +1582,35 @@ msgstr "muss eines der folgenden Formate sein: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "kann nicht größer als 500KB sein"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organisatorisch"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "öffentlich"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "Test"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "privat"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "muss nach dem Startdatum liegen"
@@ -1650,41 +1666,41 @@ msgstr "generate_copy! erfordert ein Organisationsziel"
msgid "Copy of %{template}"
msgstr "Kopie von %{template}"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "generate_version! benötigt eine veröffentlichte Vorlage"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "customize! erfordert ein Organisationsziel"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "customize! benötigt eine Vorlage von einem Forschungsförderer"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "Sie können keine bereits veröffentlichte Vorlage erneut veröffentlichen."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "Sie können keine veraltete Version dieser Vorlage veröffentlichen."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "Sie können keine Vorlage ohne Phasen veröffentlichen."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr ""
"Sie können keine Vorlage veröffentlichen, deren Phasen keine Abschnitte enthal"
"ten."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "Sie können keine Vorlage veröffentlichen, die Abschnitte ohne Fragen enthält."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "Die Bedingungen in der Vorlage beziehen sich rückwärts"
@@ -1883,11 +1899,11 @@ msgstr ": title ist für jeden: Datensatz erforderlich"
msgid "invalid JSON"
msgstr "Ungültiger JSON"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! erfordert eine benutzerdefinierte Vorlage"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1967,7 +1983,7 @@ msgstr "Bitte warten Sie, die Standards werden geladen"
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -2003,14 +2019,14 @@ msgstr "Beantwortet"
msgid " by %{user_name}"
msgstr " von %{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Diese Antwort wird entfernt"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " Fragen aus Ihrem Plan."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Diese Antwort wird entfernt"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Diese Antwort löst E-Mail (s) an aus"
@@ -2676,7 +2692,7 @@ msgstr ""
"erstellen'-Assistenten auswählen."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -3017,50 +3033,50 @@ msgstr "Abmelden"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Error:"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Beachten:"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Error:"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Laden..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Dieses Feld wird benötigt."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Passwort anzeigen"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Wählen Sie eine Organisation aus der Liste aus."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Meine Organisation ist nicht aufgeführt"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "N / A"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Liste ausblenden"
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Siehe die vollständige Liste der Partnereinrichtungen."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3068,27 +3084,27 @@ msgstr ""
"Es konnte keine geeignete Vorlage für die von Ihnen ausgewählte Forschungsorga"
"nisation und den ausgewählten Geldgeber gefunden werden."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr "Bitte wählen Sie eine Forschungsorganisation und Förderer, um fortzufahren."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Laden ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Der Inhalt des Abschnitts konnte zu diesem Zeitpunkt nicht geladen werden."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Der Inhalt der Frage konnte zu diesem Zeitpunkt nicht geladen werden."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Wird in einem neuen Fenster geöffnet"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3099,11 +3115,11 @@ msgstr ""
"en Vorschlag auszuwählen, oder die Escape-Taste, um die Vorschläge zu schließe"
"n."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "Für Ihren Eintrag sind keine Ergebnisse verfügbar."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Suchen ..."
@@ -3453,16 +3469,16 @@ msgstr "Aktionen"
msgid "Feedback requested"
msgstr "Feedback wurde angefordert."
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Vollständig"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr ""
"Benachrichtigen Sie den Eigentümer des Plans, dass ich mit der Bereitstellung "
"von Feedback fertig bin"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Vollständig"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue.\n"
"Language-Team: English\n"
"Language: en\n"
@@ -49,21 +49,21 @@ msgstr "Bad Parameters"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Month"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "No. Users joined"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Total"
@@ -444,7 +444,7 @@ msgstr "Unable to create a new version of this template. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -456,7 +456,7 @@ msgstr "updated"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -546,7 +546,7 @@ msgid "Unable to delete this version of the template."
msgstr "Unable to delete this version of the template."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "copy"
@@ -608,10 +608,14 @@ msgstr "Please choose an organisation"
msgid "Your organisation does not seem to be properly configured."
msgstr "Your organisation does not seem to be properly configured."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Created using %{application_name}. Last modified %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[page] of [topage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "This is a"
@@ -645,11 +649,11 @@ msgstr "This plan is based on the"
msgid "template with customisations by the"
msgstr "template with customisations by the"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "copied"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -657,23 +661,23 @@ msgstr ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "Unable to find plan id %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Your project is now a test."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Your project is no longer a test."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Unable to change the plan's test status"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "There is no plan associated with id %{s"
@@ -924,7 +928,7 @@ msgstr "merged"
msgid "merge"
msgstr "merge"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr "No. Created Plans"
@@ -990,19 +994,19 @@ msgstr ""
"emes too, this will be pulled in based on your selections below so it's best n"
"ot to duplicate too much text."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Answering"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr " will send an email with subject %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr " will remove question "
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr " will remove questions "
@@ -1157,7 +1161,7 @@ msgid "Public"
msgstr "Public"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Private"
@@ -1170,7 +1174,7 @@ msgid "Public: anyone can view."
msgstr "Public: anyone can view."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Private: restricted to me and people I invite."
@@ -1559,23 +1563,35 @@ msgstr "must be one of the following formats: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "can't be larger than 500KB"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organisational"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "public"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "test"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "private"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr "Planned"
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr "Funded"
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr "Denied"
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "must be after the start date"
@@ -1631,39 +1647,39 @@ msgstr "generate_copy! requires an organisation target"
msgid "Copy of %{template}"
msgstr "Copy of %{template}"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "generate_version! requires a published template"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "customize! requires an organisation target"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "customize! requires a template from a funder"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "You can not publish a published template. "
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "You can not publish a historical version of this template. "
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "You can not publish a template without phases. "
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr "You can not publish a template without sections in a phase. "
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "You can not publish a template without questions in a section. "
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "Conditions in the template refer backwards"
@@ -1859,11 +1875,11 @@ msgstr ":title is required for each :dataset"
msgid "invalid JSON"
msgstr "invalid JSON"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! requires a customised template"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1943,7 +1959,7 @@ msgstr "Please wait, Standards are loading"
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1979,14 +1995,14 @@ msgstr "Answered"
msgid " by %{user_name}"
msgstr " by %{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "This answer removes "
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " questions from your plan."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "This answer removes "
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "This answer triggers email(s) to "
@@ -2642,7 +2658,7 @@ msgstr ""
"this subset guidance when answering questions in the 'create plan' wizard."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2977,50 +2993,50 @@ msgstr "Logout"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Error:"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Notice:"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Error:"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Loading..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "This field is required."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Show password"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Select an organisation from the list."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "My organisation isn't listed"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "N/A"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Hide list."
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "See the full list of partner institutions."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3028,27 +3044,27 @@ msgstr ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr "Please select a research organisation and funder to continue."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Loading ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Unable to load the section's content at this time."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Unable to load the question's content at this time."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Opens in a new window"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3058,11 +3074,11 @@ msgstr ""
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
"ons."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "No results are available for your entry."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Searching ..."
@@ -3409,14 +3425,14 @@ msgstr "Actions"
msgid "Feedback requested"
msgstr "Feedback requested"
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Complete"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr "Notify the plan owner that I have finished providing feedback"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Complete"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue.\n"
"Language-Team: English\n"
"Language: en\n"
@@ -266,7 +266,7 @@ msgid "Invalid JSON: "
msgstr "Invalid JSON: "
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:13
-#: ../../app/controllers/plans_controller.rb:569
+#: ../../app/controllers/plans_controller.rb:570
msgid "There is no plan associated with id %{id}"
msgstr "There is no plan associated with id %{id}"
@@ -276,7 +276,7 @@ msgid "Data contact"
msgstr "Data contact"
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:45
-#: ../../app/controllers/plans_controller.rb:526
+#: ../../app/controllers/plans_controller.rb:527
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:47
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:52
#: ../../engines/madmp_opidor/app/controllers/super_admin/registry_values_controller.rb:21
@@ -366,10 +366,14 @@ msgstr "Please choose an organisation"
msgid "Your organisation does not seem to be properly configured."
msgstr "Your organisation does not seem to be properly configured."
-#: ../../app/controllers/plan_exports_controller.rb:114
+#: ../../app/controllers/plan_exports_controller.rb:120
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Created using %{application_name}. Last modified %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:125
+msgid "[page] of [topage]"
+msgstr "[page] of [topage]"
+
#: ../../app/controllers/plans_controller.rb:89
msgid "Unable to identify a suitable template for your plan."
msgstr "Unable to identify a suitable template for your plan."
@@ -391,15 +395,15 @@ msgstr "This plan is based on the"
msgid "template with customisations by the"
msgstr "template with customisations by the"
-#: ../../app/controllers/plans_controller.rb:500
+#: ../../app/controllers/plans_controller.rb:501
msgid "copied"
msgstr "copied"
-#: ../../app/controllers/plans_controller.rb:502
+#: ../../app/controllers/plans_controller.rb:503
msgid "copy"
msgstr "copy"
-#: ../../app/controllers/plans_controller.rb:523
+#: ../../app/controllers/plans_controller.rb:524
#: ../../app/controllers/users_controller.rb:123
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:45
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:50
@@ -407,7 +411,7 @@ msgstr "copy"
msgid "updated"
msgstr "updated"
-#: ../../app/controllers/plans_controller.rb:531
+#: ../../app/controllers/plans_controller.rb:532
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -415,19 +419,19 @@ msgstr ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
-#: ../../app/controllers/plans_controller.rb:537
+#: ../../app/controllers/plans_controller.rb:538
msgid "Unable to find plan id %{plan_id}"
msgstr "Unable to find plan id %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is now a test."
msgstr "Your project is now a test."
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is no longer a test."
msgstr "Your project is no longer a test."
-#: ../../app/controllers/plans_controller.rb:556
+#: ../../app/controllers/plans_controller.rb:557
msgid "Unable to change the plan's test status"
msgstr "Unable to change the plan's test status"
@@ -666,19 +670,19 @@ msgstr ""
"emes too, this will be pulled in based on your selections below so it's best n"
"ot to duplicate too much text."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Answering"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr " will send an email with subject %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr " will remove question "
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr " will remove questions "
@@ -842,7 +846,7 @@ msgstr "Organisation"
msgid "Public"
msgstr "Public"
-#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:75
+#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:77
msgid "Administrator"
msgstr "Administrator"
@@ -1096,23 +1100,35 @@ msgstr "must be one of the following formats: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "can't be larger than 500KB"
-#: ../../app/models/plan.rb:68
+#: ../../app/models/plan.rb:70
msgid "organisational"
msgstr "organisational"
-#: ../../app/models/plan.rb:69
+#: ../../app/models/plan.rb:71
msgid "public"
msgstr "public"
-#: ../../app/models/plan.rb:70
+#: ../../app/models/plan.rb:72
msgid "test"
msgstr "test"
-#: ../../app/models/plan.rb:79
+#: ../../app/models/plan.rb:81
msgid "private"
msgstr "private"
-#: ../../app/models/plan.rb:797
+#: ../../app/models/plan.rb:85
+msgid "Planned"
+msgstr "Planned"
+
+#: ../../app/models/plan.rb:86
+msgid "Funded"
+msgstr "Funded"
+
+#: ../../app/models/plan.rb:87
+msgid "Denied"
+msgstr "Denied"
+
+#: ../../app/models/plan.rb:805
msgid "must be after the start date"
msgstr "must be after the start date"
@@ -1232,7 +1248,7 @@ msgstr "Please wait, Standards are loading"
#: ../../app/views/branded/plans/_guidance_selection.html.erb:23
#: ../../app/views/branded/plans/_share_form.html.erb:112
#: ../../app/views/branded/plans/_share_third_party.html.erb:93
-#: ../../app/views/branded/research_outputs/_list.html.erb:101
+#: ../../app/views/branded/research_outputs/_list.html.erb:103
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:67
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:59
#: ../../app/views/branded/users/_notification_preferences.html.erb:47
@@ -1291,10 +1307,10 @@ msgid "Question not answered."
msgstr "Question not answered."
#: ../../app/views/branded/contact_us/contacts/_new_left.html.erb:4
-#: ../../app/views/branded/contributors/index.html.erb:24
#: ../../app/views/branded/org_admin/departments/edit.html.erb:14
#: ../../app/views/branded/org_admin/departments/new.html.erb:14
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:6
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:6
#: ../../app/views/branded/paginable/static_pages/_index.html.erb:5
#: ../../app/views/branded/paginable/users/_index.html.erb:20
#: ../../app/views/branded/shared/export/_plan_coversheet.erb:68
@@ -1402,44 +1418,15 @@ msgstr ""
"\"Write Plan\" tab for the structured templates or in the \"Research Outputs\" tab"
" for other templates."
-#: ../../app/views/branded/contributors/index.html.erb:25
-#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
-msgid "Affiliation"
-msgstr "Affiliation"
-
-#: ../../app/views/branded/contributors/index.html.erb:26
-msgid "Attributed roles (Associated research outputs)"
-msgstr "Attributed roles (Associated research outputs)"
-
-#: ../../app/views/branded/contributors/index.html.erb:28
-#: ../../app/views/branded/org_admin/plans/index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
-#: ../../app/views/branded/paginable/departments/_index.html.erb:7
-#: ../../app/views/branded/paginable/departments/_index.html.erb:24
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
-#: ../../app/views/branded/paginable/templates/_history.html.erb:10
-#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
-#: ../../app/views/branded/plans/_share_form.html.erb:20
-#: ../../app/views/branded/plans/_share_third_party.html.erb:35
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
-#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
-msgid "Actions"
-msgstr "Actions"
+#: ../../app/views/branded/contributors/index.html.erb:29
+msgid "No contributors have been defined."
+msgstr "No contributors have been defined."
-#: ../../app/views/branded/contributors/index.html.erb:46
+#: ../../app/views/branded/contributors/index.html.erb:35
msgid "Add a person"
msgstr "Add a person"
-#: ../../app/views/branded/contributors/index.html.erb:59
+#: ../../app/views/branded/contributors/index.html.erb:48
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_list_field.html.erb:45
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_select_field.html.erb:47
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/registry/_multiple_complex.html.erb:59
@@ -1611,7 +1598,7 @@ msgstr "Published?"
#: ../../app/views/branded/org_admin/questions/_form.html.erb:136
#: ../../app/views/branded/plans/_edit_details.html.erb:63
#: ../../app/views/branded/plans/_guidance_selection.html.erb:35
-#: ../../app/views/branded/research_outputs/_list.html.erb:102
+#: ../../app/views/branded/research_outputs/_list.html.erb:104
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:93
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:67
#: ../../app/views/research_outputs/_form.html.erb:183
@@ -2056,6 +2043,30 @@ msgstr "Requestor"
msgid "Request Date"
msgstr "Request Date"
+#: ../../app/views/branded/org_admin/plans/index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:10
+#: ../../app/views/branded/paginable/departments/_index.html.erb:7
+#: ../../app/views/branded/paginable/departments/_index.html.erb:24
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
+#: ../../app/views/branded/paginable/templates/_history.html.erb:10
+#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
+#: ../../app/views/branded/plans/_share_form.html.erb:20
+#: ../../app/views/branded/plans/_share_third_party.html.erb:35
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
+#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
+msgid "Actions"
+msgstr "Actions"
+
#: ../../app/views/branded/org_admin/plans/index.html.erb:31
msgid "Complete"
msgstr "Complete"
@@ -2150,7 +2161,7 @@ msgstr ""
"."
#: ../../app/views/branded/org_admin/questions/_form.html.erb:133
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:43
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:55
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:82
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:86
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:61
@@ -2237,7 +2248,7 @@ msgstr "None provided"
#: ../../app/views/branded/org_admin/questions/_show.html.erb:226
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:43
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:36
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:48
#: ../../app/views/branded/paginable/departments/_index.html.erb:27
#: ../../app/views/branded/paginable/orgs/_index.html.erb:39
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:59
@@ -2311,7 +2322,7 @@ msgid "Locale"
msgstr "Locale"
#: ../../app/views/branded/org_admin/templates/_form.html.erb:41
-#: ../../app/views/branded/research_outputs/_list.html.erb:54
+#: ../../app/views/branded/research_outputs/_list.html.erb:56
#: ../../app/views/research_outputs/_form.html.erb:14
msgid "Type"
msgstr "Type"
@@ -2493,7 +2504,7 @@ msgid "Homepage"
msgstr "Homepage"
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:15
-#: ../../app/views/branded/research_outputs/_list.html.erb:73
+#: ../../app/views/branded/research_outputs/_list.html.erb:75
#: ../../app/views/research_outputs/repositories/_search_result.html.erb:42
msgid "Contact"
msgstr "Contact"
@@ -2533,13 +2544,22 @@ msgstr ""
"You are about to delete '%{client_name}'. They will no longer be able to acces"
"s the API. Are you sure?"
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:44
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:7
+#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
+msgid "Affiliation"
+msgstr "Affiliation"
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:8
+msgid "Attributed roles (Associated research outputs)"
+msgstr "Attributed roles (Associated research outputs)"
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:56
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/contributor/_contributor_list.html.erb:44
#: ../../engines/madmp_opidor/app/views/dynamic_form/linked_fragment/_list.html.erb:46
msgid "Do you want to delete this element?"
msgstr "Do you want to delete this element?"
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:62
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:74
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:68
#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:72
#: ../../app/views/branded/paginable/templates/_history.html.erb:56
@@ -2630,7 +2650,7 @@ msgid "Shared"
msgstr "Shared"
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:33
-#: ../../app/views/branded/plans/_share_form.html.erb:152
+#: ../../app/views/branded/plans/_share_form.html.erb:157
msgid "Update"
msgstr "Update"
@@ -3350,19 +3370,19 @@ msgstr ""
msgid "Organisation: anyone at my organisation can view"
msgstr "Organisation: anyone at my organisation can view"
-#: ../../app/views/branded/plans/_share_form.html.erb:147
-msgid "Public: anyone can view"
-msgstr "Public: anyone can view"
-
-#: ../../app/views/branded/plans/_share_form.html.erb:154
+#: ../../app/views/branded/plans/_share_form.html.erb:149
msgid ""
"You have chosen to make your plan public. Before confirming, please ensure tha"
"t your plan is complete. This DMP can be used as an example for other, please "
-"fill the different sections. Do you confirm?"
+"fill the different sections. Do you confirm and then update your choice?"
msgstr ""
"You have chosen to make your plan public. Before confirming, please ensure tha"
"t your plan is complete. This DMP can be used as an example for other, please "
-"fill the different sections. Do you confirm?"
+"fill the different sections. Do you confirm and then update your choice?"
+
+#: ../../app/views/branded/plans/_share_form.html.erb:152
+msgid "Public: anyone can view"
+msgstr "Public: anyone can view"
#: ../../app/views/branded/plans/_share_third_party.html.erb:3
msgid "Select a service you would like to share your plan with."
@@ -3552,42 +3572,42 @@ msgstr "Full Name"
msgid "Research output title"
msgstr "Research output title"
-#: ../../app/views/branded/research_outputs/_list.html.erb:34
+#: ../../app/views/branded/research_outputs/_list.html.erb:35
msgid "UUID"
msgstr "UUID"
-#: ../../app/views/branded/research_outputs/_list.html.erb:37
-#: ../../app/views/branded/research_outputs/_list.html.erb:42
+#: ../../app/views/branded/research_outputs/_list.html.erb:38
#: ../../app/views/branded/research_outputs/_list.html.erb:43
+#: ../../app/views/branded/research_outputs/_list.html.erb:44
msgid "Research output unique identifier"
msgstr "Research output unique identifier"
-#: ../../app/views/branded/research_outputs/_list.html.erb:48
+#: ../../app/views/branded/research_outputs/_list.html.erb:49
msgid "Copy UUID to clipboard"
msgstr "Copy UUID to clipboard"
-#: ../../app/views/branded/research_outputs/_list.html.erb:67
+#: ../../app/views/branded/research_outputs/_list.html.erb:69
#: ../../app/views/research_outputs/_form.html.erb:27
msgid "Research output type"
msgstr "Research output type"
-#: ../../app/views/branded/research_outputs/_list.html.erb:94
+#: ../../app/views/branded/research_outputs/_list.html.erb:96
msgid "Persistent Identifier"
msgstr "Persistent Identifier"
-#: ../../app/views/branded/research_outputs/_list.html.erb:96
+#: ../../app/views/branded/research_outputs/_list.html.erb:98
msgid "If exists, please fill in the research output persistant identifier."
msgstr "If exists, please fill in the research output persistant identifier."
-#: ../../app/views/branded/research_outputs/_list.html.erb:108
+#: ../../app/views/branded/research_outputs/_list.html.erb:110
msgid "Edit research output"
msgstr "Edit research output"
-#: ../../app/views/branded/research_outputs/_list.html.erb:111
+#: ../../app/views/branded/research_outputs/_list.html.erb:113
msgid "Move research output"
msgstr "Move research output"
-#: ../../app/views/branded/research_outputs/_list.html.erb:116
+#: ../../app/views/branded/research_outputs/_list.html.erb:118
msgid ""
"Deleting this research output will remove the associated answers. Do you confi"
"rm ?"
@@ -3595,7 +3615,7 @@ msgstr ""
"Deleting this research output will remove the associated answers. Do you confi"
"rm ?"
-#: ../../app/views/branded/research_outputs/_list.html.erb:119
+#: ../../app/views/branded/research_outputs/_list.html.erb:121
msgid "Delete research output"
msgstr "Delete research output"
diff --git a/config/locale/en_CA/LC_MESSAGES/app.mo b/config/locale/en_CA/LC_MESSAGES/app.mo
index 3930915f25..ddd6935f73 100644
Binary files a/config/locale/en_CA/LC_MESSAGES/app.mo and b/config/locale/en_CA/LC_MESSAGES/app.mo differ
diff --git a/config/locale/en_CA/app.po b/config/locale/en_CA/app.po
index d2329a360d..431393e4c9 100644
--- a/config/locale/en_CA/app.po
+++ b/config/locale/en_CA/app.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: roadmap 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-02-03 09:02+0100\n"
-"PO-Revision-Date: 2023-02-03 09:02+0100\n"
+"POT-Creation-Date: 2023-04-12 10:30-0700\n"
+"PO-Revision-Date: 2023-04-12 19:30+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: English\n"
"Language: en_CA\n"
@@ -47,21 +47,21 @@ msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Month"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr ""
@@ -438,7 +438,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -450,7 +450,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -540,7 +540,7 @@ msgid "Unable to delete this version of the template."
msgstr ""
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr ""
@@ -602,10 +602,14 @@ msgstr ""
msgid "Your organisation does not seem to be properly configured."
msgstr ""
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr ""
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr ""
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr ""
@@ -639,33 +643,33 @@ msgstr ""
msgid "template with customisations by the"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr ""
@@ -891,7 +895,7 @@ msgstr ""
msgid "merge"
msgstr ""
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -950,19 +954,19 @@ msgid ""
"ot to duplicate too much text."
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr ""
@@ -1108,7 +1112,7 @@ msgid "Public"
msgstr ""
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr ""
@@ -1121,7 +1125,7 @@ msgid "Public: anyone can view."
msgstr ""
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr ""
@@ -1499,23 +1503,35 @@ msgstr ""
msgid "can't be larger than 500KB"
msgstr ""
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr ""
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr ""
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr ""
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr ""
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr ""
@@ -1571,39 +1587,39 @@ msgstr ""
msgid "Copy of %{template}"
msgstr ""
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr ""
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr ""
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr ""
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr ""
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr ""
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr ""
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr ""
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr ""
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr ""
@@ -1792,11 +1808,11 @@ msgstr ""
msgid "invalid JSON"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1872,7 +1888,7 @@ msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1909,11 +1925,11 @@ msgid " by %{user_name}"
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
+msgid " questions from your plan."
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid " questions from your plan."
+msgid "This answer removes "
msgstr ""
#: ../../app/views/answers/_status.html.erb:21
@@ -2518,7 +2534,7 @@ msgid ""
msgstr ""
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2835,87 +2851,87 @@ msgstr ""
msgid "%{application_name}"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Notice:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Notice:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
"ons."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr ""
@@ -3252,11 +3268,11 @@ msgid "Feedback requested"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
+msgid "Notify the plan owner that I have finished providing feedback"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Notify the plan owner that I have finished providing feedback"
+msgid "Complete"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:39
@@ -3292,11 +3308,11 @@ msgid ""
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "Question %{number}:"
+msgid "New question:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "New question:"
+msgid "Question %{number}:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:15
@@ -3476,7 +3492,7 @@ msgstr ""
msgid "for internal %{org_name} use only"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:32
+#: ../../app/views/org_admin/templates/_form.html.erb:38
#: ../../app/views/org_admin/templates/_show.html.erb:13
#: ../../app/views/paginable/guidance_groups/_index.html.erb:7
#: ../../app/views/paginable/guidances/_index.html.erb:9
@@ -3486,7 +3502,7 @@ msgstr ""
msgid "Status"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:37
+#: ../../app/views/org_admin/templates/_form.html.erb:43
#: ../../app/views/org_admin/templates/_row.html.erb:16
#: ../../app/views/org_admin/templates/_show.html.erb:26
#: ../../app/views/paginable/guidance_groups/_index.html.erb:24
@@ -3496,17 +3512,17 @@ msgstr ""
msgid "Unpublished"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:39
+#: ../../app/views/org_admin/templates/_form.html.erb:45
#: ../../app/views/paginable/templates/_history.html.erb:19
msgid "Draft"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:46
+#: ../../app/views/org_admin/templates/_form.html.erb:52
#: ../../app/views/org_admin/templates/_show.html.erb:41
msgid "Created at"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:52
+#: ../../app/views/org_admin/templates/_form.html.erb:58
#: ../../app/views/org_admin/templates/_show.html.erb:43
#: ../../app/views/paginable/guidance_groups/_index.html.erb:9
#: ../../app/views/paginable/guidances/_index.html.erb:10
@@ -3514,22 +3530,22 @@ msgstr ""
msgid "Last updated"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:64
+#: ../../app/views/org_admin/templates/_form.html.erb:70
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:10
msgid "Funder Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:67
+#: ../../app/views/org_admin/templates/_form.html.erb:73
msgid ""
"Add links to funder websites that provide additional information about the req"
"uirements for this template"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:73
+#: ../../app/views/org_admin/templates/_form.html.erb:79
msgid "Sample Plan Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:76
+#: ../../app/views/org_admin/templates/_form.html.erb:82
msgid "Add links to sample plans if provided by the funder."
msgstr ""
@@ -4208,11 +4224,11 @@ msgid "Create a new plan"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "Sample Plans"
+msgid "(if available)"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "(if available)"
+msgid "Sample Plans"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:47
@@ -4516,15 +4532,15 @@ msgstr ""
msgid "Funding status"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:181
+#: ../../app/views/plans/_project_details.html.erb:180
msgid "Grant number/url"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:195
+#: ../../app/views/plans/_project_details.html.erb:194
msgid "Grant number:"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:199
+#: ../../app/views/plans/_project_details.html.erb:198
msgid ""
"Provide a URL to the award's landing page if possible, if not please provide t"
"he award/grant number."
@@ -5531,11 +5547,11 @@ msgid "New API Client"
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Successfully regenerated the client credentials."
+msgid "Unable to regenerate the client credentials."
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Unable to regenerate the client credentials."
+msgid "Successfully regenerated the client credentials."
msgstr ""
#: ../../app/views/super_admin/notifications/_form.html.erb:20
@@ -5958,19 +5974,19 @@ msgid "Hello %{recipient_name},"
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " is creating a Data Management Plan and has answered "
+msgid " to "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " to "
+msgid " based on the template "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " in a plan called "
+msgid " is creating a Data Management Plan and has answered "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " based on the template "
+msgid " in a plan called "
msgstr ""
#: ../../app/views/user_mailer/sharing_notification.html.erb:5
@@ -6110,11 +6126,11 @@ msgid "Download users"
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Successfully regenerate your API token."
+msgid "Unable to regenerate your API token."
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Unable to regenerate your API token."
+msgid "Successfully regenerate your API token."
msgstr ""
#: i18n_placeholders.rb:4
diff --git a/config/locale/en_GB/LC_MESSAGES/app.mo b/config/locale/en_GB/LC_MESSAGES/app.mo
index 44a5207f92..3e729083fc 100644
Binary files a/config/locale/en_GB/LC_MESSAGES/app.mo and b/config/locale/en_GB/LC_MESSAGES/app.mo differ
diff --git a/config/locale/en_GB/LC_MESSAGES/client.mo b/config/locale/en_GB/LC_MESSAGES/client.mo
index bf2b9f64b5..facfb4e10e 100644
Binary files a/config/locale/en_GB/LC_MESSAGES/client.mo and b/config/locale/en_GB/LC_MESSAGES/client.mo differ
diff --git a/config/locale/en_GB/app.po b/config/locale/en_GB/app.po
index 29ee258673..1d483cdb73 100644
--- a/config/locale/en_GB/app.po
+++ b/config/locale/en_GB/app.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: roadmap 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-02-03 09:02+0100\n"
-"PO-Revision-Date: 2023-02-03 09:02+0100\n"
+"POT-Creation-Date: 2023-04-12 10:30-0700\n"
+"PO-Revision-Date: 2023-04-12 19:30+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: English\n"
"Language: en_GB\n"
@@ -47,21 +47,21 @@ msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Month"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr ""
@@ -438,7 +438,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -450,7 +450,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -540,7 +540,7 @@ msgid "Unable to delete this version of the template."
msgstr ""
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr ""
@@ -602,10 +602,14 @@ msgstr ""
msgid "Your organisation does not seem to be properly configured."
msgstr ""
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr ""
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr ""
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr ""
@@ -639,33 +643,33 @@ msgstr ""
msgid "template with customisations by the"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr ""
@@ -891,7 +895,7 @@ msgstr ""
msgid "merge"
msgstr ""
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -950,19 +954,19 @@ msgid ""
"ot to duplicate too much text."
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr ""
@@ -1108,7 +1112,7 @@ msgid "Public"
msgstr ""
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr ""
@@ -1121,7 +1125,7 @@ msgid "Public: anyone can view."
msgstr ""
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr ""
@@ -1499,23 +1503,35 @@ msgstr ""
msgid "can't be larger than 500KB"
msgstr ""
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr ""
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr ""
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr ""
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr ""
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr ""
@@ -1571,39 +1587,39 @@ msgstr ""
msgid "Copy of %{template}"
msgstr ""
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr ""
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr ""
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr ""
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr ""
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr ""
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr ""
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr ""
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr ""
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr ""
@@ -1792,11 +1808,11 @@ msgstr ""
msgid "invalid JSON"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1872,7 +1888,7 @@ msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1909,11 +1925,11 @@ msgid " by %{user_name}"
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
+msgid " questions from your plan."
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid " questions from your plan."
+msgid "This answer removes "
msgstr ""
#: ../../app/views/answers/_status.html.erb:21
@@ -2518,7 +2534,7 @@ msgid ""
msgstr ""
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2835,87 +2851,87 @@ msgstr ""
msgid "%{application_name}"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Notice:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Notice:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
"ons."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr ""
@@ -3252,11 +3268,11 @@ msgid "Feedback requested"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
+msgid "Notify the plan owner that I have finished providing feedback"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Notify the plan owner that I have finished providing feedback"
+msgid "Complete"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:39
@@ -3292,11 +3308,11 @@ msgid ""
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "Question %{number}:"
+msgid "New question:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "New question:"
+msgid "Question %{number}:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:15
@@ -3476,7 +3492,7 @@ msgstr ""
msgid "for internal %{org_name} use only"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:32
+#: ../../app/views/org_admin/templates/_form.html.erb:38
#: ../../app/views/org_admin/templates/_show.html.erb:13
#: ../../app/views/paginable/guidance_groups/_index.html.erb:7
#: ../../app/views/paginable/guidances/_index.html.erb:9
@@ -3486,7 +3502,7 @@ msgstr ""
msgid "Status"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:37
+#: ../../app/views/org_admin/templates/_form.html.erb:43
#: ../../app/views/org_admin/templates/_row.html.erb:16
#: ../../app/views/org_admin/templates/_show.html.erb:26
#: ../../app/views/paginable/guidance_groups/_index.html.erb:24
@@ -3496,17 +3512,17 @@ msgstr ""
msgid "Unpublished"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:39
+#: ../../app/views/org_admin/templates/_form.html.erb:45
#: ../../app/views/paginable/templates/_history.html.erb:19
msgid "Draft"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:46
+#: ../../app/views/org_admin/templates/_form.html.erb:52
#: ../../app/views/org_admin/templates/_show.html.erb:41
msgid "Created at"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:52
+#: ../../app/views/org_admin/templates/_form.html.erb:58
#: ../../app/views/org_admin/templates/_show.html.erb:43
#: ../../app/views/paginable/guidance_groups/_index.html.erb:9
#: ../../app/views/paginable/guidances/_index.html.erb:10
@@ -3514,22 +3530,22 @@ msgstr ""
msgid "Last updated"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:64
+#: ../../app/views/org_admin/templates/_form.html.erb:70
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:10
msgid "Funder Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:67
+#: ../../app/views/org_admin/templates/_form.html.erb:73
msgid ""
"Add links to funder websites that provide additional information about the req"
"uirements for this template"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:73
+#: ../../app/views/org_admin/templates/_form.html.erb:79
msgid "Sample Plan Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:76
+#: ../../app/views/org_admin/templates/_form.html.erb:82
msgid "Add links to sample plans if provided by the funder."
msgstr ""
@@ -4210,11 +4226,11 @@ msgid "Create a new plan"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "Sample Plans"
+msgid "(if available)"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "(if available)"
+msgid "Sample Plans"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:47
@@ -4518,15 +4534,15 @@ msgstr ""
msgid "Funding status"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:181
+#: ../../app/views/plans/_project_details.html.erb:180
msgid "Grant number/url"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:195
+#: ../../app/views/plans/_project_details.html.erb:194
msgid "Grant number:"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:199
+#: ../../app/views/plans/_project_details.html.erb:198
msgid ""
"Provide a URL to the award's landing page if possible, if not please provide t"
"he award/grant number."
@@ -5533,11 +5549,11 @@ msgid "New API Client"
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Successfully regenerated the client credentials."
+msgid "Unable to regenerate the client credentials."
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Unable to regenerate the client credentials."
+msgid "Successfully regenerated the client credentials."
msgstr ""
#: ../../app/views/super_admin/notifications/_form.html.erb:20
@@ -5960,19 +5976,19 @@ msgid "Hello %{recipient_name},"
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " is creating a Data Management Plan and has answered "
+msgid " to "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " to "
+msgid " based on the template "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " in a plan called "
+msgid " is creating a Data Management Plan and has answered "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " based on the template "
+msgid " in a plan called "
msgstr ""
#: ../../app/views/user_mailer/sharing_notification.html.erb:5
@@ -6112,11 +6128,11 @@ msgid "Download users"
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Successfully regenerate your API token."
+msgid "Unable to regenerate your API token."
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Unable to regenerate your API token."
+msgid "Successfully regenerate your API token."
msgstr ""
#: i18n_placeholders.rb:4
diff --git a/config/locale/en_GB/client.po b/config/locale/en_GB/client.po
index fe10345761..e628d124f7 100644
--- a/config/locale/en_GB/client.po
+++ b/config/locale/en_GB/client.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: DMPOPIDoR 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-03-31 08:37+0200\n"
-"PO-Revision-Date: 2023-03-31 08:37+0200\n"
+"POT-Creation-Date: 2023-04-27 16:37+0200\n"
+"PO-Revision-Date: 2023-04-27 16:37+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: English\n"
"Language: en_GB\n"
@@ -264,7 +264,7 @@ msgid "Invalid JSON: "
msgstr ""
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:13
-#: ../../app/controllers/plans_controller.rb:569
+#: ../../app/controllers/plans_controller.rb:570
msgid "There is no plan associated with id %{id}"
msgstr ""
@@ -274,7 +274,7 @@ msgid "Data contact"
msgstr ""
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:45
-#: ../../app/controllers/plans_controller.rb:526
+#: ../../app/controllers/plans_controller.rb:527
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:47
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:52
#: ../../engines/madmp_opidor/app/controllers/super_admin/registry_values_controller.rb:21
@@ -364,10 +364,14 @@ msgstr ""
msgid "Your organisation does not seem to be properly configured."
msgstr ""
-#: ../../app/controllers/plan_exports_controller.rb:114
+#: ../../app/controllers/plan_exports_controller.rb:120
msgid "Created using %{application_name}. Last modified %{date}"
msgstr ""
+#: ../../app/controllers/plan_exports_controller.rb:125
+msgid "[page] of [topage]"
+msgstr ""
+
#: ../../app/controllers/plans_controller.rb:89
msgid "Unable to identify a suitable template for your plan."
msgstr ""
@@ -389,15 +393,15 @@ msgstr ""
msgid "template with customisations by the"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:500
+#: ../../app/controllers/plans_controller.rb:501
msgid "copied"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:502
+#: ../../app/controllers/plans_controller.rb:503
msgid "copy"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:523
+#: ../../app/controllers/plans_controller.rb:524
#: ../../app/controllers/users_controller.rb:123
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:45
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:50
@@ -405,25 +409,25 @@ msgstr ""
msgid "updated"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:531
+#: ../../app/controllers/plans_controller.rb:532
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:537
+#: ../../app/controllers/plans_controller.rb:538
msgid "Unable to find plan id %{plan_id}"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is now a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is no longer a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:556
+#: ../../app/controllers/plans_controller.rb:557
msgid "Unable to change the plan's test status"
msgstr ""
@@ -636,19 +640,19 @@ msgid ""
"ot to duplicate too much text."
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr ""
@@ -803,7 +807,7 @@ msgstr ""
msgid "Public"
msgstr ""
-#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:75
+#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:77
msgid "Administrator"
msgstr ""
@@ -1054,23 +1058,35 @@ msgstr ""
msgid "can't be larger than 500KB"
msgstr ""
-#: ../../app/models/plan.rb:68
+#: ../../app/models/plan.rb:70
msgid "organisational"
msgstr ""
-#: ../../app/models/plan.rb:69
+#: ../../app/models/plan.rb:71
msgid "public"
msgstr ""
-#: ../../app/models/plan.rb:70
+#: ../../app/models/plan.rb:72
msgid "test"
msgstr ""
-#: ../../app/models/plan.rb:79
+#: ../../app/models/plan.rb:81
msgid "private"
msgstr ""
-#: ../../app/models/plan.rb:797
+#: ../../app/models/plan.rb:85
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:86
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:87
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:805
msgid "must be after the start date"
msgstr ""
@@ -1188,7 +1204,7 @@ msgstr ""
#: ../../app/views/branded/plans/_guidance_selection.html.erb:23
#: ../../app/views/branded/plans/_share_form.html.erb:112
#: ../../app/views/branded/plans/_share_third_party.html.erb:93
-#: ../../app/views/branded/research_outputs/_list.html.erb:101
+#: ../../app/views/branded/research_outputs/_list.html.erb:103
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:67
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:59
#: ../../app/views/branded/users/_notification_preferences.html.erb:47
@@ -1247,10 +1263,10 @@ msgid "Question not answered."
msgstr ""
#: ../../app/views/branded/contact_us/contacts/_new_left.html.erb:4
-#: ../../app/views/branded/contributors/index.html.erb:24
#: ../../app/views/branded/org_admin/departments/edit.html.erb:14
#: ../../app/views/branded/org_admin/departments/new.html.erb:14
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:6
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:6
#: ../../app/views/branded/paginable/static_pages/_index.html.erb:5
#: ../../app/views/branded/paginable/users/_index.html.erb:20
#: ../../app/views/branded/shared/export/_plan_coversheet.erb:68
@@ -1347,44 +1363,15 @@ msgid ""
" for other templates."
msgstr ""
-#: ../../app/views/branded/contributors/index.html.erb:25
-#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
-msgid "Affiliation"
-msgstr ""
-
-#: ../../app/views/branded/contributors/index.html.erb:26
-msgid "Attributed roles (Associated research outputs)"
+#: ../../app/views/branded/contributors/index.html.erb:29
+msgid "No contributors have been defined."
msgstr ""
-#: ../../app/views/branded/contributors/index.html.erb:28
-#: ../../app/views/branded/org_admin/plans/index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
-#: ../../app/views/branded/paginable/departments/_index.html.erb:7
-#: ../../app/views/branded/paginable/departments/_index.html.erb:24
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
-#: ../../app/views/branded/paginable/templates/_history.html.erb:10
-#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
-#: ../../app/views/branded/plans/_share_form.html.erb:20
-#: ../../app/views/branded/plans/_share_third_party.html.erb:35
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
-#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
-msgid "Actions"
-msgstr ""
-
-#: ../../app/views/branded/contributors/index.html.erb:46
+#: ../../app/views/branded/contributors/index.html.erb:35
msgid "Add a person"
msgstr ""
-#: ../../app/views/branded/contributors/index.html.erb:59
+#: ../../app/views/branded/contributors/index.html.erb:48
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_list_field.html.erb:45
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_select_field.html.erb:47
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/registry/_multiple_complex.html.erb:59
@@ -1542,7 +1529,7 @@ msgstr ""
#: ../../app/views/branded/org_admin/questions/_form.html.erb:136
#: ../../app/views/branded/plans/_edit_details.html.erb:63
#: ../../app/views/branded/plans/_guidance_selection.html.erb:35
-#: ../../app/views/branded/research_outputs/_list.html.erb:102
+#: ../../app/views/branded/research_outputs/_list.html.erb:104
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:93
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:67
#: ../../app/views/research_outputs/_form.html.erb:183
@@ -1967,6 +1954,30 @@ msgstr ""
msgid "Request Date"
msgstr ""
+#: ../../app/views/branded/org_admin/plans/index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:10
+#: ../../app/views/branded/paginable/departments/_index.html.erb:7
+#: ../../app/views/branded/paginable/departments/_index.html.erb:24
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
+#: ../../app/views/branded/paginable/templates/_history.html.erb:10
+#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
+#: ../../app/views/branded/plans/_share_form.html.erb:20
+#: ../../app/views/branded/plans/_share_third_party.html.erb:35
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
+#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
+msgid "Actions"
+msgstr ""
+
#: ../../app/views/branded/org_admin/plans/index.html.erb:31
msgid "Complete"
msgstr ""
@@ -2049,7 +2060,7 @@ msgid ""
msgstr ""
#: ../../app/views/branded/org_admin/questions/_form.html.erb:133
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:43
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:55
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:82
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:86
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:61
@@ -2129,7 +2140,7 @@ msgstr ""
#: ../../app/views/branded/org_admin/questions/_show.html.erb:226
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:43
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:36
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:48
#: ../../app/views/branded/paginable/departments/_index.html.erb:27
#: ../../app/views/branded/paginable/orgs/_index.html.erb:39
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:59
@@ -2199,7 +2210,7 @@ msgid "Locale"
msgstr ""
#: ../../app/views/branded/org_admin/templates/_form.html.erb:41
-#: ../../app/views/branded/research_outputs/_list.html.erb:54
+#: ../../app/views/branded/research_outputs/_list.html.erb:56
#: ../../app/views/research_outputs/_form.html.erb:14
msgid "Type"
msgstr ""
@@ -2374,7 +2385,7 @@ msgid "Homepage"
msgstr ""
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:15
-#: ../../app/views/branded/research_outputs/_list.html.erb:73
+#: ../../app/views/branded/research_outputs/_list.html.erb:75
#: ../../app/views/research_outputs/repositories/_search_result.html.erb:42
msgid "Contact"
msgstr ""
@@ -2412,13 +2423,22 @@ msgid ""
"s the API. Are you sure?"
msgstr ""
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:44
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:7
+#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
+msgid "Affiliation"
+msgstr ""
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:8
+msgid "Attributed roles (Associated research outputs)"
+msgstr ""
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:56
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/contributor/_contributor_list.html.erb:44
#: ../../engines/madmp_opidor/app/views/dynamic_form/linked_fragment/_list.html.erb:46
msgid "Do you want to delete this element?"
msgstr ""
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:62
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:74
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:68
#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:72
#: ../../app/views/branded/paginable/templates/_history.html.erb:56
@@ -2507,7 +2527,7 @@ msgid "Shared"
msgstr ""
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:33
-#: ../../app/views/branded/plans/_share_form.html.erb:152
+#: ../../app/views/branded/plans/_share_form.html.erb:157
msgid "Update"
msgstr ""
@@ -3176,15 +3196,15 @@ msgstr ""
msgid "Organisation: anyone at my organisation can view"
msgstr ""
-#: ../../app/views/branded/plans/_share_form.html.erb:147
-msgid "Public: anyone can view"
-msgstr ""
-
-#: ../../app/views/branded/plans/_share_form.html.erb:154
+#: ../../app/views/branded/plans/_share_form.html.erb:149
msgid ""
"You have chosen to make your plan public. Before confirming, please ensure tha"
"t your plan is complete. This DMP can be used as an example for other, please "
-"fill the different sections. Do you confirm?"
+"fill the different sections. Do you confirm and then update your choice?"
+msgstr ""
+
+#: ../../app/views/branded/plans/_share_form.html.erb:152
+msgid "Public: anyone can view"
msgstr ""
#: ../../app/views/branded/plans/_share_third_party.html.erb:3
@@ -3355,48 +3375,48 @@ msgstr ""
msgid "Research output title"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:34
+#: ../../app/views/branded/research_outputs/_list.html.erb:35
msgid "UUID"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:37
-#: ../../app/views/branded/research_outputs/_list.html.erb:42
+#: ../../app/views/branded/research_outputs/_list.html.erb:38
#: ../../app/views/branded/research_outputs/_list.html.erb:43
+#: ../../app/views/branded/research_outputs/_list.html.erb:44
msgid "Research output unique identifier"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:48
+#: ../../app/views/branded/research_outputs/_list.html.erb:49
msgid "Copy UUID to clipboard"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:67
+#: ../../app/views/branded/research_outputs/_list.html.erb:69
#: ../../app/views/research_outputs/_form.html.erb:27
msgid "Research output type"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:94
+#: ../../app/views/branded/research_outputs/_list.html.erb:96
msgid "Persistent Identifier"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:96
+#: ../../app/views/branded/research_outputs/_list.html.erb:98
msgid "If exists, please fill in the research output persistant identifier."
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:108
+#: ../../app/views/branded/research_outputs/_list.html.erb:110
msgid "Edit research output"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:111
+#: ../../app/views/branded/research_outputs/_list.html.erb:113
msgid "Move research output"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:116
+#: ../../app/views/branded/research_outputs/_list.html.erb:118
msgid ""
"Deleting this research output will remove the associated answers. Do you confi"
"rm ?"
msgstr ""
-#: ../../app/views/branded/research_outputs/_list.html.erb:119
+#: ../../app/views/branded/research_outputs/_list.html.erb:121
msgid "Delete research output"
msgstr ""
diff --git a/config/locale/en_US/LC_MESSAGES/app.mo b/config/locale/en_US/LC_MESSAGES/app.mo
index 861e3c45fa..2656778329 100644
Binary files a/config/locale/en_US/LC_MESSAGES/app.mo and b/config/locale/en_US/LC_MESSAGES/app.mo differ
diff --git a/config/locale/en_US/app.po b/config/locale/en_US/app.po
index 3073707402..1f843a96d0 100644
--- a/config/locale/en_US/app.po
+++ b/config/locale/en_US/app.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: roadmap 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-02-03 09:02+0100\n"
-"PO-Revision-Date: 2023-02-03 09:02+0100\n"
+"POT-Creation-Date: 2023-04-12 10:30-0700\n"
+"PO-Revision-Date: 2023-04-12 19:30+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: English\n"
"Language: en_US\n"
@@ -47,21 +47,21 @@ msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Month"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr ""
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr ""
@@ -438,7 +438,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -450,7 +450,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -540,7 +540,7 @@ msgid "Unable to delete this version of the template."
msgstr ""
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr ""
@@ -602,10 +602,14 @@ msgstr "Please choose an organization"
msgid "Your organisation does not seem to be properly configured."
msgstr "Your organization does not seem to be properly configured."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr ""
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr ""
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr ""
@@ -639,33 +643,33 @@ msgstr ""
msgid "template with customisations by the"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr ""
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr ""
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr ""
@@ -683,7 +687,7 @@ msgstr ""
#: ../../app/controllers/registrations_controller.rb:61
msgid "Please select an organisation from the list, or choose Other."
-msgstr ""
+msgstr "Please select an organization from the list, or choose Other."
#: ../../app/controllers/registrations_controller.rb:74
msgid "That email address is already registered."
@@ -863,7 +867,7 @@ msgstr ""
#: ../../app/controllers/super_admin/orgs_controller.rb:137
msgid "An error occurred while trying to merge the Organisations."
-msgstr ""
+msgstr "An error occurred while trying to merge the Organizations."
#: ../../app/controllers/super_admin/orgs_controller.rb:141
msgid "Unable to merge the two Organisations at this time."
@@ -895,7 +899,7 @@ msgstr ""
msgid "merge"
msgstr ""
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -954,19 +958,19 @@ msgid ""
"ot to duplicate too much text."
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr ""
@@ -1082,7 +1086,7 @@ msgstr "Grant API to organizations"
#: ../../app/helpers/perms_helper.rb:17
msgid "Review organisational plans"
-msgstr ""
+msgstr "Review organizational plans"
#: ../../app/helpers/plans_helper.rb:8
#: ../../app/views/paginable/plans/_index.html.erb:8
@@ -1112,7 +1116,7 @@ msgid "Public"
msgstr ""
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr ""
@@ -1125,7 +1129,7 @@ msgid "Public: anyone can view."
msgstr ""
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr ""
@@ -1503,23 +1507,35 @@ msgstr ""
msgid "can't be larger than 500KB"
msgstr ""
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organizational"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr ""
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr ""
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr ""
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr ""
@@ -1575,39 +1591,39 @@ msgstr "generate_copy! requires an organization target"
msgid "Copy of %{template}"
msgstr ""
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr ""
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "customize! requires an organization target"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr ""
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr ""
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr ""
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr ""
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr ""
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr ""
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr ""
@@ -1796,11 +1812,11 @@ msgstr ""
msgid "invalid JSON"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! requires a customized template"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1876,7 +1892,7 @@ msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1913,11 +1929,11 @@ msgid " by %{user_name}"
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
+msgid " questions from your plan."
msgstr ""
#: ../../app/views/answers/_status.html.erb:15
-msgid " questions from your plan."
+msgid "This answer removes "
msgstr ""
#: ../../app/views/answers/_status.html.erb:21
@@ -2424,6 +2440,8 @@ msgid ""
"Changing your organisation will result in the loss of your administrative priv"
"ileges."
msgstr ""
+"Changing your organization will result in the loss of your administrative priv"
+"ileges."
#: ../../app/views/devise/registrations/_personal_details.html.erb:43
#: ../../app/views/org_admin/users/edit.html.erb:31
@@ -2529,7 +2547,7 @@ msgid ""
msgstr ""
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2853,50 +2871,50 @@ msgstr ""
msgid "%{application_name}"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Notice:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Notice:"
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Select an organization from the list."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "My organization isn't listed"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -2904,38 +2922,38 @@ msgstr ""
"Unable to find a suitable template for the research organization and funder yo"
"u selected."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr "Please select a research organization and funder to continue."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr ""
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
"ons."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr ""
@@ -3272,11 +3290,11 @@ msgid "Feedback requested"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
+msgid "Notify the plan owner that I have finished providing feedback"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Notify the plan owner that I have finished providing feedback"
+msgid "Complete"
msgstr ""
#: ../../app/views/org_admin/plans/index.html.erb:39
@@ -3312,11 +3330,11 @@ msgid ""
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "Question %{number}:"
+msgid "New question:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:4
-msgid "New question:"
+msgid "Question %{number}:"
msgstr ""
#: ../../app/views/org_admin/questions/_form.html.erb:15
@@ -3428,6 +3446,8 @@ msgid ""
"Click the links below to view organisational guidance\n"
" related to the themes associated with this question."
msgstr ""
+"Click the links below to view organizational guidance\n"
+" related to the themes associated with this question."
#: ../../app/views/org_admin/questions/_show.html.erb:169
msgid ""
@@ -3441,6 +3461,8 @@ msgid ""
"There is no organisational guidance related to the themes associated with this"
" question."
msgstr ""
+"There is no organizational guidance related to the themes associated with this"
+" question."
#: ../../app/views/org_admin/questions/_show.html.erb:182
#: ../../app/views/org_admin/questions/_show.html.erb:194
@@ -3502,7 +3524,7 @@ msgstr ""
msgid "for internal %{org_name} use only"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:32
+#: ../../app/views/org_admin/templates/_form.html.erb:38
#: ../../app/views/org_admin/templates/_show.html.erb:13
#: ../../app/views/paginable/guidance_groups/_index.html.erb:7
#: ../../app/views/paginable/guidances/_index.html.erb:9
@@ -3512,7 +3534,7 @@ msgstr ""
msgid "Status"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:37
+#: ../../app/views/org_admin/templates/_form.html.erb:43
#: ../../app/views/org_admin/templates/_row.html.erb:16
#: ../../app/views/org_admin/templates/_show.html.erb:26
#: ../../app/views/paginable/guidance_groups/_index.html.erb:24
@@ -3522,17 +3544,17 @@ msgstr ""
msgid "Unpublished"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:39
+#: ../../app/views/org_admin/templates/_form.html.erb:45
#: ../../app/views/paginable/templates/_history.html.erb:19
msgid "Draft"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:46
+#: ../../app/views/org_admin/templates/_form.html.erb:52
#: ../../app/views/org_admin/templates/_show.html.erb:41
msgid "Created at"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:52
+#: ../../app/views/org_admin/templates/_form.html.erb:58
#: ../../app/views/org_admin/templates/_show.html.erb:43
#: ../../app/views/paginable/guidance_groups/_index.html.erb:9
#: ../../app/views/paginable/guidances/_index.html.erb:10
@@ -3540,22 +3562,22 @@ msgstr ""
msgid "Last updated"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:64
+#: ../../app/views/org_admin/templates/_form.html.erb:70
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:10
msgid "Funder Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:67
+#: ../../app/views/org_admin/templates/_form.html.erb:73
msgid ""
"Add links to funder websites that provide additional information about the req"
"uirements for this template"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:73
+#: ../../app/views/org_admin/templates/_form.html.erb:79
msgid "Sample Plan Links"
msgstr ""
-#: ../../app/views/org_admin/templates/_form.html.erb:76
+#: ../../app/views/org_admin/templates/_form.html.erb:82
msgid "Add links to sample plans if provided by the funder."
msgstr ""
@@ -3706,7 +3728,7 @@ msgstr ""
#: ../../app/views/orgs/_external_identifiers.html.erb:50
msgid "Organisation Lookup"
-msgstr ""
+msgstr "Organization Lookup"
#: ../../app/views/orgs/_external_identifiers.html.erb:69
msgid ""
@@ -3737,13 +3759,15 @@ msgstr ""
#: ../../app/views/orgs/_merge_form.html.erb:3
msgid "Merge Organisations"
-msgstr ""
+msgstr "Merge Organizations"
#: ../../app/views/orgs/_merge_form.html.erb:7
msgid ""
"Please select the Organisation that will replace the current organisation: '%{org_name}'."
msgstr ""
+"Please select the Organization that will replace the current organisation: '%{org_name}'."
#: ../../app/views/orgs/_merge_form.html.erb:8
msgid ""
@@ -4245,11 +4269,11 @@ msgid "Create a new plan"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "Sample Plans"
+msgid "(if available)"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:13
-msgid "(if available)"
+msgid "Sample Plans"
msgstr ""
#: ../../app/views/paginable/templates/_publicly_visible.html.erb:47
@@ -4560,15 +4584,15 @@ msgstr ""
msgid "Funding status"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:181
+#: ../../app/views/plans/_project_details.html.erb:180
msgid "Grant number/url"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:195
+#: ../../app/views/plans/_project_details.html.erb:194
msgid "Grant number:"
msgstr ""
-#: ../../app/views/plans/_project_details.html.erb:199
+#: ../../app/views/plans/_project_details.html.erb:198
msgid ""
"Provide a URL to the award's landing page if possible, if not please provide t"
"he award/grant number."
@@ -5143,6 +5167,9 @@ msgid ""
"double check that your organisation does not appear in the list in a slightly "
"different form."
msgstr ""
+"A new entry will be created for the organization you have named above. Please "
+"double check that your organization does not appear in the list in a slightly "
+"different form."
#: ../../app/views/shared/org_selectors/_local_only.html.erb:48
msgid "The name you entered was not one of the listed suggestions!"
@@ -5620,11 +5647,11 @@ msgid "New API Client"
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Successfully regenerated the client credentials."
+msgid "Unable to regenerate the client credentials."
msgstr ""
#: ../../app/views/super_admin/api_clients/refresh_credentials.js.erb:1
-msgid "Unable to regenerate the client credentials."
+msgid "Successfully regenerated the client credentials."
msgstr ""
#: ../../app/views/super_admin/notifications/_form.html.erb:20
@@ -5755,6 +5782,8 @@ msgid ""
"Something went wrong and we were unable to analyze a merge between these two o"
"rganisations."
msgstr ""
+"Something went wrong and we were unable to analyze a merge between these two o"
+"rganizations."
#: ../../app/views/super_admin/orgs/new.html.erb:4
msgid "New organisation"
@@ -5853,6 +5882,8 @@ msgid ""
"The graphs display new users and plans for your organisation over the past yea"
"r. You can download a CSV report for each graph."
msgstr ""
+"The graphs display new users and plans for your organization over the past yea"
+"r. You can download a CSV report for each graph."
#: ../../app/views/usage/_user_statistics.html.erb:12
msgid ""
@@ -6049,19 +6080,19 @@ msgid "Hello %{recipient_name},"
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " is creating a Data Management Plan and has answered "
+msgid " to "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " to "
+msgid " based on the template "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " in a plan called "
+msgid " is creating a Data Management Plan and has answered "
msgstr ""
#: ../../app/views/user_mailer/question_answered.html.erb:5
-msgid " based on the template "
+msgid " in a plan called "
msgstr ""
#: ../../app/views/user_mailer/sharing_notification.html.erb:5
@@ -6129,7 +6160,7 @@ msgstr ""
#: ../../app/views/users/_admin_grant_permissions.html.erb:39
msgid "Allows the user to review plans submitted by organisational users"
-msgstr ""
+msgstr "Allows the user to review plans submitted by organizational users"
#: ../../app/views/users/_admin_grant_permissions.html.erb:41
msgid "Review plans"
@@ -6201,17 +6232,19 @@ msgid ""
"Below is a list of users registered for your organisation. You can\n"
" sort the data by each field."
msgstr ""
+"Below is a list of users registered for your organization. You can\n"
+" sort the data by each field."
#: ../../app/views/users/admin_index.html.erb:22
msgid "Download users"
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Successfully regenerate your API token."
+msgid "Unable to regenerate your API token."
msgstr ""
#: ../../app/views/users/refresh_token.js.erb:1
-msgid "Unable to regenerate your API token."
+msgid "Successfully regenerate your API token."
msgstr ""
#: i18n_placeholders.rb:4
diff --git a/config/locale/es/LC_MESSAGES/app.mo b/config/locale/es/LC_MESSAGES/app.mo
index 8efd84aaa6..40e0c4208a 100644
Binary files a/config/locale/es/LC_MESSAGES/app.mo and b/config/locale/es/LC_MESSAGES/app.mo differ
diff --git a/config/locale/es/app.po b/config/locale/es/app.po
index 93de083a58..2b61dc0ccb 100644
--- a/config/locale/es/app.po
+++ b/config/locale/es/app.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: roadmap 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-02-03 09:02+0100\n"
-"PO-Revision-Date: 2023-02-03 09:02+0100\n"
+"POT-Creation-Date: 2023-04-12 10:30-0700\n"
+"PO-Revision-Date: 2023-04-12 19:30+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: Spanish\n"
"Language: es\n"
@@ -49,21 +49,21 @@ msgstr "Parámetros erróneos"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Mes"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "No. Usuarios unidos"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Total"
@@ -446,7 +446,7 @@ msgstr "No se puede crear una nueva versión de esta plantilla. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -458,7 +458,7 @@ msgstr "Actualizado"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -550,7 +550,7 @@ msgid "Unable to delete this version of the template."
msgstr "No se puede eliminar esta versión de la plantilla."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "Dupdo"
@@ -614,10 +614,14 @@ msgstr "Por favor elige una organización"
msgid "Your organisation does not seem to be properly configured."
msgstr "Su organización no parece estar correctamente configurada."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Creado usando %{application_name}. Última modificación %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[página] de [topage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "Esto es un"
@@ -651,11 +655,11 @@ msgstr "Este plan se basa en el"
msgid "template with customisations by the"
msgstr "plantilla con personalizaciones por el"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "copiado"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -663,23 +667,23 @@ msgstr ""
"No se puede cambiar el estado del plan ya que se necesita al menos el porcenta"
"je %{percentage} respondido"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "No se puede encontrar la identificación del plan %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Tu proyecto es ahora una prueba."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Tu proyecto ya no es una prueba."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "No se puede cambiar el estado de prueba del plan"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "No hay plan asociado con id %{ s"
@@ -932,7 +936,7 @@ msgstr "fusionado"
msgid "merge"
msgstr "Unir"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -999,19 +1003,19 @@ msgstr ""
"as, se eligirán en función de su slección, por lo que es preferible no duplica"
"r mucho texto."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Respondiendo"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "enviará un correo electrónico con asunto %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "eliminará la pregunta"
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "eliminará preguntas"
@@ -1164,7 +1168,7 @@ msgid "Public"
msgstr "Público"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Privado"
@@ -1177,7 +1181,7 @@ msgid "Public: anyone can view."
msgstr "Público: cualquiera puede ver."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Privado: restringido a mí y a las personas que invito."
@@ -1565,23 +1569,35 @@ msgstr "debe ser uno de los siguientes formatos: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "no puede ser más grande que 500KB"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organizativo"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "Público"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "Prueba"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "Privado"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "debe ser posterior a la fecha de inicio"
@@ -1639,39 +1655,39 @@ msgstr "generar_copia! requiere un objetivo de organización"
msgid "Copy of %{template}"
msgstr "Copia de %{template}"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "generar_versión! requiere una plantilla publicada"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "personalizar requiere un objetivo de organización"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "personalizar requiere una plantilla de un financiador"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "No se puede publicar una plantilla publicada."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "No se puede publicar una versión histórica de esta plantilla."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "No puedes publicar una plantilla sin fases."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr "No se puede publicar una plantilla sin secciones en una fase."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "No se puede publicar una plantilla sin preguntas en una sección."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "Las condiciones en la plantilla se refieren al revés"
@@ -1870,11 +1886,11 @@ msgstr ": se requiere título para cada: conjunto de datos"
msgid "invalid JSON"
msgstr "JSON inválido"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "actualización de personalización! requiere una plantilla personalizada"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1954,7 +1970,7 @@ msgstr "Por favor espere, los estándares se están cargando."
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1990,14 +2006,14 @@ msgstr "Contestada"
msgid " by %{user_name}"
msgstr " por %{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Esta respuesta elimina"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " preguntas de tu plan."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Esta respuesta elimina"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Esta respuesta activa los correos electrónicos a"
@@ -2656,7 +2672,7 @@ msgstr ""
"n del plan."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2994,50 +3010,50 @@ msgstr "Cerrar Sesión"
msgid "%{application_name}"
msgstr "DMPonline"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Error:"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Darse cuenta:"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Error:"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Cargando..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Este campo es requerido."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Mostrar contraseña"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Seleccione una organización de la lista."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Mi organización no está en la lista"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "N / A"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Ocultar lista"
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Vea la lista completa de instituciones asociadas."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3045,29 +3061,29 @@ msgstr ""
"No se puede encontrar una plantilla adecuada para la organización de investiga"
"ción y el financiador que seleccionó."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr ""
"Por favor seleccione una organización de investigación y financiador para cont"
"inuar."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Cargando ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "No se puede cargar el contenido de la sección en este momento."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "No se puede cargar el contenido de la pregunta en este momento."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Se abre en una nueva ventana"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3077,11 +3093,11 @@ msgstr ""
" abajo para navegar por las sugerencias. Use la tecla Intro para seleccionar u"
"na sugerencia o la tecla Escape para cerrar las sugerencias."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "No hay resultados disponibles para su entrada."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Buscando ..."
@@ -3427,14 +3443,14 @@ msgstr "Acciones"
msgid "Feedback requested"
msgstr "Feedback solicitado"
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Completar"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr "Notificar al propietario del plan que he terminado de proporcionar comentarios"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Completar"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue.\n"
"Language-Team: Finnish\n"
"Language: fi\n"
@@ -51,21 +51,21 @@ msgstr "Virheelliset parametrit"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Kuukausi"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "Liittyneet käyttäjät"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Yhteensä"
@@ -446,7 +446,7 @@ msgstr "Tästä mallista ei voi luoda uutta versiota. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -458,7 +458,7 @@ msgstr "päivitetty"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -548,7 +548,7 @@ msgid "Unable to delete this version of the template."
msgstr "Tätä mallin versiota ei voi poistaa."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "kopio"
@@ -612,10 +612,14 @@ msgstr "Valitse organisaatio"
msgid "Your organisation does not seem to be properly configured."
msgstr "Organisaatiotasi määrittelyssä on ongelmia."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Luotu käyttäen DMPTuulia. "
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[sivu] / [toppage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "Tämä on"
@@ -649,11 +653,11 @@ msgstr "Suunnitelma perustuu"
msgid "template with customisations by the"
msgstr "malli asiakassuhteiden mukauttamisella"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "kopionti"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -661,23 +665,23 @@ msgstr ""
"Suunnitelman tilan muuttaminen ei onnistunut, koska vähintään %{percentage}:a "
"vastauksista pitää olla vastattuna"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "Suunnitelman tunnistetta %{plan_id} ei löydy"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Projektisi on nyt testimuodossa."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Projektisi ei ole enää testimuodossa."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Suunnitelman testistatuksen muuttaminen ei onnistu"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "Tunnukseen %{ ei liity suunnitelmaa s"
@@ -922,7 +926,7 @@ msgstr "yhdistyivät"
msgid "merge"
msgstr "yhdistää"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -988,19 +992,19 @@ msgstr ""
" lteemojen mukaan, nämä tuodaan esiin valintojesi perusteella, joten ei kannat"
"a toistaa liikaa tekstiä."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Vastaaminen"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "lähettää sähköpostin aiheella %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "poistaa kysymyksen"
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "poistaa kysymyksiä"
@@ -1152,7 +1156,7 @@ msgid "Public"
msgstr "Julkinen"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Yksityinen"
@@ -1165,7 +1169,7 @@ msgid "Public: anyone can view."
msgstr "Avattu: näkyvissä kaikille ilman DMPTuuli-kirjautumista"
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Yksityinen: rajattu minulle ja kutsumilleni henkilöille."
@@ -1552,23 +1556,35 @@ msgstr "täytyy olla yksi seuraavista tiedostomuodoista: jpeg, jpg, png, gif, bm
msgid "can't be larger than 500KB"
msgstr "ei voi olla suurempi kuin 500KB"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organisaatiokohtainen"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "julkinen"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "testi"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "yksityinen"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "on oltava alkamispäivän jälkeen"
@@ -1624,39 +1640,39 @@ msgstr "kopion_tuottaminen! vaatii organisaatiokohteen."
msgid "Copy of %{template}"
msgstr "%{template}:n kopio"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "version_tuottaminen! vaatii julkaistun mallipohjan"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "mukauta! vaatii kohteeksi organisaation"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "mukauta! vaatii rahoittajan mallipohjan"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "Et voi julkaista julkaistua mallia."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "Et voi julkaista tämän mallin historiallista versiota."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "Et voi julkaista mallia ilman vaiheita."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr "Et voi julkaista mallia ilman osioita vaiheessa."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "Et voi julkaista mallipohjaa ilman kysymyksiä."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "Mallin ehdot viittaavat taaksepäin"
@@ -1858,11 +1874,11 @@ msgstr ": otsikko vaaditaan jokaiselle: tietojoukolle"
msgid "invalid JSON"
msgstr "Virheellinen JSON"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! vaatii mukautetun mallipohjan"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1942,7 +1958,7 @@ msgstr "Odota, standardit latautuvat"
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1978,14 +1994,14 @@ msgstr "Vastattu"
msgid " by %{user_name}"
msgstr "%{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Tämä vastaus poistuu"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " kysymyksiä suunnitelmasi."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Tämä vastaus poistuu"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Tämä vastaus laukaisee sähköpostit osoitteeseen"
@@ -2642,7 +2658,7 @@ msgstr ""
"je näkyy, kun he vastaavat kysymyksiin 'Luo suunnitelma' -kohdassa."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2977,50 +2993,50 @@ msgstr "Kirjaudu ulos"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Notice:"
+msgstr "Huom!"
+
+#: ../../app/views/layouts/application.html.erb:92
msgid "Error:"
msgstr "Virhe:"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Notice:"
-msgstr "Hei!"
-
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Ladataan ..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Tämä kenttä on pakollinen."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Näytä salasana"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Valitse organisaatio listalta."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Organisaationi puuttuu listasta"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "Ei käytettävissä"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Piilota lista."
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Katso lista partneri-instituutioista."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3028,27 +3044,27 @@ msgstr ""
"Valitsemallesi tutkimusorganisaatiolle ja rahoittajalle ei löydy sopivaa malli"
"pohjaa."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr "Valitse tutkimusorganisaatio ja rahoittaja ennen kuin jatkat."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Latautuu ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Osion sisällön lataaminen ei onnistu tällä hetkellä."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Kysymyksen sisällön lataaminen ei onnistu tällä hetkellä."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Avautuu uuteen ikkunaan"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3058,11 +3074,11 @@ msgstr ""
"ksiin. Käytä Enter-näppäintä valitaksesi ehdotuksen tai Escape-näppäintä sulke"
"aksesi ehdotukset."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "Tuloillesi ei ole tuloksia."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Etsitään ..."
@@ -3407,14 +3423,14 @@ msgstr "Toiminnot"
msgid "Feedback requested"
msgstr "Pyydetty palautetta"
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Valmis"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr "Ilmoita suunnitelman omistajalle, että olen antanut loppupalautteen"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Valmis"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue.\n"
"Language-Team: French\n"
"Language: fr_CA\n"
@@ -51,21 +51,21 @@ msgstr "Mauvais paramètres"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Mois"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "Nombre d’utilisateurs joints"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Total"
@@ -454,7 +454,7 @@ msgstr ""
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -466,7 +466,7 @@ msgstr "mis à jour"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -560,7 +560,7 @@ msgid "Unable to delete this version of the template."
msgstr ""
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "copier"
@@ -624,10 +624,14 @@ msgstr "Veuillez choisir un organisme"
msgid "Your organisation does not seem to be properly configured."
msgstr "Votre organisme ne semble pas être correctement configuré."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Créé(e) avec %{application_name}. Dernière modification : %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr ""
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "Il s’agit d’un(e)"
@@ -661,11 +665,11 @@ msgstr "Ce plan est fondé sur "
msgid "template with customisations by the"
msgstr "modèle avec des personnalisations par le"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "copié"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -673,23 +677,23 @@ msgstr ""
"Il est impossible de modifier l’état du plan, car il est nécessaire d’obtenir "
"un taux de réponse d’au moins %{percentage}"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "Il est impossible de trouver l’ID du plan %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Votre projet est maintenant à l’état d’essai."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Votre projet n’est plus à l’état d’essai."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Il est impossible de modifier l’état d’essai du plan"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr ""
@@ -928,7 +932,7 @@ msgstr "fusionné"
msgid "merge"
msgstr "fusionner"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -996,19 +1000,19 @@ msgstr ""
"de vos sélections ci-dessous. Il est donc préférable de ne pas dupliquer trop "
"de texte."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Répondre"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr ""
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "supprimera la question"
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "supprimera les questions"
@@ -1161,7 +1165,7 @@ msgid "Public"
msgstr "Public"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Privé"
@@ -1174,7 +1178,7 @@ msgid "Public: anyone can view."
msgstr "Public : Tous peuvent consulter le plan."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Privé : usage réservé à moi et aux personnes que j’invite."
@@ -1562,23 +1566,35 @@ msgstr "doit être dans l’un des formats suivants: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "ne peut pas dépasser 500 Ko"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organisationnel"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "public"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "essai"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "privé"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "doit être postérieur à la date de début"
@@ -1636,43 +1652,43 @@ msgstr "un organisme cible est exigé pour generate_copy!"
msgid "Copy of %{template}"
msgstr "Copie de %{template}"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "un modèle publié est exigé pour generate_version!"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "organisme cible exiger pour personnaliser!"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "un modèle d’un bailleur de fonds est exigé pour personnaliser!"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "Vous ne pouvez pas publier un modèle déjà publié."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "Vous ne pouvez pas publier une version historique de ce modèle."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "Vous ne pouvez pas publier un modèle ne contenant pas de phases."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr ""
"Vous ne pouvez pas publier un modèle dont une phase ne contient pas de section"
"s."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr ""
"Vous ne pouvez pas publier un modèle dont certaines sections ne contiennent pa"
"s de questions."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "Les conditions du modèle sont associées à une référence antérieure"
@@ -1871,11 +1887,11 @@ msgstr ""
msgid "invalid JSON"
msgstr ""
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "un modèle personnalisé est exigé pour upgrade_customization!"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1956,7 +1972,7 @@ msgstr "Veuillez patienter. Le chargement des normes est en cours."
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1992,14 +2008,14 @@ msgstr "Répondu"
msgid " by %{user_name}"
msgstr " par %{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Cette réponse entraîne le retrait de"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " aux questions de votre plan."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Cette réponse entraîne le retrait de"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Cette réponse déclenche l’envoi de courriels à"
@@ -2660,7 +2676,7 @@ msgstr ""
"u’ils répondront aux questions de l’assistant « Créer un plan »."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -3001,50 +3017,50 @@ msgstr "Se déconnecter"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Erreur :"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Remarque :"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Erreur :"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr ""
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Ce champ est requis."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Afficher le mot de passe"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Sélectionnez un organisme dans la liste."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Mon organisme n’est pas répertorié"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "S. o."
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Masquer la liste."
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Consulter la liste complète des établissements partenaires."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3052,29 +3068,29 @@ msgstr ""
"Il est impossible de trouver un modèle approprié pour l’organisme de recherche"
" et le bailleur de fonds que vous avez sélectionnés."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr ""
"Veuillez sélectionner un organisme de recherche et un bailleur de fonds pour c"
"ontinuer."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Chargement en cours..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Il est impossible de charger le contenu de la question pour le moment."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Il est impossible de charger le contenu de la question pour le moment."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "S’ouvre dans une nouvelle fenêtre"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3084,11 +3100,11 @@ msgstr ""
"bas pour parcourir les suggestions. Utilisez la touche Entrée pour sélectionne"
"r une suggestion ou la touche Échap pour fermer les suggestions."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "Votre entrée n’a donné aucun résultat."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr ""
@@ -3437,14 +3453,14 @@ msgstr "Actions"
msgid "Feedback requested"
msgstr "Rétroaction demandée"
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Achevé"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr "Aviser le propriétaire du plan que j’ai terminé de fournir des commentaires"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Achevé"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) \n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -52,21 +52,21 @@ msgstr "Paramètres erronés"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Mois"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "Nombre d'utilisateurs inscrits"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Total"
@@ -241,7 +241,7 @@ msgstr "L'espace de recherche n'a aucun élément associé"
#: ../../app/controllers/contact_us/contacts_controller.rb:13
msgid "Captcha verification failed, please retry."
-msgstr "la vérificatio du CAPTCHA a échouée, veuillez réessayer."
+msgstr "la vérification du CAPTCHA a échouée, veuillez réessayer."
#: ../../app/controllers/contact_us/contacts_controller.rb:18
msgid "Contact email was successfully sent."
@@ -453,7 +453,7 @@ msgstr "Impossible de créer une nouvelle version de ce modèle. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -465,7 +465,7 @@ msgstr "mis à jour"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -559,7 +559,7 @@ msgid "Unable to delete this version of the template."
msgstr "Impossible de supprimer cette version du modèle."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "copier"
@@ -621,10 +621,14 @@ msgstr "Veuillez choisir un organisme"
msgid "Your organisation does not seem to be properly configured."
msgstr "Votre organisme ne semble pas être correctement configurée."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Créé avec %{application_name}. Dernière modification %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[page] de [topage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "C'est un"
@@ -658,11 +662,11 @@ msgstr "Ce plan est basé sur le"
msgid "template with customisations by the"
msgstr "modèle personnalisé par"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "copié"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -670,23 +674,23 @@ msgstr ""
"Impossible de changer le statut du plan, au moins %{percentage} % de questions"
" répondues sont nécessaires"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "Impossible de trouver le plan avec l'identifiant %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Votre projet est maintenant un test."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Votre projet n'est plus un test."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Impossible de changer le statut du plan"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "Il n'y a pas de forfait associé à l'identifiant %{ s"
@@ -939,7 +943,7 @@ msgstr "fusionné"
msgid "merge"
msgstr "fusionner"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr "Nombre de plans créés"
@@ -1006,19 +1010,19 @@ msgstr ""
"e que sélectionnez ci-dessous, aussi mieux vaut éviter de dupliquer trop dextr"
"aits."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Répondre"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "enverra un e-mail avec l'objet %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "supprimera la question"
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "supprimera les questions"
@@ -1171,7 +1175,7 @@ msgid "Public"
msgstr "Public"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Privé"
@@ -1184,7 +1188,7 @@ msgid "Public: anyone can view."
msgstr "Public : visible par tous."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Privé : accès restreint aux personnes que j'invite."
@@ -1573,23 +1577,35 @@ msgstr "doit être dans l'un des formats suivants : jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "ne peut peser plus de 500ko"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organisme"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "public"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "test"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "privé"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr "Planifié"
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr "Financé"
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr "Refusé"
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "doit être postérieur à la date de début"
@@ -1647,39 +1663,39 @@ msgstr "generate_copy! nécessite un organisme cible"
msgid "Copy of %{template}"
msgstr "Copie de %{template}"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "generate_version! nécessite un modèle publie"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "customize! nécessite un organisme cible"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "customize! nécessite le modèle d'un financeur"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "Vous ne pouvez pas publier un modèle publié."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "Vous ne pouvez pas publier une ancienne version de ce modèle."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "Vous ne pouvez pas publier un modèle sans phases."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr "Vous ne pouvez pas publier un modèle sans sections dans une phase."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "Vous ne pouvez pas publier un modèle sans questions dans une section."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr ""
"Les conditions du modèle s'appliquent à une question positionnée avant celle-c"
@@ -1878,11 +1894,11 @@ msgstr ":title est requis pour chaque :dataset"
msgid "invalid JSON"
msgstr "JSON non valide"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! nécessite un modèle personnalisé"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1962,7 +1978,7 @@ msgstr "Merci de patienter, les standards sont en cours de chargement"
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1998,14 +2014,14 @@ msgstr "Répondu"
msgid " by %{user_name}"
msgstr " par %{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Cette réponse supprime"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " questions de votre plan."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Cette réponse supprime"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Cette réponse déclenche l'envoi d'e-mail(s) à"
@@ -2665,7 +2681,7 @@ msgstr ""
"lorsqu'ils répondront aux questions dans l'onglet 'créer un plan'."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -3004,50 +3020,50 @@ msgstr "Déconnexion"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Erreur :"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Note :"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Erreur :"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Chargement..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Ce champ est obligatoire."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Afficher le mot de passe"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Sélectionner un organisme dans la liste."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Mon organisme n'est pas dans la liste"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "N/D"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Cacher la liste."
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Voir la liste des institutions partenaires."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3055,29 +3071,29 @@ msgstr ""
"Impossible de trouver un modèle approprié à l'organisme de recherche et au fin"
"anceur que vous avez sélectionnés."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr ""
"Veuillez sélectionner un organisme de recherche et un financeur pour continuer"
"."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Chargement ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Impossible de charger le contenu de la section pour le moment."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Impossible de charger le contenu de la question pour le moment."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Ouvre une nouvelle fenêtre"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3087,11 +3103,11 @@ msgstr ""
"ir les suggestions. Utilisez la touche Entrée pour sélectionner une suggestion"
" ou la touche Échap pour fermer les suggestions."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "Aucun résultat n'est disponible pour votre recherche."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Recherche..."
@@ -3439,16 +3455,16 @@ msgstr "Actions"
msgid "Feedback requested"
msgstr "Demande d'assistance conseil"
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Terminé"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr ""
"Avertir le propriétaire du plan que j'ai fini de fournir une assistance consei"
"l"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Terminé"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue.\n"
"Language-Team: French\n"
"Language: fr_FR\n"
@@ -271,7 +271,7 @@ msgid "Invalid JSON: "
msgstr "JSON non valide :"
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:13
-#: ../../app/controllers/plans_controller.rb:569
+#: ../../app/controllers/plans_controller.rb:570
msgid "There is no plan associated with id %{id}"
msgstr "Il n'existe aucun plan associé à l'identifiant %{id}"
@@ -281,7 +281,7 @@ msgid "Data contact"
msgstr "Personne contact pour les données"
#: ../../app/controllers/dmpopidor/research_outputs_controller.rb:45
-#: ../../app/controllers/plans_controller.rb:526
+#: ../../app/controllers/plans_controller.rb:527
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:47
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:52
#: ../../engines/madmp_opidor/app/controllers/super_admin/registry_values_controller.rb:21
@@ -377,10 +377,14 @@ msgstr "Veuillez choisir un organisme"
msgid "Your organisation does not seem to be properly configured."
msgstr "Votre organisme ne semble pas être correctement configurée."
-#: ../../app/controllers/plan_exports_controller.rb:114
+#: ../../app/controllers/plan_exports_controller.rb:120
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Créé avec %{application_name}. Dernière modification %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:125
+msgid "[page] of [topage]"
+msgstr "[page] de [topage]"
+
#: ../../app/controllers/plans_controller.rb:89
msgid "Unable to identify a suitable template for your plan."
msgstr "Impossible d'identifier un modèle approprié à votre plan."
@@ -402,15 +406,15 @@ msgstr "Ce plan est basé sur le"
msgid "template with customisations by the"
msgstr "modèle personnalisé par"
-#: ../../app/controllers/plans_controller.rb:500
+#: ../../app/controllers/plans_controller.rb:501
msgid "copied"
msgstr "copié"
-#: ../../app/controllers/plans_controller.rb:502
+#: ../../app/controllers/plans_controller.rb:503
msgid "copy"
msgstr "copier"
-#: ../../app/controllers/plans_controller.rb:523
+#: ../../app/controllers/plans_controller.rb:524
#: ../../app/controllers/users_controller.rb:123
#: ../../engines/madmp_opidor/app/controllers/super_admin/madmp_schemas_controller.rb:45
#: ../../engines/madmp_opidor/app/controllers/super_admin/registries_controller.rb:50
@@ -418,7 +422,7 @@ msgstr "copier"
msgid "updated"
msgstr "mis à jour"
-#: ../../app/controllers/plans_controller.rb:531
+#: ../../app/controllers/plans_controller.rb:532
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -426,19 +430,19 @@ msgstr ""
"Impossible de changer le statut du plan, au moins %{percentage} % de questions"
" répondues sont nécessaires"
-#: ../../app/controllers/plans_controller.rb:537
+#: ../../app/controllers/plans_controller.rb:538
msgid "Unable to find plan id %{plan_id}"
msgstr "Impossible de trouver le plan avec l'identifiant %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is now a test."
msgstr "Votre projet est maintenant un test."
-#: ../../app/controllers/plans_controller.rb:552
+#: ../../app/controllers/plans_controller.rb:553
msgid "Your project is no longer a test."
msgstr "Votre projet n'est plus un test."
-#: ../../app/controllers/plans_controller.rb:556
+#: ../../app/controllers/plans_controller.rb:557
msgid "Unable to change the plan's test status"
msgstr "Impossible de changer le statut du plan"
@@ -676,19 +680,19 @@ msgstr ""
"e que sélectionnez ci-dessous, aussi mieux vaut éviter de dupliquer trop dextr"
"aits."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Répondre"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "enverra un e-mail avec l'objet %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "supprimera la question"
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "supprimera les questions"
@@ -850,7 +854,7 @@ msgstr "Organisme"
msgid "Public"
msgstr "Public"
-#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:75
+#: ../../app/helpers/plans_helper.rb:41 ../../app/models/plan.rb:77
msgid "Administrator"
msgstr "Administrateur"
@@ -1105,23 +1109,35 @@ msgstr "doit être dans l'un des formats suivants : jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "ne peut peser plus de 500ko"
-#: ../../app/models/plan.rb:68
+#: ../../app/models/plan.rb:70
msgid "organisational"
msgstr "organisme"
-#: ../../app/models/plan.rb:69
+#: ../../app/models/plan.rb:71
msgid "public"
msgstr "public"
-#: ../../app/models/plan.rb:70
+#: ../../app/models/plan.rb:72
msgid "test"
msgstr "test"
-#: ../../app/models/plan.rb:79
+#: ../../app/models/plan.rb:81
msgid "private"
msgstr "privé"
-#: ../../app/models/plan.rb:797
+#: ../../app/models/plan.rb:85
+msgid "Planned"
+msgstr "Planifié"
+
+#: ../../app/models/plan.rb:86
+msgid "Funded"
+msgstr "Financé"
+
+#: ../../app/models/plan.rb:87
+msgid "Denied"
+msgstr "Refusé"
+
+#: ../../app/models/plan.rb:805
msgid "must be after the start date"
msgstr "doit être postérieur à la date de début"
@@ -1243,7 +1259,7 @@ msgstr "Merci de patienter, les standards sont en cours de chargement"
#: ../../app/views/branded/plans/_guidance_selection.html.erb:23
#: ../../app/views/branded/plans/_share_form.html.erb:112
#: ../../app/views/branded/plans/_share_third_party.html.erb:93
-#: ../../app/views/branded/research_outputs/_list.html.erb:101
+#: ../../app/views/branded/research_outputs/_list.html.erb:103
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:67
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:59
#: ../../app/views/branded/users/_notification_preferences.html.erb:47
@@ -1302,10 +1318,10 @@ msgid "Question not answered."
msgstr "Question sans réponse."
#: ../../app/views/branded/contact_us/contacts/_new_left.html.erb:4
-#: ../../app/views/branded/contributors/index.html.erb:24
#: ../../app/views/branded/org_admin/departments/edit.html.erb:14
#: ../../app/views/branded/org_admin/departments/new.html.erb:14
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:6
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:6
#: ../../app/views/branded/paginable/static_pages/_index.html.erb:5
#: ../../app/views/branded/paginable/users/_index.html.erb:20
#: ../../app/views/branded/shared/export/_plan_coversheet.erb:68
@@ -1415,44 +1431,15 @@ msgstr ""
"érales\", dans l'onglet \"Rédiger\" pour les modèles structurés ou dans l'onglet "
"\"Produits de recherche\" pour les autres modèles."
-#: ../../app/views/branded/contributors/index.html.erb:25
-#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
-msgid "Affiliation"
-msgstr "Affiliation"
-
-#: ../../app/views/branded/contributors/index.html.erb:26
-msgid "Attributed roles (Associated research outputs)"
-msgstr "Rôles attribués (Produits de recherche associés)"
-
-#: ../../app/views/branded/contributors/index.html.erb:28
-#: ../../app/views/branded/org_admin/plans/index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
-#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
-#: ../../app/views/branded/paginable/departments/_index.html.erb:7
-#: ../../app/views/branded/paginable/departments/_index.html.erb:24
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
-#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
-#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
-#: ../../app/views/branded/paginable/templates/_history.html.erb:10
-#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
-#: ../../app/views/branded/plans/_share_form.html.erb:20
-#: ../../app/views/branded/plans/_share_third_party.html.erb:35
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
-#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
-#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
-#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
-msgid "Actions"
-msgstr "Actions"
+#: ../../app/views/branded/contributors/index.html.erb:29
+msgid "No contributors have been defined."
+msgstr "Aucun contributeur n'a été défini."
-#: ../../app/views/branded/contributors/index.html.erb:46
+#: ../../app/views/branded/contributors/index.html.erb:35
msgid "Add a person"
msgstr "Ajouter une personne"
-#: ../../app/views/branded/contributors/index.html.erb:59
+#: ../../app/views/branded/contributors/index.html.erb:48
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_list_field.html.erb:45
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/_fragment_select_field.html.erb:47
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/registry/_multiple_complex.html.erb:59
@@ -1629,7 +1616,7 @@ msgstr "Publié ?"
#: ../../app/views/branded/org_admin/questions/_form.html.erb:136
#: ../../app/views/branded/plans/_edit_details.html.erb:63
#: ../../app/views/branded/plans/_guidance_selection.html.erb:35
-#: ../../app/views/branded/research_outputs/_list.html.erb:102
+#: ../../app/views/branded/research_outputs/_list.html.erb:104
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:93
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:67
#: ../../app/views/research_outputs/_form.html.erb:183
@@ -2083,6 +2070,30 @@ msgstr "Demandeur"
msgid "Request Date"
msgstr "Date de la demande"
+#: ../../app/views/branded/org_admin/plans/index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:20
+#: ../../app/views/branded/paginable/api_clients/_index.html.erb:40
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:10
+#: ../../app/views/branded/paginable/departments/_index.html.erb:7
+#: ../../app/views/branded/paginable/departments/_index.html.erb:24
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:12
+#: ../../app/views/branded/paginable/orgs/_index.html.erb:36
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:54
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:14
+#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:58
+#: ../../app/views/branded/paginable/templates/_history.html.erb:10
+#: ../../app/views/branded/paginable/templates/_organisational.html.erb:57
+#: ../../app/views/branded/plans/_share_form.html.erb:20
+#: ../../app/views/branded/plans/_share_third_party.html.erb:35
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:10
+#: ../../engines/madmp_opidor/app/views/paginable/madmp_schemas/_index.html.erb:30
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:9
+#: ../../engines/madmp_opidor/app/views/paginable/registries/_index.html.erb:28
+#: ../../engines/madmp_opidor/app/views/paginable/registry_values/_index.html.erb:6
+msgid "Actions"
+msgstr "Actions"
+
#: ../../app/views/branded/org_admin/plans/index.html.erb:31
msgid "Complete"
msgstr "Terminer"
@@ -2181,7 +2192,7 @@ msgstr ""
"question."
#: ../../app/views/branded/org_admin/questions/_form.html.erb:133
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:43
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:55
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:82
#: ../../app/views/branded/super_admin/api_clients/_form.html.erb:86
#: ../../app/views/branded/super_admin/static_pages/_form.html.erb:61
@@ -2274,7 +2285,7 @@ msgstr "Aucun fourni"
#: ../../app/views/branded/org_admin/questions/_show.html.erb:226
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:43
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:36
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:48
#: ../../app/views/branded/paginable/departments/_index.html.erb:27
#: ../../app/views/branded/paginable/orgs/_index.html.erb:39
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:59
@@ -2348,7 +2359,7 @@ msgid "Locale"
msgstr "Langue"
#: ../../app/views/branded/org_admin/templates/_form.html.erb:41
-#: ../../app/views/branded/research_outputs/_list.html.erb:54
+#: ../../app/views/branded/research_outputs/_list.html.erb:56
#: ../../app/views/research_outputs/_form.html.erb:14
msgid "Type"
msgstr "Type"
@@ -2534,7 +2545,7 @@ msgid "Homepage"
msgstr "Page d'accueil"
#: ../../app/views/branded/paginable/api_clients/_index.html.erb:15
-#: ../../app/views/branded/research_outputs/_list.html.erb:73
+#: ../../app/views/branded/research_outputs/_list.html.erb:75
#: ../../app/views/research_outputs/repositories/_search_result.html.erb:42
msgid "Contact"
msgstr "Personne contact"
@@ -2574,13 +2585,22 @@ msgstr ""
"Vous êtes sur le point de supprimer '%{client_name}'. Ils ne pourront plus acc"
"éder à l'API. Êtes-vous sûr?"
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:44
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:7
+#: ../../app/views/branded/shared/export/_plan_coversheet.erb:69
+msgid "Affiliation"
+msgstr "Affiliation"
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:8
+msgid "Attributed roles (Associated research outputs)"
+msgstr "Rôles attribués (Produits de recherche associés)"
+
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:56
#: ../../engines/madmp_opidor/app/views/dynamic_form/fields/contributor/_contributor_list.html.erb:44
#: ../../engines/madmp_opidor/app/views/dynamic_form/linked_fragment/_list.html.erb:46
msgid "Do you want to delete this element?"
msgstr "Voulez-vous vraiment supprimer cet élément ?"
-#: ../../app/views/branded/paginable/contributors/_index.html.erb:62
+#: ../../app/views/branded/paginable/contributors/_index.html.erb:74
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:68
#: ../../app/views/branded/paginable/plans/_privately_visible.html.erb:72
#: ../../app/views/branded/paginable/templates/_history.html.erb:56
@@ -2671,7 +2691,7 @@ msgid "Shared"
msgstr "Partagé"
#: ../../app/views/branded/paginable/plans/_administrator_visible.html.erb:33
-#: ../../app/views/branded/plans/_share_form.html.erb:152
+#: ../../app/views/branded/plans/_share_form.html.erb:157
msgid "Update"
msgstr "Mettre à jour"
@@ -3406,19 +3426,20 @@ msgstr ""
msgid "Organisation: anyone at my organisation can view"
msgstr "Organisme : toute personne de mon organisme peut consulter mon plan"
-#: ../../app/views/branded/plans/_share_form.html.erb:147
-msgid "Public: anyone can view"
-msgstr "Public : visible par tous"
-
-#: ../../app/views/branded/plans/_share_form.html.erb:154
+#: ../../app/views/branded/plans/_share_form.html.erb:149
msgid ""
"You have chosen to make your plan public. Before confirming, please ensure tha"
"t your plan is complete. This DMP can be used as an example for other, please "
-"fill the different sections. Do you confirm?"
+"fill the different sections. Do you confirm and then update your choice?"
msgstr ""
"Vous avez choisi de rendre votre plan public. Avant de confirmer, assurez-vous"
" que la version de ce plan est complète. Ce DMP peut servir d'exemple pour d'a"
-"utres, veillez à remplir les différentes sections. Vous confirmez ?"
+"utres, veillez à remplir les différentes sections. Vous confirmez puis merci d"
+"e mettre à jour votre choix ?"
+
+#: ../../app/views/branded/plans/_share_form.html.erb:152
+msgid "Public: anyone can view"
+msgstr "Public : visible par tous"
#: ../../app/views/branded/plans/_share_third_party.html.erb:3
msgid "Select a service you would like to share your plan with."
@@ -3610,42 +3631,42 @@ msgstr "Nom complet"
msgid "Research output title"
msgstr "Titre du produit de recherche"
-#: ../../app/views/branded/research_outputs/_list.html.erb:34
+#: ../../app/views/branded/research_outputs/_list.html.erb:35
msgid "UUID"
msgstr "UUID"
-#: ../../app/views/branded/research_outputs/_list.html.erb:37
-#: ../../app/views/branded/research_outputs/_list.html.erb:42
+#: ../../app/views/branded/research_outputs/_list.html.erb:38
#: ../../app/views/branded/research_outputs/_list.html.erb:43
+#: ../../app/views/branded/research_outputs/_list.html.erb:44
msgid "Research output unique identifier"
msgstr "Identifiant unique du produit de recherche"
-#: ../../app/views/branded/research_outputs/_list.html.erb:48
+#: ../../app/views/branded/research_outputs/_list.html.erb:49
msgid "Copy UUID to clipboard"
msgstr "Copier l'UUID dans le presse-papiers"
-#: ../../app/views/branded/research_outputs/_list.html.erb:67
+#: ../../app/views/branded/research_outputs/_list.html.erb:69
#: ../../app/views/research_outputs/_form.html.erb:27
msgid "Research output type"
msgstr "Type de résultat de la recherche"
-#: ../../app/views/branded/research_outputs/_list.html.erb:94
+#: ../../app/views/branded/research_outputs/_list.html.erb:96
msgid "Persistent Identifier"
msgstr "Identifiant Pérenne"
-#: ../../app/views/branded/research_outputs/_list.html.erb:96
+#: ../../app/views/branded/research_outputs/_list.html.erb:98
msgid "If exists, please fill in the research output persistant identifier."
msgstr "Renseigner l’identifiant pérenne du produit de recherche s’il existe."
-#: ../../app/views/branded/research_outputs/_list.html.erb:108
+#: ../../app/views/branded/research_outputs/_list.html.erb:110
msgid "Edit research output"
msgstr "Modifier le produit de recherche"
-#: ../../app/views/branded/research_outputs/_list.html.erb:111
+#: ../../app/views/branded/research_outputs/_list.html.erb:113
msgid "Move research output"
msgstr "Déplacer le produit de recherche"
-#: ../../app/views/branded/research_outputs/_list.html.erb:116
+#: ../../app/views/branded/research_outputs/_list.html.erb:118
msgid ""
"Deleting this research output will remove the associated answers. Do you confi"
"rm ?"
@@ -3653,7 +3674,7 @@ msgstr ""
"En supprimant ce produit de recherche, les réponses associées seront également"
" supprimées. Confirmez-vous la suppression ?"
-#: ../../app/views/branded/research_outputs/_list.html.erb:119
+#: ../../app/views/branded/research_outputs/_list.html.erb:121
msgid "Delete research output"
msgstr "Supprimer le produit de recherche"
diff --git a/config/locale/pt_BR/LC_MESSAGES/app.mo b/config/locale/pt_BR/LC_MESSAGES/app.mo
index 8f2969b89a..4dc298a37a 100644
Binary files a/config/locale/pt_BR/LC_MESSAGES/app.mo and b/config/locale/pt_BR/LC_MESSAGES/app.mo differ
diff --git a/config/locale/pt_BR/app.po b/config/locale/pt_BR/app.po
index aea40ecce0..0059bc5e01 100644
--- a/config/locale/pt_BR/app.po
+++ b/config/locale/pt_BR/app.po
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: roadmap 1.0\n"
"Report-Msgid-Bugs-To: contact@translation.io\n"
-"POT-Creation-Date: 2023-02-03 09:02+0100\n"
-"PO-Revision-Date: 2023-02-03 09:02+0100\n"
+"POT-Creation-Date: 2023-04-12 10:30-0700\n"
+"PO-Revision-Date: 2023-04-12 19:30+0200\n"
"Last-Translator: FULL NAME \n"
"Language-Team: Portuguese\n"
"Language: pt_BR\n"
@@ -49,21 +49,21 @@ msgstr "Parâmetros Inválidos"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Mês"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "Núm. usuários ingressados"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Total"
@@ -450,7 +450,7 @@ msgstr "Não foi possível criar uma nova versão deste modelo. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -462,7 +462,7 @@ msgstr "Atualizado"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -552,7 +552,7 @@ msgid "Unable to delete this version of the template."
msgstr "Não foi possível excluir esta versão do modelo."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "cópia"
@@ -614,10 +614,14 @@ msgstr "Por favor, escolha uma organização."
msgid "Your organisation does not seem to be properly configured."
msgstr "Parece que sua organização não está configurada corretamente."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Criado usando %{application_name}. Última modificação %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[página] de [topage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "Isto é um"
@@ -651,11 +655,11 @@ msgstr "Este plano é baseado no"
msgid "template with customisations by the"
msgstr "modelo com personalizações pelo"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "copieado"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -663,23 +667,23 @@ msgstr ""
"Não conseguimos mudar o status do plano. É preciso pelo menos %{percentage} de"
" respostas."
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "Não conseguimos encontrar o plano com id %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Seu projeto agora é um teste."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Seu projeto não é mais um teste."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Não conseguimos mudar o status de teste do plano"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "Não há plano associado ao id %{ s"
@@ -928,9 +932,9 @@ msgstr "mesclado"
msgid "merge"
msgstr "mesclar"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
-msgstr ""
+msgstr "Núm. Planos"
#: ../../app/controllers/users/invitations_controller.rb:33
msgid ""
@@ -995,19 +999,19 @@ msgstr ""
"m instruções por tema, elas serão incluídas com base na sua seleção abaixo; po"
"r isso, é melhor não duplicar muito texto."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Respondendo"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "enviará um e-mail com o assunto %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "irá remover a pergunta"
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "irá remover perguntas"
@@ -1129,7 +1133,7 @@ msgstr "Autorizar API para organizações"
#: ../../app/helpers/perms_helper.rb:17
msgid "Review organisational plans"
-msgstr ""
+msgstr "Revise os planos organizacionais"
#: ../../app/helpers/plans_helper.rb:8
#: ../../app/views/paginable/plans/_index.html.erb:8
@@ -1159,7 +1163,7 @@ msgid "Public"
msgstr "Público"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Privado"
@@ -1172,7 +1176,7 @@ msgid "Public: anyone can view."
msgstr "Público: qualquer pessoa pode ver."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Privado: restrito a mim e a meus convidados."
@@ -1479,7 +1483,7 @@ msgstr ""
#: ../../app/models/concerns/exportable_plan.rb:221
msgid "Research Outputs: "
-msgstr ""
+msgstr "Resultados da pesquisa:"
#: ../../app/models/concerns/exportable_plan.rb:244
msgid "Not Answered"
@@ -1560,23 +1564,35 @@ msgstr "deve ser um dos seguintes formatos: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "não pode ser maior que 500KB"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organizacional"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "público"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "teste"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "privado"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr "Planejado"
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr "Financiado"
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr "Negado"
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "deve ser posterior à data de início"
@@ -1634,39 +1650,39 @@ msgstr "generate_copy! requer uma meta de organização"
msgid "Copy of %{template}"
msgstr "Cópia do %{template}"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "generate_version! requer um modelo publicado"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "customizar! requer uma meta de organização"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "customizar! requer um modelo de um financiador"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "Você não pode publicar um modelo publicado."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "Você não pode publicar uma versão histórica deste modelo."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "Você não pode publicar um modelo sem fases."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr "Você não pode publicar um modelo sem seções em uma fase."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "Você não pode publicar um modelo sem perguntas em uma seção."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "As condições no modelo se referem ao contrário"
@@ -1862,11 +1878,11 @@ msgstr ": o título é necessário para cada: conjunto de dados"
msgid "invalid JSON"
msgstr "JSON inválido"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! requer um modelo customizado"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1946,7 +1962,7 @@ msgstr "Por favor, espere enquanto os Padrões são carregados."
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1982,14 +1998,14 @@ msgstr "Respondido"
msgid " by %{user_name}"
msgstr " por %{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Esta resposta remove"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " perguntas do seu plano."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Esta resposta remove"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Esta resposta aciona email(s) para"
@@ -2647,7 +2663,7 @@ msgstr ""
"o as questões no wizard 'criar plano'."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2984,50 +3000,50 @@ msgstr "Sair"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Erro"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Nota:"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Erro"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Carregando..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Este campo é obrigatório."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Mostrar senha"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Selecione uma organização da lista."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Minha organização não está listada"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "N/A"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Esconder lista."
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Veja a lista completa de instituições parceiras"
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3035,29 +3051,29 @@ msgstr ""
"Não conseguimos encontrar um modelo adequado para a instituição de pesquisa e "
"o órgão financiador que você selecionou."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr ""
"Por favor, selecione uma instituição de pesquisa e um órgão financiador para c"
"ontinuar."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Carregando ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Não carregar o conteúdo da seção neste momento."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Não foi carregar o conteúdo da pergunta no momento."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Abre em uma nova janela"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3067,11 +3083,11 @@ msgstr ""
" navegar pelas sugestões. Use a tecla Enter para selecionar uma sugestão ou a "
"tecla Escape para fechar as sugestões."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "Nenhum resultado está disponível para sua entrada."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Procurando ..."
@@ -3418,14 +3434,14 @@ msgstr "Ações"
msgid "Feedback requested"
msgstr "Feedback solicitado"
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Completar"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr "Notificar o proprietário do plano de que eu acabei de dar feedback"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Completar"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue.\n"
"Language-Team: Swedish\n"
"Language: sv_FI\n"
@@ -49,21 +49,21 @@ msgstr "Felaktiga parametern"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Månad"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "Nej. Användare gick med"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Total"
@@ -448,7 +448,7 @@ msgstr "Det gick inte att skapa en ny version av den här mallen. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -460,7 +460,7 @@ msgstr "Uppdaterad"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -550,7 +550,7 @@ msgid "Unable to delete this version of the template."
msgstr "Det gick inte att ta bort den här versionen av mallen."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "kopia"
@@ -612,10 +612,14 @@ msgstr "Välj en organisation"
msgid "Your organisation does not seem to be properly configured."
msgstr "Din organisation verkar inte vara korrekt konfigurerad."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "Skapat med hjälp av %{application_name}. Senast ändrad %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[sida] av [topage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "Det här är en"
@@ -649,11 +653,11 @@ msgstr "Denna plan är baserad på"
msgid "template with customisations by the"
msgstr "mall med anpassningar av"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "kopieras"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -661,23 +665,23 @@ msgstr ""
"Det går inte att ändra planens status eftersom det behövs minst %{percentage} "
"procent svarat"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "Det gick inte att hitta plan id %{plan_id}"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Ditt projekt är nu ett test."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Ditt projekt är inte längre ett test."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Kan inte ändra planens teststatus"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "Det finns ingen plan kopplad till id %{ s"
@@ -920,7 +924,7 @@ msgstr "fusione"
msgid "merge"
msgstr "sammanfoga"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -986,19 +990,19 @@ msgstr ""
" av teman kommer det att dras in baserat på dina val nedan, så det är bäst att"
" du inte duplicerar för mycket text."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "svara"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "kommer att skicka ett e-postmeddelande med ämne %{subject_name}"
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "kommer att ta bort frågan"
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "tar bort frågor"
@@ -1150,7 +1154,7 @@ msgid "Public"
msgstr "offentlig"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Privat"
@@ -1163,7 +1167,7 @@ msgid "Public: anyone can view."
msgstr "Offentlig: alla kan visa."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Privat: begränsad till mig och personer jag bjuder in."
@@ -1551,23 +1555,35 @@ msgstr "måste vara ett av följande format: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "kan inte vara större än 500 kB"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "organisatoriska"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "offentlig"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "Testa"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "Privat"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "måste vara efter startdatumet"
@@ -1623,39 +1639,39 @@ msgstr "generate_copy! kräver ett organisationsmål"
msgid "Copy of %{template}"
msgstr "Kopia av %{template}"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "generate_version! kräver en publicerad mall"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "skräddarsy! kräver ett organisationsmål"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "skräddarsy! kräver en mall från en funderare"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "Du kan inte publicera en publicerad mall."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "Du kan inte publicera en historisk version av denna mall."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "Du kan inte publicera en mall utan faser."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr "Du kan inte publicera en mall utan sektioner i en fas."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "Du kan inte publicera en mall utan frågor i en sektion."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "Förhållandena i mallen hänvisar bakåt"
@@ -1852,11 +1868,11 @@ msgstr ": title krävs för varje: dataset"
msgid "invalid JSON"
msgstr "Ogiltig JSON"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! kräver en anpassad mall"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1936,7 +1952,7 @@ msgstr "Vänligen vänta, Standarder laddas"
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1972,14 +1988,14 @@ msgstr "svarade"
msgid " by %{user_name}"
msgstr "av %{user_name}"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Detta svar tas bort"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " frågor från din plan."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Detta svar tas bort"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Detta svar utlöser e-post (er) till"
@@ -2632,7 +2648,7 @@ msgstr ""
" \"skapa plan\"."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2969,50 +2985,50 @@ msgstr "Logga ut"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Fel:"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Lägga märke till:"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Fel:"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Läser in..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Detta fält är obligatoriskt."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Visa lösenord"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Välj en organisation från listan."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Min organisation är inte listad"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "N / A"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Dölj lista."
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Se hela listan över partnerinstitut."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3020,27 +3036,27 @@ msgstr ""
"Det gick inte att hitta en lämplig mall för forskningsorganisationen och funde"
"raren du valt."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr "Vänligen välj en forskningsorganisation och funderare att fortsätta."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Läser in ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Det går inte att läsa in sektionens innehåll just nu."
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Det gick inte att läsa in innehållets innehåll just nu."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Öppnar i nytt fönster"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3050,11 +3066,11 @@ msgstr ""
"örslag. Använd Enter-knappen för att välja ett förslag eller Escape-knappen fö"
"r att stänga förslagen."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "Inga resultat är tillgängliga för din post."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Söker ..."
@@ -3400,14 +3416,14 @@ msgstr "Åtgärder"
msgid "Feedback requested"
msgstr "Be om feedback"
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Komplett"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr "Meddela planägaren att jag är klar med att ge feedback"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Komplett"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue.\n"
"Language-Team: Turkish\n"
"Language: tr_TR\n"
@@ -49,21 +49,21 @@ msgstr "Hatalı Parametreler"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
#: ../../app/controllers/api/v0/statistics_controller.rb:89
#: ../../app/controllers/api/v0/statistics_controller.rb:136
-#: ../../app/controllers/usage_controller.rb:66
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:67
+#: ../../app/controllers/usage_controller.rb:88
msgid "Month"
msgstr "Ay"
#: ../../app/controllers/api/v0/statistics_controller.rb:41
-#: ../../app/controllers/usage_controller.rb:66
+#: ../../app/controllers/usage_controller.rb:67
msgid "No. Users joined"
msgstr "Katılan kullanıcı sayısı"
#: ../../app/controllers/api/v0/statistics_controller.rb:47
#: ../../app/controllers/api/v0/statistics_controller.rb:95
#: ../../app/controllers/api/v0/statistics_controller.rb:142
-#: ../../app/controllers/usage_controller.rb:72
-#: ../../app/controllers/usage_controller.rb:93
+#: ../../app/controllers/usage_controller.rb:73
+#: ../../app/controllers/usage_controller.rb:94
msgid "Total"
msgstr "Toplam"
@@ -442,7 +442,7 @@ msgstr "Bu şablonun yeni bir sürümü oluşturulamıyor. "
#: ../../app/controllers/org_admin/phases_controller.rb:147
#: ../../app/controllers/org_admin/questions_controller.rb:166
#: ../../app/controllers/org_admin/users_controller.rb:30
-#: ../../app/controllers/plans_controller.rb:415
+#: ../../app/controllers/plans_controller.rb:416
#: ../../app/controllers/super_admin/api_clients_controller.rb:68
#: ../../app/controllers/super_admin/notifications_controller.rb:52
#: ../../app/controllers/super_admin/themes_controller.rb:39
@@ -454,7 +454,7 @@ msgstr "güncellendi"
#: ../../app/controllers/org_admin/phases_controller.rb:149
#: ../../app/controllers/org_admin/questions_controller.rb:169
#: ../../app/controllers/org_admin/users_controller.rb:32
-#: ../../app/controllers/plans_controller.rb:418
+#: ../../app/controllers/plans_controller.rb:419
#: ../../app/controllers/super_admin/api_clients_controller.rb:70
#: ../../app/controllers/super_admin/notifications_controller.rb:55
#: ../../app/controllers/super_admin/themes_controller.rb:41
@@ -544,7 +544,7 @@ msgid "Unable to delete this version of the template."
msgstr "Şablonun bu sürümü silinemiyor."
#: ../../app/controllers/org_admin/template_copies_controller.rb:20
-#: ../../app/controllers/plans_controller.rb:394
+#: ../../app/controllers/plans_controller.rb:395
msgid "copy"
msgstr "kopyala"
@@ -608,10 +608,14 @@ msgstr "Lütfen bir kuruluş seçin"
msgid "Your organisation does not seem to be properly configured."
msgstr "Kuruluşunuz düzgün yapılandırılmamış gibi görünüyor."
-#: ../../app/controllers/plan_exports_controller.rb:100
+#: ../../app/controllers/plan_exports_controller.rb:106
msgid "Created using %{application_name}. Last modified %{date}"
msgstr "%{application_name} kullanılarak oluşturuldu. Son değiştirildiği tarih %{date}"
+#: ../../app/controllers/plan_exports_controller.rb:111
+msgid "[page] of [topage]"
+msgstr "[sayfa] / [topage]"
+
#: ../../app/controllers/plans_controller.rb:52
msgid "This is a"
msgstr "Bu bir"
@@ -645,11 +649,11 @@ msgstr "Bu plan şunlara dayanmaktadır:"
msgid "template with customisations by the"
msgstr "şu kişi tarafından özelleştirmeler içeren şablon:"
-#: ../../app/controllers/plans_controller.rb:392
+#: ../../app/controllers/plans_controller.rb:393
msgid "copied"
msgstr "kopyalandı"
-#: ../../app/controllers/plans_controller.rb:423
+#: ../../app/controllers/plans_controller.rb:424
msgid ""
"Unable to change the plan's status since it is needed at least %{percentage} p"
"ercentage responded"
@@ -657,23 +661,23 @@ msgstr ""
"En az yüzde %{percentage} yanıt verilmesi gerektiğinden planın durumu değiştir"
"ilemiyor"
-#: ../../app/controllers/plans_controller.rb:429
+#: ../../app/controllers/plans_controller.rb:430
msgid "Unable to find plan id %{plan_id}"
msgstr "%{plan_id} no.'lu plan bulunamadı"
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is now a test."
msgstr "Projeniz şu an bir test."
-#: ../../app/controllers/plans_controller.rb:444
+#: ../../app/controllers/plans_controller.rb:445
msgid "Your project is no longer a test."
msgstr "Projeniz artık bir test değil."
-#: ../../app/controllers/plans_controller.rb:448
+#: ../../app/controllers/plans_controller.rb:449
msgid "Unable to change the plan's test status"
msgstr "Planın test durumu değiştirilemiyor"
-#: ../../app/controllers/plans_controller.rb:461
+#: ../../app/controllers/plans_controller.rb:462
msgid "There is no plan associated with id %{s"
msgstr "%{ kimliğiyle ilişkilendirilmiş bir plan yok s"
@@ -915,7 +919,7 @@ msgstr "birleştirildi"
msgid "merge"
msgstr "birleştir"
-#: ../../app/controllers/usage_controller.rb:87
+#: ../../app/controllers/usage_controller.rb:88
msgid "No. Created Plans"
msgstr ""
@@ -982,19 +986,19 @@ msgstr ""
"sa, bu, aşağıdaki seçimlerinize göre çekilecektir, bu nedenle çok fazla metin "
"kopyalanarak çoğaltılmamalıdır."
-#: ../../app/helpers/conditions_helper.rb:193
+#: ../../app/helpers/conditions_helper.rb:191
msgid "Answering"
msgstr "Cevaplıyor"
-#: ../../app/helpers/conditions_helper.rb:197
+#: ../../app/helpers/conditions_helper.rb:195
msgid " will send an email with subject %{subject_name}"
msgstr "%{subject_name} konulu bir e-posta gönderecek "
-#: ../../app/helpers/conditions_helper.rb:203
+#: ../../app/helpers/conditions_helper.rb:201
msgid " will remove question "
msgstr "soruyu kaldıracak "
-#: ../../app/helpers/conditions_helper.rb:204
+#: ../../app/helpers/conditions_helper.rb:202
msgid " will remove questions "
msgstr "soruları kaldıracak "
@@ -1146,7 +1150,7 @@ msgid "Public"
msgstr "Herkese Açık"
#: ../../app/helpers/plans_helper.rb:26 ../../app/helpers/plans_helper.rb:28
-#: ../../app/views/layouts/application.html.erb:128
+#: ../../app/views/layouts/application.html.erb:129
msgid "Private"
msgstr "Özel"
@@ -1159,7 +1163,7 @@ msgid "Public: anyone can view."
msgstr "Herkese açık: herkes görüntüleyebilir."
#: ../../app/helpers/plans_helper.rb:39
-#: ../../app/views/layouts/application.html.erb:129
+#: ../../app/views/layouts/application.html.erb:130
msgid "Private: restricted to me and people I invite."
msgstr "Özel: benimle ve davet ettiğim kişilerle sınırlı."
@@ -1543,23 +1547,35 @@ msgstr "şu biçimlerden biri olmalıdır: jpeg, jpg, png, gif, bmp"
msgid "can't be larger than 500KB"
msgstr "500KB'den büyük olamaz"
-#: ../../app/models/plan.rb:60
+#: ../../app/models/plan.rb:62
msgid "organisational"
msgstr "kuruluşla ilgili"
-#: ../../app/models/plan.rb:61
+#: ../../app/models/plan.rb:63
msgid "public"
msgstr "herkese açık"
-#: ../../app/models/plan.rb:62
+#: ../../app/models/plan.rb:64
msgid "test"
msgstr "test"
-#: ../../app/models/plan.rb:63
+#: ../../app/models/plan.rb:65
msgid "private"
msgstr "özel"
-#: ../../app/models/plan.rb:615
+#: ../../app/models/plan.rb:69
+msgid "Planned"
+msgstr ""
+
+#: ../../app/models/plan.rb:70
+msgid "Funded"
+msgstr ""
+
+#: ../../app/models/plan.rb:71
+msgid "Denied"
+msgstr ""
+
+#: ../../app/models/plan.rb:623
msgid "must be after the start date"
msgstr "başlangıç tarihinden sonra olmalıdır"
@@ -1615,39 +1631,39 @@ msgstr "generate_copy! bir kuruluş hedefi gerektirir"
msgid "Copy of %{template}"
msgstr "%{template} şablonunun kopyası"
-#: ../../app/models/template.rb:391
+#: ../../app/models/template.rb:392
msgid "generate_version! requires a published template"
msgstr "generate_version! yayınlanmış bir şablon gerektirir"
-#: ../../app/models/template.rb:405
+#: ../../app/models/template.rb:407
msgid "customize! requires an organisation target"
msgstr "customize! bir kuruluş hedefi gerektirir"
-#: ../../app/models/template.rb:408
+#: ../../app/models/template.rb:410
msgid "customize! requires a template from a funder"
msgstr "customize! bir fon sağlayıcıdan bir şablon gerektirir"
-#: ../../app/models/template.rb:444
+#: ../../app/models/template.rb:447
msgid "You can not publish a published template. "
msgstr "Yayınlanmış bir şablonu yayınlayamazsınız."
-#: ../../app/models/template.rb:448
+#: ../../app/models/template.rb:451
msgid "You can not publish a historical version of this template. "
msgstr "Bu şablonun geçmiş bir sürümünü yayınlayamazsınız."
-#: ../../app/models/template.rb:453
+#: ../../app/models/template.rb:456
msgid "You can not publish a template without phases. "
msgstr "Aşamaları olmayan bir şablonu yayınlayamazsınız."
-#: ../../app/models/template.rb:458
+#: ../../app/models/template.rb:461
msgid "You can not publish a template without sections in a phase. "
msgstr "Bir aşamasında bölüm yer almayan bir şablonu yayınlayamazsınız."
-#: ../../app/models/template.rb:463
+#: ../../app/models/template.rb:466
msgid "You can not publish a template without questions in a section. "
msgstr "Bir bölümünde soru bulunmayan bir şablonu yayınlayamazsınız."
-#: ../../app/models/template.rb:467
+#: ../../app/models/template.rb:470
msgid "Conditions in the template refer backwards"
msgstr "Şablondaki koşullar geriye dönük"
@@ -1844,11 +1860,11 @@ msgstr "Her :dataset için :title zorunludur"
msgid "invalid JSON"
msgstr "Geçersiz JSON"
-#: ../../app/services/template/upgrade_customization_service.rb:67
+#: ../../app/services/template/upgrade_customization_service.rb:66
msgid "upgrade_customization! requires a customised template"
msgstr "upgrade_customization! özelleştirilmiş bir şablon gerektirir"
-#: ../../app/services/template/upgrade_customization_service.rb:71
+#: ../../app/services/template/upgrade_customization_service.rb:70
msgid ""
"upgrade cannot be carried out since there is no published template of its curr"
"ent funder"
@@ -1928,7 +1944,7 @@ msgstr "Lütfen bekleyin, Standartlar yükleniyor"
#: ../../app/views/org_admin/questions/_form.html.erb:99
#: ../../app/views/org_admin/questions/_show.html.erb:209
#: ../../app/views/org_admin/sections/_form.html.erb:17
-#: ../../app/views/org_admin/templates/_form.html.erb:82
+#: ../../app/views/org_admin/templates/_form.html.erb:88
#: ../../app/views/org_admin/users/edit.html.erb:54
#: ../../app/views/orgs/_feedback_form.html.erb:38
#: ../../app/views/orgs/_profile_form.html.erb:197
@@ -1964,14 +1980,14 @@ msgstr "Cevaplandı"
msgid " by %{user_name}"
msgstr " %{user_name} tarafından"
-#: ../../app/views/answers/_status.html.erb:15
-msgid "This answer removes "
-msgstr "Bu cevap şunu kaldırır:"
-
#: ../../app/views/answers/_status.html.erb:15
msgid " questions from your plan."
msgstr " planınızdan sorular."
+#: ../../app/views/answers/_status.html.erb:15
+msgid "This answer removes "
+msgstr "Bu cevap şunu kaldırır:"
+
#: ../../app/views/answers/_status.html.erb:21
msgid "This answer triggers email(s) to "
msgstr "Bu yanıt, e-postaları şu adreslere gitmesine neden olur:"
@@ -2633,7 +2649,7 @@ msgstr ""
" seçebileceklerdir."
#: ../../app/views/guidance_groups/_guidance_group_form.html.erb:15
-#: ../../app/views/org_admin/templates/_form.html.erb:35
+#: ../../app/views/org_admin/templates/_form.html.erb:41
#: ../../app/views/org_admin/templates/_row.html.erb:10
#: ../../app/views/org_admin/templates/_row.html.erb:13
#: ../../app/views/org_admin/templates/_show.html.erb:19
@@ -2969,50 +2985,50 @@ msgstr "Çıkış Yap"
msgid "%{application_name}"
msgstr "%{application_name}"
-#: ../../app/views/layouts/application.html.erb:91
-msgid "Error:"
-msgstr "Hata:"
-
-#: ../../app/views/layouts/application.html.erb:91
+#: ../../app/views/layouts/application.html.erb:92
msgid "Notice:"
msgstr "Bildiri:"
-#: ../../app/views/layouts/application.html.erb:102
+#: ../../app/views/layouts/application.html.erb:92
+msgid "Error:"
+msgstr "Hata:"
+
+#: ../../app/views/layouts/application.html.erb:103
msgid "Loading..."
msgstr "Yükleniyor..."
-#: ../../app/views/layouts/application.html.erb:121
+#: ../../app/views/layouts/application.html.erb:122
#: ../../app/views/plans/new.html.erb:2
msgid "This field is required."
msgstr "Bu alan zorunludur."
-#: ../../app/views/layouts/application.html.erb:123
+#: ../../app/views/layouts/application.html.erb:124
#: ../../app/views/shared/_create_account_form.html.erb:31
msgid "Show password"
msgstr "Şifreyi göster"
-#: ../../app/views/layouts/application.html.erb:124
+#: ../../app/views/layouts/application.html.erb:125
msgid "Select an organisation from the list."
msgstr "Listeden bir kuruluş seçin."
-#: ../../app/views/layouts/application.html.erb:125
+#: ../../app/views/layouts/application.html.erb:126
msgid "My organisation isn't listed"
msgstr "Kuruluşum listelenmedi"
-#: ../../app/views/layouts/application.html.erb:127
+#: ../../app/views/layouts/application.html.erb:128
#: ../../app/views/paginable/plans/_privately_visible.html.erb:42
msgid "N/A"
msgstr "Erişilebilir değil"
-#: ../../app/views/layouts/application.html.erb:131
+#: ../../app/views/layouts/application.html.erb:132
msgid "Hide list."
msgstr "Listeyi gizle."
-#: ../../app/views/layouts/application.html.erb:132
+#: ../../app/views/layouts/application.html.erb:133
msgid "See the full list of partner institutions."
msgstr "Ortak kurumların tam listesine bakın."
-#: ../../app/views/layouts/application.html.erb:134
+#: ../../app/views/layouts/application.html.erb:135
msgid ""
"Unable to find a suitable template for the research organisation and funder yo"
"u selected."
@@ -3020,27 +3036,27 @@ msgstr ""
"Seçtiğiniz araştırma kuruluşu ve fon sağlayıcı için uygun bir şablon bulunamad"
"ı."
-#: ../../app/views/layouts/application.html.erb:135
+#: ../../app/views/layouts/application.html.erb:136
msgid "Please select a research organisation and funder to continue."
msgstr "Devam etmek için lütfen bir araştırma kuruluşu ve fon sağlayıcı seçin."
-#: ../../app/views/layouts/application.html.erb:137
+#: ../../app/views/layouts/application.html.erb:138
msgid "Loading ..."
msgstr "Yükleniyor ..."
-#: ../../app/views/layouts/application.html.erb:138
+#: ../../app/views/layouts/application.html.erb:139
msgid "Unable to load the section's content at this time."
msgstr "Bölümün içeriği şu anda yüklenemiyor"
-#: ../../app/views/layouts/application.html.erb:139
+#: ../../app/views/layouts/application.html.erb:140
msgid "Unable to load the question's content at this time."
msgstr "Sorunun içeriği şu anda yüklenemiyor."
-#: ../../app/views/layouts/application.html.erb:140
+#: ../../app/views/layouts/application.html.erb:141
msgid "Opens in a new window"
msgstr "Yeni bir pencerede açılır"
-#: ../../app/views/layouts/application.html.erb:142
+#: ../../app/views/layouts/application.html.erb:143
msgid ""
"%{n} results are available, use up and down arrows to navigate suggestions. Us"
"e the Enter key to select a suggestion or the Escape key to close the suggesti"
@@ -3050,11 +3066,11 @@ msgstr ""
" Bir öneri seçmek için Enter tuşunu veya önerileri kapatmak için Çıkış tuşunu "
"kullanın."
-#: ../../app/views/layouts/application.html.erb:143
+#: ../../app/views/layouts/application.html.erb:144
msgid "No results are available for your entry."
msgstr "Girişiniz için sonuç bulunamadı."
-#: ../../app/views/layouts/application.html.erb:144
+#: ../../app/views/layouts/application.html.erb:145
msgid "Searching ..."
msgstr "Aranıyor ..."
@@ -3401,14 +3417,14 @@ msgstr "Eylemler"
msgid "Feedback requested"
msgstr "Geri bildirim istendi."
-#: ../../app/views/org_admin/plans/index.html.erb:29
-msgid "Complete"
-msgstr "Tamamlanmış"
-
#: ../../app/views/org_admin/plans/index.html.erb:29
msgid "Notify the plan owner that I have finished providing feedback"
msgstr "Plan sahibine, geri bildirim sağlamayı tamamladığımı bildir"
+#: ../../app/views/org_admin/plans/index.html.erb:29
+msgid "Complete"
+msgstr "Tamamlanmış"
+
#: ../../app/views/org_admin/plans/index.html.erb:39
msgid ""
"Download plans (new window) Info: Simple information message, displayed in blue. 2.0)
websocket-driver (>= 0.6.1)
- actionmailbox (6.1.7.2)
- actionpack (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activestorage (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionmailbox (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activestorage (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
mail (>= 2.7.1)
- actionmailer (6.1.7.2)
- actionpack (= 6.1.7.2)
- actionview (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionmailer (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ actionview (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
- actionpack (6.1.7.2)
- actionview (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionpack (6.1.7.3)
+ actionview (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
rack (~> 2.0, >= 2.0.9)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
- actiontext (6.1.7.2)
- actionpack (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activestorage (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ actiontext (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activestorage (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
nokogiri (>= 1.8.5)
- actionview (6.1.7.2)
- activesupport (= 6.1.7.2)
+ actionview (6.1.7.3)
+ activesupport (= 6.1.7.3)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
- activejob (6.1.7.2)
- activesupport (= 6.1.7.2)
+ activejob (6.1.7.3)
+ activesupport (= 6.1.7.3)
globalid (>= 0.3.6)
- activemodel (6.1.7.2)
- activesupport (= 6.1.7.2)
- activerecord (6.1.7.2)
- activemodel (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ activemodel (6.1.7.3)
+ activesupport (= 6.1.7.3)
+ activerecord (6.1.7.3)
+ activemodel (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
activerecord-import (1.4.1)
activerecord (>= 4.2)
- activestorage (6.1.7.2)
- actionpack (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ activestorage (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
- activesupport (6.1.7.2)
+ activesupport (6.1.7.3)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
ast (2.4.2)
- brakeman (5.4.0)
+ brakeman (6.0.0)
builder (3.2.4)
bundle-audit (0.1.0)
bundler-audit
bundler-audit (0.9.1)
bundler (>= 1.2.0, < 3)
thor (~> 1.0)
- concurrent-ruby (1.2.0)
+ concurrent-ruby (1.2.2)
crass (1.0.6)
date (3.3.3)
erubi (1.12.0)
globalid (1.1.0)
activesupport (>= 5.0)
- i18n (1.12.0)
+ i18n (1.13.0)
concurrent-ruby (~> 1.0)
json (2.6.3)
- jsonpath (1.1.2)
+ jsonpath (1.1.3)
multi_json
- loofah (2.19.1)
+ loofah (2.21.3)
crass (~> 1.0.2)
- nokogiri (>= 1.5.9)
- mail (2.8.0.1)
+ nokogiri (>= 1.12.0)
+ mail (2.8.1)
mini_mime (>= 0.1.1)
net-imap
net-pop
@@ -101,7 +101,7 @@ GEM
marcel (1.0.2)
method_source (1.0.0)
mini_mime (1.1.2)
- minitest (5.17.0)
+ minitest (5.18.0)
multi_json (1.15.0)
net-imap (0.3.4)
date
@@ -112,79 +112,82 @@ GEM
timeout
net-smtp (0.3.3)
net-protocol
- nio4r (2.5.8)
- nokogiri (1.14.1-x86_64-linux)
+ nio4r (2.5.9)
+ nokogiri (1.15.2-x86_64-linux)
racc (~> 1.4)
- parallel (1.22.1)
- parser (3.2.0.0)
+ parallel (1.23.0)
+ parser (3.2.2.1)
ast (~> 2.4.1)
pundit (2.2.0)
activesupport (>= 3.0.0)
racc (1.6.2)
- rack (2.2.6.2)
- rack-test (2.0.2)
+ rack (2.2.7)
+ rack-test (2.1.0)
rack (>= 1.3)
- rails (6.1.7.2)
- actioncable (= 6.1.7.2)
- actionmailbox (= 6.1.7.2)
- actionmailer (= 6.1.7.2)
- actionpack (= 6.1.7.2)
- actiontext (= 6.1.7.2)
- actionview (= 6.1.7.2)
- activejob (= 6.1.7.2)
- activemodel (= 6.1.7.2)
- activerecord (= 6.1.7.2)
- activestorage (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ rails (6.1.7.3)
+ actioncable (= 6.1.7.3)
+ actionmailbox (= 6.1.7.3)
+ actionmailer (= 6.1.7.3)
+ actionpack (= 6.1.7.3)
+ actiontext (= 6.1.7.3)
+ actionview (= 6.1.7.3)
+ activejob (= 6.1.7.3)
+ activemodel (= 6.1.7.3)
+ activerecord (= 6.1.7.3)
+ activestorage (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
bundler (>= 1.15.0)
- railties (= 6.1.7.2)
+ railties (= 6.1.7.3)
sprockets-rails (>= 2.0.0)
rails-dom-testing (2.0.3)
activesupport (>= 4.2.0)
nokogiri (>= 1.6)
rails-html-sanitizer (1.5.0)
loofah (~> 2.19, >= 2.19.1)
- railties (6.1.7.2)
- actionpack (= 6.1.7.2)
- activesupport (= 6.1.7.2)
+ railties (6.1.7.3)
+ actionpack (= 6.1.7.3)
+ activesupport (= 6.1.7.3)
method_source
rake (>= 12.2)
thor (~> 1.0)
rainbow (3.1.1)
rake (13.0.6)
- regexp_parser (2.6.2)
+ regexp_parser (2.8.0)
rexml (3.2.5)
- rubocop (1.44.1)
+ rubocop (1.51.0)
json (~> 2.3)
parallel (~> 1.10)
parser (>= 3.2.0.0)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
- rubocop-ast (>= 1.24.1, < 2.0)
+ rubocop-ast (>= 1.28.0, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
- rubocop-ast (1.24.1)
- parser (>= 3.1.1.0)
- rubocop-capybara (2.17.0)
+ rubocop-ast (1.28.1)
+ parser (>= 3.2.1.0)
+ rubocop-capybara (2.18.0)
rubocop (~> 1.41)
+ rubocop-factory_bot (2.23.1)
+ rubocop (~> 1.33)
rubocop-i18n (3.0.0)
rubocop (~> 1.0)
- rubocop-performance (1.15.2)
+ rubocop-performance (1.18.0)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
- rubocop-rails (2.17.4)
+ rubocop-rails (2.19.1)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
rubocop-rake (0.6.0)
rubocop (~> 1.0)
- rubocop-rspec (2.18.1)
+ rubocop-rspec (2.22.0)
rubocop (~> 1.33)
rubocop-capybara (~> 2.17)
- rubocop-thread_safety (0.4.4)
- rubocop (>= 0.53.0)
- ruby-progressbar (1.11.0)
+ rubocop-factory_bot (~> 2.22)
+ rubocop-thread_safety (0.5.1)
+ rubocop (>= 0.90.0)
+ ruby-progressbar (1.13.0)
sprockets (4.2.0)
concurrent-ruby (~> 1.0)
rack (>= 2.2.4, < 4)
@@ -192,15 +195,15 @@ GEM
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
- thor (1.2.1)
- timeout (0.3.1)
+ thor (1.2.2)
+ timeout (0.3.2)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
unicode-display_width (2.4.2)
websocket-driver (0.7.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
- zeitwerk (2.6.6)
+ zeitwerk (2.6.8)
PLATFORMS
x86_64-linux
@@ -218,4 +221,4 @@ DEPENDENCIES
rubocop-thread_safety
BUNDLED WITH
- 2.4.3
+ 2.4.8
diff --git a/engines/madmp_opidor/app/views/dynamic_form/_linked_fragment.js.erb b/engines/madmp_opidor/app/views/dynamic_form/_linked_fragment.js.erb
index 636d91f2d2..0f7467a510 100644
--- a/engines/madmp_opidor/app/views/dynamic_form/_linked_fragment.js.erb
+++ b/engines/madmp_opidor/app/views/dynamic_form/_linked_fragment.js.erb
@@ -23,7 +23,7 @@ $(() => {
}).on('ajax:error', (e)=> {
const target = $(e.target);
const data = e.detail[0];
- target.find('.message-area').html(data.error).addClass('alert-danger');
+ target.parents('.modal').find('.message-area').html(data.error).addClass('alert-danger');
});
$('#modal-window form :input').on('change', () => {
diff --git a/lib/org_date_rangeable.rb b/lib/org_date_rangeable.rb
index c3ea448ecc..8fac6248ca 100644
--- a/lib/org_date_rangeable.rb
+++ b/lib/org_date_rangeable.rb
@@ -21,15 +21,10 @@ class << self
def split_months_from_creation(org, &block)
starts_at = org.created_at
ends_at = starts_at.end_of_month
- callable = if block.nil?
- proc {}
- else
- ->(start_date, end_date) { block.call(start_date, end_date) }
- end
enumerable = []
until starts_at.future? || ends_at.future?
- callable.call(starts_at, ends_at)
+ yield(starts_at, ends_at) if block
enumerable << { start_date: starts_at, end_date: ends_at }
starts_at = starts_at.next_month.beginning_of_month
ends_at = starts_at.end_of_month
diff --git a/lib/tasks/data_cleanup.rake b/lib/tasks/data_cleanup.rake
index 81cbad941a..e4aa5eebd6 100644
--- a/lib/tasks/data_cleanup.rake
+++ b/lib/tasks/data_cleanup.rake
@@ -230,8 +230,9 @@ namespace :data_cleanup do
def check_length(klass, filter)
ids = []
shoulda = ''
+ skippable = %i[password logo]
filter.attributes.each do |attr|
- next if %i[password logo].include?(attr)
+ next if skippable.include?(attr)
qry = ''
if filter.options[:minimum].present?
diff --git a/lib/tasks/migrate.rake b/lib/tasks/migrate.rake
index 5bc08a9af3..8fac08aabf 100644
--- a/lib/tasks/migrate.rake
+++ b/lib/tasks/migrate.rake
@@ -301,7 +301,7 @@ namespace :migrate do
unless scheme.nil?
users.each do |u|
- next unless u.orcid_id.gsub('orcid.org/', '').match(/^[\d-]+/)
+ next unless u.orcid_id.gsub('orcid.org/', '').match?(/^[\d-]+/)
schemes = u.user_identifiers.collect(&:identifier_scheme_id)
diff --git a/lib/tasks/upgrade.rake b/lib/tasks/upgrade.rake
index 55528d3f7c..4d63b9bfbd 100644
--- a/lib/tasks/upgrade.rake
+++ b/lib/tasks/upgrade.rake
@@ -217,7 +217,7 @@ namespace :upgrade do
puts "\t adding option answers.last.question_options.first.text"
end
end
- answers.reverse.each do |answer|
+ answers.reverse_each do |answer|
if num_text.zero? && answer.text.present? # case first present text
new_answer.text = answer.text
num_text += 1
@@ -832,9 +832,9 @@ namespace :upgrade do
Parallel.map(identifiers, in_threads: 8) do |ui|
# Parallel has trouble with ActiveRecord lazy loading
- require 'org' unless Object.const_defined?('Org')
- require 'identifier' unless Object.const_defined?('Identifier')
- require 'identifier_scheme' unless Object.const_defined?('IdentifierScheme')
+ require 'org' unless Object.const_defined?(:Org)
+ require 'identifier' unless Object.const_defined?(:Identifier)
+ require 'identifier_scheme' unless Object.const_defined?(:IdentifierScheme)
@reconnected ||= Identifier.connection.reconnect! || true
lookup = Identifier.where(identifiable_id: ui.user_id,
@@ -870,9 +870,9 @@ namespace :upgrade do
Parallel.map(identifiers, in_threads: 8) do |oi|
# Parallel has trouble with ActiveRecord lazy loading
- require 'org' unless Object.const_defined?('Org')
- require 'identifier' unless Object.const_defined?('Identifier')
- require 'identifier_scheme' unless Object.const_defined?('IdentifierScheme')
+ require 'org' unless Object.const_defined?(:Org)
+ require 'identifier' unless Object.const_defined?(:Identifier)
+ require 'identifier_scheme' unless Object.const_defined?(:IdentifierScheme)
@reconnected ||= Identifier.connection.reconnect! || true
lookup = Identifier.where(identifiable_id: oi.org_id,
@@ -933,7 +933,7 @@ namespace :upgrade do
next unless rslts.any?
# Just use the first match that contains the search term
- rslt = rslts.select { |r| r[:weight] <= 1 }.first
+ rslt = rslts.find { |r| r[:weight] <= 1 }
next unless rslt.present?
ror_id = rslt[:ror]
@@ -986,11 +986,12 @@ namespace :upgrade do
# Unfortunately can't use the Parallel gem here because we can have collisions
# when creating Orgs
+ common_domains = %w[gmail.com yahoo.com msn.com]
users.each do |user|
# First lookup by email domain
term = user.email.split('@').last
- unless %w[gmail.com yahoo.com msn.com].include?(term)
+ unless common_domains.include?(term)
# Search the local Org table by its URL
matches = Org.where('orgs.target_url LIKE ?', "%#{term}%")
org = matches.first if matches.any?
@@ -1116,10 +1117,10 @@ namespace :upgrade do
next if plan.org_id.present?
# Parallel has trouble with ActiveRecord lazy loading
- require 'plan' unless Object.const_defined?('Plan')
- require 'role' unless Object.const_defined?('Role')
- require 'perm' unless Object.const_defined?('Perm')
- require 'user' unless Object.const_defined?('User')
+ require 'plan' unless Object.const_defined?(:Plan)
+ require 'role' unless Object.const_defined?(:Role)
+ require 'perm' unless Object.const_defined?(:Perm)
+ require 'user' unless Object.const_defined?(:User)
@reconnected ||= Plan.connection.reconnect! || true
next unless plan.owner.present? && plan.owner.org.present?
@@ -1132,9 +1133,9 @@ namespace :upgrade do
next if plan.funder_id.present?
# Parallel has trouble with ActiveRecord lazy loading
- require 'plan' unless Object.const_defined?('Plan')
- require 'template' unless Object.const_defined?('Template')
- require 'org' unless Object.const_defined?('Org')
+ require 'plan' unless Object.const_defined?(:Plan)
+ require 'template' unless Object.const_defined?(:Template)
+ require 'org' unless Object.const_defined?(:Org)
@reconnected ||= Plan.connection.reconnect! || true
next unless plan.funder_name.present? || plan.template.org.funder?
@@ -1166,7 +1167,7 @@ namespace :upgrade do
# Parallel.map(plans, in_threads: 8) do |plan|
plans.each do |plan|
# Parallel has trouble with ActiveRecord lazy loading
- require 'plan' unless Object.const_defined?('Plan')
+ require 'plan' unless Object.const_defined?(:Plan)
@reconnected ||= Plan.connection.reconnect! || true
identifier = Identifier.find_or_create_by(
@@ -1299,7 +1300,7 @@ namespace :upgrade do
org = user.org_id unless org.present?
unless identifier.present?
- ident = user.identifiers.select { |i| i.identifier_scheme == orcid }.first
+ ident = user.identifiers.find { |i| i.identifier_scheme == orcid }
identifier = ident.value if ident.present?
end
end
diff --git a/lib/tasks/utils/update.rake b/lib/tasks/utils/update.rake
new file mode 100644
index 0000000000..0ffe56ec39
--- /dev/null
+++ b/lib/tasks/utils/update.rake
@@ -0,0 +1,23 @@
+# frozen_string_literal: true
+
+namespace :update do
+ desc 'Updates all dependencies'
+ task all: :environment do
+ Rake::Task['update:gems'].execute
+ Rake::Task['update:js'].execute
+ end
+
+ desc 'Updates all Gem dependencies'
+ task gems: :environment do
+ puts 'Updating Gems'
+ system('bundle update')
+ puts 'Ensuring that the x86_65 platform is enabled for CI'
+ system('bundle lock --add-platform x86_64-linux')
+ end
+
+ desc 'Updates all JS dependencies'
+ task js: :environment do
+ puts 'Updating JS'
+ system('yarn upgrade')
+ end
+end
diff --git a/package.json b/package.json
index 2c464ed23a..c2b7ed4646 100644
--- a/package.json
+++ b/package.json
@@ -45,12 +45,12 @@
"bootstrap-3-typeahead": "^4.0.2",
"bootstrap-sass": "3.4.1",
"bootstrap-select": "^1.13.18",
- "chart.js": "^3.8.0",
+ "chart.js": "^4.2.1",
"core-js": "^3.6.5",
"eslint": "^8.18.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.26.0",
- "eslint-webpack-plugin": "^2.6.0",
+ "eslint-webpack-plugin": "^4.0.0",
"jquery": "^3.5.1",
"jquery-ui": "^1.12.1",
"jquery-ui-sass": "^0.0.1",
@@ -64,7 +64,7 @@
"select2-bootstrap-theme": "^0.1.0-beta.10",
"sweetalert2": "^11.7.3",
"timeago.js": "^4.0.2",
- "tinymce": "^5.10.0",
+ "tinymce": "^6.4.1",
"webpack": "^5.75.0",
"webpack-cli": "^5.0.1"
},
diff --git a/public/429.html b/public/429.html
new file mode 100644
index 0000000000..33324d5b6b
--- /dev/null
+++ b/public/429.html
@@ -0,0 +1,29 @@
+
+
+
+ We're sorry, but something went wrong (500)
+
+
+
+
+
+
+
Too Many Requests
+
+
You have exceeded the number of requests for this resource. For security reasons access is limited to a fixed number in a given period. Retry later.
+
+
+
+
+
diff --git a/public/fonts/.keep b/public/fonts/.keep
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/public/tinymce/README.md b/public/tinymce/README.md
deleted file mode 100644
index 30fb5ccf7e..0000000000
--- a/public/tinymce/README.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# README
-
-I've added this file here because I was unable to configure the asset pipeleine to work well with Webpacker for loading this stylesheet theme.
-
-In production mode, these CSS files would be given digest extensions, which TinyMCE would not recognise.
-
-If someone can think of a better approach here, please feel free to reconfigure and remove this dir.
diff --git a/public/tinymce/skins/oxide/content.css b/public/tinymce/skins/oxide/content.css
index 2ac0ccaf53..209ca637f2 100644
--- a/public/tinymce/skins/oxide/content.css
+++ b/public/tinymce/skins/oxide/content.css
@@ -1,11 +1,7 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
.mce-content-body .mce-item-anchor {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+}
+.mce-content-body .mce-item-anchor:empty {
cursor: default;
display: inline-block;
height: 12px !important;
@@ -14,18 +10,39 @@
-moz-user-modify: read-only;
-webkit-user-select: all;
-moz-user-select: all;
- -ms-user-select: all;
- user-select: all;
+ user-select: all;
width: 8px !important;
}
+.mce-content-body .mce-item-anchor:not(:empty) {
+ background-position-x: 2px;
+ display: inline-block;
+ padding-left: 12px;
+}
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
-.tox-comments-visible .tox-comment {
- background-color: #fff0b7;
+.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
+ outline: 3px solid #ffe89d;
}
-.tox-comments-visible .tox-comment--active {
- background-color: #ffe168;
+.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
+ outline: 3px solid #fed635;
+}
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
+ outline: 3px solid #fed635;
+}
+.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
+ background-color: #ffe89d;
+ outline: none;
+}
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
+ background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -70,7 +87,6 @@ pre[class*="language-"] {
-moz-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
- -ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
@@ -118,7 +134,7 @@ pre[class*="language-"] {
.token.punctuation {
color: #999;
}
-.namespace {
+.token.namespace {
opacity: 0.7;
}
.token.property,
@@ -144,6 +160,7 @@ pre[class*="language-"] {
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
+ /* This background color was intended by the author of this theme. */
background: hsla(0, 0%, 100%, 0.5);
}
.token.atrule,
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
+div.mce-footnotes hr {
+ margin-inline-end: auto;
+ margin-inline-start: 0;
+ width: 25%;
+}
+div.mce-footnotes li > a.mce-footnotes-backlink {
+ text-decoration: none;
+}
+@media print {
+ sup.mce-footnote a {
+ color: black;
+ text-decoration: none;
+ }
+ div.mce-footnotes {
+ break-inside: avoid;
+ width: 100%;
+ }
+ div.mce-footnotes li > a.mce-footnotes-backlink {
+ display: none;
+ }
+}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
+.mce-content-body .mce-mergetag:hover {
+ background-color: rgba(0, 108, 231, 0.1);
+}
+.mce-content-body .mce-mergetag-affix {
+ background-color: rgba(0, 108, 231, 0.1);
+ color: #006ce7;
+}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -505,7 +550,6 @@ pre[class*="language-"] {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
}
.mce-content-body td[data-mce-selected]::after,
@@ -526,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
-.mce-content-body img::-moz-selection {
+.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
-.mce-content-body img::selection {
+.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
@@ -537,7 +581,6 @@ pre[class*="language-"] {
opacity: 0;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
}
.ephox-snooker-resizer-cols {
@@ -573,6 +616,9 @@ pre[class*="language-"] {
.mce-toc li {
list-style-type: none;
}
+[data-mce-block] {
+ display: block;
+}
table[style*="border-width: 0px"],
.mce-item-table:not([border]),
.mce-item-table[border="0"],
diff --git a/public/tinymce/skins/oxide/content.inline.css b/public/tinymce/skins/oxide/content.inline.css
index 8e7521d9dd..bc2a9ca074 100644
--- a/public/tinymce/skins/oxide/content.inline.css
+++ b/public/tinymce/skins/oxide/content.inline.css
@@ -1,11 +1,7 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
.mce-content-body .mce-item-anchor {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
+}
+.mce-content-body .mce-item-anchor:empty {
cursor: default;
display: inline-block;
height: 12px !important;
@@ -14,18 +10,39 @@
-moz-user-modify: read-only;
-webkit-user-select: all;
-moz-user-select: all;
- -ms-user-select: all;
- user-select: all;
+ user-select: all;
width: 8px !important;
}
+.mce-content-body .mce-item-anchor:not(:empty) {
+ background-position-x: 2px;
+ display: inline-block;
+ padding-left: 12px;
+}
.mce-content-body .mce-item-anchor[data-mce-selected] {
outline-offset: 1px;
}
-.tox-comments-visible .tox-comment {
- background-color: #fff0b7;
+.tox-comments-visible .tox-comment[contenteditable="false"]:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment img:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment > audio:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment > video:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]) {
+ outline: 3px solid #ffe89d;
}
-.tox-comments-visible .tox-comment--active {
- background-color: #ffe168;
+.tox-comments-visible .tox-comment[contenteditable="false"][data-mce-annotation-active="true"]:not([data-mce-selected]) {
+ outline: 3px solid #fed635;
+}
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] img:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > audio:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] > video:not([data-mce-selected]),
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"] span.mce-preview-object:not([data-mce-selected]) {
+ outline: 3px solid #fed635;
+}
+.tox-comments-visible span.tox-comment:not([data-mce-selected]) {
+ background-color: #ffe89d;
+ outline: none;
+}
+.tox-comments-visible span.tox-comment[data-mce-annotation-active="true"]:not([data-mce-selected="inline-boundary"]) {
+ background-color: #fed635;
}
.tox-checklist > li:not(.tox-checklist--hidden) {
list-style: none;
@@ -70,7 +87,6 @@ pre[class*="language-"] {
-moz-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
- -ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
@@ -118,7 +134,7 @@ pre[class*="language-"] {
.token.punctuation {
color: #999;
}
-.namespace {
+.token.namespace {
opacity: 0.7;
}
.token.property,
@@ -144,6 +160,7 @@ pre[class*="language-"] {
.language-css .token.string,
.style .token.string {
color: #9a6e3a;
+ /* This background color was intended by the author of this theme. */
background: hsla(0, 0%, 100%, 0.5);
}
.token.atrule,
@@ -205,6 +222,27 @@ pre[class*="language-"] {
.tox-cursor-format-painter {
cursor: url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"), default;
}
+div.mce-footnotes hr {
+ margin-inline-end: auto;
+ margin-inline-start: 0;
+ width: 25%;
+}
+div.mce-footnotes li > a.mce-footnotes-backlink {
+ text-decoration: none;
+}
+@media print {
+ sup.mce-footnote a {
+ color: black;
+ text-decoration: none;
+ }
+ div.mce-footnotes {
+ break-inside: avoid;
+ width: 100%;
+ }
+ div.mce-footnotes li > a.mce-footnotes-backlink {
+ display: none;
+ }
+}
.mce-content-body figure.align-left {
float: left;
}
@@ -234,6 +272,13 @@ pre[class*="language-"] {
.mce-preview-object[data-mce-selected="2"] .mce-shim {
display: none;
}
+.mce-content-body .mce-mergetag:hover {
+ background-color: rgba(0, 108, 231, 0.1);
+}
+.mce-content-body .mce-mergetag-affix {
+ background-color: rgba(0, 108, 231, 0.1);
+ color: #006ce7;
+}
.mce-object {
background: transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;
border: 1px dashed #aaa;
@@ -505,7 +550,6 @@ pre[class*="language-"] {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
}
.mce-content-body td[data-mce-selected]::after,
@@ -526,10 +570,10 @@ pre[class*="language-"] {
border-color: rgba(0, 84, 180, 0.7);
}
}
-.mce-content-body img::-moz-selection {
+.mce-content-body img[data-mce-selected]::-moz-selection {
background: none;
}
-.mce-content-body img::selection {
+.mce-content-body img[data-mce-selected]::selection {
background: none;
}
.ephox-snooker-resizer-bar {
@@ -537,7 +581,6 @@ pre[class*="language-"] {
opacity: 0;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
}
.ephox-snooker-resizer-cols {
@@ -573,6 +616,9 @@ pre[class*="language-"] {
.mce-toc li {
list-style-type: none;
}
+[data-mce-block] {
+ display: block;
+}
table[style*="border-width: 0px"],
.mce-item-table:not([border]),
.mce-item-table[border="0"],
diff --git a/public/tinymce/skins/oxide/content.inline.min.css b/public/tinymce/skins/oxide/content.inline.min.css
index b4ab9a3a56..278c86cdbf 100644
--- a/public/tinymce/skins/oxide/content.inline.min.css
+++ b/public/tinymce/skins/oxide/content.inline.min.css
@@ -1,7 +1 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}
+.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe89d}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #fed635}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #fed635}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe89d;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#fed635}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}div.mce-footnotes hr{margin-inline-end:auto;margin-inline-start:0;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{text-decoration:none}@media print{sup.mce-footnote a{color:#000;text-decoration:none}div.mce-footnotes{break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}
diff --git a/public/tinymce/skins/oxide/content.min.css b/public/tinymce/skins/oxide/content.min.css
index 844858d063..fce8adde32 100644
--- a/public/tinymce/skins/oxide/content.min.css
+++ b/public/tinymce/skins/oxide/content.min.css
@@ -1,7 +1 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;-ms-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment{background-color:#fff0b7}.tox-comments-visible .tox-comment--active{background-color:#ffe168}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img::-moz-selection{background:0 0}.mce-content-body img::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse}
+.mce-content-body .mce-item-anchor{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'8'%20height%3D'12'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20d%3D'M0%200L8%200%208%2012%204.09117821%209%200%2012z'%2F%3E%3C%2Fsvg%3E%0A") no-repeat center}.mce-content-body .mce-item-anchor:empty{cursor:default;display:inline-block;height:12px!important;padding:0 2px;-webkit-user-modify:read-only;-moz-user-modify:read-only;-webkit-user-select:all;-moz-user-select:all;user-select:all;width:8px!important}.mce-content-body .mce-item-anchor:not(:empty){background-position-x:2px;display:inline-block;padding-left:12px}.mce-content-body .mce-item-anchor[data-mce-selected]{outline-offset:1px}.tox-comments-visible .tox-comment[contenteditable=false]:not([data-mce-selected]),.tox-comments-visible span.tox-comment img:not([data-mce-selected]),.tox-comments-visible span.tox-comment span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment>video:not([data-mce-selected]){outline:3px solid #ffe89d}.tox-comments-visible .tox-comment[contenteditable=false][data-mce-annotation-active=true]:not([data-mce-selected]){outline:3px solid #fed635}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] img:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true] span.mce-preview-object:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>audio:not([data-mce-selected]),.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]>video:not([data-mce-selected]){outline:3px solid #fed635}.tox-comments-visible span.tox-comment:not([data-mce-selected]){background-color:#ffe89d;outline:0}.tox-comments-visible span.tox-comment[data-mce-annotation-active=true]:not([data-mce-selected=inline-boundary]){background-color:#fed635}.tox-checklist>li:not(.tox-checklist--hidden){list-style:none;margin:.25em 0}.tox-checklist>li:not(.tox-checklist--hidden)::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-unchecked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2215%22%20height%3D%2215%22%20x%3D%22.5%22%20y%3D%22.5%22%20fill-rule%3D%22nonzero%22%20stroke%3D%22%234C4C4C%22%20rx%3D%222%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A");cursor:pointer;height:1em;margin-left:-1.5em;margin-top:.125em;position:absolute;width:1em}.tox-checklist li:not(.tox-checklist--hidden).tox-checklist--checked::before{content:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%3E%3Cg%20id%3D%22checklist-checked%22%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%3Crect%20id%3D%22Rectangle%22%20width%3D%2216%22%20height%3D%2216%22%20fill%3D%22%234099FF%22%20fill-rule%3D%22nonzero%22%20rx%3D%222%22%2F%3E%3Cpath%20id%3D%22Path%22%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M11.5703186%2C3.14417309%20C11.8516238%2C2.73724603%2012.4164781%2C2.62829933%2012.83558%2C2.89774797%20C13.260121%2C3.17069355%2013.3759736%2C3.72932262%2013.0909105%2C4.14168582%20L7.7580587%2C11.8560195%20C7.43776896%2C12.3193404%206.76483983%2C12.3852142%206.35607322%2C11.9948725%20L3.02491697%2C8.8138662%20C2.66090143%2C8.46625845%202.65798871%2C7.89594698%203.01850234%2C7.54483354%20C3.373942%2C7.19866177%203.94940006%2C7.19592841%204.30829608%2C7.5386474%20L6.85276923%2C9.9684299%20L11.5703186%2C3.14417309%20Z%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E%0A")}[dir=rtl] .tox-checklist>li:not(.tox-checklist--hidden)::before{margin-left:0;margin-right:-1.5em}code[class*=language-],pre[class*=language-]{color:#000;background:0 0;text-shadow:0 1px #fff;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}code[class*=language-] ::-moz-selection,code[class*=language-]::-moz-selection,pre[class*=language-] ::-moz-selection,pre[class*=language-]::-moz-selection{text-shadow:none;background:#b3d4fc}code[class*=language-] ::selection,code[class*=language-]::selection,pre[class*=language-] ::selection,pre[class*=language-]::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f5f2f0}:not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.token.namespace{opacity:.7}.token.boolean,.token.constant,.token.deleted,.token.number,.token.property,.token.symbol,.token.tag{color:#905}.token.attr-name,.token.builtin,.token.char,.token.inserted,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{color:#9a6e3a;background:hsla(0,0%,100%,.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.class-name,.token.function{color:#dd4a68}.token.important,.token.regex,.token.variable{color:#e90}.token.bold,.token.important{font-weight:700}.token.italic{font-style:italic}.token.entity{cursor:help}.mce-content-body{overflow-wrap:break-word;word-wrap:break-word}.mce-content-body .mce-visual-caret{background-color:#000;background-color:currentColor;position:absolute}.mce-content-body .mce-visual-caret-hidden{display:none}.mce-content-body [data-mce-caret]{left:-1000px;margin:0;padding:0;position:absolute;right:auto;top:0}.mce-content-body .mce-offscreen-selection{left:-2000000px;max-width:1000000px;position:absolute}.mce-content-body [contentEditable=false]{cursor:default}.mce-content-body [contentEditable=true]{cursor:text}.tox-cursor-format-painter{cursor:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%3E%0A%20%20%3Cg%20fill%3D%22none%22%20fill-rule%3D%22evenodd%22%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M15%2C6%20C15%2C5.45%2014.55%2C5%2014%2C5%20L6%2C5%20C5.45%2C5%205%2C5.45%205%2C6%20L5%2C10%20C5%2C10.55%205.45%2C11%206%2C11%20L14%2C11%20C14.55%2C11%2015%2C10.55%2015%2C10%20L15%2C9%20L16%2C9%20L16%2C12%20L9%2C12%20L9%2C19%20C9%2C19.55%209.45%2C20%2010%2C20%20L11%2C20%20C11.55%2C20%2012%2C19.55%2012%2C19%20L12%2C14%20L18%2C14%20L18%2C7%20L15%2C7%20L15%2C6%20Z%22%2F%3E%0A%20%20%20%20%3Cpath%20fill%3D%22%23000%22%20fill-rule%3D%22nonzero%22%20d%3D%22M1%2C1%20L8.25%2C1%20C8.66421356%2C1%209%2C1.33578644%209%2C1.75%20L9%2C1.75%20C9%2C2.16421356%208.66421356%2C2.5%208.25%2C2.5%20L2.5%2C2.5%20L2.5%2C8.25%20C2.5%2C8.66421356%202.16421356%2C9%201.75%2C9%20L1.75%2C9%20C1.33578644%2C9%201%2C8.66421356%201%2C8.25%20L1%2C1%20Z%22%2F%3E%0A%20%20%3C%2Fg%3E%0A%3C%2Fsvg%3E%0A"),default}div.mce-footnotes hr{margin-inline-end:auto;margin-inline-start:0;width:25%}div.mce-footnotes li>a.mce-footnotes-backlink{text-decoration:none}@media print{sup.mce-footnote a{color:#000;text-decoration:none}div.mce-footnotes{break-inside:avoid;width:100%}div.mce-footnotes li>a.mce-footnotes-backlink{display:none}}.mce-content-body figure.align-left{float:left}.mce-content-body figure.align-right{float:right}.mce-content-body figure.image.align-center{display:table;margin-left:auto;margin-right:auto}.mce-preview-object{border:1px solid gray;display:inline-block;line-height:0;margin:0 2px 0 2px;position:relative}.mce-preview-object .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-content-body .mce-mergetag:hover{background-color:rgba(0,108,231,.1)}.mce-content-body .mce-mergetag-affix{background-color:rgba(0,108,231,.1);color:#006ce7}.mce-object{background:transparent url("data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%3E%3Cpath%20d%3D%22M4%203h16a1%201%200%200%201%201%201v16a1%201%200%200%201-1%201H4a1%201%200%200%201-1-1V4a1%201%200%200%201%201-1zm1%202v14h14V5H5zm4.79%202.565l5.64%204.028a.5.5%200%200%201%200%20.814l-5.64%204.028a.5.5%200%200%201-.79-.407V7.972a.5.5%200%200%201%20.79-.407z%22%2F%3E%3C%2Fsvg%3E%0A") no-repeat center;border:1px dashed #aaa}.mce-pagebreak{border:1px dashed #aaa;cursor:default;display:block;height:5px;margin-top:15px;page-break-before:always;width:100%}@media print{.mce-pagebreak{border:0}}.tiny-pageembed .mce-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7);height:100%;left:0;position:absolute;top:0;width:100%}.tiny-pageembed[data-mce-selected="2"] .mce-shim{display:none}.tiny-pageembed{display:inline-block;position:relative}.tiny-pageembed--16by9,.tiny-pageembed--1by1,.tiny-pageembed--21by9,.tiny-pageembed--4by3{display:block;overflow:hidden;padding:0;position:relative;width:100%}.tiny-pageembed--21by9{padding-top:42.857143%}.tiny-pageembed--16by9{padding-top:56.25%}.tiny-pageembed--4by3{padding-top:75%}.tiny-pageembed--1by1{padding-top:100%}.tiny-pageembed--16by9 iframe,.tiny-pageembed--1by1 iframe,.tiny-pageembed--21by9 iframe,.tiny-pageembed--4by3 iframe{border:0;height:100%;left:0;position:absolute;top:0;width:100%}.mce-content-body[data-mce-placeholder]{position:relative}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks)::before{color:rgba(34,47,62,.7);content:attr(data-mce-placeholder);position:absolute}.mce-content-body:not([dir=rtl])[data-mce-placeholder]:not(.mce-visualblocks)::before{left:1px}.mce-content-body[dir=rtl][data-mce-placeholder]:not(.mce-visualblocks)::before{right:1px}.mce-content-body div.mce-resizehandle{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;height:10px;position:absolute;width:10px;z-index:1298}.mce-content-body div.mce-resizehandle:hover{background-color:#4099ff}.mce-content-body div.mce-resizehandle:nth-of-type(1){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(2){cursor:nesw-resize}.mce-content-body div.mce-resizehandle:nth-of-type(3){cursor:nwse-resize}.mce-content-body div.mce-resizehandle:nth-of-type(4){cursor:nesw-resize}.mce-content-body .mce-resize-backdrop{z-index:10000}.mce-content-body .mce-clonedresizable{cursor:default;opacity:.5;outline:1px dashed #000;position:absolute;z-index:10001}.mce-content-body .mce-clonedresizable.mce-resizetable-columns td,.mce-content-body .mce-clonedresizable.mce-resizetable-columns th{border:0}.mce-content-body .mce-resize-helper{background:#555;background:rgba(0,0,0,.75);border:1px;border-radius:3px;color:#fff;display:none;font-family:sans-serif;font-size:12px;line-height:14px;margin:5px 10px;padding:5px;position:absolute;white-space:nowrap;z-index:10002}.tox-rtc-user-selection{position:relative}.tox-rtc-user-cursor{bottom:0;cursor:default;position:absolute;top:0;width:2px}.tox-rtc-user-cursor::before{background-color:inherit;border-radius:50%;content:'';display:block;height:8px;position:absolute;right:-3px;top:-3px;width:8px}.tox-rtc-user-cursor:hover::after{background-color:inherit;border-radius:100px;box-sizing:border-box;color:#fff;content:attr(data-user);display:block;font-size:12px;font-weight:700;left:-5px;min-height:8px;min-width:8px;padding:0 12px;position:absolute;top:-11px;white-space:nowrap;z-index:1000}.tox-rtc-user-selection--1 .tox-rtc-user-cursor{background-color:#2dc26b}.tox-rtc-user-selection--2 .tox-rtc-user-cursor{background-color:#e03e2d}.tox-rtc-user-selection--3 .tox-rtc-user-cursor{background-color:#f1c40f}.tox-rtc-user-selection--4 .tox-rtc-user-cursor{background-color:#3598db}.tox-rtc-user-selection--5 .tox-rtc-user-cursor{background-color:#b96ad9}.tox-rtc-user-selection--6 .tox-rtc-user-cursor{background-color:#e67e23}.tox-rtc-user-selection--7 .tox-rtc-user-cursor{background-color:#aaa69d}.tox-rtc-user-selection--8 .tox-rtc-user-cursor{background-color:#f368e0}.tox-rtc-remote-image{background:#eaeaea url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2236%22%20height%3D%2212%22%20viewBox%3D%220%200%2036%2012%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%3Ccircle%20cx%3D%226%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2218%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.33s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%20%20%3Ccircle%20cx%3D%2230%22%20cy%3D%226%22%20r%3D%223%22%20fill%3D%22rgba(0%2C%200%2C%200%2C%20.2)%22%3E%0A%20%20%20%20%3Canimate%20attributeName%3D%22r%22%20values%3D%223%3B5%3B3%22%20calcMode%3D%22linear%22%20begin%3D%22.66s%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%20%2F%3E%0A%20%20%3C%2Fcircle%3E%0A%3C%2Fsvg%3E%0A") no-repeat center center;border:1px solid #ccc;min-height:240px;min-width:320px}.mce-match-marker{background:#aaa;color:#fff}.mce-match-marker-selected{background:#39f;color:#fff}.mce-match-marker-selected::-moz-selection{background:#39f;color:#fff}.mce-match-marker-selected::selection{background:#39f;color:#fff}.mce-content-body audio[data-mce-selected],.mce-content-body embed[data-mce-selected],.mce-content-body img[data-mce-selected],.mce-content-body object[data-mce-selected],.mce-content-body table[data-mce-selected],.mce-content-body video[data-mce-selected]{outline:3px solid #b4d7ff}.mce-content-body hr[data-mce-selected]{outline:3px solid #b4d7ff;outline-offset:1px}.mce-content-body [contentEditable=false] [contentEditable=true]:focus{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false] [contentEditable=true]:hover{outline:3px solid #b4d7ff}.mce-content-body [contentEditable=false][data-mce-selected]{cursor:not-allowed;outline:3px solid #b4d7ff}.mce-content-body.mce-content-readonly [contentEditable=true]:focus,.mce-content-body.mce-content-readonly [contentEditable=true]:hover{outline:0}.mce-content-body [data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-content-body .mce-edit-focus{outline:3px solid #b4d7ff}.mce-content-body td[data-mce-selected],.mce-content-body th[data-mce-selected]{position:relative}.mce-content-body td[data-mce-selected]::-moz-selection,.mce-content-body th[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body td[data-mce-selected]::selection,.mce-content-body th[data-mce-selected]::selection{background:0 0}.mce-content-body td[data-mce-selected] *,.mce-content-body th[data-mce-selected] *{outline:0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{background-color:rgba(180,215,255,.7);border:1px solid rgba(180,215,255,.7);bottom:-1px;content:'';left:-1px;mix-blend-mode:multiply;position:absolute;right:-1px;top:-1px}@media screen and (-ms-high-contrast:active),(-ms-high-contrast:none){.mce-content-body td[data-mce-selected]::after,.mce-content-body th[data-mce-selected]::after{border-color:rgba(0,84,180,.7)}}.mce-content-body img[data-mce-selected]::-moz-selection{background:0 0}.mce-content-body img[data-mce-selected]::selection{background:0 0}.ephox-snooker-resizer-bar{background-color:#b4d7ff;opacity:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ephox-snooker-resizer-cols{cursor:col-resize}.ephox-snooker-resizer-rows{cursor:row-resize}.ephox-snooker-resizer-bar.ephox-snooker-resizer-bar-dragging{opacity:1}.mce-spellchecker-word{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%23ff0000'%20fill%3D'none'%20stroke-linecap%3D'round'%20stroke-opacity%3D'.75'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default;height:2rem}.mce-spellchecker-grammar{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D'4'%20height%3D'4'%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%3E%3Cpath%20stroke%3D'%2300A835'%20fill%3D'none'%20stroke-linecap%3D'round'%20d%3D'M0%203L2%201%204%203'%2F%3E%3C%2Fsvg%3E%0A");background-position:0 calc(100% + 1px);background-repeat:repeat-x;background-size:auto 6px;cursor:default}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}[data-mce-block]{display:block}.mce-item-table:not([border]),.mce-item-table:not([border]) caption,.mce-item-table:not([border]) td,.mce-item-table:not([border]) th,.mce-item-table[border="0"],.mce-item-table[border="0"] caption,.mce-item-table[border="0"] td,.mce-item-table[border="0"] th,table[style*="border-width: 0px"],table[style*="border-width: 0px"] caption,table[style*="border-width: 0px"] td,table[style*="border-width: 0px"] th{border:1px dashed #bbb}.mce-visualblocks address,.mce-visualblocks article,.mce-visualblocks aside,.mce-visualblocks blockquote,.mce-visualblocks div:not([data-mce-bogus]),.mce-visualblocks dl,.mce-visualblocks figcaption,.mce-visualblocks figure,.mce-visualblocks h1,.mce-visualblocks h2,.mce-visualblocks h3,.mce-visualblocks h4,.mce-visualblocks h5,.mce-visualblocks h6,.mce-visualblocks hgroup,.mce-visualblocks ol,.mce-visualblocks p,.mce-visualblocks pre,.mce-visualblocks section,.mce-visualblocks ul{background-repeat:no-repeat;border:1px dashed #bbb;margin-left:3px;padding-top:10px}.mce-visualblocks p{background-image:url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7)}.mce-visualblocks h1{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==)}.mce-visualblocks h2{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==)}.mce-visualblocks h3{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7)}.mce-visualblocks h4{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==)}.mce-visualblocks h5{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==)}.mce-visualblocks h6{background-image:url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==)}.mce-visualblocks div:not([data-mce-bogus]){background-image:url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7)}.mce-visualblocks section{background-image:url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=)}.mce-visualblocks article{background-image:url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7)}.mce-visualblocks blockquote{background-image:url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7)}.mce-visualblocks address{background-image:url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=)}.mce-visualblocks pre{background-image:url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==)}.mce-visualblocks figure{background-image:url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7)}.mce-visualblocks figcaption{border:1px dashed #bbb}.mce-visualblocks hgroup{background-image:url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7)}.mce-visualblocks aside{background-image:url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=)}.mce-visualblocks ul{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==)}.mce-visualblocks ol{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==)}.mce-visualblocks dl{background-image:url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==)}.mce-visualblocks:not([dir=rtl]) address,.mce-visualblocks:not([dir=rtl]) article,.mce-visualblocks:not([dir=rtl]) aside,.mce-visualblocks:not([dir=rtl]) blockquote,.mce-visualblocks:not([dir=rtl]) div:not([data-mce-bogus]),.mce-visualblocks:not([dir=rtl]) dl,.mce-visualblocks:not([dir=rtl]) figcaption,.mce-visualblocks:not([dir=rtl]) figure,.mce-visualblocks:not([dir=rtl]) h1,.mce-visualblocks:not([dir=rtl]) h2,.mce-visualblocks:not([dir=rtl]) h3,.mce-visualblocks:not([dir=rtl]) h4,.mce-visualblocks:not([dir=rtl]) h5,.mce-visualblocks:not([dir=rtl]) h6,.mce-visualblocks:not([dir=rtl]) hgroup,.mce-visualblocks:not([dir=rtl]) ol,.mce-visualblocks:not([dir=rtl]) p,.mce-visualblocks:not([dir=rtl]) pre,.mce-visualblocks:not([dir=rtl]) section,.mce-visualblocks:not([dir=rtl]) ul{margin-left:3px}.mce-visualblocks[dir=rtl] address,.mce-visualblocks[dir=rtl] article,.mce-visualblocks[dir=rtl] aside,.mce-visualblocks[dir=rtl] blockquote,.mce-visualblocks[dir=rtl] div:not([data-mce-bogus]),.mce-visualblocks[dir=rtl] dl,.mce-visualblocks[dir=rtl] figcaption,.mce-visualblocks[dir=rtl] figure,.mce-visualblocks[dir=rtl] h1,.mce-visualblocks[dir=rtl] h2,.mce-visualblocks[dir=rtl] h3,.mce-visualblocks[dir=rtl] h4,.mce-visualblocks[dir=rtl] h5,.mce-visualblocks[dir=rtl] h6,.mce-visualblocks[dir=rtl] hgroup,.mce-visualblocks[dir=rtl] ol,.mce-visualblocks[dir=rtl] p,.mce-visualblocks[dir=rtl] pre,.mce-visualblocks[dir=rtl] section,.mce-visualblocks[dir=rtl] ul{background-position-x:right;margin-right:3px}.mce-nbsp,.mce-shy{background:#aaa}.mce-shy::after{content:'-'}body{font-family:sans-serif}table{border-collapse:collapse}
diff --git a/public/tinymce/skins/oxide/content.mobile.css b/public/tinymce/skins/oxide/content.mobile.css
deleted file mode 100644
index 4bdb8babcb..0000000000
--- a/public/tinymce/skins/oxide/content.mobile.css
+++ /dev/null
@@ -1,29 +0,0 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection {
- /* Note: this file is used inside the content, so isn't part of theming */
- background-color: green;
- display: inline-block;
- opacity: 0.5;
- position: absolute;
-}
-body {
- -webkit-text-size-adjust: none;
-}
-body img {
- /* this is related to the content margin */
- max-width: 96vw;
-}
-body table img {
- max-width: 95%;
-}
-body {
- font-family: sans-serif;
-}
-table {
- border-collapse: collapse;
-}
diff --git a/public/tinymce/skins/oxide/content.mobile.min.css b/public/tinymce/skins/oxide/content.mobile.min.css
deleted file mode 100644
index 35f7dc08bc..0000000000
--- a/public/tinymce/skins/oxide/content.mobile.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-.tinymce-mobile-unfocused-selections .tinymce-mobile-unfocused-selection{background-color:green;display:inline-block;opacity:.5;position:absolute}body{-webkit-text-size-adjust:none}body img{max-width:96vw}body table img{max-width:95%}body{font-family:sans-serif}table{border-collapse:collapse}
diff --git a/public/tinymce/skins/oxide/fonts/tinymce-mobile.woff b/public/tinymce/skins/oxide/fonts/tinymce-mobile.woff
deleted file mode 100644
index 1e3be038a6..0000000000
Binary files a/public/tinymce/skins/oxide/fonts/tinymce-mobile.woff and /dev/null differ
diff --git a/public/tinymce/skins/oxide/skin.css b/public/tinymce/skins/oxide/skin.css
index 49a82faf0f..a24762c0a9 100644
--- a/public/tinymce/skins/oxide/skin.css
+++ b/public/tinymce/skins/oxide/skin.css
@@ -1,9 +1,3 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
.tox {
box-shadow: none;
box-sizing: content-box;
@@ -62,8 +56,8 @@
text-align: right;
}
.tox-tinymce {
- border: 1px solid #cccccc;
- border-radius: 0;
+ border: 2px solid #eeeeee;
+ border-radius: 10px;
box-shadow: none;
box-sizing: border-box;
display: flex;
@@ -73,15 +67,20 @@
position: relative;
visibility: inherit !important;
}
-.tox-tinymce-inline {
+.tox.tox-tinymce-inline {
border: none;
box-shadow: none;
+ overflow: initial;
}
-.tox-tinymce-inline .tox-editor-header {
- background-color: transparent;
- border: 1px solid #cccccc;
- border-radius: 0;
+.tox.tox-tinymce-inline .tox-editor-container {
+ overflow: initial;
+}
+.tox.tox-tinymce-inline .tox-editor-header {
+ background-color: #fff;
+ border: 2px solid #eeeeee;
+ border-radius: 10px;
box-shadow: none;
+ overflow: hidden;
}
.tox-tinymce-aux {
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
@@ -104,8 +103,7 @@ button::-moz-focus-inner {
}
.tox .accessibility-issue__description {
align-items: stretch;
- border: 1px solid #cccccc;
- border-radius: 3px;
+ border-radius: 6px;
display: flex;
justify-content: space-between;
}
@@ -117,83 +115,101 @@ button::-moz-focus-inner {
display: flex;
margin-bottom: 4px;
}
-.tox .accessibility-issue__description > *:last-child:not(:only-child) {
- border-color: #cccccc;
- border-style: solid;
+.tox .accessibility-issue__description > div > div .tox-icon svg {
+ display: block;
}
.tox .accessibility-issue__repair {
margin-top: 16px;
}
.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description {
- background-color: rgba(32, 122, 183, 0.1);
- border-color: rgba(32, 122, 183, 0.4);
+ background-color: rgba(0, 101, 216, 0.1);
color: #222f3e;
}
-.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description > *:last-child {
- border-color: rgba(32, 122, 183, 0.4);
-}
.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2 {
- color: #207ab7;
+ color: #006ce7;
}
.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg {
- fill: #207ab7;
+ fill: #006ce7;
+}
+.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon {
+ background-color: #006ce7;
+ color: #fff;
+}
+.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover,
+.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus {
+ background-color: #0060ce;
}
-.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon {
- color: #207ab7;
+.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active {
+ background-color: #0054b4;
+}
+.tox .tox-dialog__body-content .accessibility-issue--warn {
+ /* stylelint-disable-next-line no-descending-specificity */
}
.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description {
- background-color: rgba(255, 165, 0, 0.1);
- border-color: rgba(255, 165, 0, 0.5);
+ background-color: rgba(255, 165, 0, 0.08);
color: #222f3e;
}
-.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description > *:last-child {
- border-color: rgba(255, 165, 0, 0.5);
-}
.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2 {
- color: #cc8500;
+ color: #8f5d00;
}
.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg {
- fill: #cc8500;
+ fill: #8f5d00;
+}
+.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon {
+ background-color: #FFE89D;
+ color: #222f3e;
+}
+.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover,
+.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus {
+ background-color: #F2D574;
+ color: #222f3e;
+}
+.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active {
+ background-color: #E8C657;
+ color: #222f3e;
}
-.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon {
- color: #cc8500;
+.tox .tox-dialog__body-content .accessibility-issue--error {
+ /* stylelint-disable-next-line no-descending-specificity */
}
.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description {
background-color: rgba(204, 0, 0, 0.1);
- border-color: rgba(204, 0, 0, 0.4);
color: #222f3e;
}
-.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description > *:last-child {
- border-color: rgba(204, 0, 0, 0.4);
-}
.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2 {
color: #c00;
}
.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg {
fill: #c00;
}
-.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon {
- color: #c00;
+.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon {
+ background-color: #F2BFBF;
+ color: #222f3e;
+}
+.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover,
+.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus {
+ background-color: #E9A4A4;
+ color: #222f3e;
+}
+.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active {
+ background-color: #EE9494;
+ color: #222f3e;
}
.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description {
background-color: rgba(120, 171, 70, 0.1);
- border-color: rgba(120, 171, 70, 0.4);
color: #222f3e;
}
.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description > *:last-child {
- border-color: rgba(120, 171, 70, 0.4);
+ display: none;
}
.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2 {
- color: #78AB46;
+ color: #527530;
}
.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg {
- fill: #78AB46;
-}
-.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon {
- color: #78AB46;
+ fill: #527530;
}
-.tox .tox-dialog__body-content .accessibility-issue__header h1,
+.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,
.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2 {
+ font-size: 14px;
margin-top: 0;
}
.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button {
@@ -205,10 +221,6 @@ button::-moz-focus-inner {
.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description {
padding: 4px 4px 4px 8px;
}
-.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description > *:last-child {
- border-left-width: 1px;
- padding-left: 4px;
-}
.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button {
margin-right: 4px;
}
@@ -218,9 +230,30 @@ button::-moz-focus-inner {
.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description {
padding: 4px 8px 4px 4px;
}
-.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description > *:last-child {
- border-right-width: 1px;
- padding-right: 4px;
+.tox .tox-advtemplate .tox-form__grid {
+ flex: 1;
+}
+.tox .tox-advtemplate .tox-form__grid > div:first-child {
+ display: flex;
+ flex-direction: column;
+ width: 30%;
+}
+.tox .tox-advtemplate .tox-form__grid > div:first-child > div:nth-child(2) {
+ flex-basis: 0;
+ flex-grow: 1;
+ overflow: auto;
+}
+@media only screen and (max-width: 767px ) {
+ body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid > div:first-child {
+ width: 100%;
+ }
+}
+.tox .tox-advtemplate iframe {
+ border-color: #eeeeee;
+ border-radius: 10px;
+ border-style: solid;
+ border-width: 1px;
+ margin: 0 10px;
}
.tox .tox-anchorbar {
display: flex;
@@ -231,12 +264,12 @@ button::-moz-focus-inner {
flex: 0 0 auto;
}
.tox .tox-button {
- background-color: #207ab7;
+ background-color: #006ce7;
background-image: none;
background-position: 0 0;
background-repeat: repeat;
- border-color: #207ab7;
- border-radius: 3px;
+ border-color: #006ce7;
+ border-radius: 6px;
border-style: solid;
border-width: 1px;
box-shadow: none;
@@ -253,47 +286,91 @@ button::-moz-focus-inner {
margin: 0;
outline: none;
padding: 4px 16px;
+ position: relative;
text-align: center;
text-decoration: none;
text-transform: none;
white-space: nowrap;
}
+.tox .tox-button::before {
+ border-radius: 6px;
+ bottom: -1px;
+ box-shadow: inset 0 0 0 2px #fff, 0 0 0 1px #006ce7, 0 0 0 3px rgba(0, 108, 231, 0.25);
+ content: '';
+ left: -1px;
+ opacity: 0;
+ pointer-events: none;
+ position: absolute;
+ right: -1px;
+ top: -1px;
+}
.tox .tox-button[disabled] {
- background-color: #207ab7;
+ background-color: #006ce7;
background-image: none;
- border-color: #207ab7;
+ border-color: #006ce7;
box-shadow: none;
color: rgba(255, 255, 255, 0.5);
cursor: not-allowed;
}
.tox .tox-button:focus:not(:disabled) {
- background-color: #1c6ca1;
+ background-color: #0060ce;
background-image: none;
- border-color: #1c6ca1;
+ border-color: #0060ce;
box-shadow: none;
color: #fff;
}
+.tox .tox-button:focus-visible:not(:disabled)::before {
+ opacity: 1;
+}
.tox .tox-button:hover:not(:disabled) {
- background-color: #1c6ca1;
+ background-color: #0060ce;
background-image: none;
- border-color: #1c6ca1;
+ border-color: #0060ce;
box-shadow: none;
color: #fff;
}
.tox .tox-button:active:not(:disabled) {
- background-color: #185d8c;
+ background-color: #0054b4;
background-image: none;
- border-color: #185d8c;
+ border-color: #0054b4;
box-shadow: none;
color: #fff;
}
+.tox .tox-button.tox-button--enabled,
+.tox .tox-button.tox-button--enabled:hover {
+ background: #a6ccf7;
+ border-width: 1px;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-button.tox-button--enabled > *,
+.tox .tox-button.tox-button--enabled:hover > * {
+ transform: none;
+}
+.tox .tox-button.tox-button--enabled svg,
+.tox .tox-button.tox-button--enabled:hover svg {
+ /* stylelint-disable-line no-descending-specificity */
+ fill: #222f3e;
+}
+.tox .tox-button--icon-and-text,
+.tox .tox-button.tox-button--icon-and-text,
+.tox .tox-button.tox-button--secondary.tox-button--icon-and-text {
+ display: flex;
+ padding: 5px 4px;
+}
+.tox .tox-button--icon-and-text .tox-icon svg,
+.tox .tox-button.tox-button--icon-and-text .tox-icon svg,
+.tox .tox-button.tox-button--secondary.tox-button--icon-and-text .tox-icon svg {
+ display: block;
+ fill: currentColor;
+}
.tox .tox-button--secondary {
background-color: #f0f0f0;
background-image: none;
background-position: 0 0;
background-repeat: repeat;
border-color: #f0f0f0;
- border-radius: 3px;
+ border-radius: 6px;
border-style: solid;
border-width: 1px;
box-shadow: none;
@@ -370,27 +447,27 @@ button::-moz-focus-inner {
color: #222f3e;
}
.tox .tox-button--naked[disabled] {
- background-color: #f0f0f0;
- border-color: #f0f0f0;
- box-shadow: none;
+ background-color: rgba(34, 47, 62, 0.12);
+ border-color: transparent;
+ box-shadow: unset;
color: rgba(34, 47, 62, 0.5);
}
.tox .tox-button--naked:hover:not(:disabled) {
- background-color: #e3e3e3;
- border-color: #e3e3e3;
- box-shadow: none;
+ background-color: rgba(34, 47, 62, 0.12);
+ border-color: transparent;
+ box-shadow: unset;
color: #222f3e;
}
.tox .tox-button--naked:focus:not(:disabled) {
- background-color: #e3e3e3;
- border-color: #e3e3e3;
- box-shadow: none;
+ background-color: rgba(34, 47, 62, 0.12);
+ border-color: transparent;
+ box-shadow: unset;
color: #222f3e;
}
.tox .tox-button--naked:active:not(:disabled) {
- background-color: #d6d6d6;
- border-color: #d6d6d6;
- box-shadow: none;
+ background-color: rgba(34, 47, 62, 0.18);
+ border-color: transparent;
+ box-shadow: unset;
color: #222f3e;
}
.tox .tox-button--naked .tox-icon svg {
@@ -401,7 +478,7 @@ button::-moz-focus-inner {
}
.tox .tox-checkbox {
align-items: center;
- border-radius: 3px;
+ border-radius: 6px;
cursor: pointer;
display: flex;
height: 36px;
@@ -417,7 +494,7 @@ button::-moz-focus-inner {
}
.tox .tox-checkbox__icons {
align-items: center;
- border-radius: 3px;
+ border-radius: 6px;
box-shadow: 0 0 0 2px transparent;
box-sizing: content-box;
display: flex;
@@ -432,11 +509,11 @@ button::-moz-focus-inner {
}
.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg {
display: none;
- fill: #207ab7;
+ fill: #006ce7;
}
.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg {
display: none;
- fill: #207ab7;
+ fill: #006ce7;
}
.tox .tox-checkbox--disabled {
color: rgba(34, 47, 62, 0.5);
@@ -464,8 +541,8 @@ button::-moz-focus-inner {
display: block;
}
.tox input.tox-checkbox__input:focus + .tox-checkbox__icons {
- border-radius: 3px;
- box-shadow: inset 0 0 0 1px #207ab7;
+ border-radius: 6px;
+ box-shadow: inset 0 0 0 1px #006ce7;
padding: calc(4px - 1px);
}
.tox:not([dir=rtl]) .tox-checkbox__label {
@@ -503,7 +580,7 @@ button::-moz-focus-inner {
}
.tox .tox-collection--list .tox-collection__group {
border-bottom-width: 0;
- border-color: #cccccc;
+ border-color: #e3e3e3;
border-left-width: 0;
border-right-width: 0;
border-style: solid;
@@ -514,7 +591,7 @@ button::-moz-focus-inner {
border-top-width: 0;
}
.tox .tox-collection__group-heading {
- background-color: #e6e6e6;
+ background-color: #fcfcfc;
color: rgba(34, 47, 62, 0.7);
cursor: default;
font-size: 12px;
@@ -527,18 +604,16 @@ button::-moz-focus-inner {
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
}
.tox .tox-collection__item {
align-items: center;
+ border-radius: 3px;
color: #222f3e;
- cursor: pointer;
display: flex;
-webkit-touch-callout: none;
-webkit-user-select: none;
-moz-user-select: none;
- -ms-user-select: none;
user-select: none;
}
.tox .tox-collection--list .tox-collection__item {
@@ -557,21 +632,21 @@ button::-moz-focus-inner {
color: #222f3e;
}
.tox .tox-collection--list .tox-collection__item--active {
- background-color: #dee0e2;
+ background-color: #cce2fa;
}
.tox .tox-collection--toolbar .tox-collection__item--enabled {
- background-color: #c8cbcf;
+ background-color: #a6ccf7;
color: #222f3e;
}
.tox .tox-collection--toolbar .tox-collection__item--active {
- background-color: #dee0e2;
+ background-color: #cce2fa;
}
.tox .tox-collection--grid .tox-collection__item--enabled {
- background-color: #c8cbcf;
+ background-color: #a6ccf7;
color: #222f3e;
}
.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
- background-color: #dee0e2;
+ background-color: #cce2fa;
color: #222f3e;
}
.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled) {
@@ -600,7 +675,6 @@ button::-moz-focus-inner {
color: currentColor;
display: inline-block;
flex: 1;
- -ms-flex-preferred-size: auto;
font-size: 14px;
font-style: normal;
font-weight: normal;
@@ -645,9 +719,9 @@ button::-moz-focus-inner {
}
.tox .tox-collection--horizontal {
background-color: #fff;
- border: 1px solid #cccccc;
- border-radius: 3px;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+ border: 1px solid #e3e3e3;
+ border-radius: 6px;
+ box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15);
display: flex;
flex: 0 0 auto;
flex-shrink: 0;
@@ -664,8 +738,8 @@ button::-moz-focus-inner {
padding: 0 4px;
}
.tox .tox-collection--horizontal .tox-collection__item {
- height: 34px;
- margin: 2px 0 3px 0;
+ height: 28px;
+ margin: 6px 1px 5px 0;
padding: 0 4px;
}
.tox .tox-collection--horizontal .tox-collection__item-label {
@@ -701,8 +775,7 @@ button::-moz-focus-inner {
margin-top: auto;
}
.tox .tox-collection__item-container--column {
- -ms-grid-row-align: center;
- align-self: center;
+ align-self: center;
flex: 1 1 auto;
flex-direction: column;
}
@@ -716,14 +789,13 @@ button::-moz-focus-inner {
align-self: flex-start;
}
.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle {
- -ms-grid-row-align: center;
- align-self: center;
+ align-self: center;
}
.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom {
align-self: flex-end;
}
.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type) {
- border-right: 1px solid #cccccc;
+ border-right: 1px solid transparent;
}
.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item > *:not(:first-child) {
margin-left: 8px;
@@ -739,7 +811,7 @@ button::-moz-focus-inner {
margin-left: 16px;
}
.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type) {
- border-left: 1px solid #cccccc;
+ border-left: 1px solid transparent;
}
.tox[dir=rtl] .tox-collection--list .tox-collection__item > *:not(:first-child) {
margin-right: 8px;
@@ -864,11 +936,11 @@ button::-moz-focus-inner {
.tox .tox-toolbar .tox-swatches,
.tox .tox-toolbar__primary .tox-swatches,
.tox .tox-toolbar__overflow .tox-swatches {
- margin: 2px 0 3px 4px;
+ margin: 5px 0 6px 11px;
}
.tox .tox-collection--list .tox-collection__group .tox-swatches-menu {
border: 0;
- margin: -4px 0;
+ margin: -4px -4px;
}
.tox .tox-swatches__row {
display: flex;
@@ -904,11 +976,28 @@ button::-moz-focus-inner {
width: 30px;
}
.tox .tox-swatches__picker-btn svg {
+ fill: #222f3e;
height: 24px;
width: 24px;
}
.tox .tox-swatches__picker-btn:hover {
- background: #dee0e2;
+ background: #cce2fa;
+}
+.tox div.tox-swatch:not(.tox-swatch--remove) svg {
+ display: none;
+ fill: #222f3e;
+ height: 24px;
+ margin: calc((30px - 24px) / 2) calc((30px - 24px) / 2);
+ width: 24px;
+}
+.tox div.tox-swatch:not(.tox-swatch--remove) svg path {
+ fill: #fff;
+ paint-order: stroke;
+ stroke: #222f3e;
+ stroke-width: 2px;
+}
+.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg {
+ display: block;
}
.tox:not([dir=rtl]) .tox-swatches__picker-btn {
margin-left: auto;
@@ -925,8 +1014,8 @@ button::-moz-focus-inner {
}
.tox .tox-comment {
background: #fff;
- border: 1px solid #cccccc;
- border-radius: 3px;
+ border: 1px solid #eeeeee;
+ border-radius: 6px;
box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1);
padding: 8px 8px 16px 8px;
position: relative;
@@ -938,8 +1027,9 @@ button::-moz-focus-inner {
justify-content: space-between;
}
.tox .tox-comment__date {
- color: rgba(34, 47, 62, 0.7);
+ color: #222f3e;
font-size: 12px;
+ line-height: 18px;
}
.tox .tox-comment__body {
color: #222f3e;
@@ -1098,20 +1188,30 @@ button::-moz-focus-inner {
.tox .tox-user__avatar svg {
fill: rgba(34, 47, 62, 0.7);
}
+.tox .tox-user__avatar img {
+ border-radius: 50%;
+ height: 36px;
+ object-fit: cover;
+ vertical-align: middle;
+ width: 36px;
+}
.tox .tox-user__name {
- color: rgba(34, 47, 62, 0.7);
- font-size: 12px;
+ color: #222f3e;
+ font-size: 14px;
font-style: normal;
font-weight: bold;
- text-transform: uppercase;
+ line-height: 18px;
+ text-transform: none;
}
-.tox:not([dir=rtl]) .tox-user__avatar svg {
+.tox:not([dir=rtl]) .tox-user__avatar svg,
+.tox:not([dir=rtl]) .tox-user__avatar img {
margin-right: 8px;
}
.tox:not([dir=rtl]) .tox-user__avatar + .tox-user__name {
margin-left: 8px;
}
-.tox[dir=rtl] .tox-user__avatar svg {
+.tox[dir=rtl] .tox-user__avatar svg,
+.tox[dir=rtl] .tox-user__avatar img {
margin-left: 8px;
}
.tox[dir=rtl] .tox-user__avatar + .tox-user__name {
@@ -1142,10 +1242,10 @@ button::-moz-focus-inner {
}
.tox .tox-dialog {
background-color: #fff;
- border-color: #cccccc;
- border-radius: 3px;
+ border-color: #eeeeee;
+ border-radius: 10px;
border-style: solid;
- border-width: 1px;
+ border-width: 0px;
box-shadow: 0 16px 16px -10px rgba(34, 47, 62, 0.15), 0 0 40px 1px rgba(34, 47, 62, 0.15);
display: flex;
flex-direction: column;
@@ -1156,10 +1256,11 @@ button::-moz-focus-inner {
width: 95vw;
z-index: 2;
}
-@media only screen and (max-width:767px) {
+@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog {
align-self: flex-start;
margin: 8px auto;
+ max-height: calc(100vh - 8px * 2);
width: calc(100vw - 16px);
}
}
@@ -1207,7 +1308,6 @@ button::-moz-focus-inner {
color: #222f3e;
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
font-size: 16px;
font-style: normal;
font-weight: normal;
@@ -1216,7 +1316,7 @@ button::-moz-focus-inner {
text-align: left;
text-transform: none;
}
-@media only screen and (max-width:767px) {
+@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body {
flex-direction: column;
}
@@ -1227,7 +1327,7 @@ button::-moz-focus-inner {
flex-direction: column;
padding: 16px 16px;
}
-@media only screen and (max-width:767px) {
+@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox .tox-dialog__body-nav {
flex-direction: row;
-webkit-overflow-scrolling: touch;
@@ -1246,18 +1346,17 @@ button::-moz-focus-inner {
white-space: nowrap;
}
.tox .tox-dialog__body-nav-item:focus {
- background-color: rgba(32, 122, 183, 0.1);
+ background-color: rgba(0, 108, 231, 0.1);
}
.tox .tox-dialog__body-nav-item--active {
- border-bottom: 2px solid #207ab7;
- color: #207ab7;
+ border-bottom: 2px solid #006ce7;
+ color: #006ce7;
}
.tox .tox-dialog__body-content {
box-sizing: border-box;
display: flex;
flex: 1;
flex-direction: column;
- -ms-flex-preferred-size: auto;
max-height: 650px;
overflow: auto;
-webkit-overflow-scrolling: touch;
@@ -1278,17 +1377,17 @@ button::-moz-focus-inner {
margin-top: 0;
}
.tox .tox-dialog__body-content a {
- color: #207ab7;
+ color: #006ce7;
cursor: pointer;
text-decoration: none;
}
.tox .tox-dialog__body-content a:hover,
.tox .tox-dialog__body-content a:focus {
- color: #185d8c;
+ color: #0054b4;
text-decoration: none;
}
.tox .tox-dialog__body-content a:active {
- color: #185d8c;
+ color: #0054b4;
text-decoration: none;
}
.tox .tox-dialog__body-content svg {
@@ -1298,12 +1397,9 @@ button::-moz-focus-inner {
display: block;
list-style-type: disc;
margin-bottom: 16px;
- -webkit-margin-end: 0;
- margin-inline-end: 0;
- -webkit-margin-start: 0;
- margin-inline-start: 0;
- -webkit-padding-start: 2.5rem;
- padding-inline-start: 2.5rem;
+ margin-inline-end: 0;
+ margin-inline-start: 0;
+ padding-inline-start: 2.5rem;
}
.tox .tox-dialog__body-content .tox-form__group h1 {
color: #222f3e;
@@ -1348,6 +1444,13 @@ button::-moz-focus-inner {
height: 650px;
max-width: 1200px;
}
+.tox .tox-dialog--fullscreen {
+ height: 100%;
+ max-width: 100%;
+}
+.tox .tox-dialog--fullscreen .tox-dialog__body-content {
+ max-height: 100%;
+}
.tox .tox-dialog--width-md {
max-width: 800px;
}
@@ -1360,7 +1463,7 @@ button::-moz-focus-inner {
.tox .tox-dialog__footer {
align-items: center;
background-color: #fff;
- border-top: 1px solid #cccccc;
+ border-top: none;
display: flex;
justify-content: space-between;
padding: 8px 16px;
@@ -1389,8 +1492,11 @@ button::-moz-focus-inner {
font-weight: bold;
padding-bottom: 8px;
}
+.tox .tox-dialog__table thead th:first-child {
+ padding-right: 8px;
+}
.tox .tox-dialog__table tbody tr {
- border-bottom: 1px solid #cccccc;
+ border-bottom: 1px solid #626262;
}
.tox .tox-dialog__table tbody tr:last-child {
border-bottom: none;
@@ -1399,6 +1505,12 @@ button::-moz-focus-inner {
padding-bottom: 8px;
padding-top: 8px;
}
+.tox .tox-dialog__table td:first-child {
+ padding-right: 8px;
+}
+.tox .tox-dialog__iframe.tox-dialog__iframe--opaque {
+ background: #fff;
+}
.tox .tox-dialog__popups {
position: absolute;
width: 100%;
@@ -1408,16 +1520,13 @@ button::-moz-focus-inner {
display: flex;
flex: 1;
flex-direction: column;
- -ms-flex-preferred-size: auto;
}
.tox .tox-dialog__body-iframe .tox-navobj {
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
}
.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2) {
flex: 1;
- -ms-flex-preferred-size: auto;
height: 100%;
}
.tox .tox-dialog-dock-fadeout {
@@ -1434,18 +1543,12 @@ button::-moz-focus-inner {
.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein {
transition-delay: 0s;
}
-.tox.tox-platform-ie {
- /* IE11 CSS styles go here */
-}
-.tox.tox-platform-ie .tox-dialog-wrap {
- position: -ms-device-fixed;
-}
-@media only screen and (max-width:767px) {
+@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav {
margin-right: 0;
}
}
-@media only screen and (max-width:767px) {
+@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child) {
margin-left: 8px;
}
@@ -1457,12 +1560,12 @@ button::-moz-focus-inner {
.tox[dir=rtl] .tox-dialog__body {
text-align: right;
}
-@media only screen and (max-width:767px) {
+@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav {
margin-left: 0;
}
}
-@media only screen and (max-width:767px) {
+@media only screen and (max-width: 767px ) {
body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child) {
margin-right: 8px;
}
@@ -1477,12 +1580,11 @@ body.tox-dialog__disable-scroll {
.tox .tox-dropzone-container {
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
}
.tox .tox-dropzone {
align-items: center;
background: #fff;
- border: 2px dashed #cccccc;
+ border: 2px dashed #eeeeee;
box-sizing: border-box;
display: flex;
flex-direction: column;
@@ -1498,22 +1600,34 @@ body.tox-dialog__disable-scroll {
.tox .tox-edit-area {
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
overflow: hidden;
position: relative;
}
+.tox .tox-edit-area::before {
+ border: 2px solid #2D6ADF;
+ border-radius: 4px;
+ content: '';
+ inset: 0;
+ opacity: 0;
+ pointer-events: none;
+ position: absolute;
+ transition: opacity 0.15s;
+ z-index: 1;
+}
.tox .tox-edit-area__iframe {
background-color: #fff;
border: 0;
box-sizing: border-box;
flex: 1;
- -ms-flex-preferred-size: auto;
height: 100%;
position: absolute;
width: 100%;
}
+.tox.tox-edit-focus .tox-edit-area::before {
+ opacity: 1;
+}
.tox.tox-inline-edit-area {
- border: 1px dotted #cccccc;
+ border: 1px dotted #eeeeee;
}
.tox .tox-editor-container {
display: flex;
@@ -1522,19 +1636,36 @@ body.tox-dialog__disable-scroll {
overflow: hidden;
}
.tox .tox-editor-header {
- z-index: 1;
+ display: grid;
+ grid-template-columns: 1fr min-content;
+ z-index: 2;
}
.tox:not(.tox-tinymce-inline) .tox-editor-header {
- box-shadow: none;
+ background-color: #fff;
+ border-bottom: none;
+ box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.1), 0 8px 8px -4px rgba(34, 47, 62, 0.07);
+ padding: 4px 0;
+}
+.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition) {
transition: box-shadow 0.5s;
}
-.tox.tox-tinymce--toolbar-bottom .tox-editor-header,
-.tox.tox-tinymce-inline .tox-editor-header {
- margin-bottom: -1px;
+.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header {
+ border-top: 1px solid #e3e3e3;
+ box-shadow: none;
}
-.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header {
- background-color: transparent;
- box-shadow: 0 4px 4px -3px rgba(0, 0, 0, 0.25);
+.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header {
+ background-color: #fff;
+ box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15);
+ padding: 4px 0;
+}
+.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header {
+ box-shadow: 0 2px 2px -2px rgba(34, 47, 62, 0.2), 0 8px 8px -4px rgba(34, 47, 62, 0.15);
+}
+.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty {
+ background: none;
+ border: none;
+ box-shadow: none;
+ padding: 0;
}
.tox-editor-dock-fadeout {
opacity: 0;
@@ -1596,6 +1727,7 @@ body.tox-dialog__disable-scroll {
max-width: 25em;
}
.tox .tox-autocompleter .tox-menu {
+ box-sizing: border-box;
max-width: 25em;
}
.tox .tox-autocompleter .tox-autocompleter-highlight {
@@ -1611,7 +1743,7 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-color-input span {
border-color: rgba(34, 47, 62, 0.2);
- border-radius: 3px;
+ border-radius: 6px;
border-style: solid;
border-width: 1px;
box-shadow: none;
@@ -1623,7 +1755,7 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-color-input span:hover:not([aria-disabled=true]),
.tox .tox-color-input span:focus:not([aria-disabled=true]) {
- border-color: #207ab7;
+ border-color: #006ce7;
cursor: pointer;
}
.tox .tox-color-input span::before {
@@ -1631,7 +1763,7 @@ body.tox-dialog__disable-scroll {
background-position: 0 0, 0 6px, 6px -6px, -6px 0;
background-size: 12px 12px;
border: 1px solid #fff;
- border-radius: 3px;
+ border-radius: 6px;
box-sizing: border-box;
content: '';
height: 24px;
@@ -1684,7 +1816,6 @@ body.tox-dialog__disable-scroll {
display: flex;
flex: 1;
flex-direction: column;
- -ms-flex-preferred-size: auto;
}
.tox .tox-form__group {
box-sizing: border-box;
@@ -1726,20 +1857,16 @@ body.tox-dialog__disable-scroll {
display: flex;
flex: 1;
flex-direction: column;
- -ms-flex-preferred-size: auto;
}
.tox .tox-form__group--stretched .tox-textarea {
flex: 1;
- -ms-flex-preferred-size: auto;
}
.tox .tox-form__group--stretched .tox-navobj {
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
}
.tox .tox-form__group--stretched .tox-navobj :nth-child(2) {
flex: 1;
- -ms-flex-preferred-size: auto;
height: 100%;
}
.tox:not([dir=rtl]) .tox-form__controls-h-stack > *:not(:first-child) {
@@ -1755,13 +1882,14 @@ body.tox-dialog__disable-scroll {
.tox .tox-textfield,
.tox .tox-toolbar-textfield,
.tox .tox-listboxfield .tox-listbox--select,
-.tox .tox-textarea {
+.tox .tox-textarea,
+.tox .tox-textarea-wrap .tox-textarea:focus {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
background-color: #fff;
- border-color: #cccccc;
- border-radius: 3px;
+ border-color: #eeeeee;
+ border-radius: 6px;
border-style: solid;
border-width: 1px;
box-shadow: none;
@@ -1773,7 +1901,7 @@ body.tox-dialog__disable-scroll {
margin: 0;
min-height: 34px;
outline: none;
- padding: 5px 4.75px;
+ padding: 5px 5.5px;
resize: none;
width: 100%;
}
@@ -1785,10 +1913,12 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-textfield:focus,
.tox .tox-listboxfield .tox-listbox--select:focus,
-.tox .tox-textarea:focus {
+.tox .tox-textarea-wrap:focus-within,
+.tox .tox-textarea:focus,
+.tox .tox-custom-editor:focus-within {
background-color: #fff;
- border-color: #207ab7;
- box-shadow: none;
+ border-color: #006ce7;
+ box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25);
outline: none;
}
.tox .tox-toolbar-textfield {
@@ -1802,7 +1932,7 @@ body.tox-dialog__disable-scroll {
border: 0;
border-color: transparent;
box-shadow: unset;
- color: #207ab7;
+ color: #006ce7;
cursor: pointer;
display: block;
margin: 0;
@@ -1860,8 +1990,8 @@ body.tox-dialog__disable-scroll {
-moz-appearance: none;
appearance: none;
background-color: #fff;
- border-color: #cccccc;
- border-radius: 3px;
+ border-color: #eeeeee;
+ border-radius: 6px;
border-style: solid;
border-width: 1px;
box-shadow: none;
@@ -1873,7 +2003,7 @@ body.tox-dialog__disable-scroll {
margin: 0;
min-height: 34px;
outline: none;
- padding: 5px 4.75px;
+ padding: 5px 5.5px;
resize: none;
width: 100%;
}
@@ -1887,8 +2017,8 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-selectfield select:focus {
background-color: #fff;
- border-color: #207ab7;
- box-shadow: none;
+ border-color: #006ce7;
+ box-shadow: 0 0 0 2px rgba(0, 108, 231, 0.25);
outline: none;
}
.tox .tox-selectfield svg {
@@ -1911,19 +2041,33 @@ body.tox-dialog__disable-scroll {
.tox[dir=rtl] .tox-selectfield svg {
left: 8px;
}
+.tox .tox-textarea-wrap {
+ border-color: #eeeeee;
+ border-radius: 6px;
+ border-style: solid;
+ border-width: 1px;
+ display: flex;
+ flex: 1;
+ overflow: hidden;
+}
.tox .tox-textarea {
-webkit-appearance: textarea;
-moz-appearance: textarea;
appearance: textarea;
white-space: pre-wrap;
}
+.tox .tox-textarea-wrap .tox-textarea {
+ border: none;
+}
+.tox .tox-textarea-wrap .tox-textarea:focus {
+ border: none;
+}
.tox-fullscreen {
border: 0;
height: 100%;
margin: 0;
overflow: hidden;
- -ms-scroll-chaining: none;
- overscroll-behavior: none;
+ overscroll-behavior: none;
padding: 0;
touch-action: pinch-zoom;
width: 100%;
@@ -1949,40 +2093,46 @@ body.tox-dialog__disable-scroll {
list-style: none;
margin-top: 1em;
}
-.tox .tox-image-tools {
- width: 100%;
-}
-.tox .tox-image-tools__toolbar {
- align-items: center;
- display: flex;
- justify-content: center;
-}
-.tox .tox-image-tools__image {
+.tox .tox-imagepreview {
background-color: #666;
height: 380px;
- overflow: auto;
+ overflow: hidden;
position: relative;
width: 100%;
}
-.tox .tox-image-tools__image,
-.tox .tox-image-tools__image + .tox-image-tools__toolbar {
- margin-top: 8px;
+.tox .tox-imagepreview.tox-imagepreview__loaded {
+ overflow: auto;
}
-.tox .tox-image-tools__image-bg {
+.tox .tox-imagepreview__container {
+ display: flex;
+ left: 100vw;
+ position: absolute;
+ top: 100vw;
+}
+.tox .tox-imagepreview__image {
background: url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==);
}
-.tox .tox-image-tools__toolbar > .tox-spacer {
+.tox .tox-image-tools .tox-spacer {
flex: 1;
- -ms-flex-preferred-size: auto;
}
-.tox .tox-croprect-block {
+.tox .tox-image-tools .tox-bar {
+ align-items: center;
+ display: flex;
+ height: 60px;
+ justify-content: center;
+}
+.tox .tox-image-tools .tox-imagepreview,
+.tox .tox-image-tools .tox-imagepreview + .tox-bar {
+ margin-top: 8px;
+}
+.tox .tox-image-tools .tox-croprect-block {
background: black;
filter: alpha(opacity=50);
opacity: 0.5;
position: absolute;
zoom: 1;
}
-.tox .tox-croprect-handle {
+.tox .tox-image-tools .tox-croprect-handle {
border: 2px solid white;
height: 20px;
left: 0;
@@ -1990,64 +2140,46 @@ body.tox-dialog__disable-scroll {
top: 0;
width: 20px;
}
-.tox .tox-croprect-handle-move {
+.tox .tox-image-tools .tox-croprect-handle-move {
border: 0;
cursor: move;
position: absolute;
}
-.tox .tox-croprect-handle-nw {
+.tox .tox-image-tools .tox-croprect-handle-nw {
border-width: 2px 0 0 2px;
cursor: nw-resize;
left: 100px;
margin: -2px 0 0 -2px;
top: 100px;
}
-.tox .tox-croprect-handle-ne {
+.tox .tox-image-tools .tox-croprect-handle-ne {
border-width: 2px 2px 0 0;
cursor: ne-resize;
left: 200px;
margin: -2px 0 0 -20px;
top: 100px;
}
-.tox .tox-croprect-handle-sw {
+.tox .tox-image-tools .tox-croprect-handle-sw {
border-width: 0 0 2px 2px;
cursor: sw-resize;
left: 100px;
margin: -20px 2px 0 -2px;
top: 200px;
}
-.tox .tox-croprect-handle-se {
+.tox .tox-image-tools .tox-croprect-handle-se {
border-width: 0 2px 2px 0;
cursor: se-resize;
left: 200px;
margin: -20px 0 0 -20px;
top: 200px;
}
-.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) {
- margin-left: 8px;
-}
-.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-button + .tox-slider {
- margin-left: 32px;
-}
-.tox:not([dir=rtl]) .tox-image-tools__toolbar > .tox-slider + .tox-button {
- margin-left: 32px;
-}
-.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider:not(:first-of-type) {
- margin-right: 8px;
-}
-.tox[dir=rtl] .tox-image-tools__toolbar > .tox-button + .tox-slider {
- margin-right: 32px;
-}
-.tox[dir=rtl] .tox-image-tools__toolbar > .tox-slider + .tox-button {
- margin-right: 32px;
-}
.tox .tox-insert-table-picker {
display: flex;
flex-wrap: wrap;
width: 170px;
}
.tox .tox-insert-table-picker > div {
- border-color: #cccccc;
+ border-color: #eeeeee;
border-style: solid;
border-width: 0 1px 1px 0;
box-sizing: border-box;
@@ -2055,11 +2187,11 @@ body.tox-dialog__disable-scroll {
width: 17px;
}
.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker {
- margin: -4px 0;
+ margin: -4px -4px;
}
.tox .tox-insert-table-picker .tox-insert-table-picker__selected {
- background-color: rgba(32, 122, 183, 0.5);
- border-color: rgba(32, 122, 183, 0.5);
+ background-color: rgba(0, 108, 231, 0.5);
+ border-color: rgba(0, 108, 231, 0.5);
}
.tox .tox-insert-table-picker__label {
color: rgba(34, 47, 62, 0.7);
@@ -2087,22 +2219,28 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-menu {
background-color: #fff;
- border: 1px solid #cccccc;
- border-radius: 3px;
- box-shadow: 0 4px 8px 0 rgba(34, 47, 62, 0.1);
+ border: 1px solid transparent;
+ border-radius: 6px;
+ box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15);
display: inline-block;
overflow: hidden;
vertical-align: top;
z-index: 1150;
}
.tox .tox-menu.tox-collection.tox-collection--list {
- padding: 0;
+ padding: 0 4px;
}
.tox .tox-menu.tox-collection.tox-collection--toolbar {
- padding: 4px;
+ padding: 8px;
}
.tox .tox-menu.tox-collection.tox-collection--grid {
- padding: 4px;
+ padding: 8px;
+}
+@media only screen and (min-width: 768px ) {
+ .tox .tox-menu .tox-collection__item-label {
+ overflow-wrap: break-word;
+ word-break: normal;
+ }
}
.tox .tox-menu__label h1,
.tox .tox-menu__label h2,
@@ -2116,16 +2254,45 @@ body.tox-dialog__disable-scroll {
margin: 0;
}
.tox .tox-menubar {
- background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;
+ background: repeating-linear-gradient(transparent 0px 1px, transparent 1px 39px) center top 39px / 100% calc(100% - 39px) no-repeat;
background-color: #fff;
display: flex;
flex: 0 0 auto;
flex-shrink: 0;
flex-wrap: wrap;
- padding: 0 4px 0 4px;
+ grid-column: 1 / -1;
+ grid-row: 1;
+ padding: 0 11px 0 12px;
}
-.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar {
- border-top: 1px solid #cccccc;
+.tox .tox-promotion + .tox-menubar {
+ grid-column: 1;
+}
+.tox .tox-promotion {
+ background: repeating-linear-gradient(transparent 0px 1px, transparent 1px 39px) center top 39px / 100% calc(100% - 39px) no-repeat;
+ background-color: #fff;
+ grid-column: 2;
+ grid-row: 1;
+ padding-inline-end: 8px;
+ padding-inline-start: 4px;
+ padding-top: 5px;
+}
+.tox .tox-promotion-link {
+ align-items: unsafe center;
+ background-color: #E8F1F8;
+ border-radius: 5px;
+ color: #086BE6;
+ cursor: pointer;
+ display: flex;
+ font-size: 14px;
+ height: 26.6px;
+ padding: 4px 8px;
+ white-space: nowrap;
+}
+.tox .tox-promotion-link:hover {
+ background-color: #B4D7FF;
+}
+.tox .tox-promotion-link:focus {
+ background-color: #D9EDF7;
}
/* Deprecated. Remove in next major release */
.tox .tox-mbtn {
@@ -2140,9 +2307,9 @@ body.tox-dialog__disable-scroll {
font-size: 14px;
font-style: normal;
font-weight: normal;
- height: 34px;
+ height: 28px;
justify-content: center;
- margin: 2px 0 3px 0;
+ margin: 5px 1px 6px 0;
outline: none;
overflow: hidden;
padding: 0 4px;
@@ -2157,19 +2324,19 @@ body.tox-dialog__disable-scroll {
cursor: not-allowed;
}
.tox .tox-mbtn:focus:not(:disabled) {
- background: #dee0e2;
+ background: #cce2fa;
border: 0;
box-shadow: none;
color: #222f3e;
}
.tox .tox-mbtn--active {
- background: #c8cbcf;
+ background: #a6ccf7;
border: 0;
box-shadow: none;
color: #222f3e;
}
.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active) {
- background: #dee0e2;
+ background: #cce2fa;
border: 0;
box-shadow: none;
color: #222f3e;
@@ -2190,17 +2357,15 @@ body.tox-dialog__disable-scroll {
display: none;
}
.tox .tox-notification {
- border-radius: 3px;
+ border-radius: 6px;
border-style: solid;
border-width: 1px;
box-shadow: none;
box-sizing: border-box;
- display: -ms-grid;
display: grid;
font-size: 14px;
font-weight: normal;
- -ms-grid-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
- grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
+ grid-template-columns: minmax(40px, 1fr) auto minmax(40px, 1fr);
margin-top: 4px;
opacity: 0;
padding: 4px;
@@ -2226,29 +2391,29 @@ body.tox-dialog__disable-scroll {
color: #222f3e;
}
.tox .tox-notification--success a {
- color: #547831;
+ color: #517342;
}
.tox .tox-notification--success svg {
fill: #222f3e;
}
.tox .tox-notification--error {
- background-color: #f8dede;
- border-color: #f2bfbf;
+ background-color: #f5cccc;
+ border-color: #f0b3b3;
color: #222f3e;
}
.tox .tox-notification--error p {
color: #222f3e;
}
.tox .tox-notification--error a {
- color: #c00;
+ color: #77181f;
}
.tox .tox-notification--error svg {
fill: #222f3e;
}
.tox .tox-notification--warn,
.tox .tox-notification--warning {
- background-color: #fffaea;
- border-color: #ffe89d;
+ background-color: #fff5cc;
+ border-color: #fff0b3;
color: #222f3e;
}
.tox .tox-notification--warn p,
@@ -2257,39 +2422,34 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-notification--warn a,
.tox .tox-notification--warning a {
- color: #222f3e;
+ color: #7a6e25;
}
.tox .tox-notification--warn svg,
.tox .tox-notification--warning svg {
fill: #222f3e;
}
.tox .tox-notification--info {
- background-color: #d9edf7;
- border-color: #779ecb;
+ background-color: #d6e7fb;
+ border-color: #c1dbf9;
color: #222f3e;
}
.tox .tox-notification--info p {
color: #222f3e;
}
.tox .tox-notification--info a {
- color: #222f3e;
+ color: #2a64a6;
}
.tox .tox-notification--info svg {
fill: #222f3e;
}
.tox .tox-notification__body {
- -ms-grid-row-align: center;
- align-self: center;
+ align-self: center;
color: #222f3e;
font-size: 14px;
- -ms-grid-column-span: 1;
grid-column-end: 3;
- -ms-grid-column: 2;
- grid-column-start: 2;
- -ms-grid-row-span: 1;
+ grid-column-start: 2;
grid-row-end: 2;
- -ms-grid-row: 1;
- grid-row-start: 1;
+ grid-row-start: 1;
text-align: center;
white-space: normal;
word-break: break-all;
@@ -2302,47 +2462,30 @@ body.tox-dialog__disable-scroll {
margin-top: 1rem;
}
.tox .tox-notification__icon {
- -ms-grid-row-align: center;
- align-self: center;
- -ms-grid-column-span: 1;
+ align-self: center;
grid-column-end: 2;
- -ms-grid-column: 1;
- grid-column-start: 1;
- -ms-grid-row-span: 1;
+ grid-column-start: 1;
grid-row-end: 2;
- -ms-grid-row: 1;
- grid-row-start: 1;
- -ms-grid-column-align: end;
- justify-self: end;
+ grid-row-start: 1;
+ justify-self: end;
}
.tox .tox-notification__icon svg {
display: block;
}
.tox .tox-notification__dismiss {
- -ms-grid-row-align: start;
- align-self: start;
- -ms-grid-column-span: 1;
+ align-self: start;
grid-column-end: 4;
- -ms-grid-column: 3;
- grid-column-start: 3;
- -ms-grid-row-span: 1;
+ grid-column-start: 3;
grid-row-end: 2;
- -ms-grid-row: 1;
- grid-row-start: 1;
- -ms-grid-column-align: end;
- justify-self: end;
+ grid-row-start: 1;
+ justify-self: end;
}
.tox .tox-notification .tox-progress-bar {
- -ms-grid-column-span: 3;
grid-column-end: 4;
- -ms-grid-column: 1;
- grid-column-start: 1;
- -ms-grid-row-span: 1;
+ grid-column-start: 1;
grid-row-end: 3;
- -ms-grid-row: 2;
- grid-row-start: 2;
- -ms-grid-column-align: center;
- justify-self: center;
+ grid-row-start: 2;
+ justify-self: center;
}
.tox .tox-pop {
display: inline-block;
@@ -2365,9 +2508,9 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-pop__dialog {
background-color: #fff;
- border: 1px solid #cccccc;
- border-radius: 3px;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+ border: 1px solid #eeeeee;
+ border-radius: 6px;
+ box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15);
min-width: 0;
overflow: hidden;
}
@@ -2405,7 +2548,7 @@ body.tox-dialog__disable-scroll {
margin-top: -1px;
}
.tox .tox-pop.tox-pop--bottom::before {
- border-color: #cccccc transparent transparent transparent;
+ border-color: #eeeeee transparent transparent transparent;
border-width: 9px;
margin-left: -9px;
}
@@ -2422,7 +2565,7 @@ body.tox-dialog__disable-scroll {
margin-top: 1px;
}
.tox .tox-pop.tox-pop--top::before {
- border-color: transparent transparent #cccccc transparent;
+ border-color: transparent transparent #eeeeee transparent;
border-width: 9px;
margin-left: -9px;
}
@@ -2438,7 +2581,7 @@ body.tox-dialog__disable-scroll {
margin-left: -15px;
}
.tox .tox-pop.tox-pop--left::before {
- border-color: transparent #cccccc transparent transparent;
+ border-color: transparent #eeeeee transparent transparent;
border-width: 10px;
margin-left: -19px;
}
@@ -2454,7 +2597,7 @@ body.tox-dialog__disable-scroll {
margin-left: -1px;
}
.tox .tox-pop.tox-pop--right::before {
- border-color: transparent transparent transparent #cccccc;
+ border-color: transparent transparent transparent #eeeeee;
border-width: 10px;
margin-left: -1px;
}
@@ -2470,7 +2613,6 @@ body.tox-dialog__disable-scroll {
display: flex;
flex-direction: row;
flex-grow: 1;
- -ms-flex-preferred-size: 0;
min-height: 0;
}
.tox .tox-sidebar {
@@ -2518,23 +2660,22 @@ body.tox-dialog__disable-scroll {
align-items: center;
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
height: 24px;
justify-content: center;
position: relative;
}
.tox .tox-slider__rail {
background-color: transparent;
- border: 1px solid #cccccc;
- border-radius: 3px;
+ border: 1px solid #eeeeee;
+ border-radius: 6px;
height: 10px;
min-width: 120px;
width: 100%;
}
.tox .tox-slider__handle {
- background-color: #207ab7;
- border: 2px solid #185d8c;
- border-radius: 3px;
+ background-color: #006ce7;
+ border: 2px solid #0054b4;
+ border-radius: 6px;
box-shadow: none;
height: 24px;
left: 50%;
@@ -2543,6 +2684,15 @@ body.tox-dialog__disable-scroll {
transform: translateX(-50%) translateY(-50%);
width: 14px;
}
+.tox .tox-form__controls-h-stack > .tox-slider:not(:first-of-type) {
+ margin-inline-start: 8px;
+}
+.tox .tox-form__controls-h-stack > .tox-form__group + .tox-slider {
+ margin-inline-start: 32px;
+}
+.tox .tox-form__controls-h-stack > .tox-slider + .tox-form__group {
+ margin-inline-start: 32px;
+}
.tox .tox-source-code {
overflow: auto;
}
@@ -2581,17 +2731,17 @@ body.tox-dialog__disable-scroll {
.tox .tox-statusbar {
align-items: center;
background-color: #fff;
- border-top: 1px solid #cccccc;
+ border-top: 1px solid #e3e3e3;
color: rgba(34, 47, 62, 0.7);
display: flex;
flex: 0 0 auto;
- font-size: 12px;
+ font-size: 14px;
font-weight: normal;
- height: 18px;
+ height: 25px;
overflow: hidden;
padding: 0 8px;
position: relative;
- text-transform: uppercase;
+ text-transform: none;
}
.tox .tox-statusbar__text-container {
display: flex;
@@ -2627,8 +2777,18 @@ body.tox-dialog__disable-scroll {
.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),
.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),
.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]) {
+ color: #222f3e;
cursor: pointer;
- text-decoration: underline;
+}
+.tox .tox-statusbar__branding svg {
+ fill: rgba(34, 47, 62, 0.8);
+ height: 1.14em;
+ vertical-align: -0.28em;
+ width: 3.6em;
+}
+.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg,
+.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg {
+ fill: #222f3e;
}
.tox .tox-statusbar__resize-handle {
align-items: flex-end;
@@ -2639,22 +2799,24 @@ body.tox-dialog__disable-scroll {
justify-content: flex-end;
margin-left: auto;
margin-right: -8px;
+ padding-bottom: 3px;
padding-left: 1ch;
+ padding-right: 3px;
}
.tox .tox-statusbar__resize-handle svg {
display: block;
- fill: rgba(34, 47, 62, 0.7);
+ fill: rgba(34, 47, 62, 0.5);
}
.tox .tox-statusbar__resize-handle:focus svg {
background-color: #dee0e2;
- border-radius: 1px;
+ border-radius: 1px 1px 5px 1px;
box-shadow: 0 0 0 2px #dee0e2;
}
.tox:not([dir=rtl]) .tox-statusbar__path > * {
margin-right: 4px;
}
.tox:not([dir=rtl]) .tox-statusbar__branding {
- margin-left: 1ch;
+ margin-left: 2ch;
}
.tox[dir=rtl] .tox-statusbar {
flex-direction: row-reverse;
@@ -2688,9 +2850,9 @@ body.tox-dialog__disable-scroll {
font-size: 14px;
font-style: normal;
font-weight: normal;
- height: 34px;
+ height: 28px;
justify-content: center;
- margin: 2px 0 3px 0;
+ margin: 6px 1px 5px 0;
outline: none;
overflow: hidden;
padding: 0;
@@ -2707,12 +2869,12 @@ body.tox-dialog__disable-scroll {
width: inherit;
}
.tox .tox-tbtn:focus {
- background: #dee0e2;
+ background: #cce2fa;
border: 0;
box-shadow: none;
}
.tox .tox-tbtn:hover {
- background: #dee0e2;
+ background: #cce2fa;
border: 0;
box-shadow: none;
color: #222f3e;
@@ -2721,7 +2883,7 @@ body.tox-dialog__disable-scroll {
fill: #222f3e;
}
.tox .tox-tbtn:active {
- background: #c8cbcf;
+ background: #a6ccf7;
border: 0;
box-shadow: none;
color: #222f3e;
@@ -2748,7 +2910,7 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-tbtn--enabled,
.tox .tox-tbtn--enabled:hover {
- background: #c8cbcf;
+ background: #a6ccf7;
border: 0;
box-shadow: none;
color: #222f3e;
@@ -2772,17 +2934,16 @@ body.tox-dialog__disable-scroll {
transform: none;
}
.tox .tox-tbtn--md {
- height: 51px;
+ height: 42px;
width: 51px;
}
.tox .tox-tbtn--lg {
flex-direction: column;
- height: 68px;
+ height: 56px;
width: 68px;
}
.tox .tox-tbtn--return {
- -ms-grid-row-align: stretch;
- align-self: stretch;
+ align-self: stretch;
height: unset;
width: 16px;
}
@@ -2798,15 +2959,95 @@ body.tox-dialog__disable-scroll {
margin-bottom: 4px;
white-space: nowrap;
}
+.tox .tox-number-input {
+ border-radius: 3px;
+ display: flex;
+ margin: 6px 1px 5px 0;
+ padding: 0 4px;
+ width: auto;
+}
+.tox .tox-number-input .tox-input-wrapper {
+ background: #f7f7f7;
+ display: flex;
+ pointer-events: none;
+ text-align: center;
+}
+.tox .tox-number-input .tox-input-wrapper:focus {
+ background: #cce2fa;
+}
+.tox .tox-number-input input {
+ border-radius: 3px;
+ color: #222f3e;
+ font-size: 14px;
+ margin: 2px 0;
+ pointer-events: all;
+ width: 60px;
+}
+.tox .tox-number-input input:hover {
+ background: #cce2fa;
+ color: #222f3e;
+}
+.tox .tox-number-input input:focus {
+ background: #fff;
+ color: #222f3e;
+}
+.tox .tox-number-input button {
+ background: #f7f7f7;
+ color: #222f3e;
+ height: 28px;
+ text-align: center;
+ width: 24px;
+}
+.tox .tox-number-input button svg {
+ display: block;
+ fill: #222f3e;
+ margin: 0 auto;
+ transform: scale(0.67);
+}
+.tox .tox-number-input button:focus {
+ background: #cce2fa;
+}
+.tox .tox-number-input button:hover {
+ background: #cce2fa;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-number-input button:hover svg {
+ fill: #222f3e;
+}
+.tox .tox-number-input button:active {
+ background: #a6ccf7;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-number-input button:active svg {
+ fill: #222f3e;
+}
+.tox .tox-number-input button.minus {
+ border-radius: 3px 0 0 3px;
+}
+.tox .tox-number-input button.plus {
+ border-radius: 0 3px 3px 0;
+}
+.tox .tox-number-input:focus:not(:active) > button,
+.tox .tox-number-input:focus:not(:active) > .tox-input-wrapper {
+ background: #cce2fa;
+}
.tox .tox-tbtn--select {
- margin: 2px 0 3px 0;
+ margin: 6px 1px 5px 0;
padding: 0 4px;
width: auto;
}
.tox .tox-tbtn__select-label {
cursor: default;
font-weight: normal;
+ height: initial;
margin: 0 4px;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
}
.tox .tox-tbtn__select-chevron {
align-items: center;
@@ -2817,6 +3058,12 @@ body.tox-dialog__disable-scroll {
.tox .tox-tbtn__select-chevron svg {
fill: rgba(34, 47, 62, 0.5);
}
+.tox .tox-tbtn--bespoke {
+ background: #f7f7f7;
+}
+.tox .tox-tbtn--bespoke + .tox-tbtn--bespoke {
+ margin-inline-start: 4px;
+}
.tox .tox-tbtn--bespoke .tox-tbtn__select-label {
overflow: hidden;
text-overflow: ellipsis;
@@ -2828,14 +3075,14 @@ body.tox-dialog__disable-scroll {
border-radius: 3px;
box-sizing: border-box;
display: flex;
- margin: 2px 0 3px 0;
+ margin: 6px 1px 5px 0;
overflow: hidden;
}
.tox .tox-split-button:hover {
- box-shadow: 0 0 0 1px #dee0e2 inset;
+ box-shadow: 0 0 0 1px #cce2fa inset;
}
.tox .tox-split-button:focus {
- background: #dee0e2;
+ background: #cce2fa;
box-shadow: none;
color: #222f3e;
}
@@ -2851,12 +3098,6 @@ body.tox-dialog__disable-scroll {
.tox .tox-split-button .tox-tbtn {
margin: 0;
}
-.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child {
- width: 30px;
-}
-.tox.tox-platform-touch .tox-split-button__chevron {
- width: 20px;
-}
.tox .tox-split-button.tox-tbtn--disabled:hover,
.tox .tox-split-button.tox-tbtn--disabled:focus,
.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,
@@ -2865,19 +3106,39 @@ body.tox-dialog__disable-scroll {
box-shadow: none;
color: rgba(34, 47, 62, 0.5);
}
+.tox.tox-platform-touch .tox-split-button .tox-tbtn--select {
+ padding: 0 0px;
+}
+.tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child {
+ width: 30px;
+}
+.tox.tox-platform-touch .tox-split-button__chevron {
+ width: 20px;
+}
.tox .tox-toolbar-overlord {
background-color: #fff;
}
.tox .tox-toolbar,
.tox .tox-toolbar__primary,
.tox .tox-toolbar__overflow {
- background: url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;
+ background-attachment: local;
background-color: #fff;
+ background-image: repeating-linear-gradient(#e3e3e3 0px 1px, transparent 1px 39px);
+ background-position: center top 40px;
+ background-repeat: no-repeat;
+ background-size: calc(100% - 11px * 2) calc(100% - 41px);
display: flex;
flex: 0 0 auto;
flex-shrink: 0;
flex-wrap: wrap;
- padding: 0 0;
+ padding: 0 0px;
+ transform: perspective(1px);
+}
+.tox .tox-toolbar-overlord > .tox-toolbar,
+.tox .tox-toolbar-overlord > .tox-toolbar__primary,
+.tox .tox-toolbar-overlord > .tox-toolbar__overflow {
+ background-position: center top 0px;
+ background-size: calc(100% - 11px * 2) calc(100% - 0px);
}
.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed {
height: 0;
@@ -2892,10 +3153,16 @@ body.tox-dialog__disable-scroll {
.tox .tox-toolbar__overflow--shrinking {
transition: opacity 0.3s ease, height 0.2s linear 0.1s, visibility 0s linear 0.3s;
}
+.tox .tox-toolbar-overlord,
+.tox .tox-anchorbar {
+ grid-column: 1 / -1;
+}
.tox .tox-menubar + .tox-toolbar,
-.tox .tox-menubar + .tox-toolbar-overlord .tox-toolbar__primary {
- border-top: 1px solid #cccccc;
+.tox .tox-menubar + .tox-toolbar-overlord {
+ border-top: 1px solid transparent;
margin-top: -1px;
+ padding-bottom: 1px;
+ padding-top: 1px;
}
.tox .tox-toolbar--scrolling {
flex-wrap: nowrap;
@@ -2907,22 +3174,38 @@ body.tox-dialog__disable-scroll {
.tox .tox-toolbar--no-divider {
background-image: none;
}
-.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child,
-.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary {
- border-top: 1px solid #cccccc;
+.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,
+.tox .tox-toolbar-overlord .tox-toolbar__primary {
+ background-position: center top 39px;
+}
+.tox .tox-editor-header > .tox-toolbar--scrolling,
+.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child {
+ background-image: none;
}
.tox.tox-tinymce-aux .tox-toolbar__overflow {
background-color: #fff;
- border: 1px solid #cccccc;
- border-radius: 3px;
- box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
+ background-position: center top 43px;
+ background-size: calc(100% - 8px * 2) calc(100% - 51px);
+ border: none;
+ border-radius: 6px;
+ box-shadow: 0 0 2px 0 rgba(34, 47, 62, 0.2), 0 4px 8px 0 rgba(34, 47, 62, 0.15);
+ overscroll-behavior: none;
+ padding: 4px 0;
+}
+.tox-pop .tox-pop__dialog {
+ /* stylelint-disable-next-line no-descending-specificity */
+}
+.tox-pop .tox-pop__dialog .tox-toolbar {
+ background-position: center top 43px;
+ background-size: calc(100% - 11px * 2) calc(100% - 51px);
+ padding: 4px 0;
}
.tox .tox-toolbar__group {
align-items: center;
display: flex;
flex-wrap: wrap;
margin: 0 0;
- padding: 0 4px 0 4px;
+ padding: 0 11px 0 12px;
}
.tox .tox-toolbar__group--pull-right {
margin-left: auto;
@@ -2932,10 +3215,10 @@ body.tox-dialog__disable-scroll {
flex-wrap: nowrap;
}
.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type) {
- border-right: 1px solid #cccccc;
+ border-right: 1px solid transparent;
}
.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type) {
- border-left: 1px solid #cccccc;
+ border-left: 1px solid transparent;
}
.tox .tox-tooltip {
display: inline-block;
@@ -2944,7 +3227,7 @@ body.tox-dialog__disable-scroll {
}
.tox .tox-tooltip__body {
background-color: #222f3e;
- border-radius: 3px;
+ border-radius: 6px;
box-shadow: 0 2px 4px rgba(34, 47, 62, 0.3);
color: rgba(255, 255, 255, 0.75);
font-size: 14px;
@@ -2992,9 +3275,261 @@ body.tox-dialog__disable-scroll {
top: 50%;
transform: translateY(-50%);
}
+.tox .tox-tree {
+ display: flex;
+ flex-direction: column;
+}
+.tox .tox-tree .tox-trbtn {
+ align-items: center;
+ background: transparent;
+ border: 0;
+ border-radius: 4px;
+ box-shadow: none;
+ color: #222f3e;
+ display: flex;
+ flex: 0 0 auto;
+ font-size: 14px;
+ font-style: normal;
+ font-weight: normal;
+ height: 28px;
+ margin-bottom: 4px;
+ margin-top: 4px;
+ outline: none;
+ overflow: hidden;
+ padding: 0;
+ padding-left: 8px;
+ text-transform: none;
+}
+.tox .tox-tree .tox-trbtn .tox-tree__label {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
+.tox .tox-tree .tox-trbtn svg {
+ display: block;
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-trbtn:focus {
+ background: #cce2fa;
+ border: 0;
+ box-shadow: none;
+}
+.tox .tox-tree .tox-trbtn:hover {
+ background: #cce2fa;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-tree .tox-trbtn:hover svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-trbtn:active {
+ background: #a6ccf7;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-tree .tox-trbtn:active svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-trbtn--disabled,
+.tox .tox-tree .tox-trbtn--disabled:hover,
+.tox .tox-tree .tox-trbtn:disabled,
+.tox .tox-tree .tox-trbtn:disabled:hover {
+ background: transparent;
+ border: 0;
+ box-shadow: none;
+ color: rgba(34, 47, 62, 0.5);
+ cursor: not-allowed;
+}
+.tox .tox-tree .tox-trbtn--disabled svg,
+.tox .tox-tree .tox-trbtn--disabled:hover svg,
+.tox .tox-tree .tox-trbtn:disabled svg,
+.tox .tox-tree .tox-trbtn:disabled:hover svg {
+ /* stylelint-disable-line no-descending-specificity */
+ fill: rgba(34, 47, 62, 0.5);
+}
+.tox .tox-tree .tox-trbtn--enabled,
+.tox .tox-tree .tox-trbtn--enabled:hover {
+ background: #a6ccf7;
+ border: 0;
+ box-shadow: none;
+ color: #222f3e;
+}
+.tox .tox-tree .tox-trbtn--enabled > *,
+.tox .tox-tree .tox-trbtn--enabled:hover > * {
+ transform: none;
+}
+.tox .tox-tree .tox-trbtn--enabled svg,
+.tox .tox-tree .tox-trbtn--enabled:hover svg {
+ /* stylelint-disable-line no-descending-specificity */
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) {
+ color: #222f3e;
+}
+.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-trbtn:active > * {
+ transform: none;
+}
+.tox .tox-tree .tox-trbtn--return {
+ align-self: stretch;
+ height: unset;
+ width: 16px;
+}
+.tox .tox-tree .tox-trbtn--labeled {
+ padding: 0 4px;
+ width: unset;
+}
+.tox .tox-tree .tox-trbtn__vlabel {
+ display: block;
+ font-size: 10px;
+ font-weight: normal;
+ letter-spacing: -0.025em;
+ margin-bottom: 4px;
+ white-space: nowrap;
+}
+.tox .tox-tree .tox-tree--directory {
+ display: flex;
+ flex-direction: column;
+ /* stylelint-disable no-descending-specificity */
+}
+.tox .tox-tree .tox-tree--directory.tox-tree--directory--expanded > .tox-tree--directory__label .tox-chevron {
+ transform: rotate(90deg);
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label {
+ font-weight: bold;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn {
+ margin-left: auto;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg {
+ fill: transparent;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg,
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) {
+ background-color: transparent;
+ color: #222f3e;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron {
+ margin-right: 6px;
+ transition: transform 0.5s ease-in-out;
+}
+.tox .tox-tree .tox-tree--directory .tox-tree--directory__label.tox-tree--directory__label--active .tox-chevron {
+ transform: rotate(90deg);
+}
+.tox .tox-tree .tox-tree--leaf__label {
+ font-weight: normal;
+}
+.tox .tox-tree .tox-tree--leaf__label .tox-mbtn {
+ margin-left: auto;
+}
+.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg {
+ fill: transparent;
+}
+.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,
+.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) {
+ background-color: transparent;
+ color: #222f3e;
+}
+.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg {
+ fill: #222f3e;
+}
+.tox .tox-tree .tox-tree--directory__children {
+ overflow: hidden;
+ padding-left: 16px;
+}
+.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,
+.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking {
+ transition: height 0.5s ease-in-out;
+}
+.tox .tox-tree .tox-trbtn.tox-tree--leaf__label {
+ display: flex;
+ justify-content: space-between;
+}
+.tox .tox-view-wrap,
+.tox .tox-view-wrap__slot-container {
+ background-color: #fff;
+ display: flex;
+ flex: 1;
+ flex-direction: column;
+}
+.tox .tox-view {
+ display: flex;
+ flex: 1 1 auto;
+ flex-direction: column;
+ overflow: hidden;
+}
+.tox .tox-view__header {
+ align-items: center;
+ display: flex;
+ font-size: 16px;
+ justify-content: space-between;
+ padding: 8px 8px 0 8px;
+ position: relative;
+}
+.tox .tox-view--mobile.tox-view__header,
+.tox .tox-view--mobile.tox-view__toolbar {
+ padding: 8px;
+}
+.tox .tox-view--scrolling {
+ flex-wrap: nowrap;
+ overflow-x: auto;
+}
+.tox .tox-view__toolbar {
+ display: flex;
+ flex-direction: row;
+ gap: 8px;
+ justify-content: space-between;
+ padding: 8px 8px 0 8px;
+}
+.tox .tox-view__toolbar__group {
+ display: flex;
+ flex-direction: row;
+ gap: 12px;
+}
+.tox .tox-view__header-start,
+.tox .tox-view__header-end {
+ display: flex;
+}
+.tox .tox-view__pane {
+ height: 100%;
+ padding: 8px;
+ width: 100%;
+}
+.tox .tox-view__pane_panel {
+ border: 1px solid #eeeeee;
+ border-radius: 6px;
+}
+.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start > *,
+.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end > * {
+ margin-left: 8px;
+}
+.tox[dir=rtl] .tox-view__header .tox-view__header-start > *,
+.tox[dir=rtl] .tox-view__header .tox-view__header-end > * {
+ margin-right: 8px;
+}
.tox .tox-well {
- border: 1px solid #cccccc;
- border-radius: 3px;
+ border: 1px solid #eeeeee;
+ border-radius: 6px;
padding: 8px;
width: 100%;
}
@@ -3008,10 +3543,11 @@ body.tox-dialog__disable-scroll {
margin: 0;
}
.tox .tox-custom-editor {
- border: 1px solid #cccccc;
- border-radius: 3px;
+ border: 1px solid #eeeeee;
+ border-radius: 6px;
display: flex;
flex: 1;
+ overflow: hidden;
position: relative;
}
/* stylelint-disable */
@@ -3032,16 +3568,8 @@ body.tox-dialog__disable-scroll {
.tox .tox-dialog__content-js {
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
}
.tox .tox-dialog__body-content .tox-collection {
display: flex;
flex: 1;
- -ms-flex-preferred-size: auto;
-}
-.tox .tox-image-tools-edit-panel {
- height: 60px;
-}
-.tox .tox-image-tools__sidebar {
- height: 60px;
}
diff --git a/public/tinymce/skins/oxide/skin.min.css b/public/tinymce/skins/oxide/skin.min.css
index f570b8e49f..c5384dffd1 100644
--- a/public/tinymce/skins/oxide/skin.min.css
+++ b/public/tinymce/skins/oxide/skin.min.css
@@ -1,7 +1 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-.tox{box-shadow:none;box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:1px solid #ccc;border-radius:0;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox-tinymce-inline{border:none;box-shadow:none}.tox-tinymce-inline .tox-editor-header{background-color:transparent;border:1px solid #ccc;border-radius:0;box-shadow:none}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border:1px solid #ccc;border-radius:3px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>:last-child:not(:only-child){border-color:#ccc;border-style:solid}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(32,122,183,.1);border-color:rgba(32,122,183,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description>:last-child{border-color:rgba(32,122,183,.4)}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--info a .tox-icon{color:#207ab7}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.1);border-color:rgba(255,165,0,.5);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description>:last-child{border-color:rgba(255,165,0,.5)}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--warn a .tox-icon{color:#cc8500}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.1);border-color:rgba(204,0,0,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description>:last-child{border-color:rgba(204,0,0,.4)}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a .tox-icon{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);border-color:rgba(120,171,70,.4);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{border-color:rgba(120,171,70,.4)}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#78ab46}.tox .tox-dialog__body-content .accessibility-issue--success a .tox-icon{color:#78ab46}.tox .tox-dialog__body-content .accessibility-issue__header h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description>:last-child{border-left-width:1px;padding-left:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description>:last-child{border-right-width:1px;padding-right:4px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#207ab7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#207ab7;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button[disabled]{background-color:#207ab7;background-image:none;border-color:#207ab7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:hover:not(:disabled){background-color:#1c6ca1;background-image:none;border-color:#1c6ca1;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#185d8c;background-image:none;border-color:#185d8c;box-shadow:none;color:#fff}.tox .tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked[disabled]{background-color:#f0f0f0;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:focus:not(:disabled){background-color:#e3e3e3;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--naked:active:not(:disabled){background-color:#d6d6d6;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#222f3e}.tox .tox-checkbox{align-items:center;border-radius:3px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:3px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#207ab7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#207ab7}.tox .tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:3px;box-shadow:inset 0 0 0 1px #207ab7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#ccc;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#e6e6e6;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;color:#222f3e;cursor:pointer;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#dee0e2}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#c8cbcf;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#dee0e2;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;-ms-flex-preferred-size:auto;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#222f3e}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(34,47,62,.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:34px;margin:2px 0 3px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{-ms-grid-row-align:center;align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{-ms-grid-row-align:center;align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid #ccc}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid #ccc}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:2px 0 3px 4px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px 0}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#dee0e2}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fff;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:rgba(34,47,62,.7);font-size:12px}.tox .tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,.7)}.tox .tox-user__name{color:rgba(34,47,62,.7);font-size:12px;font-style:normal;font-weight:700;text-transform:uppercase}.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;-ms-flex-preferred-size:auto;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(32,122,183,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #207ab7;color:#207ab7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#207ab7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#185d8c;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;-webkit-margin-end:0;margin-inline-end:0;-webkit-margin-start:0;margin-inline-start:0;-webkit-padding-start:2.5rem;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:1px solid #ccc;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #ccc}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}.tox.tox-platform-ie .tox-dialog-wrap{position:-ms-device-fixed}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #ccc;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;-ms-flex-preferred-size:auto;overflow:hidden;position:relative}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;-ms-flex-preferred-size:auto;height:100%;position:absolute;width:100%}.tox.tox-inline-edit-area{border:1px dotted #ccc}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{z-index:1}.tox:not(.tox-tinymce-inline) .tox-editor-header{box-shadow:none;transition:box-shadow .5s}.tox.tox-tinymce--toolbar-bottom .tox-editor-header,.tox.tox-tinymce-inline .tox-editor-header{margin-bottom:-1px}.tox.tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:transparent;box-shadow:0 4px 4px -3px rgba(0,0,0,.25)}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#207ab7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:3px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-textarea{flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;-ms-flex-preferred-size:auto;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#207ab7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#ccc;border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 4.75px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#207ab7;box-shadow:none;outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-image-tools{width:100%}.tox .tox-image-tools__toolbar{align-items:center;display:flex;justify-content:center}.tox .tox-image-tools__image{background-color:#666;height:380px;overflow:auto;position:relative;width:100%}.tox .tox-image-tools__image,.tox .tox-image-tools__image+.tox-image-tools__toolbar{margin-top:8px}.tox .tox-image-tools__image-bg{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools__toolbar>.tox-spacer{flex:1;-ms-flex-preferred-size:auto}.tox .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-left:8px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-left:32px}.tox:not([dir=rtl]) .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-left:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider:not(:first-of-type){margin-right:8px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-button+.tox-slider{margin-right:32px}.tox[dir=rtl] .tox-image-tools__toolbar>.tox-slider+.tox-button{margin-right:32px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#ccc;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px 0}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(32,122,183,.5);border-color:rgba(32,122,183,.5)}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:4px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:4px}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 4px 0 4px}.tox.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-menubar{border-top:1px solid #ccc}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn--active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:3px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:-ms-grid;display:grid;font-size:14px;font-weight:400;-ms-grid-columns:minmax(40px,1fr) auto minmax(40px,1fr);grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{cursor:pointer;text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#547831}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f8dede;border-color:#f2bfbf;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#c00}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fffaea;border-color:#ffe89d;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#222f3e}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d9edf7;border-color:#779ecb;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#222f3e}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{-ms-grid-row-align:center;align-self:center;color:#222f3e;font-size:14px;-ms-grid-column-span:1;grid-column-end:3;-ms-grid-column:2;grid-column-start:2;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{-ms-grid-row-align:center;align-self:center;-ms-grid-column-span:1;grid-column-end:2;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{-ms-grid-row-align:start;align-self:start;-ms-grid-column-span:1;grid-column-end:4;-ms-grid-column:3;grid-column-start:3;-ms-grid-row-span:1;grid-row-end:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-column-align:end;justify-self:end}.tox .tox-notification .tox-progress-bar{-ms-grid-column-span:3;grid-column-end:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-row-span:1;grid-row-end:3;-ms-grid-row:2;grid-row-start:2;-ms-grid-column-align:center;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#ccc transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #ccc transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #ccc transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #ccc;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;-ms-flex-preferred-size:0;min-height:0}.tox .tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;-ms-flex-preferred-size:auto;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #ccc;border-radius:3px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#207ab7;border:2px solid #185d8c;border-radius:3px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #ccc;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:12px;font-weight:400;height:18px;overflow:hidden;padding:0 8px;position:relative;text-transform:uppercase}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){cursor:pointer;text-decoration:underline}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-left:1ch}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.7)}.tox .tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px;box-shadow:0 0 0 2px #dee0e2}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:1ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:34px;justify-content:center;margin:2px 0 3px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#222f3e}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#dee0e2;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#dee0e2;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#c8cbcf;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:51px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:68px;width:68px}.tox .tox-tbtn--return{-ms-grid-row-align:stretch;align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tbtn--select{margin:2px 0 3px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:2px 0 3px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #dee0e2 inset}.tox .tox-split-button:focus{background:#dee0e2;box-shadow:none;color:#222f3e}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background:url("data:image/svg+xml;charset=utf8,%3Csvg height='39px' viewBox='0 0 40 39px' width='40' xmlns='http://www.w3.org/2000/svg'%3E%3Crect x='0' y='38px' width='100' height='1' fill='%23cccccc'/%3E%3C/svg%3E") left 0 top 0 #fff;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord .tox-toolbar__primary{border-top:1px solid #ccc;margin-top:-1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar-overlord:first-child .tox-toolbar__primary,.tox-tinymce:not(.tox-tinymce-inline) .tox-editor-header:not(:first-child) .tox-toolbar:first-child{border-top:1px solid #ccc}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;border:1px solid #ccc;border-radius:3px;box-shadow:0 1px 3px rgba(0,0,0,.15)}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 4px 0 4px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid #ccc}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid #ccc}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:3px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-well{border:1px solid #ccc;border-radius:3px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #ccc;border-radius:3px;display:flex;flex:1;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1;-ms-flex-preferred-size:auto}.tox .tox-image-tools-edit-panel{height:60px}.tox .tox-image-tools__sidebar{height:60px}
+.tox{box-shadow:none;box-sizing:content-box;color:#222f3e;cursor:auto;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-style:normal;font-weight:400;line-height:normal;-webkit-tap-highlight-color:transparent;text-decoration:none;text-shadow:none;text-transform:none;vertical-align:initial;white-space:normal}.tox :not(svg):not(rect){box-sizing:inherit;color:inherit;cursor:inherit;direction:inherit;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;line-height:inherit;-webkit-tap-highlight-color:inherit;text-align:inherit;text-decoration:inherit;text-shadow:inherit;text-transform:inherit;vertical-align:inherit;white-space:inherit}.tox :not(svg):not(rect){background:0 0;border:0;box-shadow:none;float:none;height:auto;margin:0;max-width:none;outline:0;padding:0;position:static;width:auto}.tox:not([dir=rtl]){direction:ltr;text-align:left}.tox[dir=rtl]{direction:rtl;text-align:right}.tox-tinymce{border:2px solid #eee;border-radius:10px;box-shadow:none;box-sizing:border-box;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;overflow:hidden;position:relative;visibility:inherit!important}.tox.tox-tinymce-inline{border:none;box-shadow:none;overflow:initial}.tox.tox-tinymce-inline .tox-editor-container{overflow:initial}.tox.tox-tinymce-inline .tox-editor-header{background-color:#fff;border:2px solid #eee;border-radius:10px;box-shadow:none;overflow:hidden}.tox-tinymce-aux{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;z-index:1300}.tox-tinymce :focus,.tox-tinymce-aux :focus{outline:0}button::-moz-focus-inner{border:0}.tox[dir=rtl] .tox-icon--flip svg{transform:rotateY(180deg)}.tox .accessibility-issue__header{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description{align-items:stretch;border-radius:6px;display:flex;justify-content:space-between}.tox .accessibility-issue__description>div{padding-bottom:4px}.tox .accessibility-issue__description>div>div{align-items:center;display:flex;margin-bottom:4px}.tox .accessibility-issue__description>div>div .tox-icon svg{display:block}.tox .accessibility-issue__repair{margin-top:16px}.tox .tox-dialog__body-content .accessibility-issue--info .accessibility-issue__description{background-color:rgba(0,101,216,.1);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--info .tox-form__group h2{color:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info .tox-icon svg{fill:#006ce7}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon{background-color:#006ce7;color:#fff}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:hover{background-color:#0060ce}.tox .tox-dialog__body-content .accessibility-issue--info a.tox-button--naked.tox-button--icon:active{background-color:#0054b4}.tox .tox-dialog__body-content .accessibility-issue--warn .accessibility-issue__description{background-color:rgba(255,165,0,.08);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-form__group h2{color:#8f5d00}.tox .tox-dialog__body-content .accessibility-issue--warn .tox-icon svg{fill:#8f5d00}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon{background-color:#ffe89d;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:hover{background-color:#f2d574;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--warn a.tox-button--naked.tox-button--icon:active{background-color:#e8c657;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .accessibility-issue__description{background-color:rgba(204,0,0,.1);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error .tox-form__group h2{color:#c00}.tox .tox-dialog__body-content .accessibility-issue--error .tox-icon svg{fill:#c00}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon{background-color:#f2bfbf;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:focus,.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:hover{background-color:#e9a4a4;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--error a.tox-button--naked.tox-button--icon:active{background-color:#ee9494;color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description{background-color:rgba(120,171,70,.1);color:#222f3e}.tox .tox-dialog__body-content .accessibility-issue--success .accessibility-issue__description>:last-child{display:none}.tox .tox-dialog__body-content .accessibility-issue--success .tox-form__group h2{color:#527530}.tox .tox-dialog__body-content .accessibility-issue--success .tox-icon svg{fill:#527530}.tox .tox-dialog__body-content .accessibility-issue__header .tox-form__group h1,.tox .tox-dialog__body-content .tox-form__group .accessibility-issue__description h2{font-size:14px;margin-top:0}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-left:4px}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-left:auto}.tox:not([dir=rtl]) .tox-dialog__body-content .accessibility-issue__description{padding:4px 4px 4px 8px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header .tox-button{margin-right:4px}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__header>:nth-last-child(2){margin-right:auto}.tox[dir=rtl] .tox-dialog__body-content .accessibility-issue__description{padding:4px 8px 4px 4px}.tox .tox-advtemplate .tox-form__grid{flex:1}.tox .tox-advtemplate .tox-form__grid>div:first-child{display:flex;flex-direction:column;width:30%}.tox .tox-advtemplate .tox-form__grid>div:first-child>div:nth-child(2){flex-basis:0;flex-grow:1;overflow:auto}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-advtemplate .tox-form__grid>div:first-child{width:100%}}.tox .tox-advtemplate iframe{border-color:#eee;border-radius:10px;border-style:solid;border-width:1px;margin:0 10px}.tox .tox-anchorbar{display:flex;flex:0 0 auto}.tox .tox-bar{display:flex;flex:0 0 auto}.tox .tox-button{background-color:#006ce7;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#006ce7;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;line-height:24px;margin:0;outline:0;padding:4px 16px;position:relative;text-align:center;text-decoration:none;text-transform:none;white-space:nowrap}.tox .tox-button::before{border-radius:6px;bottom:-1px;box-shadow:inset 0 0 0 2px #fff,0 0 0 1px #006ce7,0 0 0 3px rgba(0,108,231,.25);content:'';left:-1px;opacity:0;pointer-events:none;position:absolute;right:-1px;top:-1px}.tox .tox-button[disabled]{background-color:#006ce7;background-image:none;border-color:#006ce7;box-shadow:none;color:rgba(255,255,255,.5);cursor:not-allowed}.tox .tox-button:focus:not(:disabled){background-color:#0060ce;background-image:none;border-color:#0060ce;box-shadow:none;color:#fff}.tox .tox-button:focus-visible:not(:disabled)::before{opacity:1}.tox .tox-button:hover:not(:disabled){background-color:#0060ce;background-image:none;border-color:#0060ce;box-shadow:none;color:#fff}.tox .tox-button:active:not(:disabled){background-color:#0054b4;background-image:none;border-color:#0054b4;box-shadow:none;color:#fff}.tox .tox-button.tox-button--enabled,.tox .tox-button.tox-button--enabled:hover{background:#a6ccf7;border-width:1px;box-shadow:none;color:#222f3e}.tox .tox-button.tox-button--enabled:hover>*,.tox .tox-button.tox-button--enabled>*{transform:none}.tox .tox-button.tox-button--enabled svg,.tox .tox-button.tox-button--enabled:hover svg{fill:#222f3e}.tox .tox-button--icon-and-text,.tox .tox-button.tox-button--icon-and-text,.tox .tox-button.tox-button--secondary.tox-button--icon-and-text{display:flex;padding:5px 4px}.tox .tox-button--icon-and-text .tox-icon svg,.tox .tox-button.tox-button--icon-and-text .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon-and-text .tox-icon svg{display:block;fill:currentColor}.tox .tox-button--secondary{background-color:#f0f0f0;background-image:none;background-position:0 0;background-repeat:repeat;border-color:#f0f0f0;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;color:#222f3e;font-size:14px;font-style:normal;font-weight:700;letter-spacing:normal;outline:0;padding:4px 16px;text-decoration:none;text-transform:none}.tox .tox-button--secondary[disabled]{background-color:#f0f0f0;background-image:none;border-color:#f0f0f0;box-shadow:none;color:rgba(34,47,62,.5)}.tox .tox-button--secondary:focus:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:hover:not(:disabled){background-color:#e3e3e3;background-image:none;border-color:#e3e3e3;box-shadow:none;color:#222f3e}.tox .tox-button--secondary:active:not(:disabled){background-color:#d6d6d6;background-image:none;border-color:#d6d6d6;box-shadow:none;color:#222f3e}.tox .tox-button--icon,.tox .tox-button.tox-button--icon,.tox .tox-button.tox-button--secondary.tox-button--icon{padding:4px}.tox .tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--icon .tox-icon svg,.tox .tox-button.tox-button--secondary.tox-button--icon .tox-icon svg{display:block;fill:currentColor}.tox .tox-button-link{background:0;border:none;box-sizing:border-box;cursor:pointer;display:inline-block;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;font-weight:400;line-height:1.3;margin:0;padding:0;white-space:nowrap}.tox .tox-button-link--sm{font-size:14px}.tox .tox-button--naked{background-color:transparent;border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked[disabled]{background-color:rgba(34,47,62,.12);border-color:transparent;box-shadow:unset;color:rgba(34,47,62,.5)}.tox .tox-button--naked:hover:not(:disabled){background-color:rgba(34,47,62,.12);border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked:focus:not(:disabled){background-color:rgba(34,47,62,.12);border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked:active:not(:disabled){background-color:rgba(34,47,62,.18);border-color:transparent;box-shadow:unset;color:#222f3e}.tox .tox-button--naked .tox-icon svg{fill:currentColor}.tox .tox-button--naked.tox-button--icon:hover:not(:disabled){color:#222f3e}.tox .tox-checkbox{align-items:center;border-radius:6px;cursor:pointer;display:flex;height:36px;min-width:36px}.tox .tox-checkbox__input{height:1px;overflow:hidden;position:absolute;top:auto;width:1px}.tox .tox-checkbox__icons{align-items:center;border-radius:6px;box-shadow:0 0 0 2px transparent;box-sizing:content-box;display:flex;height:24px;justify-content:center;padding:calc(4px - 1px);width:24px}.tox .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:block;fill:rgba(34,47,62,.3)}.tox .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:none;fill:#006ce7}.tox .tox-checkbox__icons .tox-checkbox-icon__checked svg{display:none;fill:#006ce7}.tox .tox-checkbox--disabled{color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__checked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__unchecked svg{fill:rgba(34,47,62,.5)}.tox .tox-checkbox--disabled .tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{fill:rgba(34,47,62,.5)}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:checked+.tox-checkbox__icons .tox-checkbox-icon__checked svg{display:block}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__unchecked svg{display:none}.tox input.tox-checkbox__input:indeterminate+.tox-checkbox__icons .tox-checkbox-icon__indeterminate svg{display:block}.tox input.tox-checkbox__input:focus+.tox-checkbox__icons{border-radius:6px;box-shadow:inset 0 0 0 1px #006ce7;padding:calc(4px - 1px)}.tox:not([dir=rtl]) .tox-checkbox__label{margin-left:4px}.tox:not([dir=rtl]) .tox-checkbox__input{left:-10000px}.tox:not([dir=rtl]) .tox-bar .tox-checkbox{margin-left:4px}.tox[dir=rtl] .tox-checkbox__label{margin-right:4px}.tox[dir=rtl] .tox-checkbox__input{right:-10000px}.tox[dir=rtl] .tox-bar .tox-checkbox{margin-right:4px}.tox .tox-collection--toolbar .tox-collection__group{display:flex;padding:0}.tox .tox-collection--grid .tox-collection__group{display:flex;flex-wrap:wrap;max-height:208px;overflow-x:hidden;overflow-y:auto;padding:0}.tox .tox-collection--list .tox-collection__group{border-bottom-width:0;border-color:#e3e3e3;border-left-width:0;border-right-width:0;border-style:solid;border-top-width:1px;padding:4px 0}.tox .tox-collection--list .tox-collection__group:first-child{border-top-width:0}.tox .tox-collection__group-heading{background-color:#fcfcfc;color:rgba(34,47,62,.7);cursor:default;font-size:12px;font-style:normal;font-weight:400;margin-bottom:4px;margin-top:-4px;padding:4px 8px;text-transform:none;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tox .tox-collection__item{align-items:center;border-radius:3px;color:#222f3e;display:flex;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tox .tox-collection--list .tox-collection__item{padding:4px 8px}.tox .tox-collection--toolbar .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--grid .tox-collection__item{border-radius:3px;padding:4px}.tox .tox-collection--list .tox-collection__item--enabled{background-color:#fff;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active{background-color:#cce2fa}.tox .tox-collection--toolbar .tox-collection__item--enabled{background-color:#a6ccf7;color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active{background-color:#cce2fa}.tox .tox-collection--grid .tox-collection__item--enabled{background-color:#a6ccf7;color:#222f3e}.tox .tox-collection--grid .tox-collection__item--active:not(.tox-collection__item--state-disabled){background-color:#cce2fa;color:#222f3e}.tox .tox-collection--list .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection--toolbar .tox-collection__item--active:not(.tox-collection__item--state-disabled){color:#222f3e}.tox .tox-collection__item-checkmark,.tox .tox-collection__item-icon{align-items:center;display:flex;height:24px;justify-content:center;width:24px}.tox .tox-collection__item-checkmark svg,.tox .tox-collection__item-icon svg{fill:currentColor}.tox .tox-collection--toolbar-lg .tox-collection__item-icon{height:48px;width:48px}.tox .tox-collection__item-label{color:currentColor;display:inline-block;flex:1;font-size:14px;font-style:normal;font-weight:400;line-height:24px;text-transform:none;word-break:break-all}.tox .tox-collection__item-accessory{color:rgba(34,47,62,.7);display:inline-block;font-size:14px;height:24px;line-height:24px;text-transform:none}.tox .tox-collection__item-caret{align-items:center;display:flex;min-height:24px}.tox .tox-collection__item-caret::after{content:'';font-size:0;min-height:inherit}.tox .tox-collection__item-caret svg{fill:#222f3e}.tox .tox-collection__item--state-disabled{background-color:transparent;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-collection__item--state-disabled .tox-collection__item-caret svg{fill:rgba(34,47,62,.5)}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-checkmark svg{display:none}.tox .tox-collection--list .tox-collection__item:not(.tox-collection__item--enabled) .tox-collection__item-accessory+.tox-collection__item-checkmark{display:none}.tox .tox-collection--horizontal{background-color:#fff;border:1px solid #e3e3e3;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:nowrap;margin-bottom:0;overflow-x:auto;padding:0}.tox .tox-collection--horizontal .tox-collection__group{align-items:center;display:flex;flex-wrap:nowrap;margin:0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item{height:28px;margin:6px 1px 5px 0;padding:0 4px}.tox .tox-collection--horizontal .tox-collection__item-label{white-space:nowrap}.tox .tox-collection--horizontal .tox-collection__item-caret{margin-left:4px}.tox .tox-collection__item-container{display:flex}.tox .tox-collection__item-container--row{align-items:center;flex:1 1 auto;flex-direction:row}.tox .tox-collection__item-container--row.tox-collection__item-container--align-left{margin-right:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--align-right{justify-content:flex-end;margin-left:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-top{align-items:flex-start;margin-bottom:auto}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-middle{align-items:center}.tox .tox-collection__item-container--row.tox-collection__item-container--valign-bottom{align-items:flex-end;margin-top:auto}.tox .tox-collection__item-container--column{align-self:center;flex:1 1 auto;flex-direction:column}.tox .tox-collection__item-container--column.tox-collection__item-container--align-left{align-items:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--align-right{align-items:flex-end}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-top{align-self:flex-start}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-middle{align-self:center}.tox .tox-collection__item-container--column.tox-collection__item-container--valign-bottom{align-self:flex-end}.tox:not([dir=rtl]) .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-right:1px solid transparent}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>:not(:first-child){margin-left:8px}.tox:not([dir=rtl]) .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-left:4px}.tox:not([dir=rtl]) .tox-collection__item-accessory{margin-left:16px;text-align:right}.tox:not([dir=rtl]) .tox-collection .tox-collection__item-caret{margin-left:16px}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__group:not(:last-of-type){border-left:1px solid transparent}.tox[dir=rtl] .tox-collection--list .tox-collection__item>:not(:first-child){margin-right:8px}.tox[dir=rtl] .tox-collection--list .tox-collection__item>.tox-collection__item-label:first-child{margin-right:4px}.tox[dir=rtl] .tox-collection__item-accessory{margin-right:16px;text-align:left}.tox[dir=rtl] .tox-collection .tox-collection__item-caret{margin-right:16px;transform:rotateY(180deg)}.tox[dir=rtl] .tox-collection--horizontal .tox-collection__item-caret{margin-right:4px}.tox .tox-color-picker-container{display:flex;flex-direction:row;height:225px;margin:0}.tox .tox-sv-palette{box-sizing:border-box;display:flex;height:100%}.tox .tox-sv-palette-spectrum{height:100%}.tox .tox-sv-palette,.tox .tox-sv-palette-spectrum{width:225px}.tox .tox-sv-palette-thumb{background:0 0;border:1px solid #000;border-radius:50%;box-sizing:content-box;height:12px;position:absolute;width:12px}.tox .tox-sv-palette-inner-thumb{border:1px solid #fff;border-radius:50%;height:10px;position:absolute;width:10px}.tox .tox-hue-slider{box-sizing:border-box;height:100%;width:25px}.tox .tox-hue-slider-spectrum{background:linear-gradient(to bottom,red,#ff0080,#f0f,#8000ff,#00f,#0080ff,#0ff,#00ff80,#0f0,#80ff00,#ff0,#ff8000,red);height:100%;width:100%}.tox .tox-hue-slider,.tox .tox-hue-slider-spectrum{width:20px}.tox .tox-hue-slider-thumb{background:#fff;border:1px solid #000;box-sizing:content-box;height:4px;width:100%}.tox .tox-rgb-form{display:flex;flex-direction:column;justify-content:space-between}.tox .tox-rgb-form div{align-items:center;display:flex;justify-content:space-between;margin-bottom:5px;width:inherit}.tox .tox-rgb-form input{width:6em}.tox .tox-rgb-form input.tox-invalid{border:1px solid red!important}.tox .tox-rgb-form .tox-rgba-preview{border:1px solid #000;flex-grow:2;margin-bottom:0}.tox:not([dir=rtl]) .tox-sv-palette{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider{margin-right:15px}.tox:not([dir=rtl]) .tox-hue-slider-thumb{margin-left:-1px}.tox:not([dir=rtl]) .tox-rgb-form label{margin-right:.5em}.tox[dir=rtl] .tox-sv-palette{margin-left:15px}.tox[dir=rtl] .tox-hue-slider{margin-left:15px}.tox[dir=rtl] .tox-hue-slider-thumb{margin-right:-1px}.tox[dir=rtl] .tox-rgb-form label{margin-left:.5em}.tox .tox-toolbar .tox-swatches,.tox .tox-toolbar__overflow .tox-swatches,.tox .tox-toolbar__primary .tox-swatches{margin:5px 0 6px 11px}.tox .tox-collection--list .tox-collection__group .tox-swatches-menu{border:0;margin:-4px -4px}.tox .tox-swatches__row{display:flex}.tox .tox-swatch{height:30px;transition:transform .15s,box-shadow .15s;width:30px}.tox .tox-swatch:focus,.tox .tox-swatch:hover{box-shadow:0 0 0 1px rgba(127,127,127,.3) inset;transform:scale(.8)}.tox .tox-swatch--remove{align-items:center;display:flex;justify-content:center}.tox .tox-swatch--remove svg path{stroke:#e74c3c}.tox .tox-swatches__picker-btn{align-items:center;background-color:transparent;border:0;cursor:pointer;display:flex;height:30px;justify-content:center;outline:0;padding:0;width:30px}.tox .tox-swatches__picker-btn svg{fill:#222f3e;height:24px;width:24px}.tox .tox-swatches__picker-btn:hover{background:#cce2fa}.tox div.tox-swatch:not(.tox-swatch--remove) svg{display:none;fill:#222f3e;height:24px;margin:calc((30px - 24px)/ 2) calc((30px - 24px)/ 2);width:24px}.tox div.tox-swatch:not(.tox-swatch--remove) svg path{fill:#fff;paint-order:stroke;stroke:#222f3e;stroke-width:2px}.tox div.tox-swatch:not(.tox-swatch--remove).tox-collection__item--enabled svg{display:block}.tox:not([dir=rtl]) .tox-swatches__picker-btn{margin-left:auto}.tox[dir=rtl] .tox-swatches__picker-btn{margin-right:auto}.tox .tox-comment-thread{background:#fff;position:relative}.tox .tox-comment-thread>:not(:first-child){margin-top:8px}.tox .tox-comment{background:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 4px 8px 0 rgba(34,47,62,.1);padding:8px 8px 16px 8px;position:relative}.tox .tox-comment__header{align-items:center;color:#222f3e;display:flex;justify-content:space-between}.tox .tox-comment__date{color:#222f3e;font-size:12px;line-height:18px}.tox .tox-comment__body{color:#222f3e;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;margin-top:8px;position:relative;text-transform:initial}.tox .tox-comment__body textarea{resize:none;white-space:normal;width:100%}.tox .tox-comment__expander{padding-top:8px}.tox .tox-comment__expander p{color:rgba(34,47,62,.7);font-size:14px;font-style:normal}.tox .tox-comment__body p{margin:0}.tox .tox-comment__buttonspacing{padding-top:16px;text-align:center}.tox .tox-comment-thread__overlay::after{background:#fff;bottom:0;content:"";display:flex;left:0;opacity:.9;position:absolute;right:0;top:0;z-index:5}.tox .tox-comment__reply{display:flex;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;margin-top:8px}.tox .tox-comment__reply>:first-child{margin-bottom:8px;width:100%}.tox .tox-comment__edit{display:flex;flex-wrap:wrap;justify-content:flex-end;margin-top:16px}.tox .tox-comment__gradient::after{background:linear-gradient(rgba(255,255,255,0),#fff);bottom:0;content:"";display:block;height:5em;margin-top:-40px;position:absolute;width:100%}.tox .tox-comment__overlay{background:#fff;bottom:0;display:flex;flex-direction:column;flex-grow:1;left:0;opacity:.9;position:absolute;right:0;text-align:center;top:0;z-index:5}.tox .tox-comment__loading-text{align-items:center;color:#222f3e;display:flex;flex-direction:column;position:relative}.tox .tox-comment__loading-text>div{padding-bottom:16px}.tox .tox-comment__overlaytext{bottom:0;flex-direction:column;font-size:14px;left:0;padding:1em;position:absolute;right:0;top:0;z-index:10}.tox .tox-comment__overlaytext p{background-color:#fff;box-shadow:0 0 8px 8px #fff;color:#222f3e;text-align:center}.tox .tox-comment__overlaytext div:nth-of-type(2){font-size:.8em}.tox .tox-comment__busy-spinner{align-items:center;background-color:#fff;bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:20}.tox .tox-comment__scroll{display:flex;flex-direction:column;flex-shrink:1;overflow:auto}.tox .tox-conversations{margin:8px}.tox:not([dir=rtl]) .tox-comment__edit{margin-left:8px}.tox:not([dir=rtl]) .tox-comment__buttonspacing>:last-child,.tox:not([dir=rtl]) .tox-comment__edit>:last-child,.tox:not([dir=rtl]) .tox-comment__reply>:last-child{margin-left:8px}.tox[dir=rtl] .tox-comment__edit{margin-right:8px}.tox[dir=rtl] .tox-comment__buttonspacing>:last-child,.tox[dir=rtl] .tox-comment__edit>:last-child,.tox[dir=rtl] .tox-comment__reply>:last-child{margin-right:8px}.tox .tox-user{align-items:center;display:flex}.tox .tox-user__avatar svg{fill:rgba(34,47,62,.7)}.tox .tox-user__avatar img{border-radius:50%;height:36px;object-fit:cover;vertical-align:middle;width:36px}.tox .tox-user__name{color:#222f3e;font-size:14px;font-style:normal;font-weight:700;line-height:18px;text-transform:none}.tox:not([dir=rtl]) .tox-user__avatar img,.tox:not([dir=rtl]) .tox-user__avatar svg{margin-right:8px}.tox:not([dir=rtl]) .tox-user__avatar+.tox-user__name{margin-left:8px}.tox[dir=rtl] .tox-user__avatar img,.tox[dir=rtl] .tox-user__avatar svg{margin-left:8px}.tox[dir=rtl] .tox-user__avatar+.tox-user__name{margin-right:8px}.tox .tox-dialog-wrap{align-items:center;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1100}.tox .tox-dialog-wrap__backdrop{background-color:rgba(255,255,255,.75);bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.tox .tox-dialog-wrap__backdrop--opaque{background-color:#fff}.tox .tox-dialog{background-color:#fff;border-color:#eee;border-radius:10px;border-style:solid;border-width:0;box-shadow:0 16px 16px -10px rgba(34,47,62,.15),0 0 40px 1px rgba(34,47,62,.15);display:flex;flex-direction:column;max-height:100%;max-width:480px;overflow:hidden;position:relative;width:95vw;z-index:2}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog{align-self:flex-start;margin:8px auto;max-height:calc(100vh - 8px * 2);width:calc(100vw - 16px)}}.tox .tox-dialog-inline{z-index:1100}.tox .tox-dialog__header{align-items:center;background-color:#fff;border-bottom:none;color:#222f3e;display:flex;font-size:16px;justify-content:space-between;padding:8px 16px 0 16px;position:relative}.tox .tox-dialog__header .tox-button{z-index:1}.tox .tox-dialog__draghandle{cursor:grab;height:100%;left:0;position:absolute;top:0;width:100%}.tox .tox-dialog__draghandle:active{cursor:grabbing}.tox .tox-dialog__dismiss{margin-left:auto}.tox .tox-dialog__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:20px;font-style:normal;font-weight:400;line-height:1.3;margin:0;text-transform:none}.tox .tox-dialog__body{color:#222f3e;display:flex;flex:1;font-size:16px;font-style:normal;font-weight:400;line-height:1.3;min-width:0;text-align:left;text-transform:none}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body{flex-direction:column}}.tox .tox-dialog__body-nav{align-items:flex-start;display:flex;flex-direction:column;padding:16px 16px}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox .tox-dialog__body-nav{flex-direction:row;-webkit-overflow-scrolling:touch;overflow-x:auto;padding-bottom:0}}.tox .tox-dialog__body-nav-item{border-bottom:2px solid transparent;color:rgba(34,47,62,.7);display:inline-block;font-size:14px;line-height:1.3;margin-bottom:8px;text-decoration:none;white-space:nowrap}.tox .tox-dialog__body-nav-item:focus{background-color:rgba(0,108,231,.1)}.tox .tox-dialog__body-nav-item--active{border-bottom:2px solid #006ce7;color:#006ce7}.tox .tox-dialog__body-content{box-sizing:border-box;display:flex;flex:1;flex-direction:column;max-height:650px;overflow:auto;-webkit-overflow-scrolling:touch;padding:16px 16px}.tox .tox-dialog__body-content>*{margin-bottom:0;margin-top:16px}.tox .tox-dialog__body-content>:first-child{margin-top:0}.tox .tox-dialog__body-content>:last-child{margin-bottom:0}.tox .tox-dialog__body-content>:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog__body-content a{color:#006ce7;cursor:pointer;text-decoration:none}.tox .tox-dialog__body-content a:focus,.tox .tox-dialog__body-content a:hover{color:#0054b4;text-decoration:none}.tox .tox-dialog__body-content a:active{color:#0054b4;text-decoration:none}.tox .tox-dialog__body-content svg{fill:#222f3e}.tox .tox-dialog__body-content ul{display:block;list-style-type:disc;margin-bottom:16px;margin-inline-end:0;margin-inline-start:0;padding-inline-start:2.5rem}.tox .tox-dialog__body-content .tox-form__group h1{color:#222f3e;font-size:20px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group h2{color:#222f3e;font-size:16px;font-style:normal;font-weight:700;letter-spacing:normal;margin-bottom:16px;margin-top:2rem;text-transform:none}.tox .tox-dialog__body-content .tox-form__group p{margin-bottom:16px}.tox .tox-dialog__body-content .tox-form__group h1:first-child,.tox .tox-dialog__body-content .tox-form__group h2:first-child,.tox .tox-dialog__body-content .tox-form__group p:first-child{margin-top:0}.tox .tox-dialog__body-content .tox-form__group h1:last-child,.tox .tox-dialog__body-content .tox-form__group h2:last-child,.tox .tox-dialog__body-content .tox-form__group p:last-child{margin-bottom:0}.tox .tox-dialog__body-content .tox-form__group h1:only-child,.tox .tox-dialog__body-content .tox-form__group h2:only-child,.tox .tox-dialog__body-content .tox-form__group p:only-child{margin-bottom:0;margin-top:0}.tox .tox-dialog--width-lg{height:650px;max-width:1200px}.tox .tox-dialog--fullscreen{height:100%;max-width:100%}.tox .tox-dialog--fullscreen .tox-dialog__body-content{max-height:100%}.tox .tox-dialog--width-md{max-width:800px}.tox .tox-dialog--width-md .tox-dialog__body-content{overflow:auto}.tox .tox-dialog__body-content--centered{text-align:center}.tox .tox-dialog__footer{align-items:center;background-color:#fff;border-top:none;display:flex;justify-content:space-between;padding:8px 16px}.tox .tox-dialog__footer-end,.tox .tox-dialog__footer-start{display:flex}.tox .tox-dialog__busy-spinner{align-items:center;background-color:rgba(255,255,255,.75);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0;z-index:3}.tox .tox-dialog__table{border-collapse:collapse;width:100%}.tox .tox-dialog__table thead th{font-weight:700;padding-bottom:8px}.tox .tox-dialog__table thead th:first-child{padding-right:8px}.tox .tox-dialog__table tbody tr{border-bottom:1px solid #626262}.tox .tox-dialog__table tbody tr:last-child{border-bottom:none}.tox .tox-dialog__table td{padding-bottom:8px;padding-top:8px}.tox .tox-dialog__table td:first-child{padding-right:8px}.tox .tox-dialog__iframe.tox-dialog__iframe--opaque{background:#fff}.tox .tox-dialog__popups{position:absolute;width:100%;z-index:1100}.tox .tox-dialog__body-iframe{display:flex;flex:1;flex-direction:column}.tox .tox-dialog__body-iframe .tox-navobj{display:flex;flex:1}.tox .tox-dialog__body-iframe .tox-navobj :nth-child(2){flex:1;height:100%}.tox .tox-dialog-dock-fadeout{opacity:0;visibility:hidden}.tox .tox-dialog-dock-fadein{opacity:1;visibility:visible}.tox .tox-dialog-dock-transition{transition:visibility 0s linear .3s,opacity .3s ease}.tox .tox-dialog-dock-transition.tox-dialog-dock-fadein{transition-delay:0s}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav{margin-right:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox:not([dir=rtl]) .tox-dialog__body-nav-item:not(:first-child){margin-left:8px}}.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-end>*,.tox:not([dir=rtl]) .tox-dialog__footer .tox-dialog__footer-start>*{margin-left:8px}.tox[dir=rtl] .tox-dialog__body{text-align:right}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav{margin-left:0}}@media only screen and (max-width:767px){body:not(.tox-force-desktop) .tox[dir=rtl] .tox-dialog__body-nav-item:not(:first-child){margin-right:8px}}.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-end>*,.tox[dir=rtl] .tox-dialog__footer .tox-dialog__footer-start>*{margin-right:8px}body.tox-dialog__disable-scroll{overflow:hidden}.tox .tox-dropzone-container{display:flex;flex:1}.tox .tox-dropzone{align-items:center;background:#fff;border:2px dashed #eee;box-sizing:border-box;display:flex;flex-direction:column;flex-grow:1;justify-content:center;min-height:100px;padding:10px}.tox .tox-dropzone p{color:rgba(34,47,62,.7);margin:0 0 16px 0}.tox .tox-edit-area{display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-edit-area::before{border:2px solid #2d6adf;border-radius:4px;content:'';inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s;z-index:1}.tox .tox-edit-area__iframe{background-color:#fff;border:0;box-sizing:border-box;flex:1;height:100%;position:absolute;width:100%}.tox.tox-edit-focus .tox-edit-area::before{opacity:1}.tox.tox-inline-edit-area{border:1px dotted #eee}.tox .tox-editor-container{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-editor-header{display:grid;grid-template-columns:1fr min-content;z-index:2}.tox:not(.tox-tinymce-inline) .tox-editor-header{background-color:#fff;border-bottom:none;box-shadow:0 2px 2px -2px rgba(34,47,62,.1),0 8px 8px -4px rgba(34,47,62,.07);padding:4px 0}.tox:not(.tox-tinymce-inline) .tox-editor-header:not(.tox-editor-dock-transition){transition:box-shadow .5s}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-bottom .tox-editor-header{border-top:1px solid #e3e3e3;box-shadow:none}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on .tox-editor-header{background-color:#fff;box-shadow:0 2px 2px -2px rgba(34,47,62,.2),0 8px 8px -4px rgba(34,47,62,.15);padding:4px 0}.tox:not(.tox-tinymce-inline).tox-tinymce--toolbar-sticky-on.tox-tinymce--toolbar-bottom .tox-editor-header{box-shadow:0 2px 2px -2px rgba(34,47,62,.2),0 8px 8px -4px rgba(34,47,62,.15)}.tox.tox:not(.tox-tinymce-inline) .tox-editor-header.tox-editor-header--empty{background:0 0;border:none;box-shadow:none;padding:0}.tox-editor-dock-fadeout{opacity:0;visibility:hidden}.tox-editor-dock-fadein{opacity:1;visibility:visible}.tox-editor-dock-transition{transition:visibility 0s linear .25s,opacity .25s ease}.tox-editor-dock-transition.tox-editor-dock-fadein{transition-delay:0s}.tox .tox-control-wrap{flex:1;position:relative}.tox .tox-control-wrap:not(.tox-control-wrap--status-invalid) .tox-control-wrap__status-icon-invalid,.tox .tox-control-wrap:not(.tox-control-wrap--status-unknown) .tox-control-wrap__status-icon-unknown,.tox .tox-control-wrap:not(.tox-control-wrap--status-valid) .tox-control-wrap__status-icon-valid{display:none}.tox .tox-control-wrap svg{display:block}.tox .tox-control-wrap__status-icon-wrap{position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-control-wrap__status-icon-invalid svg{fill:#c00}.tox .tox-control-wrap__status-icon-unknown svg{fill:orange}.tox .tox-control-wrap__status-icon-valid svg{fill:green}.tox:not([dir=rtl]) .tox-control-wrap--status-invalid .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-unknown .tox-textfield,.tox:not([dir=rtl]) .tox-control-wrap--status-valid .tox-textfield{padding-right:32px}.tox:not([dir=rtl]) .tox-control-wrap__status-icon-wrap{right:4px}.tox[dir=rtl] .tox-control-wrap--status-invalid .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-unknown .tox-textfield,.tox[dir=rtl] .tox-control-wrap--status-valid .tox-textfield{padding-left:32px}.tox[dir=rtl] .tox-control-wrap__status-icon-wrap{left:4px}.tox .tox-autocompleter{max-width:25em}.tox .tox-autocompleter .tox-menu{box-sizing:border-box;max-width:25em}.tox .tox-autocompleter .tox-autocompleter-highlight{font-weight:700}.tox .tox-color-input{display:flex;position:relative;z-index:1}.tox .tox-color-input .tox-textfield{z-index:-1}.tox .tox-color-input span{border-color:rgba(34,47,62,.2);border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;height:24px;position:absolute;top:6px;width:24px}.tox .tox-color-input span:focus:not([aria-disabled=true]),.tox .tox-color-input span:hover:not([aria-disabled=true]){border-color:#006ce7;cursor:pointer}.tox .tox-color-input span::before{background-image:linear-gradient(45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(-45deg,rgba(0,0,0,.25) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(0,0,0,.25) 75%),linear-gradient(-45deg,transparent 75%,rgba(0,0,0,.25) 75%);background-position:0 0,0 6px,6px -6px,-6px 0;background-size:12px 12px;border:1px solid #fff;border-radius:6px;box-sizing:border-box;content:'';height:24px;left:-1px;position:absolute;top:-1px;width:24px;z-index:-1}.tox .tox-color-input span[aria-disabled=true]{cursor:not-allowed}.tox:not([dir=rtl]) .tox-color-input .tox-textfield{padding-left:36px}.tox:not([dir=rtl]) .tox-color-input span{left:6px}.tox[dir=rtl] .tox-color-input .tox-textfield{padding-right:36px}.tox[dir=rtl] .tox-color-input span{right:6px}.tox .tox-label,.tox .tox-toolbar-label{color:rgba(34,47,62,.7);display:block;font-size:14px;font-style:normal;font-weight:400;line-height:1.3;padding:0 8px 0 0;text-transform:none;white-space:nowrap}.tox .tox-toolbar-label{padding:0 8px}.tox[dir=rtl] .tox-label{padding:0 0 0 8px}.tox .tox-form{display:flex;flex:1;flex-direction:column}.tox .tox-form__group{box-sizing:border-box;margin-bottom:4px}.tox .tox-form-group--maximize{flex:1}.tox .tox-form__group--error{color:#c00}.tox .tox-form__group--collection{display:flex}.tox .tox-form__grid{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:space-between}.tox .tox-form__grid--2col>.tox-form__group{width:calc(50% - (8px / 2))}.tox .tox-form__grid--3col>.tox-form__group{width:calc(100% / 3 - (8px / 2))}.tox .tox-form__grid--4col>.tox-form__group{width:calc(25% - (8px / 2))}.tox .tox-form__controls-h-stack{align-items:center;display:flex}.tox .tox-form__group--inline{align-items:center;display:flex}.tox .tox-form__group--stretched{display:flex;flex:1;flex-direction:column}.tox .tox-form__group--stretched .tox-textarea{flex:1}.tox .tox-form__group--stretched .tox-navobj{display:flex;flex:1}.tox .tox-form__group--stretched .tox-navobj :nth-child(2){flex:1;height:100%}.tox:not([dir=rtl]) .tox-form__controls-h-stack>:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-form__controls-h-stack>:not(:first-child){margin-right:4px}.tox .tox-lock.tox-locked .tox-lock-icon__unlock,.tox .tox-lock:not(.tox-locked) .tox-lock-icon__lock{display:none}.tox .tox-listboxfield .tox-listbox--select,.tox .tox-textarea,.tox .tox-textarea-wrap .tox-textarea:focus,.tox .tox-textfield,.tox .tox-toolbar-textfield{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-textarea[disabled],.tox .tox-textfield[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-custom-editor:focus-within,.tox .tox-listboxfield .tox-listbox--select:focus,.tox .tox-textarea-wrap:focus-within,.tox .tox-textarea:focus,.tox .tox-textfield:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 2px rgba(0,108,231,.25);outline:0}.tox .tox-toolbar-textfield{border-width:0;margin-bottom:3px;margin-top:2px;max-width:250px}.tox .tox-naked-btn{background-color:transparent;border:0;border-color:transparent;box-shadow:unset;color:#006ce7;cursor:pointer;display:block;margin:0;padding:0}.tox .tox-naked-btn svg{display:block;fill:#222f3e}.tox:not([dir=rtl]) .tox-toolbar-textfield+*{margin-left:4px}.tox[dir=rtl] .tox-toolbar-textfield+*{margin-right:4px}.tox .tox-listboxfield{cursor:pointer;position:relative}.tox .tox-listboxfield .tox-listbox--select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-listbox__select-label{cursor:default;flex:1;margin:0 4px}.tox .tox-listbox__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-listbox__select-chevron svg{fill:#222f3e}.tox .tox-listboxfield .tox-listbox--select{align-items:center;display:flex}.tox:not([dir=rtl]) .tox-listboxfield svg{right:8px}.tox[dir=rtl] .tox-listboxfield svg{left:8px}.tox .tox-selectfield{cursor:pointer;position:relative}.tox .tox-selectfield select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;color:#222f3e;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;font-size:16px;line-height:24px;margin:0;min-height:34px;outline:0;padding:5px 5.5px;resize:none;width:100%}.tox .tox-selectfield select[disabled]{background-color:#f2f2f2;color:rgba(34,47,62,.85);cursor:not-allowed}.tox .tox-selectfield select::-ms-expand{display:none}.tox .tox-selectfield select:focus{background-color:#fff;border-color:#006ce7;box-shadow:0 0 0 2px rgba(0,108,231,.25);outline:0}.tox .tox-selectfield svg{pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.tox:not([dir=rtl]) .tox-selectfield select[size="0"],.tox:not([dir=rtl]) .tox-selectfield select[size="1"]{padding-right:24px}.tox:not([dir=rtl]) .tox-selectfield svg{right:8px}.tox[dir=rtl] .tox-selectfield select[size="0"],.tox[dir=rtl] .tox-selectfield select[size="1"]{padding-left:24px}.tox[dir=rtl] .tox-selectfield svg{left:8px}.tox .tox-textarea-wrap{border-color:#eee;border-radius:6px;border-style:solid;border-width:1px;display:flex;flex:1;overflow:hidden}.tox .tox-textarea{-webkit-appearance:textarea;-moz-appearance:textarea;appearance:textarea;white-space:pre-wrap}.tox .tox-textarea-wrap .tox-textarea{border:none}.tox .tox-textarea-wrap .tox-textarea:focus{border:none}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}.tox .tox-help__more-link{list-style:none;margin-top:1em}.tox .tox-imagepreview{background-color:#666;height:380px;overflow:hidden;position:relative;width:100%}.tox .tox-imagepreview.tox-imagepreview__loaded{overflow:auto}.tox .tox-imagepreview__container{display:flex;left:100vw;position:absolute;top:100vw}.tox .tox-imagepreview__image{background:url(data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==)}.tox .tox-image-tools .tox-spacer{flex:1}.tox .tox-image-tools .tox-bar{align-items:center;display:flex;height:60px;justify-content:center}.tox .tox-image-tools .tox-imagepreview,.tox .tox-image-tools .tox-imagepreview+.tox-bar{margin-top:8px}.tox .tox-image-tools .tox-croprect-block{background:#000;opacity:.5;position:absolute;zoom:1}.tox .tox-image-tools .tox-croprect-handle{border:2px solid #fff;height:20px;left:0;position:absolute;top:0;width:20px}.tox .tox-image-tools .tox-croprect-handle-move{border:0;cursor:move;position:absolute}.tox .tox-image-tools .tox-croprect-handle-nw{border-width:2px 0 0 2px;cursor:nw-resize;left:100px;margin:-2px 0 0 -2px;top:100px}.tox .tox-image-tools .tox-croprect-handle-ne{border-width:2px 2px 0 0;cursor:ne-resize;left:200px;margin:-2px 0 0 -20px;top:100px}.tox .tox-image-tools .tox-croprect-handle-sw{border-width:0 0 2px 2px;cursor:sw-resize;left:100px;margin:-20px 2px 0 -2px;top:200px}.tox .tox-image-tools .tox-croprect-handle-se{border-width:0 2px 2px 0;cursor:se-resize;left:200px;margin:-20px 0 0 -20px;top:200px}.tox .tox-insert-table-picker{display:flex;flex-wrap:wrap;width:170px}.tox .tox-insert-table-picker>div{border-color:#eee;border-style:solid;border-width:0 1px 1px 0;box-sizing:border-box;height:17px;width:17px}.tox .tox-collection--list .tox-collection__group .tox-insert-table-picker{margin:-4px -4px}.tox .tox-insert-table-picker .tox-insert-table-picker__selected{background-color:rgba(0,108,231,.5);border-color:rgba(0,108,231,.5)}.tox .tox-insert-table-picker__label{color:rgba(34,47,62,.7);display:block;font-size:14px;padding:4px;text-align:center;width:100%}.tox:not([dir=rtl]) .tox-insert-table-picker>div:nth-child(10n){border-right:0}.tox[dir=rtl] .tox-insert-table-picker>div:nth-child(10n+1){border-right:0}.tox .tox-menu{background-color:#fff;border:1px solid transparent;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);display:inline-block;overflow:hidden;vertical-align:top;z-index:1150}.tox .tox-menu.tox-collection.tox-collection--list{padding:0 4px}.tox .tox-menu.tox-collection.tox-collection--toolbar{padding:8px}.tox .tox-menu.tox-collection.tox-collection--grid{padding:8px}@media only screen and (min-width:768px){.tox .tox-menu .tox-collection__item-label{overflow-wrap:break-word;word-break:normal}}.tox .tox-menu__label blockquote,.tox .tox-menu__label code,.tox .tox-menu__label h1,.tox .tox-menu__label h2,.tox .tox-menu__label h3,.tox .tox-menu__label h4,.tox .tox-menu__label h5,.tox .tox-menu__label h6,.tox .tox-menu__label p{margin:0}.tox .tox-menubar{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;grid-column:1/-1;grid-row:1;padding:0 11px 0 12px}.tox .tox-promotion+.tox-menubar{grid-column:1}.tox .tox-promotion{background:repeating-linear-gradient(transparent 0 1px,transparent 1px 39px) center top 39px/100% calc(100% - 39px) no-repeat;background-color:#fff;grid-column:2;grid-row:1;padding-inline-end:8px;padding-inline-start:4px;padding-top:5px}.tox .tox-promotion-link{align-items:unsafe center;background-color:#e8f1f8;border-radius:5px;color:#086be6;cursor:pointer;display:flex;font-size:14px;height:26.6px;padding:4px 8px;white-space:nowrap}.tox .tox-promotion-link:hover{background-color:#b4d7ff}.tox .tox-promotion-link:focus{background-color:#d9edf7}.tox .tox-mbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:5px 1px 6px 0;outline:0;overflow:hidden;padding:0 4px;text-transform:none;width:auto}.tox .tox-mbtn[disabled]{background-color:transparent;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-mbtn:focus:not(:disabled){background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn--active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn:hover:not(:disabled):not(.tox-mbtn--active){background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-mbtn__select-label{cursor:default;font-weight:400;margin:0 4px}.tox .tox-mbtn[disabled] .tox-mbtn__select-label{cursor:not-allowed}.tox .tox-mbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px;display:none}.tox .tox-notification{border-radius:6px;border-style:solid;border-width:1px;box-shadow:none;box-sizing:border-box;display:grid;font-size:14px;font-weight:400;grid-template-columns:minmax(40px,1fr) auto minmax(40px,1fr);margin-top:4px;opacity:0;padding:4px;transition:transform .1s ease-in,opacity 150ms ease-in}.tox .tox-notification p{font-size:14px;font-weight:400}.tox .tox-notification a{cursor:pointer;text-decoration:underline}.tox .tox-notification--in{opacity:1}.tox .tox-notification--success{background-color:#e4eeda;border-color:#d7e6c8;color:#222f3e}.tox .tox-notification--success p{color:#222f3e}.tox .tox-notification--success a{color:#517342}.tox .tox-notification--success svg{fill:#222f3e}.tox .tox-notification--error{background-color:#f5cccc;border-color:#f0b3b3;color:#222f3e}.tox .tox-notification--error p{color:#222f3e}.tox .tox-notification--error a{color:#77181f}.tox .tox-notification--error svg{fill:#222f3e}.tox .tox-notification--warn,.tox .tox-notification--warning{background-color:#fff5cc;border-color:#fff0b3;color:#222f3e}.tox .tox-notification--warn p,.tox .tox-notification--warning p{color:#222f3e}.tox .tox-notification--warn a,.tox .tox-notification--warning a{color:#7a6e25}.tox .tox-notification--warn svg,.tox .tox-notification--warning svg{fill:#222f3e}.tox .tox-notification--info{background-color:#d6e7fb;border-color:#c1dbf9;color:#222f3e}.tox .tox-notification--info p{color:#222f3e}.tox .tox-notification--info a{color:#2a64a6}.tox .tox-notification--info svg{fill:#222f3e}.tox .tox-notification__body{align-self:center;color:#222f3e;font-size:14px;grid-column-end:3;grid-column-start:2;grid-row-end:2;grid-row-start:1;text-align:center;white-space:normal;word-break:break-all;word-break:break-word}.tox .tox-notification__body>*{margin:0}.tox .tox-notification__body>*+*{margin-top:1rem}.tox .tox-notification__icon{align-self:center;grid-column-end:2;grid-column-start:1;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification__icon svg{display:block}.tox .tox-notification__dismiss{align-self:start;grid-column-end:4;grid-column-start:3;grid-row-end:2;grid-row-start:1;justify-self:end}.tox .tox-notification .tox-progress-bar{grid-column-end:4;grid-column-start:1;grid-row-end:3;grid-row-start:2;justify-self:center}.tox .tox-pop{display:inline-block;position:relative}.tox .tox-pop--resizing{transition:width .1s ease}.tox .tox-pop--resizing .tox-toolbar,.tox .tox-pop--resizing .tox-toolbar__group{flex-wrap:nowrap}.tox .tox-pop--transition{transition:.15s ease;transition-property:left,right,top,bottom}.tox .tox-pop--transition::after,.tox .tox-pop--transition::before{transition:all .15s,visibility 0s,opacity 75ms ease 75ms}.tox .tox-pop__dialog{background-color:#fff;border:1px solid #eee;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);min-width:0;overflow:hidden}.tox .tox-pop__dialog>:not(.tox-toolbar){margin:4px 4px 4px 8px}.tox .tox-pop__dialog .tox-toolbar{background-color:transparent;margin-bottom:-1px}.tox .tox-pop::after,.tox .tox-pop::before{border-style:solid;content:'';display:block;height:0;opacity:1;position:absolute;width:0}.tox .tox-pop.tox-pop--inset::after,.tox .tox-pop.tox-pop--inset::before{opacity:0;transition:all 0s .15s,visibility 0s,opacity 75ms ease}.tox .tox-pop.tox-pop--bottom::after,.tox .tox-pop.tox-pop--bottom::before{left:50%;top:100%}.tox .tox-pop.tox-pop--bottom::after{border-color:#fff transparent transparent transparent;border-width:8px;margin-left:-8px;margin-top:-1px}.tox .tox-pop.tox-pop--bottom::before{border-color:#eee transparent transparent transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--top::after,.tox .tox-pop.tox-pop--top::before{left:50%;top:0;transform:translateY(-100%)}.tox .tox-pop.tox-pop--top::after{border-color:transparent transparent #fff transparent;border-width:8px;margin-left:-8px;margin-top:1px}.tox .tox-pop.tox-pop--top::before{border-color:transparent transparent #eee transparent;border-width:9px;margin-left:-9px}.tox .tox-pop.tox-pop--left::after,.tox .tox-pop.tox-pop--left::before{left:0;top:calc(50% - 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--left::after{border-color:transparent #fff transparent transparent;border-width:8px;margin-left:-15px}.tox .tox-pop.tox-pop--left::before{border-color:transparent #eee transparent transparent;border-width:10px;margin-left:-19px}.tox .tox-pop.tox-pop--right::after,.tox .tox-pop.tox-pop--right::before{left:100%;top:calc(50% + 1px);transform:translateY(-50%)}.tox .tox-pop.tox-pop--right::after{border-color:transparent transparent transparent #fff;border-width:8px;margin-left:-1px}.tox .tox-pop.tox-pop--right::before{border-color:transparent transparent transparent #eee;border-width:10px;margin-left:-1px}.tox .tox-pop.tox-pop--align-left::after,.tox .tox-pop.tox-pop--align-left::before{left:20px}.tox .tox-pop.tox-pop--align-right::after,.tox .tox-pop.tox-pop--align-right::before{left:calc(100% - 20px)}.tox .tox-sidebar-wrap{display:flex;flex-direction:row;flex-grow:1;min-height:0}.tox .tox-sidebar{background-color:#fff;display:flex;flex-direction:row;justify-content:flex-end}.tox .tox-sidebar__slider{display:flex;overflow:hidden}.tox .tox-sidebar__pane-container{display:flex}.tox .tox-sidebar__pane{display:flex}.tox .tox-sidebar--sliding-closed{opacity:0}.tox .tox-sidebar--sliding-open{opacity:1}.tox .tox-sidebar--sliding-growing,.tox .tox-sidebar--sliding-shrinking{transition:width .5s ease,opacity .5s ease}.tox .tox-selector{background-color:#4099ff;border-color:#4099ff;border-style:solid;border-width:1px;box-sizing:border-box;display:inline-block;height:10px;position:absolute;width:10px}.tox.tox-platform-touch .tox-selector{height:12px;width:12px}.tox .tox-slider{align-items:center;display:flex;flex:1;height:24px;justify-content:center;position:relative}.tox .tox-slider__rail{background-color:transparent;border:1px solid #eee;border-radius:6px;height:10px;min-width:120px;width:100%}.tox .tox-slider__handle{background-color:#006ce7;border:2px solid #0054b4;border-radius:6px;box-shadow:none;height:24px;left:50%;position:absolute;top:50%;transform:translateX(-50%) translateY(-50%);width:14px}.tox .tox-form__controls-h-stack>.tox-slider:not(:first-of-type){margin-inline-start:8px}.tox .tox-form__controls-h-stack>.tox-form__group+.tox-slider{margin-inline-start:32px}.tox .tox-form__controls-h-stack>.tox-slider+.tox-form__group{margin-inline-start:32px}.tox .tox-source-code{overflow:auto}.tox .tox-spinner{display:flex}.tox .tox-spinner>div{animation:tam-bouncing-dots 1.5s ease-in-out 0s infinite both;background-color:rgba(34,47,62,.7);border-radius:100%;height:8px;width:8px}.tox .tox-spinner>div:nth-child(1){animation-delay:-.32s}.tox .tox-spinner>div:nth-child(2){animation-delay:-.16s}@keyframes tam-bouncing-dots{0%,100%,80%{transform:scale(0)}40%{transform:scale(1)}}.tox:not([dir=rtl]) .tox-spinner>div:not(:first-child){margin-left:4px}.tox[dir=rtl] .tox-spinner>div:not(:first-child){margin-right:4px}.tox .tox-statusbar{align-items:center;background-color:#fff;border-top:1px solid #e3e3e3;color:rgba(34,47,62,.7);display:flex;flex:0 0 auto;font-size:14px;font-weight:400;height:25px;overflow:hidden;padding:0 8px;position:relative;text-transform:none}.tox .tox-statusbar__text-container{display:flex;flex:1 1 auto;justify-content:flex-end;overflow:hidden}.tox .tox-statusbar__path{display:flex;flex:1 1 auto;margin-right:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-statusbar__path>*{display:inline;white-space:nowrap}.tox .tox-statusbar__wordcount{flex:0 0 auto;margin-left:1ch}.tox .tox-statusbar a,.tox .tox-statusbar__path-item,.tox .tox-statusbar__wordcount{color:rgba(34,47,62,.7);text-decoration:none}.tox .tox-statusbar a:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar a:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__path-item:hover:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:focus:not(:disabled):not([aria-disabled=true]),.tox .tox-statusbar__wordcount:hover:not(:disabled):not([aria-disabled=true]){color:#222f3e;cursor:pointer}.tox .tox-statusbar__branding svg{fill:rgba(34,47,62,.8);height:1.14em;vertical-align:-.28em;width:3.6em}.tox .tox-statusbar__branding a:focus:not(:disabled):not([aria-disabled=true]) svg,.tox .tox-statusbar__branding a:hover:not(:disabled):not([aria-disabled=true]) svg{fill:#222f3e}.tox .tox-statusbar__resize-handle{align-items:flex-end;align-self:stretch;cursor:nwse-resize;display:flex;flex:0 0 auto;justify-content:flex-end;margin-left:auto;margin-right:-8px;padding-bottom:3px;padding-left:1ch;padding-right:3px}.tox .tox-statusbar__resize-handle svg{display:block;fill:rgba(34,47,62,.5)}.tox .tox-statusbar__resize-handle:focus svg{background-color:#dee0e2;border-radius:1px 1px 5px 1px;box-shadow:0 0 0 2px #dee0e2}.tox:not([dir=rtl]) .tox-statusbar__path>*{margin-right:4px}.tox:not([dir=rtl]) .tox-statusbar__branding{margin-left:2ch}.tox[dir=rtl] .tox-statusbar{flex-direction:row-reverse}.tox[dir=rtl] .tox-statusbar__path>*{margin-left:4px}.tox .tox-throbber{z-index:1299}.tox .tox-throbber__busy-spinner{align-items:center;background-color:rgba(255,255,255,.6);bottom:0;display:flex;justify-content:center;left:0;position:absolute;right:0;top:0}.tox .tox-tbtn{align-items:center;background:0 0;border:0;border-radius:3px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;justify-content:center;margin:6px 1px 5px 0;outline:0;overflow:hidden;padding:0;text-transform:none;width:34px}.tox .tox-tbtn svg{display:block;fill:#222f3e}.tox .tox-tbtn.tox-tbtn-more{padding-left:5px;padding-right:5px;width:inherit}.tox .tox-tbtn:focus{background:#cce2fa;border:0;box-shadow:none}.tox .tox-tbtn:hover{background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:hover svg{fill:#222f3e}.tox .tox-tbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn:active svg{fill:#222f3e}.tox .tox-tbtn--disabled,.tox .tox-tbtn--disabled:hover,.tox .tox-tbtn:disabled,.tox .tox-tbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tbtn--disabled svg,.tox .tox-tbtn--disabled:hover svg,.tox .tox-tbtn:disabled svg,.tox .tox-tbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--enabled,.tox .tox-tbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tbtn--enabled:hover>*,.tox .tox-tbtn--enabled>*{transform:none}.tox .tox-tbtn--enabled svg,.tox .tox-tbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled){color:#222f3e}.tox .tox-tbtn:focus:not(.tox-tbtn--disabled) svg{fill:#222f3e}.tox .tox-tbtn:active>*{transform:none}.tox .tox-tbtn--md{height:42px;width:51px}.tox .tox-tbtn--lg{flex-direction:column;height:56px;width:68px}.tox .tox-tbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tbtn--labeled{padding:0 4px;width:unset}.tox .tox-tbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-number-input{border-radius:3px;display:flex;margin:6px 1px 5px 0;padding:0 4px;width:auto}.tox .tox-number-input .tox-input-wrapper{background:#f7f7f7;display:flex;pointer-events:none;text-align:center}.tox .tox-number-input .tox-input-wrapper:focus{background:#cce2fa}.tox .tox-number-input input{border-radius:3px;color:#222f3e;font-size:14px;margin:2px 0;pointer-events:all;width:60px}.tox .tox-number-input input:hover{background:#cce2fa;color:#222f3e}.tox .tox-number-input input:focus{background:#fff;color:#222f3e}.tox .tox-number-input button{background:#f7f7f7;color:#222f3e;height:28px;text-align:center;width:24px}.tox .tox-number-input button svg{display:block;fill:#222f3e;margin:0 auto;transform:scale(.67)}.tox .tox-number-input button:focus{background:#cce2fa}.tox .tox-number-input button:hover{background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:hover svg{fill:#222f3e}.tox .tox-number-input button:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-number-input button:active svg{fill:#222f3e}.tox .tox-number-input button.minus{border-radius:3px 0 0 3px}.tox .tox-number-input button.plus{border-radius:0 3px 3px 0}.tox .tox-number-input:focus:not(:active)>.tox-input-wrapper,.tox .tox-number-input:focus:not(:active)>button{background:#cce2fa}.tox .tox-tbtn--select{margin:6px 1px 5px 0;padding:0 4px;width:auto}.tox .tox-tbtn__select-label{cursor:default;font-weight:400;height:initial;margin:0 4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tbtn__select-chevron{align-items:center;display:flex;justify-content:center;width:16px}.tox .tox-tbtn__select-chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-tbtn--bespoke{background:#f7f7f7}.tox .tox-tbtn--bespoke+.tox-tbtn--bespoke{margin-inline-start:4px}.tox .tox-tbtn--bespoke .tox-tbtn__select-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:7em}.tox .tox-split-button{border:0;border-radius:3px;box-sizing:border-box;display:flex;margin:6px 1px 5px 0;overflow:hidden}.tox .tox-split-button:hover{box-shadow:0 0 0 1px #cce2fa inset}.tox .tox-split-button:focus{background:#cce2fa;box-shadow:none;color:#222f3e}.tox .tox-split-button>*{border-radius:0}.tox .tox-split-button__chevron{width:16px}.tox .tox-split-button__chevron svg{fill:rgba(34,47,62,.5)}.tox .tox-split-button .tox-tbtn{margin:0}.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:focus,.tox .tox-split-button.tox-tbtn--disabled .tox-tbtn:hover,.tox .tox-split-button.tox-tbtn--disabled:focus,.tox .tox-split-button.tox-tbtn--disabled:hover{background:0 0;box-shadow:none;color:rgba(34,47,62,.5)}.tox.tox-platform-touch .tox-split-button .tox-tbtn--select{padding:0 0}.tox.tox-platform-touch .tox-split-button .tox-tbtn:not(.tox-tbtn--select):first-child{width:30px}.tox.tox-platform-touch .tox-split-button__chevron{width:20px}.tox .tox-toolbar-overlord{background-color:#fff}.tox .tox-toolbar,.tox .tox-toolbar__overflow,.tox .tox-toolbar__primary{background-attachment:local;background-color:#fff;background-image:repeating-linear-gradient(#e3e3e3 0 1px,transparent 1px 39px);background-position:center top 40px;background-repeat:no-repeat;background-size:calc(100% - 11px * 2) calc(100% - 41px);display:flex;flex:0 0 auto;flex-shrink:0;flex-wrap:wrap;padding:0 0;transform:perspective(1px)}.tox .tox-toolbar-overlord>.tox-toolbar,.tox .tox-toolbar-overlord>.tox-toolbar__overflow,.tox .tox-toolbar-overlord>.tox-toolbar__primary{background-position:center top 0;background-size:calc(100% - 11px * 2) calc(100% - 0px)}.tox .tox-toolbar__overflow.tox-toolbar__overflow--closed{height:0;opacity:0;padding-bottom:0;padding-top:0;visibility:hidden}.tox .tox-toolbar__overflow--growing{transition:height .3s ease,opacity .2s linear .1s}.tox .tox-toolbar__overflow--shrinking{transition:opacity .3s ease,height .2s linear .1s,visibility 0s linear .3s}.tox .tox-anchorbar,.tox .tox-toolbar-overlord{grid-column:1/-1}.tox .tox-menubar+.tox-toolbar,.tox .tox-menubar+.tox-toolbar-overlord{border-top:1px solid transparent;margin-top:-1px;padding-bottom:1px;padding-top:1px}.tox .tox-toolbar--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-pop .tox-toolbar{border-width:0}.tox .tox-toolbar--no-divider{background-image:none}.tox .tox-toolbar-overlord .tox-toolbar:not(.tox-toolbar--scrolling):first-child,.tox .tox-toolbar-overlord .tox-toolbar__primary{background-position:center top 39px}.tox .tox-editor-header>.tox-toolbar--scrolling,.tox .tox-toolbar-overlord .tox-toolbar--scrolling:first-child{background-image:none}.tox.tox-tinymce-aux .tox-toolbar__overflow{background-color:#fff;background-position:center top 43px;background-size:calc(100% - 8px * 2) calc(100% - 51px);border:none;border-radius:6px;box-shadow:0 0 2px 0 rgba(34,47,62,.2),0 4px 8px 0 rgba(34,47,62,.15);overscroll-behavior:none;padding:4px 0}.tox-pop .tox-pop__dialog .tox-toolbar{background-position:center top 43px;background-size:calc(100% - 11px * 2) calc(100% - 51px);padding:4px 0}.tox .tox-toolbar__group{align-items:center;display:flex;flex-wrap:wrap;margin:0 0;padding:0 11px 0 12px}.tox .tox-toolbar__group--pull-right{margin-left:auto}.tox .tox-toolbar--scrolling .tox-toolbar__group{flex-shrink:0;flex-wrap:nowrap}.tox:not([dir=rtl]) .tox-toolbar__group:not(:last-of-type){border-right:1px solid transparent}.tox[dir=rtl] .tox-toolbar__group:not(:last-of-type){border-left:1px solid transparent}.tox .tox-tooltip{display:inline-block;padding:8px;position:relative}.tox .tox-tooltip__body{background-color:#222f3e;border-radius:6px;box-shadow:0 2px 4px rgba(34,47,62,.3);color:rgba(255,255,255,.75);font-size:14px;font-style:normal;font-weight:400;padding:4px 8px;text-transform:none}.tox .tox-tooltip__arrow{position:absolute}.tox .tox-tooltip--down .tox-tooltip__arrow{border-left:8px solid transparent;border-right:8px solid transparent;border-top:8px solid #222f3e;bottom:0;left:50%;position:absolute;transform:translateX(-50%)}.tox .tox-tooltip--up .tox-tooltip__arrow{border-bottom:8px solid #222f3e;border-left:8px solid transparent;border-right:8px solid transparent;left:50%;position:absolute;top:0;transform:translateX(-50%)}.tox .tox-tooltip--right .tox-tooltip__arrow{border-bottom:8px solid transparent;border-left:8px solid #222f3e;border-top:8px solid transparent;position:absolute;right:0;top:50%;transform:translateY(-50%)}.tox .tox-tooltip--left .tox-tooltip__arrow{border-bottom:8px solid transparent;border-right:8px solid #222f3e;border-top:8px solid transparent;left:0;position:absolute;top:50%;transform:translateY(-50%)}.tox .tox-tree{display:flex;flex-direction:column}.tox .tox-tree .tox-trbtn{align-items:center;background:0 0;border:0;border-radius:4px;box-shadow:none;color:#222f3e;display:flex;flex:0 0 auto;font-size:14px;font-style:normal;font-weight:400;height:28px;margin-bottom:4px;margin-top:4px;outline:0;overflow:hidden;padding:0;padding-left:8px;text-transform:none}.tox .tox-tree .tox-trbtn .tox-tree__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tox .tox-tree .tox-trbtn svg{display:block;fill:#222f3e}.tox .tox-tree .tox-trbtn:focus{background:#cce2fa;border:0;box-shadow:none}.tox .tox-tree .tox-trbtn:hover{background:#cce2fa;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn:active svg{fill:#222f3e}.tox .tox-tree .tox-trbtn--disabled,.tox .tox-tree .tox-trbtn--disabled:hover,.tox .tox-tree .tox-trbtn:disabled,.tox .tox-tree .tox-trbtn:disabled:hover{background:0 0;border:0;box-shadow:none;color:rgba(34,47,62,.5);cursor:not-allowed}.tox .tox-tree .tox-trbtn--disabled svg,.tox .tox-tree .tox-trbtn--disabled:hover svg,.tox .tox-tree .tox-trbtn:disabled svg,.tox .tox-tree .tox-trbtn:disabled:hover svg{fill:rgba(34,47,62,.5)}.tox .tox-tree .tox-trbtn--enabled,.tox .tox-tree .tox-trbtn--enabled:hover{background:#a6ccf7;border:0;box-shadow:none;color:#222f3e}.tox .tox-tree .tox-trbtn--enabled:hover>*,.tox .tox-tree .tox-trbtn--enabled>*{transform:none}.tox .tox-tree .tox-trbtn--enabled svg,.tox .tox-tree .tox-trbtn--enabled:hover svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled){color:#222f3e}.tox .tox-tree .tox-trbtn:focus:not(.tox-trbtn--disabled) svg{fill:#222f3e}.tox .tox-tree .tox-trbtn:active>*{transform:none}.tox .tox-tree .tox-trbtn--return{align-self:stretch;height:unset;width:16px}.tox .tox-tree .tox-trbtn--labeled{padding:0 4px;width:unset}.tox .tox-tree .tox-trbtn__vlabel{display:block;font-size:10px;font-weight:400;letter-spacing:-.025em;margin-bottom:4px;white-space:nowrap}.tox .tox-tree .tox-tree--directory{display:flex;flex-direction:column}.tox .tox-tree .tox-tree--directory.tox-tree--directory--expanded>.tox-tree--directory__label .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label{font-weight:700}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:focus .tox-mbtn svg,.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label .tox-chevron{margin-right:6px;transition:transform .5s ease-in-out}.tox .tox-tree .tox-tree--directory .tox-tree--directory__label.tox-tree--directory__label--active .tox-chevron{transform:rotate(90deg)}.tox .tox-tree .tox-tree--leaf__label{font-weight:400}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn{margin-left:auto}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn svg{fill:transparent}.tox .tox-tree .tox-tree--leaf__label .tox-mbtn.tox-mbtn--active svg,.tox .tox-tree .tox-tree--leaf__label .tox-mbtn:focus svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover .tox-mbtn svg{fill:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover){background-color:transparent;color:#222f3e}.tox .tox-tree .tox-tree--leaf__label:hover:has(.tox-mbtn:hover) .tox-chevron svg{fill:#222f3e}.tox .tox-tree .tox-tree--directory__children{overflow:hidden;padding-left:16px}.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--growing,.tox .tox-tree .tox-tree--directory__children.tox-tree--directory__children--shrinking{transition:height .5s ease-in-out}.tox .tox-tree .tox-trbtn.tox-tree--leaf__label{display:flex;justify-content:space-between}.tox .tox-view-wrap,.tox .tox-view-wrap__slot-container{background-color:#fff;display:flex;flex:1;flex-direction:column}.tox .tox-view{display:flex;flex:1 1 auto;flex-direction:column;overflow:hidden}.tox .tox-view__header{align-items:center;display:flex;font-size:16px;justify-content:space-between;padding:8px 8px 0 8px;position:relative}.tox .tox-view--mobile.tox-view__header,.tox .tox-view--mobile.tox-view__toolbar{padding:8px}.tox .tox-view--scrolling{flex-wrap:nowrap;overflow-x:auto}.tox .tox-view__toolbar{display:flex;flex-direction:row;gap:8px;justify-content:space-between;padding:8px 8px 0 8px}.tox .tox-view__toolbar__group{display:flex;flex-direction:row;gap:12px}.tox .tox-view__header-end,.tox .tox-view__header-start{display:flex}.tox .tox-view__pane{height:100%;padding:8px;width:100%}.tox .tox-view__pane_panel{border:1px solid #eee;border-radius:6px}.tox:not([dir=rtl]) .tox-view__header .tox-view__header-end>*,.tox:not([dir=rtl]) .tox-view__header .tox-view__header-start>*{margin-left:8px}.tox[dir=rtl] .tox-view__header .tox-view__header-end>*,.tox[dir=rtl] .tox-view__header .tox-view__header-start>*{margin-right:8px}.tox .tox-well{border:1px solid #eee;border-radius:6px;padding:8px;width:100%}.tox .tox-well>:first-child{margin-top:0}.tox .tox-well>:last-child{margin-bottom:0}.tox .tox-well>:only-child{margin:0}.tox .tox-custom-editor{border:1px solid #eee;border-radius:6px;display:flex;flex:1;overflow:hidden;position:relative}.tox .tox-dialog-loading::before{background-color:rgba(0,0,0,.5);content:"";height:100%;position:absolute;width:100%;z-index:1000}.tox .tox-tab{cursor:pointer}.tox .tox-dialog__content-js{display:flex;flex:1}.tox .tox-dialog__body-content .tox-collection{display:flex;flex:1}
diff --git a/public/tinymce/skins/oxide/skin.mobile.css b/public/tinymce/skins/oxide/skin.mobile.css
deleted file mode 100644
index 875721a27d..0000000000
--- a/public/tinymce/skins/oxide/skin.mobile.css
+++ /dev/null
@@ -1,673 +0,0 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-/* RESET all the things! */
-.tinymce-mobile-outer-container {
- all: initial;
- display: block;
-}
-.tinymce-mobile-outer-container * {
- border: 0;
- box-sizing: initial;
- cursor: inherit;
- float: none;
- line-height: 1;
- margin: 0;
- outline: 0;
- padding: 0;
- -webkit-tap-highlight-color: transparent;
- /* TBIO-3691, stop the gray flicker on touch. */
- text-shadow: none;
- white-space: nowrap;
-}
-.tinymce-mobile-icon-arrow-back::before {
- content: "\e5cd";
-}
-.tinymce-mobile-icon-image::before {
- content: "\e412";
-}
-.tinymce-mobile-icon-cancel-circle::before {
- content: "\e5c9";
-}
-.tinymce-mobile-icon-full-dot::before {
- content: "\e061";
-}
-.tinymce-mobile-icon-align-center::before {
- content: "\e234";
-}
-.tinymce-mobile-icon-align-left::before {
- content: "\e236";
-}
-.tinymce-mobile-icon-align-right::before {
- content: "\e237";
-}
-.tinymce-mobile-icon-bold::before {
- content: "\e238";
-}
-.tinymce-mobile-icon-italic::before {
- content: "\e23f";
-}
-.tinymce-mobile-icon-unordered-list::before {
- content: "\e241";
-}
-.tinymce-mobile-icon-ordered-list::before {
- content: "\e242";
-}
-.tinymce-mobile-icon-font-size::before {
- content: "\e245";
-}
-.tinymce-mobile-icon-underline::before {
- content: "\e249";
-}
-.tinymce-mobile-icon-link::before {
- content: "\e157";
-}
-.tinymce-mobile-icon-unlink::before {
- content: "\eca2";
-}
-.tinymce-mobile-icon-color::before {
- content: "\e891";
-}
-.tinymce-mobile-icon-previous::before {
- content: "\e314";
-}
-.tinymce-mobile-icon-next::before {
- content: "\e315";
-}
-.tinymce-mobile-icon-large-font::before,
-.tinymce-mobile-icon-style-formats::before {
- content: "\e264";
-}
-.tinymce-mobile-icon-undo::before {
- content: "\e166";
-}
-.tinymce-mobile-icon-redo::before {
- content: "\e15a";
-}
-.tinymce-mobile-icon-removeformat::before {
- content: "\e239";
-}
-.tinymce-mobile-icon-small-font::before {
- content: "\e906";
-}
-.tinymce-mobile-icon-readonly-back::before,
-.tinymce-mobile-format-matches::after {
- content: "\e5ca";
-}
-.tinymce-mobile-icon-small-heading::before {
- content: "small";
-}
-.tinymce-mobile-icon-large-heading::before {
- content: "large";
-}
-.tinymce-mobile-icon-small-heading::before,
-.tinymce-mobile-icon-large-heading::before {
- font-family: sans-serif;
- font-size: 80%;
-}
-.tinymce-mobile-mask-edit-icon::before {
- content: "\e254";
-}
-.tinymce-mobile-icon-back::before {
- content: "\e5c4";
-}
-.tinymce-mobile-icon-heading::before {
- /* TODO: Translate */
- content: "Headings";
- font-family: sans-serif;
- font-size: 80%;
- font-weight: bold;
-}
-.tinymce-mobile-icon-h1::before {
- content: "H1";
- font-weight: bold;
-}
-.tinymce-mobile-icon-h2::before {
- content: "H2";
- font-weight: bold;
-}
-.tinymce-mobile-icon-h3::before {
- content: "H3";
- font-weight: bold;
-}
-.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask {
- align-items: center;
- display: flex;
- justify-content: center;
- background: rgba(51, 51, 51, 0.5);
- height: 100%;
- position: absolute;
- top: 0;
- width: 100%;
-}
-.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container {
- align-items: center;
- border-radius: 50%;
- display: flex;
- flex-direction: column;
- font-family: sans-serif;
- font-size: 1em;
- justify-content: space-between;
-}
-.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item {
- align-items: center;
- display: flex;
- justify-content: center;
- border-radius: 50%;
- height: 2.1em;
- width: 2.1em;
-}
-.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
- align-items: center;
- display: flex;
- justify-content: center;
- flex-direction: column;
- font-size: 1em;
-}
-@media only screen and (min-device-width:700px) {
- .tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section {
- font-size: 1.2em;
- }
-}
-.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon {
- align-items: center;
- display: flex;
- justify-content: center;
- border-radius: 50%;
- height: 2.1em;
- width: 2.1em;
- background-color: white;
- color: #207ab7;
-}
-.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before {
- content: "\e900";
- font-family: 'tinymce-mobile', sans-serif;
-}
-.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon {
- z-index: 2;
-}
-.tinymce-mobile-android-container.tinymce-mobile-android-maximized {
- background: #ffffff;
- border: none;
- bottom: 0;
- display: flex;
- flex-direction: column;
- left: 0;
- position: fixed;
- right: 0;
- top: 0;
-}
-.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized) {
- position: relative;
-}
-.tinymce-mobile-android-container .tinymce-mobile-editor-socket {
- display: flex;
- flex-grow: 1;
-}
-.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe {
- display: flex !important;
- flex-grow: 1;
- height: auto !important;
-}
-.tinymce-mobile-android-scroll-reload {
- overflow: hidden;
-}
-:not(.tinymce-mobile-readonly-mode) > .tinymce-mobile-android-selection-context-toolbar {
- margin-top: 23px;
-}
-.tinymce-mobile-toolstrip {
- background: #fff;
- display: flex;
- flex: 0 0 auto;
- z-index: 1;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar {
- align-items: center;
- background-color: #fff;
- border-bottom: 1px solid #cccccc;
- display: flex;
- flex: 1;
- height: 2.5em;
- width: 100%;
- /* Make it no larger than the toolstrip, so that it needs to scroll */
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group {
- align-items: center;
- display: flex;
- height: 100%;
- flex-shrink: 1;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group > div {
- align-items: center;
- display: flex;
- height: 100%;
- flex: 1;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container {
- background: #f44336;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group {
- flex-grow: 1;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
- padding-left: 0.5em;
- padding-right: 0.5em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button {
- align-items: center;
- display: flex;
- height: 80%;
- margin-left: 2px;
- margin-right: 2px;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected {
- background: #c8cbcf;
- color: #cccccc;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type {
- background: #207ab7;
- color: #eceff1;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar {
- /* Note, this file is imported inside .tinymce-mobile-context-toolbar, so that prefix is on everything here. */
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group {
- align-items: center;
- display: flex;
- height: 100%;
- flex: 1;
- padding-bottom: 0.4em;
- padding-top: 0.4em;
- /* Make any buttons appearing on the left and right display in the centre (e.g. color edges) */
- /* For widgets like the colour picker, use the whole height */
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog {
- display: flex;
- min-height: 1.5em;
- overflow: hidden;
- padding-left: 0;
- padding-right: 0;
- position: relative;
- width: 100%;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain {
- display: flex;
- height: 100%;
- transition: left cubic-bezier(0.4, 0, 1, 1) 0.15s;
- width: 100%;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen {
- display: flex;
- flex: 0 0 auto;
- justify-content: space-between;
- width: 100%;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input {
- font-family: Sans-serif;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container {
- display: flex;
- flex-grow: 1;
- position: relative;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x {
- -ms-grid-row-align: center;
- align-self: center;
- background: inherit;
- border: none;
- border-radius: 50%;
- color: #888;
- font-size: 0.6em;
- font-weight: bold;
- height: 100%;
- padding-right: 2px;
- position: absolute;
- right: 0;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x {
- display: none;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous,
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next {
- align-items: center;
- display: flex;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before,
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before {
- align-items: center;
- display: flex;
- font-weight: bold;
- height: 100%;
- padding-left: 0.5em;
- padding-right: 0.5em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before,
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before {
- visibility: hidden;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item {
- color: #cccccc;
- font-size: 10px;
- line-height: 10px;
- margin: 0 2px;
- padding-top: 3px;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active {
- color: #c8cbcf;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before {
- margin-left: 0.5em;
- margin-right: 0.9em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before {
- margin-left: 0.9em;
- margin-right: 0.5em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider {
- display: flex;
- flex: 1;
- margin-left: 0;
- margin-right: 0;
- padding: 0.28em 0;
- position: relative;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container {
- align-items: center;
- display: flex;
- flex-grow: 1;
- height: 100%;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line {
- background: #cccccc;
- display: flex;
- flex: 1;
- height: 0.2em;
- margin-bottom: 0.3em;
- margin-top: 0.3em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container {
- padding-left: 2em;
- padding-right: 2em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container {
- align-items: center;
- display: flex;
- flex-grow: 1;
- height: 100%;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient {
- background: linear-gradient(to right, hsl(0, 100%, 50%) 0%, hsl(60, 100%, 50%) 17%, hsl(120, 100%, 50%) 33%, hsl(180, 100%, 50%) 50%, hsl(240, 100%, 50%) 67%, hsl(300, 100%, 50%) 83%, hsl(0, 100%, 50%) 100%);
- display: flex;
- flex: 1;
- height: 0.2em;
- margin-bottom: 0.3em;
- margin-top: 0.3em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black {
- /* Not part of theming */
- background: black;
- height: 0.2em;
- margin-bottom: 0.3em;
- margin-top: 0.3em;
- width: 1.2em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white {
- /* Not part of theming */
- background: white;
- height: 0.2em;
- margin-bottom: 0.3em;
- margin-top: 0.3em;
- width: 1.2em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb {
- /* vertically centering trick (margin: auto, top: 0, bottom: 0). On iOS and Safari, if you leave
- * out these values, then it shows the thumb at the top of the spectrum. This is probably because it is
- * absolutely positioned with only a left value, and not a top. Note, on Chrome it seems to be fine without
- * this approach.
- */
- align-items: center;
- background-clip: padding-box;
- background-color: #455a64;
- border: 0.5em solid rgba(136, 136, 136, 0);
- border-radius: 3em;
- bottom: 0;
- color: #fff;
- display: flex;
- height: 0.5em;
- justify-content: center;
- left: -10px;
- margin: auto;
- position: absolute;
- top: 0;
- transition: border 120ms cubic-bezier(0.39, 0.58, 0.57, 1);
- width: 0.5em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active {
- border: 0.5em solid rgba(136, 136, 136, 0.39);
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group > div {
- align-items: center;
- display: flex;
- height: 100%;
- flex: 1;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper {
- flex-direction: column;
- justify-content: center;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item {
- align-items: center;
- display: flex;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog) {
- height: 100%;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container {
- display: flex;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input {
- background: #ffffff;
- border: none;
- border-radius: 0;
- color: #455a64;
- flex-grow: 1;
- font-size: 0.85em;
- padding-bottom: 0.1em;
- padding-left: 5px;
- padding-top: 0.1em;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder {
- /* WebKit, Blink, Edge */
- color: #888;
-}
-.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder {
- /* WebKit, Blink, Edge */
- color: #888;
-}
-/* dropup */
-.tinymce-mobile-dropup {
- background: white;
- display: flex;
- overflow: hidden;
- width: 100%;
-}
-.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking {
- transition: height 0.3s ease-out;
-}
-.tinymce-mobile-dropup.tinymce-mobile-dropup-growing {
- transition: height 0.3s ease-in;
-}
-.tinymce-mobile-dropup.tinymce-mobile-dropup-closed {
- flex-grow: 0;
-}
-.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing) {
- flex-grow: 1;
-}
-/* TODO min-height for device size and orientation */
-.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
- min-height: 200px;
-}
-@media only screen and (orientation: landscape) {
- .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
- min-height: 200px;
- }
-}
-@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
- .tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed) {
- min-height: 150px;
- }
-}
-/* styles menu */
-.tinymce-mobile-styles-menu {
- font-family: sans-serif;
- outline: 4px solid black;
- overflow: hidden;
- position: relative;
- width: 100%;
-}
-.tinymce-mobile-styles-menu [role="menu"] {
- display: flex;
- flex-direction: column;
- height: 100%;
- position: absolute;
- width: 100%;
-}
-.tinymce-mobile-styles-menu [role="menu"].transitioning {
- transition: transform 0.5s ease-in-out;
-}
-.tinymce-mobile-styles-menu .tinymce-mobile-styles-item {
- border-bottom: 1px solid #ddd;
- color: #455a64;
- cursor: pointer;
- display: flex;
- padding: 1em 1em;
- position: relative;
-}
-.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before {
- color: #455a64;
- content: "\e314";
- font-family: 'tinymce-mobile', sans-serif;
-}
-.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after {
- color: #455a64;
- content: "\e315";
- font-family: 'tinymce-mobile', sans-serif;
- padding-left: 1em;
- padding-right: 1em;
- position: absolute;
- right: 0;
-}
-.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after {
- font-family: 'tinymce-mobile', sans-serif;
- padding-left: 1em;
- padding-right: 1em;
- position: absolute;
- right: 0;
-}
-.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator,
-.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser {
- align-items: center;
- background: #fff;
- border-top: #455a64;
- color: #455a64;
- display: flex;
- min-height: 2.5em;
- padding-left: 1em;
- padding-right: 1em;
-}
-.tinymce-mobile-styles-menu [data-transitioning-destination="before"][data-transitioning-state],
-.tinymce-mobile-styles-menu [data-transitioning-state="before"] {
- transform: translate(-100%);
-}
-.tinymce-mobile-styles-menu [data-transitioning-destination="current"][data-transitioning-state],
-.tinymce-mobile-styles-menu [data-transitioning-state="current"] {
- transform: translate(0%);
-}
-.tinymce-mobile-styles-menu [data-transitioning-destination="after"][data-transitioning-state],
-.tinymce-mobile-styles-menu [data-transitioning-state="after"] {
- transform: translate(100%);
-}
-@font-face {
- font-family: 'tinymce-mobile';
- font-style: normal;
- font-weight: normal;
- src: url('fonts/tinymce-mobile.woff?8x92w3') format('woff');
-}
-@media (min-device-width: 700px) {
- .tinymce-mobile-outer-container,
- .tinymce-mobile-outer-container input {
- font-size: 25px;
- }
-}
-@media (max-device-width: 700px) {
- .tinymce-mobile-outer-container,
- .tinymce-mobile-outer-container input {
- font-size: 18px;
- }
-}
-.tinymce-mobile-icon {
- font-family: 'tinymce-mobile', sans-serif;
-}
-.mixin-flex-and-centre {
- align-items: center;
- display: flex;
- justify-content: center;
-}
-.mixin-flex-bar {
- align-items: center;
- display: flex;
- height: 100%;
-}
-.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe {
- background-color: #fff;
- width: 100%;
-}
-.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
- /* Note, on the iPod touch in landscape, this isn't visible when the navbar appears */
- background-color: #207ab7;
- border-radius: 50%;
- bottom: 1em;
- color: white;
- font-size: 1em;
- height: 2.1em;
- position: fixed;
- right: 2em;
- width: 2.1em;
- align-items: center;
- display: flex;
- justify-content: center;
-}
-@media only screen and (min-device-width:700px) {
- .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
- font-size: 1.2em;
- }
-}
-.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket {
- height: 300px;
- overflow: hidden;
-}
-.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe {
- height: 100%;
-}
-.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip {
- display: none;
-}
-/*
- Note, that if you don't include this (::-webkit-file-upload-button), the toolbar width gets
- increased and the whole body becomes scrollable. It's important!
- */
-input[type="file"]::-webkit-file-upload-button {
- display: none;
-}
-@media only screen and (min-device-width : 320px) and (max-device-width : 568px) and (orientation : landscape) {
- .tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon {
- bottom: 50%;
- }
-}
diff --git a/public/tinymce/skins/oxide/skin.mobile.min.css b/public/tinymce/skins/oxide/skin.mobile.min.css
deleted file mode 100644
index 3a45cacf0f..0000000000
--- a/public/tinymce/skins/oxide/skin.mobile.min.css
+++ /dev/null
@@ -1,7 +0,0 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-.tinymce-mobile-outer-container{all:initial;display:block}.tinymce-mobile-outer-container *{border:0;box-sizing:initial;cursor:inherit;float:none;line-height:1;margin:0;outline:0;padding:0;-webkit-tap-highlight-color:transparent;text-shadow:none;white-space:nowrap}.tinymce-mobile-icon-arrow-back::before{content:"\e5cd"}.tinymce-mobile-icon-image::before{content:"\e412"}.tinymce-mobile-icon-cancel-circle::before{content:"\e5c9"}.tinymce-mobile-icon-full-dot::before{content:"\e061"}.tinymce-mobile-icon-align-center::before{content:"\e234"}.tinymce-mobile-icon-align-left::before{content:"\e236"}.tinymce-mobile-icon-align-right::before{content:"\e237"}.tinymce-mobile-icon-bold::before{content:"\e238"}.tinymce-mobile-icon-italic::before{content:"\e23f"}.tinymce-mobile-icon-unordered-list::before{content:"\e241"}.tinymce-mobile-icon-ordered-list::before{content:"\e242"}.tinymce-mobile-icon-font-size::before{content:"\e245"}.tinymce-mobile-icon-underline::before{content:"\e249"}.tinymce-mobile-icon-link::before{content:"\e157"}.tinymce-mobile-icon-unlink::before{content:"\eca2"}.tinymce-mobile-icon-color::before{content:"\e891"}.tinymce-mobile-icon-previous::before{content:"\e314"}.tinymce-mobile-icon-next::before{content:"\e315"}.tinymce-mobile-icon-large-font::before,.tinymce-mobile-icon-style-formats::before{content:"\e264"}.tinymce-mobile-icon-undo::before{content:"\e166"}.tinymce-mobile-icon-redo::before{content:"\e15a"}.tinymce-mobile-icon-removeformat::before{content:"\e239"}.tinymce-mobile-icon-small-font::before{content:"\e906"}.tinymce-mobile-format-matches::after,.tinymce-mobile-icon-readonly-back::before{content:"\e5ca"}.tinymce-mobile-icon-small-heading::before{content:"small"}.tinymce-mobile-icon-large-heading::before{content:"large"}.tinymce-mobile-icon-large-heading::before,.tinymce-mobile-icon-small-heading::before{font-family:sans-serif;font-size:80%}.tinymce-mobile-mask-edit-icon::before{content:"\e254"}.tinymce-mobile-icon-back::before{content:"\e5c4"}.tinymce-mobile-icon-heading::before{content:"Headings";font-family:sans-serif;font-size:80%;font-weight:700}.tinymce-mobile-icon-h1::before{content:"H1";font-weight:700}.tinymce-mobile-icon-h2::before{content:"H2";font-weight:700}.tinymce-mobile-icon-h3::before{content:"H3";font-weight:700}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask{align-items:center;display:flex;justify-content:center;background:rgba(51,51,51,.5);height:100%;position:absolute;top:0;width:100%}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container{align-items:center;border-radius:50%;display:flex;flex-direction:column;font-family:sans-serif;font-size:1em;justify-content:space-between}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .mixin-menu-item{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{align-items:center;display:flex;justify-content:center;flex-direction:column;font-size:1em}@media only screen and (min-device-width:700px){.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section{font-size:1.2em}}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon{align-items:center;display:flex;justify-content:center;border-radius:50%;height:2.1em;width:2.1em;background-color:#fff;color:#207ab7}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section .tinymce-mobile-mask-tap-icon::before{content:"\e900";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-outer-container .tinymce-mobile-disabled-mask .tinymce-mobile-content-container .tinymce-mobile-content-tap-section:not(.tinymce-mobile-mask-tap-icon-selected) .tinymce-mobile-mask-tap-icon{z-index:2}.tinymce-mobile-android-container.tinymce-mobile-android-maximized{background:#fff;border:none;bottom:0;display:flex;flex-direction:column;left:0;position:fixed;right:0;top:0}.tinymce-mobile-android-container:not(.tinymce-mobile-android-maximized){position:relative}.tinymce-mobile-android-container .tinymce-mobile-editor-socket{display:flex;flex-grow:1}.tinymce-mobile-android-container .tinymce-mobile-editor-socket iframe{display:flex!important;flex-grow:1;height:auto!important}.tinymce-mobile-android-scroll-reload{overflow:hidden}:not(.tinymce-mobile-readonly-mode)>.tinymce-mobile-android-selection-context-toolbar{margin-top:23px}.tinymce-mobile-toolstrip{background:#fff;display:flex;flex:0 0 auto;z-index:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar{align-items:center;background-color:#fff;border-bottom:1px solid #ccc;display:flex;flex:1;height:2.5em;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex-shrink:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-exit-container{background:#f44336}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group.tinymce-mobile-toolbar-scrollable-group{flex-grow:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button{align-items:center;display:flex;height:80%;margin-left:2px;margin-right:2px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item.tinymce-mobile-toolbar-button.tinymce-mobile-toolbar-button-selected{background:#c8cbcf;color:#ccc}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:first-of-type,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar:not(.tinymce-mobile-context-toolbar) .tinymce-mobile-toolbar-group:last-of-type{background:#207ab7;color:#eceff1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group{align-items:center;display:flex;height:100%;flex:1;padding-bottom:.4em;padding-top:.4em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog{display:flex;min-height:1.5em;overflow:hidden;padding-left:0;padding-right:0;position:relative;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain{display:flex;height:100%;transition:left cubic-bezier(.4,0,1,1) .15s;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen{display:flex;flex:0 0 auto;justify-content:space-between;width:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen input{font-family:Sans-serif}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container{display:flex;flex-grow:1;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container .tinymce-mobile-input-container-x{-ms-grid-row-align:center;align-self:center;background:inherit;border:none;border-radius:50%;color:#888;font-size:.6em;font-weight:700;height:100%;padding-right:2px;position:absolute;right:0}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-input-container.tinymce-mobile-input-container-empty .tinymce-mobile-input-container-x{display:none}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous::before{align-items:center;display:flex;font-weight:700;height:100%;padding-left:.5em;padding-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-next.tinymce-mobile-toolbar-navigation-disabled::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serialised-dialog .tinymce-mobile-serialised-dialog-chain .tinymce-mobile-serialised-dialog-screen .tinymce-mobile-icon-previous.tinymce-mobile-toolbar-navigation-disabled::before{visibility:hidden}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item{color:#ccc;font-size:10px;line-height:10px;margin:0 2px;padding-top:3px}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-item.tinymce-mobile-dot-active{color:#c8cbcf}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-large-heading::before{margin-left:.5em;margin-right:.9em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-font::before,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-icon-small-heading::before{margin-left:.9em;margin-right:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider{display:flex;flex:1;margin-left:0;margin-right:0;padding:.28em 0;position:relative}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-size-container .tinymce-mobile-slider-size-line{background:#ccc;display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container{padding-left:2em;padding-right:2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container{align-items:center;display:flex;flex-grow:1;height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-slider-gradient-container .tinymce-mobile-slider-gradient{background:linear-gradient(to right,red 0,#feff00 17%,#0f0 33%,#00feff 50%,#00f 67%,#ff00fe 83%,red 100%);display:flex;flex:1;height:.2em;margin-bottom:.3em;margin-top:.3em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-black{background:#000;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider.tinymce-mobile-hue-slider-container .tinymce-mobile-hue-slider-white{background:#fff;height:.2em;margin-bottom:.3em;margin-top:.3em;width:1.2em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb{align-items:center;background-clip:padding-box;background-color:#455a64;border:.5em solid rgba(136,136,136,0);border-radius:3em;bottom:0;color:#fff;display:flex;height:.5em;justify-content:center;left:-10px;margin:auto;position:absolute;top:0;transition:border 120ms cubic-bezier(.39,.58,.57,1);width:.5em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-slider .tinymce-mobile-slider-thumb.tinymce-mobile-thumb-active{border:.5em solid rgba(136,136,136,.39)}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper,.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group>div{align-items:center;display:flex;height:100%;flex:1}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-serializer-wrapper{flex-direction:column;justify-content:center}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item{align-items:center;display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-toolbar-group-item:not(.tinymce-mobile-serialised-dialog){height:100%}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group .tinymce-mobile-dot-container{display:flex}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input{background:#fff;border:none;border-radius:0;color:#455a64;flex-grow:1;font-size:.85em;padding-bottom:.1em;padding-left:5px;padding-top:.1em}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::-webkit-input-placeholder{color:#888}.tinymce-mobile-toolstrip .tinymce-mobile-toolbar.tinymce-mobile-context-toolbar .tinymce-mobile-toolbar-group input::placeholder{color:#888}.tinymce-mobile-dropup{background:#fff;display:flex;overflow:hidden;width:100%}.tinymce-mobile-dropup.tinymce-mobile-dropup-shrinking{transition:height .3s ease-out}.tinymce-mobile-dropup.tinymce-mobile-dropup-growing{transition:height .3s ease-in}.tinymce-mobile-dropup.tinymce-mobile-dropup-closed{flex-grow:0}.tinymce-mobile-dropup.tinymce-mobile-dropup-open:not(.tinymce-mobile-dropup-growing){flex-grow:1}.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}@media only screen and (orientation:landscape){.tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:200px}}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-dropup:not(.tinymce-mobile-dropup-closed){min-height:150px}}.tinymce-mobile-styles-menu{font-family:sans-serif;outline:4px solid #000;overflow:hidden;position:relative;width:100%}.tinymce-mobile-styles-menu [role=menu]{display:flex;flex-direction:column;height:100%;position:absolute;width:100%}.tinymce-mobile-styles-menu [role=menu].transitioning{transition:transform .5s ease-in-out}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item{border-bottom:1px solid #ddd;color:#455a64;cursor:pointer;display:flex;padding:1em 1em;position:relative}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser .tinymce-mobile-styles-collapse-icon::before{color:#455a64;content:"\e314";font-family:tinymce-mobile,sans-serif}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-styles-item-is-menu::after{color:#455a64;content:"\e315";font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-item.tinymce-mobile-format-matches::after{font-family:tinymce-mobile,sans-serif;padding-left:1em;padding-right:1em;position:absolute;right:0}.tinymce-mobile-styles-menu .tinymce-mobile-styles-collapser,.tinymce-mobile-styles-menu .tinymce-mobile-styles-separator{align-items:center;background:#fff;border-top:#455a64;color:#455a64;display:flex;min-height:2.5em;padding-left:1em;padding-right:1em}.tinymce-mobile-styles-menu [data-transitioning-destination=before][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=before]{transform:translate(-100%)}.tinymce-mobile-styles-menu [data-transitioning-destination=current][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=current]{transform:translate(0)}.tinymce-mobile-styles-menu [data-transitioning-destination=after][data-transitioning-state],.tinymce-mobile-styles-menu [data-transitioning-state=after]{transform:translate(100%)}@font-face{font-family:tinymce-mobile;font-style:normal;font-weight:400;src:url(fonts/tinymce-mobile.woff?8x92w3) format('woff')}@media (min-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:25px}}@media (max-device-width:700px){.tinymce-mobile-outer-container,.tinymce-mobile-outer-container input{font-size:18px}}.tinymce-mobile-icon{font-family:tinymce-mobile,sans-serif}.mixin-flex-and-centre{align-items:center;display:flex;justify-content:center}.mixin-flex-bar{align-items:center;display:flex;height:100%}.tinymce-mobile-outer-container .tinymce-mobile-editor-socket iframe{background-color:#fff;width:100%}.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{background-color:#207ab7;border-radius:50%;bottom:1em;color:#fff;font-size:1em;height:2.1em;position:fixed;right:2em;width:2.1em;align-items:center;display:flex;justify-content:center}@media only screen and (min-device-width:700px){.tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{font-size:1.2em}}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket{height:300px;overflow:hidden}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-editor-socket iframe{height:100%}.tinymce-mobile-outer-container:not(.tinymce-mobile-fullscreen-maximized) .tinymce-mobile-toolstrip{display:none}input[type=file]::-webkit-file-upload-button{display:none}@media only screen and (min-device-width :320px) and (max-device-width :568px) and (orientation :landscape){.tinymce-mobile-ios-container .tinymce-mobile-editor-socket .tinymce-mobile-mask-edit-icon{bottom:50%}}
diff --git a/public/tinymce/skins/oxide/skin.shadowdom.css b/public/tinymce/skins/oxide/skin.shadowdom.css
index d2adc4db7f..25b0a3710d 100644
--- a/public/tinymce/skins/oxide/skin.shadowdom.css
+++ b/public/tinymce/skins/oxide/skin.shadowdom.css
@@ -1,9 +1,3 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
body.tox-dialog__disable-scroll {
overflow: hidden;
}
@@ -12,8 +6,7 @@ body.tox-dialog__disable-scroll {
height: 100%;
margin: 0;
overflow: hidden;
- -ms-scroll-chaining: none;
- overscroll-behavior: none;
+ overscroll-behavior: none;
padding: 0;
touch-action: pinch-zoom;
width: 100%;
diff --git a/public/tinymce/skins/oxide/skin.shadowdom.min.css b/public/tinymce/skins/oxide/skin.shadowdom.min.css
index a0893b913e..8745951a48 100644
--- a/public/tinymce/skins/oxide/skin.shadowdom.min.css
+++ b/public/tinymce/skins/oxide/skin.shadowdom.min.css
@@ -1,7 +1 @@
-/**
- * Copyright (c) Tiny Technologies, Inc. All rights reserved.
- * Licensed under the LGPL or a commercial license.
- * For LGPL see License.txt in the project root for license information.
- * For commercial licenses see https://www.tiny.cloud/
- */
-body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;-ms-scroll-chaining:none;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}
+body.tox-dialog__disable-scroll{overflow:hidden}.tox-fullscreen{border:0;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;padding:0;touch-action:pinch-zoom;width:100%}.tox.tox-tinymce.tox-fullscreen .tox-statusbar__resize-handle{display:none}.tox-shadowhost.tox-fullscreen,.tox.tox-tinymce.tox-fullscreen{left:0;position:fixed;top:0;z-index:1200}.tox.tox-tinymce.tox-fullscreen{background-color:transparent}.tox-fullscreen .tox.tox-tinymce-aux,.tox-fullscreen~.tox.tox-tinymce-aux{z-index:1201}
diff --git a/public/tinymce/tinymce.css b/public/tinymce/tinymce.css
index eb3e43a0ed..d42c845d7e 100644
--- a/public/tinymce/tinymce.css
+++ b/public/tinymce/tinymce.css
@@ -2,4 +2,4 @@
a {
color: #000;
}
-}
+}
\ No newline at end of file
diff --git a/spec/controllers/usage_controller_spec.rb b/spec/controllers/usage_controller_spec.rb
index 603292410b..05d7b979fd 100644
--- a/spec/controllers/usage_controller_spec.rb
+++ b/spec/controllers/usage_controller_spec.rb
@@ -52,8 +52,7 @@
it 'returns the expected data' do
# Controller returns results in date ascending order so resort the
# records after extracting the ones we want first
- expected = @annual[0..months - 1].sort { |a, b| a.date <=> b.date }
- .map { |stat| obj_to_hash(obj: stat) }
+ expected = @annual[0..months - 1].sort_by(&:date).map { |stat| obj_to_hash(obj: stat) }
expect(assigns(:plans_per_month)).to eql(expected.flatten)
end
end
diff --git a/spec/features/plans/exports_spec.rb b/spec/features/plans/exports_spec.rb
index 4feec44845..38081afb3f 100644
--- a/spec/features/plans/exports_spec.rb
+++ b/spec/features/plans/exports_spec.rb
@@ -78,15 +78,35 @@
expect(page).not_to have_text(new_plan.title)
end
+ # Separate code to test all-phase-download for html since it requires operation in new window
scenario 'User downloads their plan as HTML' do
within("#plan_#{plan.id}") do
click_button('Actions')
click_link 'Download'
end
select('html')
- new_window = window_opened_by { click_button 'Download Plan' }
- within_window new_window do
- expect(page.source).to have_text(plan.title)
+ if plan.phases.present?
+ new_window = window_opened_by do
+ _select_option('phase_id', 'All')
+ click_button 'Download Plan'
+ end
+ within_window new_window do
+ expect(page.source).to have_text(plan.title)
+ plan.phases.each do |phase|
+ expect(page.source).to have_text(phase.title)
+ end
+ end
+ new_window = window_opened_by do
+ _select_option('phase_id', plan.phases[1].id)
+ click_button 'Download Plan'
+ end
+ within_window new_window do
+ expect(page.source).to have_text(plan.title)
+ expect(page.source).to have_text(plan.phases[1].title)
+ expect(page.source).not_to have_text(plan.phases[2].title) if plan.phases.length > 2
+ end
+ else
+ _regular_download('html')
end
end
@@ -96,8 +116,12 @@
click_link 'Download'
end
select('pdf')
- click_button 'Download Plan'
- expect(page.source).to have_text(plan.title)
+ if plan.phases.present?
+ _all_phase_download
+ _single_phase_download
+ else
+ _regular_download('pdf')
+ end
end
scenario 'User downloads their plan as CSV' do
@@ -106,8 +130,7 @@
click_link 'Download'
end
select('csv')
- click_button 'Download Plan'
- expect(page.source).to have_text(plan.title)
+ _regular_download('csv')
end
scenario 'User downloads their plan as text' do
@@ -116,8 +139,12 @@
click_link 'Download'
end
select('text')
- click_button 'Download Plan'
- expect(page.source).to have_text(plan.title)
+ if plan.phases.present?
+ _all_phase_download
+ _single_phase_download
+ else
+ _regular_download('text')
+ end
end
scenario 'User downloads their plan as docx' do
@@ -126,7 +153,53 @@
click_link 'Download'
end
select('docx')
+ if plan.phases.present?
+ _all_phase_download
+ _single_phase_download
+ else
+ _regular_download('docx')
+ end
+ end
+
+ # ===========================
+ # = Helper methods =
+ # ===========================
+
+ # rubocop:disable Metrics/AbcSize
+ # disable Rubocup metrics check to confirm both plan title and phase title on downloaded file
+ def _regular_download(format)
+ if format == 'html'
+ new_window = window_opened_by do
+ click_button 'Download Plan'
+ end
+ within_window new_window do
+ expect(page.source).to have_text(plan.title)
+ end
+ else
+ click_button 'Download Plan'
+ expect(page.source).to have_text(plan.title)
+ end
+ end
+
+ def _all_phase_download
+ _select_option('phase_id', 'All')
click_button 'Download Plan'
expect(page.source).to have_text(plan.title)
+ plan.phases.each do |phase| # All phase titles should be included in output
+ expect(page.source).to have_text(phase.title)
+ end
+ end
+
+ def _single_phase_download
+ _select_option('phase_id', plan.phases[1].id)
+ click_button 'Download Plan'
+ expect(page.source).to have_text(plan.title)
+ expect(page.source).to have_text(plan.phases[1].title)
+ expect(page.source).not_to have_text(plan.phases[2].title) if plan.phases.length > 2
+ end
+
+ # rubocop:enable Metrics/AbcSize
+ def _select_option(select_id, option_value)
+ find(:id, select_id).find("option[value='#{option_value}']").select_option
end
end
diff --git a/spec/javascripts/tinymceSpec.js b/spec/javascripts/tinymceSpec.js
index ad92ca6ab5..e31a9d5f1e 100644
--- a/spec/javascripts/tinymceSpec.js
+++ b/spec/javascripts/tinymceSpec.js
@@ -1,4 +1,4 @@
-import { Tinymce } from '../../app/javascript/src/utils/tinymce.js.erb';
+import { Tinymce } from '../../app/javascript/src/utils/tinymce';
beforeEach(() => {
$('body').append('');
diff --git a/spec/models/guidance_group_spec.rb b/spec/models/guidance_group_spec.rb
index 9e6912080d..1f5e523440 100644
--- a/spec/models/guidance_group_spec.rb
+++ b/spec/models/guidance_group_spec.rb
@@ -174,6 +174,7 @@
end
end
+ # rubocop:disable Performance/RedundantMerge
context ':merge!(to_be_merged:)' do
before(:each) do
org = create(:org)
@@ -212,5 +213,6 @@
expect(GuidanceGroup.find_by(id: original_id).present?).to eql(false)
end
end
+ # rubocop:enable Performance/RedundantMerge
end
end
diff --git a/spec/models/org_spec.rb b/spec/models/org_spec.rb
index 00c090c4d6..7299c18e2a 100644
--- a/spec/models/org_spec.rb
+++ b/spec/models/org_spec.rb
@@ -457,6 +457,7 @@
end
end
+ # rubocop:disable Performance/RedundantMerge
context ':merge!(to_be_merged:)' do
before(:each) do
@scheme = create(:identifier_scheme)
@@ -553,6 +554,7 @@
expect(Org.find_by(id: original_id).present?).to eql(false)
end
end
+ # rubocop:enable Performance/RedundantMerge
context 'private methods' do
describe ':merge_attributes!(to_be_merged:)' do
diff --git a/spec/models/template_spec.rb b/spec/models/template_spec.rb
index 5e66ac041d..dbb0a64a70 100644
--- a/spec/models/template_spec.rb
+++ b/spec/models/template_spec.rb
@@ -744,7 +744,7 @@
end
it "doesn't set template_id on phases" do
- expect(subject.phases.map(&:template_id).compact).to be_empty
+ expect(subject.phases.filter_map(&:template_id)).to be_empty
end
end
end
diff --git a/spec/requests/api/v1/plans_controller.rb b/spec/requests/api/v1/plans_controller.rb
index 1d44946068..052468d6a7 100644
--- a/spec/requests/api/v1/plans_controller.rb
+++ b/spec/requests/api/v1/plans_controller.rb
@@ -126,7 +126,7 @@
end
it 'set the Template id' do
app = ApplicationService.application_name.split('-').first
- tmplt = @original[:extension].select { |i| i[app].present? }.first
+ tmplt = @original[:extension].find { |i| i[app].present? }
expected = tmplt[app][:template][:id]
expect(@plan.template_id).to eql(expected)
end
@@ -325,7 +325,7 @@
it 'set the Template id' do
app = ApplicationService.application_name.split('-').first
- tmplt = @original[:extension].select { |i| i[app].present? }.first
+ tmplt = @original[:extension].find { |i| i[app].present? }
expected = tmplt[app][:template][:id]
expect(@plan.template_id).to eql(expected)
end
diff --git a/spec/services/external_apis/ror_service_spec.rb b/spec/services/external_apis/ror_service_spec.rb
index 8b0dc3b1ad..a559686954 100644
--- a/spec/services/external_apis/ror_service_spec.rb
+++ b/spec/services/external_apis/ror_service_spec.rb
@@ -203,7 +203,7 @@
expect(rslts.length).to eql(0)
end
it 'properly manages results with only one page' do
- items = 4.times.map do
+ items = Array.new(4).map do
{
id: Faker::Internet.unique.url,
name: Faker::Lorem.word,
@@ -222,7 +222,7 @@
expect(rslts.length).to eql(4)
end
it 'properly manages results with multiple pages' do
- items = 7.times.map do
+ items = Array.new(7).map do
{
id: Faker::Internet.unique.url,
name: Faker::Lorem.word,
@@ -244,7 +244,7 @@
expect(rslts.length).to eql(7)
end
it 'does not go beyond the max_pages' do
- items = 12.times.map do
+ items = Array.new(12).map do
{
id: Faker::Internet.unique.url,
name: Faker::Lorem.word,
diff --git a/spec/services/org_selection/search_service_spec.rb b/spec/services/org_selection/search_service_spec.rb
index bf8f4b739e..e4039ed70d 100644
--- a/spec/services/org_selection/search_service_spec.rb
+++ b/spec/services/org_selection/search_service_spec.rb
@@ -181,7 +181,7 @@
it 'handles non-Org models' do
rslts = described_class.send(:prepare, search_term: 'Foo',
records: @records)
- rec = rslts.select { |item| item[:name].include?('Ireland') }.first
+ rec = rslts.find { |item| item[:name].include?('Ireland') }
expect(rec[:name]).to eql('Foo University (Ireland)')
end
end
diff --git a/spec/support/helpers/autocomplete_helper.rb b/spec/support/helpers/autocomplete_helper.rb
index 0f1c782ac0..61b26f1dbc 100644
--- a/spec/support/helpers/autocomplete_helper.rb
+++ b/spec/support/helpers/autocomplete_helper.rb
@@ -8,7 +8,7 @@ def select_an_org(autocomplete_id, org)
# The controllers are expecting the org_id though, so lets
# populate it
- hidden_id = autocomplete_id.gsub('_name', '_id').gsub('#', '')
+ hidden_id = autocomplete_id.gsub('_name', '_id').delete('#')
hash = { id: org.id, name: org.name }.to_json
js = "document.getElementById('#{hidden_id}').value = '#{hash}'"
@@ -24,7 +24,7 @@ def choose_suggestion(typeahead_id, org)
# and the Super Admin merge orgs tab
id = id.gsub('org_org_', 'org_').gsub('funder_org_', 'funder_')
# Excape any single quotes so it doesn't blow up our JS
- hash = { id: org.id, name: org.name.gsub("'", '') }
+ hash = { id: org.id, name: org.name.delete("'") }
# Capybara/Selenium can't interact with a hidden field because the user can't,
# so use some JS to set the value
page.execute_script "document.getElementById('#{id}').value = '#{hash.to_json}';"
diff --git a/spec/support/matchers/has_errors_matcher.rb b/spec/support/matchers/has_errors_matcher.rb
index 30ea22fa7d..bc0969bc81 100644
--- a/spec/support/matchers/has_errors_matcher.rb
+++ b/spec/support/matchers/has_errors_matcher.rb
@@ -4,7 +4,7 @@
RSpec::Matchers.define :have_errors do |_expected|
match do
- actual.body.match(/Error:/)
+ actual.body.include?('Error:')
end
failure_message do |_actual|
diff --git a/spec/views/api/v1/plans/_show.json.jbuilder_spec.rb b/spec/views/api/v1/plans/_show.json.jbuilder_spec.rb
index 69a49af5b0..199537e909 100644
--- a/spec/views/api/v1/plans/_show.json.jbuilder_spec.rb
+++ b/spec/views/api/v1/plans/_show.json.jbuilder_spec.rb
@@ -77,7 +77,7 @@
expect(@json[:extension].length).to eql(1)
end
it 'includes the :template in :extension' do
- @section = @json[:extension].select { |hash| hash.keys.first == 'dmproadmap' }.first
+ @section = @json[:extension].find { |hash| hash.keys.first == 'dmproadmap' }
expect(@section[:dmproadmap].present?).to eql(true)
tmplt = @plan.template
expect(@section[:dmproadmap][:template][:id]).to eql(tmplt.id)
diff --git a/yarn.lock b/yarn.lock
index 9c2aed5d1b..8078faea07 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -10,45 +10,45 @@
"@jridgewell/gen-mapping" "^0.3.0"
"@jridgewell/trace-mapping" "^0.3.9"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.18.6", "@babel/code-frame@^7.21.4":
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.21.4":
version "7.21.4"
resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.21.4.tgz#d0fa9e4413aca81f2b23b9442797bda1826edb39"
integrity sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==
dependencies:
"@babel/highlight" "^7.18.6"
-"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.4.tgz#457ffe647c480dff59c2be092fc3acf71195c87f"
- integrity sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==
+"@babel/compat-data@^7.17.7", "@babel/compat-data@^7.20.5", "@babel/compat-data@^7.21.5":
+ version "7.21.9"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.9.tgz#10a2e7fda4e51742c907938ac3b7229426515514"
+ integrity sha512-FUGed8kfhyWvbYug/Un/VPJD41rDIgoVVcR+FuzhzOYyRz5uED+Gd3SLZml0Uw2l2aHFb7ZgdW5mGA3G2cCCnQ==
"@babel/core@^7.20.12":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.4.tgz#c6dc73242507b8e2a27fd13a9c1814f9fa34a659"
- integrity sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==
+ version "7.21.8"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.8.tgz#2a8c7f0f53d60100ba4c32470ba0281c92aa9aa4"
+ integrity sha512-YeM22Sondbo523Sz0+CirSPnbj9bG3P0CdHcBZdqUuaeOaYEFbOLoGU7lebvGP6P5J/WE9wOn7u7C4J9HvS1xQ==
dependencies:
"@ampproject/remapping" "^2.2.0"
"@babel/code-frame" "^7.21.4"
- "@babel/generator" "^7.21.4"
- "@babel/helper-compilation-targets" "^7.21.4"
- "@babel/helper-module-transforms" "^7.21.2"
- "@babel/helpers" "^7.21.0"
- "@babel/parser" "^7.21.4"
+ "@babel/generator" "^7.21.5"
+ "@babel/helper-compilation-targets" "^7.21.5"
+ "@babel/helper-module-transforms" "^7.21.5"
+ "@babel/helpers" "^7.21.5"
+ "@babel/parser" "^7.21.8"
"@babel/template" "^7.20.7"
- "@babel/traverse" "^7.21.4"
- "@babel/types" "^7.21.4"
+ "@babel/traverse" "^7.21.5"
+ "@babel/types" "^7.21.5"
convert-source-map "^1.7.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.2"
semver "^6.3.0"
-"@babel/generator@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.4.tgz#64a94b7448989f421f919d5239ef553b37bb26bc"
- integrity sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==
+"@babel/generator@^7.21.5":
+ version "7.21.9"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.9.tgz#3a1b706e07d836e204aee0650e8ee878d3aaa241"
+ integrity sha512-F3fZga2uv09wFdEjEQIJxXALXfz0+JaOb7SabvVMmjHxeVTuGW8wgE8Vp1Hd7O+zMTYtcfEISGRzPkeiaPPsvg==
dependencies:
- "@babel/types" "^7.21.4"
+ "@babel/types" "^7.21.5"
"@jridgewell/gen-mapping" "^0.3.2"
"@jridgewell/trace-mapping" "^0.3.17"
jsesc "^2.5.1"
@@ -61,45 +61,46 @@
"@babel/types" "^7.18.6"
"@babel/helper-builder-binary-assignment-operator-visitor@^7.18.6":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.18.9.tgz#acd4edfd7a566d1d51ea975dff38fd52906981bb"
- integrity sha512-yFQ0YCHoIqarl8BCRwBL8ulYUaZpz3bNsA7oFepAzee+8/+ImtADXNOmO5vJvsPff3qi+hvpkY/NYBTrBQgdNw==
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz#817f73b6c59726ab39f6ba18c234268a519e5abb"
+ integrity sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==
dependencies:
- "@babel/helper-explode-assignable-expression" "^7.18.6"
- "@babel/types" "^7.18.9"
+ "@babel/types" "^7.21.5"
-"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.4.tgz#770cd1ce0889097ceacb99418ee6934ef0572656"
- integrity sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==
+"@babel/helper-compilation-targets@^7.17.7", "@babel/helper-compilation-targets@^7.18.9", "@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz#631e6cc784c7b660417421349aac304c94115366"
+ integrity sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==
dependencies:
- "@babel/compat-data" "^7.21.4"
+ "@babel/compat-data" "^7.21.5"
"@babel/helper-validator-option" "^7.21.0"
browserslist "^4.21.3"
lru-cache "^5.1.1"
semver "^6.3.0"
"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.21.0":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.4.tgz#3a017163dc3c2ba7deb9a7950849a9586ea24c18"
- integrity sha512-46QrX2CQlaFRF4TkwfTt6nJD7IHq8539cCL7SDpqWSDeJKY1xylKKY5F/33mJhLZ3mFvKv2gGrVS6NkyF6qs+Q==
+ version "7.21.8"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz#205b26330258625ef8869672ebca1e0dee5a0f02"
+ integrity sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
- "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-environment-visitor" "^7.21.5"
"@babel/helper-function-name" "^7.21.0"
- "@babel/helper-member-expression-to-functions" "^7.21.0"
+ "@babel/helper-member-expression-to-functions" "^7.21.5"
"@babel/helper-optimise-call-expression" "^7.18.6"
- "@babel/helper-replace-supers" "^7.20.7"
+ "@babel/helper-replace-supers" "^7.21.5"
"@babel/helper-skip-transparent-expression-wrappers" "^7.20.0"
"@babel/helper-split-export-declaration" "^7.18.6"
+ semver "^6.3.0"
"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.20.5":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.4.tgz#40411a8ab134258ad2cf3a3d987ec6aa0723cee5"
- integrity sha512-M00OuhU+0GyZ5iBBN9czjugzWrEq2vDpf/zCYHxxf93ul/Q5rv+a5h+/+0WnI1AebHNVtl5bFV0qsJoH23DbfA==
+ version "7.21.8"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz#a7886f61c2e29e21fd4aaeaf1e473deba6b571dc"
+ integrity sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==
dependencies:
"@babel/helper-annotate-as-pure" "^7.18.6"
regexpu-core "^5.3.1"
+ semver "^6.3.0"
"@babel/helper-define-polyfill-provider@^0.3.3":
version "0.3.3"
@@ -113,17 +114,10 @@
resolve "^1.14.2"
semver "^6.1.2"
-"@babel/helper-environment-visitor@^7.18.9":
- version "7.18.9"
- resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be"
- integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==
-
-"@babel/helper-explode-assignable-expression@^7.18.6":
- version "7.18.6"
- resolved "https://registry.yarnpkg.com/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.18.6.tgz#41f8228ef0a6f1a036b8dfdfec7ce94f9a6bc096"
- integrity sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==
- dependencies:
- "@babel/types" "^7.18.6"
+"@babel/helper-environment-visitor@^7.18.9", "@babel/helper-environment-visitor@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz#c769afefd41d171836f7cb63e295bedf689d48ba"
+ integrity sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==
"@babel/helper-function-name@^7.18.9", "@babel/helper-function-name@^7.19.0", "@babel/helper-function-name@^7.21.0":
version "7.21.0"
@@ -140,12 +134,12 @@
dependencies:
"@babel/types" "^7.18.6"
-"@babel/helper-member-expression-to-functions@^7.20.7", "@babel/helper-member-expression-to-functions@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.0.tgz#319c6a940431a133897148515877d2f3269c3ba5"
- integrity sha512-Muu8cdZwNN6mRRNG6lAYErJ5X3bRevgYR2O8wN0yn7jJSnGDu6eG59RfT29JHxGUovyfrh6Pj0XzmR7drNVL3Q==
+"@babel/helper-member-expression-to-functions@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz#3b1a009af932e586af77c1030fba9ee0bde396c0"
+ integrity sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==
dependencies:
- "@babel/types" "^7.21.0"
+ "@babel/types" "^7.21.5"
"@babel/helper-module-imports@^7.18.6", "@babel/helper-module-imports@^7.21.4":
version "7.21.4"
@@ -154,19 +148,19 @@
dependencies:
"@babel/types" "^7.21.4"
-"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.2":
- version "7.21.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2"
- integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ==
+"@babel/helper-module-transforms@^7.18.6", "@babel/helper-module-transforms@^7.20.11", "@babel/helper-module-transforms@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz#d937c82e9af68d31ab49039136a222b17ac0b420"
+ integrity sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==
dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-module-imports" "^7.18.6"
- "@babel/helper-simple-access" "^7.20.2"
+ "@babel/helper-environment-visitor" "^7.21.5"
+ "@babel/helper-module-imports" "^7.21.4"
+ "@babel/helper-simple-access" "^7.21.5"
"@babel/helper-split-export-declaration" "^7.18.6"
"@babel/helper-validator-identifier" "^7.19.1"
"@babel/template" "^7.20.7"
- "@babel/traverse" "^7.21.2"
- "@babel/types" "^7.21.2"
+ "@babel/traverse" "^7.21.5"
+ "@babel/types" "^7.21.5"
"@babel/helper-optimise-call-expression@^7.18.6":
version "7.18.6"
@@ -175,10 +169,10 @@
dependencies:
"@babel/types" "^7.18.6"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.20.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629"
- integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.16.7", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.21.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz#345f2377d05a720a4e5ecfa39cbf4474a4daed56"
+ integrity sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==
"@babel/helper-remap-async-to-generator@^7.18.9":
version "7.18.9"
@@ -190,24 +184,24 @@
"@babel/helper-wrap-function" "^7.18.9"
"@babel/types" "^7.18.9"
-"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.20.7.tgz#243ecd2724d2071532b2c8ad2f0f9f083bcae331"
- integrity sha512-vujDMtB6LVfNW13jhlCrp48QNslK6JXi7lQG736HVbHz/mbf4Dc7tIRh1Xf5C0rF7BP8iiSxGMCmY6Ci1ven3A==
+"@babel/helper-replace-supers@^7.18.6", "@babel/helper-replace-supers@^7.20.7", "@babel/helper-replace-supers@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz#a6ad005ba1c7d9bc2973dfde05a1bba7065dde3c"
+ integrity sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==
dependencies:
- "@babel/helper-environment-visitor" "^7.18.9"
- "@babel/helper-member-expression-to-functions" "^7.20.7"
+ "@babel/helper-environment-visitor" "^7.21.5"
+ "@babel/helper-member-expression-to-functions" "^7.21.5"
"@babel/helper-optimise-call-expression" "^7.18.6"
"@babel/template" "^7.20.7"
- "@babel/traverse" "^7.20.7"
- "@babel/types" "^7.20.7"
+ "@babel/traverse" "^7.21.5"
+ "@babel/types" "^7.21.5"
-"@babel/helper-simple-access@^7.20.2":
- version "7.20.2"
- resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9"
- integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA==
+"@babel/helper-simple-access@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz#d697a7971a5c39eac32c7e63c0921c06c8a249ee"
+ integrity sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==
dependencies:
- "@babel/types" "^7.20.2"
+ "@babel/types" "^7.21.5"
"@babel/helper-skip-transparent-expression-wrappers@^7.20.0":
version "7.20.0"
@@ -223,10 +217,10 @@
dependencies:
"@babel/types" "^7.18.6"
-"@babel/helper-string-parser@^7.19.4":
- version "7.19.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63"
- integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==
+"@babel/helper-string-parser@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz#2b3eea65443c6bdc31c22d037c65f6d323b6b2bd"
+ integrity sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==
"@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1":
version "7.19.1"
@@ -248,14 +242,14 @@
"@babel/traverse" "^7.20.5"
"@babel/types" "^7.20.5"
-"@babel/helpers@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e"
- integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA==
+"@babel/helpers@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.5.tgz#5bac66e084d7a4d2d9696bdf0175a93f7fb63c08"
+ integrity sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==
dependencies:
"@babel/template" "^7.20.7"
- "@babel/traverse" "^7.21.0"
- "@babel/types" "^7.21.0"
+ "@babel/traverse" "^7.21.5"
+ "@babel/types" "^7.21.5"
"@babel/highlight@^7.18.6":
version "7.18.6"
@@ -266,10 +260,10 @@
chalk "^2.0.0"
js-tokens "^4.0.0"
-"@babel/parser@^7.20.7", "@babel/parser@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.4.tgz#94003fdfc520bbe2875d4ae557b43ddb6d880f17"
- integrity sha512-alVJj7k7zIxqBZ7BTRhz0IqJFxW1VJbm6N8JbcYhQ186df9ZBPbZBmWSqAMXwHGsCJdYks7z/voa3ibiS5bCIw==
+"@babel/parser@^7.21.5", "@babel/parser@^7.21.8", "@babel/parser@^7.21.9":
+ version "7.21.9"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.9.tgz#ab18ea3b85b4bc33ba98a8d4c2032c557d23cf14"
+ integrity sha512-q5PNg/Bi1OpGgx5jYlvWZwAorZepEudDMCLtj967aeS7WMont7dUZI46M2XwcIQqvUlMxWfdLFu4S/qSxeUu5g==
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.18.6":
version "7.18.6"
@@ -458,6 +452,13 @@
dependencies:
"@babel/helper-plugin-utils" "^7.19.0"
+"@babel/plugin-syntax-import-meta@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51"
+ integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.10.4"
+
"@babel/plugin-syntax-json-strings@^7.8.3":
version "7.8.3"
resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
@@ -521,12 +522,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.14.5"
-"@babel/plugin-transform-arrow-functions@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.20.7.tgz#bea332b0e8b2dab3dafe55a163d8227531ab0551"
- integrity sha512-3poA5E7dzDomxj9WXWwuD6A5F3kc7VXwIJO+E+J8qtDtS+pXPAhrgEyh+9GBwBgPq1Z+bB+/JD60lp5jsN7JPQ==
+"@babel/plugin-transform-arrow-functions@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz#9bb42a53de447936a57ba256fbf537fc312b6929"
+ integrity sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==
dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/helper-plugin-utils" "^7.21.5"
"@babel/plugin-transform-async-to-generator@^7.20.7":
version "7.20.7"
@@ -566,12 +567,12 @@
"@babel/helper-split-export-declaration" "^7.18.6"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.20.7.tgz#704cc2fd155d1c996551db8276d55b9d46e4d0aa"
- integrity sha512-Lz7MvBK6DTjElHAmfu6bfANzKcxpyNPeYBGEafyA6E5HtRpjpZwU+u7Qrgz/2OR0z+5TvKYbPdphfSaAcZBrYQ==
+"@babel/plugin-transform-computed-properties@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz#3a2d8bb771cd2ef1cd736435f6552fe502e11b44"
+ integrity sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==
dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/helper-plugin-utils" "^7.21.5"
"@babel/template" "^7.20.7"
"@babel/plugin-transform-destructuring@^7.21.3":
@@ -604,12 +605,12 @@
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-for-of@^7.21.0":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.0.tgz#964108c9988de1a60b4be2354a7d7e245f36e86e"
- integrity sha512-LlUYlydgDkKpIY7mcBWvyPPmMcOphEyYA27Ef4xpbh1IiDNLr0kZsos2nf92vz3IccvJI25QUwp86Eo5s6HmBQ==
+"@babel/plugin-transform-for-of@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz#e890032b535f5a2e237a18535f56a9fdaa7b83fc"
+ integrity sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/helper-plugin-utils" "^7.21.5"
"@babel/plugin-transform-function-name@^7.18.9":
version "7.18.9"
@@ -642,14 +643,14 @@
"@babel/helper-module-transforms" "^7.20.11"
"@babel/helper-plugin-utils" "^7.20.2"
-"@babel/plugin-transform-modules-commonjs@^7.21.2":
- version "7.21.2"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.2.tgz#6ff5070e71e3192ef2b7e39820a06fb78e3058e7"
- integrity sha512-Cln+Yy04Gxua7iPdj6nOV96smLGjpElir5YwzF0LBPKoPlLDNJePNlrGGaybAJkd0zKRnOVXOgizSqPYMNYkzA==
+"@babel/plugin-transform-modules-commonjs@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz#d69fb947eed51af91de82e4708f676864e5e47bc"
+ integrity sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==
dependencies:
- "@babel/helper-module-transforms" "^7.21.2"
- "@babel/helper-plugin-utils" "^7.20.2"
- "@babel/helper-simple-access" "^7.20.2"
+ "@babel/helper-module-transforms" "^7.21.5"
+ "@babel/helper-plugin-utils" "^7.21.5"
+ "@babel/helper-simple-access" "^7.21.5"
"@babel/plugin-transform-modules-systemjs@^7.20.11":
version "7.20.11"
@@ -706,12 +707,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-regenerator@^7.20.5":
- version "7.20.5"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.20.5.tgz#57cda588c7ffb7f4f8483cc83bdcea02a907f04d"
- integrity sha512-kW/oO7HPBtntbsahzQ0qSE3tFvkFwnbozz3NWFhLGqH75vLEg+sCGngLlhVkePlCs3Jv0dBBHDzCHxNiFAQKCQ==
+"@babel/plugin-transform-regenerator@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz#576c62f9923f94bcb1c855adc53561fd7913724e"
+ integrity sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==
dependencies:
- "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/helper-plugin-utils" "^7.21.5"
regenerator-transform "^0.15.1"
"@babel/plugin-transform-reserved-words@^7.18.6":
@@ -769,12 +770,12 @@
dependencies:
"@babel/helper-plugin-utils" "^7.18.9"
-"@babel/plugin-transform-unicode-escapes@^7.18.10":
- version "7.18.10"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.18.10.tgz#1ecfb0eda83d09bbcb77c09970c2dd55832aa246"
- integrity sha512-kKAdAI+YzPgGY/ftStBFXTI1LZFju38rYThnfMykS+IXy8BVx+res7s2fxf1l8I35DV2T97ezo6+SGrXz6B3iQ==
+"@babel/plugin-transform-unicode-escapes@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz#1e55ed6195259b0e9061d81f5ef45a9b009fb7f2"
+ integrity sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==
dependencies:
- "@babel/helper-plugin-utils" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.21.5"
"@babel/plugin-transform-unicode-regex@^7.18.6":
version "7.18.6"
@@ -785,13 +786,13 @@
"@babel/helper-plugin-utils" "^7.18.6"
"@babel/preset-env@^7.20.2":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.21.4.tgz#a952482e634a8dd8271a3fe5459a16eb10739c58"
- integrity sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.21.5.tgz#db2089d99efd2297716f018aeead815ac3decffb"
+ integrity sha512-wH00QnTTldTbf/IefEVyChtRdw5RJvODT/Vb4Vcxq1AZvtXj6T0YeX0cAcXhI6/BdGuiP3GcNIL4OQbI2DVNxg==
dependencies:
- "@babel/compat-data" "^7.21.4"
- "@babel/helper-compilation-targets" "^7.21.4"
- "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/compat-data" "^7.21.5"
+ "@babel/helper-compilation-targets" "^7.21.5"
+ "@babel/helper-plugin-utils" "^7.21.5"
"@babel/helper-validator-option" "^7.21.0"
"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.18.6"
"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.20.7"
@@ -816,6 +817,7 @@
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
"@babel/plugin-syntax-import-assertions" "^7.20.0"
+ "@babel/plugin-syntax-import-meta" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
@@ -825,22 +827,22 @@
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-syntax-top-level-await" "^7.14.5"
- "@babel/plugin-transform-arrow-functions" "^7.20.7"
+ "@babel/plugin-transform-arrow-functions" "^7.21.5"
"@babel/plugin-transform-async-to-generator" "^7.20.7"
"@babel/plugin-transform-block-scoped-functions" "^7.18.6"
"@babel/plugin-transform-block-scoping" "^7.21.0"
"@babel/plugin-transform-classes" "^7.21.0"
- "@babel/plugin-transform-computed-properties" "^7.20.7"
+ "@babel/plugin-transform-computed-properties" "^7.21.5"
"@babel/plugin-transform-destructuring" "^7.21.3"
"@babel/plugin-transform-dotall-regex" "^7.18.6"
"@babel/plugin-transform-duplicate-keys" "^7.18.9"
"@babel/plugin-transform-exponentiation-operator" "^7.18.6"
- "@babel/plugin-transform-for-of" "^7.21.0"
+ "@babel/plugin-transform-for-of" "^7.21.5"
"@babel/plugin-transform-function-name" "^7.18.9"
"@babel/plugin-transform-literals" "^7.18.9"
"@babel/plugin-transform-member-expression-literals" "^7.18.6"
"@babel/plugin-transform-modules-amd" "^7.20.11"
- "@babel/plugin-transform-modules-commonjs" "^7.21.2"
+ "@babel/plugin-transform-modules-commonjs" "^7.21.5"
"@babel/plugin-transform-modules-systemjs" "^7.20.11"
"@babel/plugin-transform-modules-umd" "^7.18.6"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.20.5"
@@ -848,17 +850,17 @@
"@babel/plugin-transform-object-super" "^7.18.6"
"@babel/plugin-transform-parameters" "^7.21.3"
"@babel/plugin-transform-property-literals" "^7.18.6"
- "@babel/plugin-transform-regenerator" "^7.20.5"
+ "@babel/plugin-transform-regenerator" "^7.21.5"
"@babel/plugin-transform-reserved-words" "^7.18.6"
"@babel/plugin-transform-shorthand-properties" "^7.18.6"
"@babel/plugin-transform-spread" "^7.20.7"
"@babel/plugin-transform-sticky-regex" "^7.18.6"
"@babel/plugin-transform-template-literals" "^7.18.9"
"@babel/plugin-transform-typeof-symbol" "^7.18.9"
- "@babel/plugin-transform-unicode-escapes" "^7.18.10"
+ "@babel/plugin-transform-unicode-escapes" "^7.21.5"
"@babel/plugin-transform-unicode-regex" "^7.18.6"
"@babel/preset-modules" "^0.1.5"
- "@babel/types" "^7.21.4"
+ "@babel/types" "^7.21.5"
babel-plugin-polyfill-corejs2 "^0.3.3"
babel-plugin-polyfill-corejs3 "^0.6.0"
babel-plugin-polyfill-regenerator "^0.4.1"
@@ -882,43 +884,43 @@
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
"@babel/runtime@^7.12.5", "@babel/runtime@^7.8.4":
- version "7.21.0"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673"
- integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.5.tgz#8492dddda9644ae3bda3b45eabe87382caee7200"
+ integrity sha512-8jI69toZqqcsnqGGqwGS4Qb1VwLOEp4hz+CXPywcvjs60u3B4Pom/U/7rm4W8tMOYEB+E9wgD0mW1l3r8qlI9Q==
dependencies:
regenerator-runtime "^0.13.11"
"@babel/template@^7.18.10", "@babel/template@^7.20.7":
- version "7.20.7"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8"
- integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==
+ version "7.21.9"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.21.9.tgz#bf8dad2859130ae46088a99c1f265394877446fb"
+ integrity sha512-MK0X5k8NKOuWRamiEfc3KEJiHMTkGZNUjzMipqCGDDc6ijRl/B7RGSKVGncu4Ro/HdyzzY6cmoXuKI2Gffk7vQ==
dependencies:
- "@babel/code-frame" "^7.18.6"
- "@babel/parser" "^7.20.7"
- "@babel/types" "^7.20.7"
+ "@babel/code-frame" "^7.21.4"
+ "@babel/parser" "^7.21.9"
+ "@babel/types" "^7.21.5"
-"@babel/traverse@^7.20.5", "@babel/traverse@^7.20.7", "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.4.tgz#a836aca7b116634e97a6ed99976236b3282c9d36"
- integrity sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==
+"@babel/traverse@^7.20.5", "@babel/traverse@^7.21.5":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.5.tgz#ad22361d352a5154b498299d523cf72998a4b133"
+ integrity sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==
dependencies:
"@babel/code-frame" "^7.21.4"
- "@babel/generator" "^7.21.4"
- "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/generator" "^7.21.5"
+ "@babel/helper-environment-visitor" "^7.21.5"
"@babel/helper-function-name" "^7.21.0"
"@babel/helper-hoist-variables" "^7.18.6"
"@babel/helper-split-export-declaration" "^7.18.6"
- "@babel/parser" "^7.21.4"
- "@babel/types" "^7.21.4"
+ "@babel/parser" "^7.21.5"
+ "@babel/types" "^7.21.5"
debug "^4.1.0"
globals "^11.1.0"
-"@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.2", "@babel/types@^7.20.5", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.4", "@babel/types@^7.4.4":
- version "7.21.4"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.4.tgz#2d5d6bb7908699b3b416409ffd3b5daa25b030d4"
- integrity sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==
+"@babel/types@^7.18.6", "@babel/types@^7.18.9", "@babel/types@^7.20.0", "@babel/types@^7.20.5", "@babel/types@^7.21.0", "@babel/types@^7.21.4", "@babel/types@^7.21.5", "@babel/types@^7.4.4":
+ version "7.21.5"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.5.tgz#18dfbd47c39d3904d5db3d3dc2cc80bedb60e5b6"
+ integrity sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==
dependencies:
- "@babel/helper-string-parser" "^7.19.4"
+ "@babel/helper-string-parser" "^7.21.5"
"@babel/helper-validator-identifier" "^7.19.1"
to-fast-properties "^2.0.0"
@@ -940,18 +942,18 @@
eslint-visitor-keys "^3.3.0"
"@eslint-community/regexpp@^4.4.0":
- version "4.5.0"
- resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.0.tgz#f6f729b02feee2c749f57e334b7a1b5f40a81724"
- integrity sha512-vITaYzIcNmjn5tF5uxcZ/ft7/RXGrMUIS9HalWckEOF6ESiwXKoMzAQf2UW0aVd6rnOeExTJVd5hmWXucBKGXQ==
+ version "4.5.1"
+ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.5.1.tgz#cdd35dce4fa1a89a4fd42b1599eb35b3af408884"
+ integrity sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==
-"@eslint/eslintrc@^2.0.2":
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.2.tgz#01575e38707add677cf73ca1589abba8da899a02"
- integrity sha512-3W4f5tDUra+pA+FzgugqL2pRimUTDJWKr7BINqOpkZrC0uYI0NIc0/JFgBROCU07HR6GieA5m3/rsPIhDmCXTQ==
+"@eslint/eslintrc@^2.0.3":
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.0.3.tgz#4910db5505f4d503f27774bf356e3704818a0331"
+ integrity sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==
dependencies:
ajv "^6.12.4"
debug "^4.3.2"
- espree "^9.5.1"
+ espree "^9.5.2"
globals "^13.19.0"
ignore "^5.2.0"
import-fresh "^3.2.1"
@@ -959,10 +961,10 @@
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.38.0":
- version "8.38.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.38.0.tgz#73a8a0d8aa8a8e6fe270431c5e72ae91b5337892"
- integrity sha512-IoD2MfUnOV58ghIHCiil01PcohxjbYR/qCxsoC+xNgUwh1EY8jOOrYmu3d3a71+tJJ23uscEV4X2HJWMsPJu4g==
+"@eslint/js@8.41.0":
+ version "8.41.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.41.0.tgz#080321c3b68253522f7646b55b577dd99d2950b3"
+ integrity sha512-LxcyMGxwmTh2lY9FwHPGWOHmYFCZvbrFCBZL4FzSSsxsRPuhrYUg/49/0KDfW8tnIEaEHtfmn6+NPN+1DqaNmA==
"@fortawesome/fontawesome-free@^5.15.4":
version "5.15.4"
@@ -1001,6 +1003,25 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+"@jest/schemas@^29.4.3":
+ version "29.4.3"
+ resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.4.3.tgz#39cf1b8469afc40b6f5a2baaa146e332c4151788"
+ integrity sha512-VLYKXQmtmuEz6IxJsrZwzG9NvtkQsWNnWMsKxqWNu3+CnfzJQhp0WDDKWLVV9hLKr0l3SLLFRqcYHjhtyuDVxg==
+ dependencies:
+ "@sinclair/typebox" "^0.25.16"
+
+"@jest/types@^29.5.0":
+ version "29.5.0"
+ resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.5.0.tgz#f59ef9b031ced83047c67032700d8c807d6e1593"
+ integrity sha512-qbu7kN6czmVRc3xWFQcAN03RAUamgppVUdXrvl1Wr3jlNF93o9mJbGcDWrwGB6ht44u7efB1qCFgVQmca24Uog==
+ dependencies:
+ "@jest/schemas" "^29.4.3"
+ "@types/istanbul-lib-coverage" "^2.0.0"
+ "@types/istanbul-reports" "^3.0.0"
+ "@types/node" "*"
+ "@types/yargs" "^17.0.8"
+ chalk "^4.0.0"
+
"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
version "0.3.3"
resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
@@ -1046,6 +1067,11 @@
"@jridgewell/resolve-uri" "3.1.0"
"@jridgewell/sourcemap-codec" "1.4.14"
+"@kurkle/color@^0.3.0":
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/@kurkle/color/-/color-0.3.2.tgz#5acd38242e8bde4f9986e7913c8fdf49d3aa199f"
+ integrity sha512-fuscdXJ9G1qb7W8VdHi+IwRqij3lBkosAm4ydQtEmbY58OzHXqQhvlxqEkoz0yssNVn38bcpRWgA9PP+OGoisw==
+
"@nodelib/fs.scandir@2.1.5":
version "2.1.5"
resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
@@ -1073,9 +1099,9 @@
integrity sha512-F6S74NGpxhbbDRFsQFGYqefRfZPgYvePNtz9hHKYOqLturrsqrDoG+UcrxEGHsvqDUorMYfx4Wl3K8smmk/u2g==
"@rails/actioncable@^7.0":
- version "7.0.4"
- resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-7.0.4.tgz#70a3ca56809f7aaabb80af2f9c01ae51e1a8ed41"
- integrity sha512-tz4oM+Zn9CYsvtyicsa/AwzKZKL+ITHWkhiu7x+xF77clh2b4Rm+s6xnOgY/sGDWoFWZmtKsE95hxBPkgQQNnQ==
+ version "7.0.5"
+ resolved "https://registry.yarnpkg.com/@rails/actioncable/-/actioncable-7.0.5.tgz#bbc11203e0d3d5084002abfcf01d621fdf5f3a9d"
+ integrity sha512-SOBA2heB9lTw0VYIx8M/ed7inSf4I9sR8OIlJprhgkfQ3WJtrxPJ6DDATR1Z3RYaIR7HlT2Olj08v1lfGIGuHA==
"@rails/activestorage@^6.0.3-1":
version "6.1.7"
@@ -1089,6 +1115,11 @@
resolved "https://registry.yarnpkg.com/@rails/ujs/-/ujs-6.1.7.tgz#b09dc5b2105dd267e8374c47e4490240451dc7f6"
integrity sha512-0e7WQ4LE/+LEfW2zfAw9ppsB6A8RmxbdAUPAF++UT80epY+7emuQDkKXmaK0a9lp6An50RvzezI0cIQjp1A58w==
+"@sinclair/typebox@^0.25.16":
+ version "0.25.24"
+ resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.25.24.tgz#8c7688559979f7079aacaf31aa881c3aa410b718"
+ integrity sha512-XJfwUVUKDHF5ugKwIcxEgc9k8b7HbznCp6eUfWgu710hMPNIO4aw4/zB5RogDQz8nd6gyCDpU9O/m6qYEWY6yQ==
+
"@socket.io/component-emitter@~3.1.0":
version "3.1.0"
resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553"
@@ -1114,31 +1145,37 @@
"@types/eslint" "*"
"@types/estree" "*"
-"@types/eslint@*":
- version "8.37.0"
- resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.37.0.tgz#29cebc6c2a3ac7fea7113207bf5a828fdf4d7ef1"
- integrity sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==
+"@types/eslint@*", "@types/eslint@^8.37.0":
+ version "8.40.0"
+ resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.40.0.tgz#ae73dc9ec5237f2794c4f79efd6a4c73b13daf23"
+ integrity sha512-nbq2mvc/tBrK9zQQuItvjJl++GTN5j06DaPtp3hZCpngmG6Q3xoyEmd0TwZI0gAy/G1X0zhGBbr2imsGFdFV0g==
dependencies:
"@types/estree" "*"
"@types/json-schema" "*"
-"@types/eslint@^7.29.0":
- version "7.29.0"
- resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-7.29.0.tgz#e56ddc8e542815272720bb0b4ccc2aff9c3e1c78"
- integrity sha512-VNcvioYDH8/FxaeTKkM4/TiTwt6pBV9E3OfGmvaw8tPl0rrHCJ4Ll15HRT+pMiFAf/MLQvAzC+6RzUMEL9Ceng==
- dependencies:
- "@types/estree" "*"
- "@types/json-schema" "*"
+"@types/estree@*", "@types/estree@^1.0.0":
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.1.tgz#aa22750962f3bf0e79d753d3cc067f010c95f194"
+ integrity sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==
-"@types/estree@*":
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-1.0.0.tgz#5fb2e536c1ae9bf35366eed879e827fa59ca41c2"
- integrity sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==
+"@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44"
+ integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==
-"@types/estree@^0.0.51":
- version "0.0.51"
- resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.51.tgz#cfd70924a25a3fd32b218e5e420e6897e1ac4f40"
- integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==
+"@types/istanbul-lib-report@*":
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686"
+ integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==
+ dependencies:
+ "@types/istanbul-lib-coverage" "*"
+
+"@types/istanbul-reports@^3.0.0":
+ version "3.0.1"
+ resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff"
+ integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==
+ dependencies:
+ "@types/istanbul-lib-report" "*"
"@types/json-schema@*", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9":
version "7.0.11"
@@ -1151,150 +1188,162 @@
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
"@types/node@*", "@types/node@>=10.0.0":
- version "18.15.11"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.11.tgz#b3b790f09cb1696cffcec605de025b088fa4225f"
- integrity sha512-E5Kwq2n4SbMzQOn6wnmBjuK9ouqlURrcZDVfbo9ftDDTFt3nk7ZKK4GMOzoYgnpQJKcxwQw+lGaBvvlMo0qN/Q==
+ version "20.2.3"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.2.3.tgz#b31eb300610c3835ac008d690de6f87e28f9b878"
+ integrity sha512-pg9d0yC4rVNWQzX8U7xb4olIOFuuVL9za3bzMT2pu2SU0SNEi66i2qrvhE2qt0HvkhuCaWJu7pLNOt/Pj8BIrw==
"@types/parse-json@^4.0.0":
version "4.0.0"
resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
-"@webassemblyjs/ast@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.1.tgz#2bfd767eae1a6996f432ff7e8d7fc75679c0b6a7"
- integrity sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==
+"@types/yargs-parser@*":
+ version "21.0.0"
+ resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b"
+ integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==
+
+"@types/yargs@^17.0.8":
+ version "17.0.24"
+ resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.24.tgz#b3ef8d50ad4aa6aecf6ddc97c580a00f5aa11902"
+ integrity sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==
+ dependencies:
+ "@types/yargs-parser" "*"
+
+"@webassemblyjs/ast@1.11.6", "@webassemblyjs/ast@^1.11.5":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.11.6.tgz#db046555d3c413f8966ca50a95176a0e2c642e24"
+ integrity sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==
dependencies:
- "@webassemblyjs/helper-numbers" "1.11.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
+ "@webassemblyjs/helper-numbers" "1.11.6"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
-"@webassemblyjs/floating-point-hex-parser@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz#f6c61a705f0fd7a6aecaa4e8198f23d9dc179e4f"
- integrity sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==
+"@webassemblyjs/floating-point-hex-parser@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz#dacbcb95aff135c8260f77fa3b4c5fea600a6431"
+ integrity sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==
-"@webassemblyjs/helper-api-error@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz#1a63192d8788e5c012800ba6a7a46c705288fd16"
- integrity sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==
+"@webassemblyjs/helper-api-error@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz#6132f68c4acd59dcd141c44b18cbebbd9f2fa768"
+ integrity sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==
-"@webassemblyjs/helper-buffer@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz#832a900eb444884cde9a7cad467f81500f5e5ab5"
- integrity sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==
+"@webassemblyjs/helper-buffer@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz#b66d73c43e296fd5e88006f18524feb0f2c7c093"
+ integrity sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==
-"@webassemblyjs/helper-numbers@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz#64d81da219fbbba1e3bd1bfc74f6e8c4e10a62ae"
- integrity sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==
+"@webassemblyjs/helper-numbers@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz#cbce5e7e0c1bd32cf4905ae444ef64cea919f1b5"
+ integrity sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==
dependencies:
- "@webassemblyjs/floating-point-hex-parser" "1.11.1"
- "@webassemblyjs/helper-api-error" "1.11.1"
+ "@webassemblyjs/floating-point-hex-parser" "1.11.6"
+ "@webassemblyjs/helper-api-error" "1.11.6"
"@xtuc/long" "4.2.2"
-"@webassemblyjs/helper-wasm-bytecode@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz#f328241e41e7b199d0b20c18e88429c4433295e1"
- integrity sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==
+"@webassemblyjs/helper-wasm-bytecode@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz#bb2ebdb3b83aa26d9baad4c46d4315283acd51e9"
+ integrity sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==
-"@webassemblyjs/helper-wasm-section@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz#21ee065a7b635f319e738f0dd73bfbda281c097a"
- integrity sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==
+"@webassemblyjs/helper-wasm-section@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz#ff97f3863c55ee7f580fd5c41a381e9def4aa577"
+ integrity sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==
dependencies:
- "@webassemblyjs/ast" "1.11.1"
- "@webassemblyjs/helper-buffer" "1.11.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
- "@webassemblyjs/wasm-gen" "1.11.1"
+ "@webassemblyjs/ast" "1.11.6"
+ "@webassemblyjs/helper-buffer" "1.11.6"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/wasm-gen" "1.11.6"
-"@webassemblyjs/ieee754@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz#963929e9bbd05709e7e12243a099180812992614"
- integrity sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==
+"@webassemblyjs/ieee754@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz#bb665c91d0b14fffceb0e38298c329af043c6e3a"
+ integrity sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==
dependencies:
"@xtuc/ieee754" "^1.2.0"
-"@webassemblyjs/leb128@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.1.tgz#ce814b45574e93d76bae1fb2644ab9cdd9527aa5"
- integrity sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==
+"@webassemblyjs/leb128@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/leb128/-/leb128-1.11.6.tgz#70e60e5e82f9ac81118bc25381a0b283893240d7"
+ integrity sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==
dependencies:
"@xtuc/long" "4.2.2"
-"@webassemblyjs/utf8@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.1.tgz#d1f8b764369e7c6e6bae350e854dec9a59f0a3ff"
- integrity sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==
-
-"@webassemblyjs/wasm-edit@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz#ad206ebf4bf95a058ce9880a8c092c5dec8193d6"
- integrity sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==
- dependencies:
- "@webassemblyjs/ast" "1.11.1"
- "@webassemblyjs/helper-buffer" "1.11.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
- "@webassemblyjs/helper-wasm-section" "1.11.1"
- "@webassemblyjs/wasm-gen" "1.11.1"
- "@webassemblyjs/wasm-opt" "1.11.1"
- "@webassemblyjs/wasm-parser" "1.11.1"
- "@webassemblyjs/wast-printer" "1.11.1"
-
-"@webassemblyjs/wasm-gen@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz#86c5ea304849759b7d88c47a32f4f039ae3c8f76"
- integrity sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==
- dependencies:
- "@webassemblyjs/ast" "1.11.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
- "@webassemblyjs/ieee754" "1.11.1"
- "@webassemblyjs/leb128" "1.11.1"
- "@webassemblyjs/utf8" "1.11.1"
-
-"@webassemblyjs/wasm-opt@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz#657b4c2202f4cf3b345f8a4c6461c8c2418985f2"
- integrity sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==
- dependencies:
- "@webassemblyjs/ast" "1.11.1"
- "@webassemblyjs/helper-buffer" "1.11.1"
- "@webassemblyjs/wasm-gen" "1.11.1"
- "@webassemblyjs/wasm-parser" "1.11.1"
-
-"@webassemblyjs/wasm-parser@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz#86ca734534f417e9bd3c67c7a1c75d8be41fb199"
- integrity sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==
- dependencies:
- "@webassemblyjs/ast" "1.11.1"
- "@webassemblyjs/helper-api-error" "1.11.1"
- "@webassemblyjs/helper-wasm-bytecode" "1.11.1"
- "@webassemblyjs/ieee754" "1.11.1"
- "@webassemblyjs/leb128" "1.11.1"
- "@webassemblyjs/utf8" "1.11.1"
-
-"@webassemblyjs/wast-printer@1.11.1":
- version "1.11.1"
- resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz#d0c73beda8eec5426f10ae8ef55cee5e7084c2f0"
- integrity sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==
- dependencies:
- "@webassemblyjs/ast" "1.11.1"
+"@webassemblyjs/utf8@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/utf8/-/utf8-1.11.6.tgz#90f8bc34c561595fe156603be7253cdbcd0fab5a"
+ integrity sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==
+
+"@webassemblyjs/wasm-edit@^1.11.5":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz#c72fa8220524c9b416249f3d94c2958dfe70ceab"
+ integrity sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.6"
+ "@webassemblyjs/helper-buffer" "1.11.6"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/helper-wasm-section" "1.11.6"
+ "@webassemblyjs/wasm-gen" "1.11.6"
+ "@webassemblyjs/wasm-opt" "1.11.6"
+ "@webassemblyjs/wasm-parser" "1.11.6"
+ "@webassemblyjs/wast-printer" "1.11.6"
+
+"@webassemblyjs/wasm-gen@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz#fb5283e0e8b4551cc4e9c3c0d7184a65faf7c268"
+ integrity sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.6"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/ieee754" "1.11.6"
+ "@webassemblyjs/leb128" "1.11.6"
+ "@webassemblyjs/utf8" "1.11.6"
+
+"@webassemblyjs/wasm-opt@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz#d9a22d651248422ca498b09aa3232a81041487c2"
+ integrity sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.6"
+ "@webassemblyjs/helper-buffer" "1.11.6"
+ "@webassemblyjs/wasm-gen" "1.11.6"
+ "@webassemblyjs/wasm-parser" "1.11.6"
+
+"@webassemblyjs/wasm-parser@1.11.6", "@webassemblyjs/wasm-parser@^1.11.5":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz#bb85378c527df824004812bbdb784eea539174a1"
+ integrity sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.6"
+ "@webassemblyjs/helper-api-error" "1.11.6"
+ "@webassemblyjs/helper-wasm-bytecode" "1.11.6"
+ "@webassemblyjs/ieee754" "1.11.6"
+ "@webassemblyjs/leb128" "1.11.6"
+ "@webassemblyjs/utf8" "1.11.6"
+
+"@webassemblyjs/wast-printer@1.11.6":
+ version "1.11.6"
+ resolved "https://registry.yarnpkg.com/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz#a7bf8dd7e362aeb1668ff43f35cb849f188eff20"
+ integrity sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==
+ dependencies:
+ "@webassemblyjs/ast" "1.11.6"
"@xtuc/long" "4.2.2"
-"@webpack-cli/configtest@^2.0.1":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.0.1.tgz#a69720f6c9bad6aef54a8fa6ba9c3533e7ef4c7f"
- integrity sha512-njsdJXJSiS2iNbQVS0eT8A/KPnmyH4pv1APj2K0d1wrZcBLw+yppxOy4CGqa0OxDJkzfL/XELDhD8rocnIwB5A==
+"@webpack-cli/configtest@^2.1.0":
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/configtest/-/configtest-2.1.0.tgz#b59b33377b1b896a9a7357cfc643b39c1524b1e6"
+ integrity sha512-K/vuv72vpfSEZoo5KIU0a2FsEoYdW0DUMtMpB5X3LlUwshetMZRZRxB7sCsVji/lFaSxtQQ3aM9O4eMolXkU9w==
"@webpack-cli/info@^2.0.1":
version "2.0.1"
resolved "https://registry.yarnpkg.com/@webpack-cli/info/-/info-2.0.1.tgz#eed745799c910d20081e06e5177c2b2569f166c0"
integrity sha512-fE1UEWTwsAxRhrJNikE7v4EotYflkEhBL7EbajfkPlf6E37/2QshOy/D48Mw8G5XMFlQtS6YV42vtbG9zBpIQA==
-"@webpack-cli/serve@^2.0.1":
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.1.tgz#34bdc31727a1889198855913db2f270ace6d7bf8"
- integrity sha512-0G7tNyS+yW8TdgHwZKlDWYXFA6OJQnoLCQvYKkQP0Q2X205PSQ6RNUj0M+1OB/9gRQaUZ/ccYfaxd0nhaWKfjw==
+"@webpack-cli/serve@^2.0.4":
+ version "2.0.4"
+ resolved "https://registry.yarnpkg.com/@webpack-cli/serve/-/serve-2.0.4.tgz#3982ee6f8b42845437fc4d391e93ac5d9da52f0f"
+ integrity sha512-0xRgjgDLdz6G7+vvDLlaRpFatJaJ69uTalZLRSMX5B3VUrDmXcrVA3+6fXXQgmYz7bY9AAgs348XQdmtLsK41A==
"@xtuc/ieee754@^1.2.0":
version "1.2.0"
@@ -1314,10 +1363,10 @@ accepts@~1.3.4:
mime-types "~2.1.34"
negotiator "0.6.3"
-acorn-import-assertions@^1.7.6:
- version "1.8.0"
- resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz#ba2b5939ce62c238db6d93d81c9b111b29b855e9"
- integrity sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==
+acorn-import-assertions@^1.9.0:
+ version "1.9.0"
+ resolved "https://registry.yarnpkg.com/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz#507276249d684797c84e0734ef84860334cfb1ac"
+ integrity sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==
acorn-jsx@^5.3.2:
version "5.3.2"
@@ -1341,7 +1390,7 @@ ajv-keywords@^3.5.2:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-ajv-keywords@^5.0.0:
+ajv-keywords@^5.1.0:
version "5.1.0"
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-5.1.0.tgz#69d4d385a4733cdbeab44964a1170a88f87f0e16"
integrity sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==
@@ -1358,7 +1407,7 @@ ajv@^6.10.0, ajv@^6.12.4, ajv@^6.12.5:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ajv@^8.0.0, ajv@^8.8.0:
+ajv@^8.0.0, ajv@^8.9.0:
version "8.12.0"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1"
integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==
@@ -1439,15 +1488,10 @@ array.prototype.flatmap@^1.3.1:
es-abstract "^1.20.4"
es-shim-unscopables "^1.0.0"
-arrify@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa"
- integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==
-
autonumeric@^4.6.0:
- version "4.8.1"
- resolved "https://registry.yarnpkg.com/autonumeric/-/autonumeric-4.8.1.tgz#24259b4175d7814dde89fd26ad3d388368b40ddd"
- integrity sha512-bXymqga5EvHSEyoifaw/+pGLJHPOv9+C31G1zUHAFU/2J+94LYm24BYqInw7XWmQJQ96r4VXUchurFmiqzxB5w==
+ version "4.9.0"
+ resolved "https://registry.yarnpkg.com/autonumeric/-/autonumeric-4.9.0.tgz#5e54b5b2b79ba61f596902e6f2bb4256fab19fa8"
+ integrity sha512-wCNM6AzgZh2QibED+HOnD2PD8qp3YyXqM6akADdMViqhDx+M+Nwq70WNh26eEjRWfclTh9f+kw2GLx2+ZUmOGw==
available-typed-arrays@^1.0.5:
version "1.0.5"
@@ -1602,9 +1646,9 @@ callsites@^3.0.0:
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
caniuse-lite@^1.0.30001449:
- version "1.0.30001478"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001478.tgz#0ef8a1cf8b16be47a0f9fc4ecfc952232724b32a"
- integrity sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==
+ version "1.0.30001489"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001489.tgz#ca82ee2d4e4dbf2bd2589c9360d3fcc2c7ba3bd8"
+ integrity sha512-x1mgZEXK8jHIfAxm+xgdpHpk50IN3z3q3zP261/WS+uvePxW8izXuCu6AHz0lkuYTlATDehiZ/tNyYBdSQsOUQ==
chalk@^2.0.0:
version "2.4.2"
@@ -1623,10 +1667,12 @@ chalk@^4.0.0:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
-chart.js@^3.8.0:
- version "3.9.1"
- resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-3.9.1.tgz#3abf2c775169c4c71217a107163ac708515924b8"
- integrity sha512-Ro2JbLmvg83gXF5F4sniaQ+lTbSv18E+TIf2cOeiH1Iqd2PGFOtem+DUufMZsCJwFE7ywPOpfXFBwRTGq7dh6w==
+chart.js@^4.2.1:
+ version "4.3.0"
+ resolved "https://registry.yarnpkg.com/chart.js/-/chart.js-4.3.0.tgz#ac363030ab3fec572850d2d872956f32a46326a1"
+ integrity sha512-ynG0E79xGfMaV2xAHdbhwiPLczxnNNnasrmPEXriXsPJGjmhOBYzFVEsB65w2qMDz+CaBJJuJD0inE/ab/h36g==
+ dependencies:
+ "@kurkle/color" "^0.3.0"
"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.1:
version "3.5.3"
@@ -1648,6 +1694,11 @@ chrome-trace-event@^1.0.2:
resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac"
integrity sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==
+ci-info@^3.2.0:
+ version "3.8.0"
+ resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91"
+ integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==
+
cliui@^7.0.2:
version "7.0.4"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
@@ -1691,20 +1742,20 @@ color-name@~1.1.4:
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
colorette@^2.0.14:
- version "2.0.19"
- resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.19.tgz#cdf044f47ad41a0f4b56b3a0d5b4e6e1a2d5a798"
- integrity sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==
+ version "2.0.20"
+ resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.20.tgz#9eb793e6833067f7235902fcd3b09917a000a95a"
+ integrity sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==
+
+commander@^10.0.1:
+ version "10.0.1"
+ resolved "https://registry.yarnpkg.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
+ integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
-commander@^9.4.1:
- version "9.5.0"
- resolved "https://registry.yarnpkg.com/commander/-/commander-9.5.0.tgz#bc08d1eb5cedf7ccb797a96199d41c7bc3e60d30"
- integrity sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==
-
commondir@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
@@ -1746,16 +1797,16 @@ cookie@~0.4.1:
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
core-js-compat@^3.25.1:
- version "3.30.0"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.0.tgz#99aa2789f6ed2debfa1df3232784126ee97f4d80"
- integrity sha512-P5A2h/9mRYZFIAP+5Ab8ns6083IyVpSclU74UNvbGVQ8VM7n3n3/g2yF3AkKQ9NXz2O+ioxLbEWKnDtgsFamhg==
+ version "3.30.2"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.30.2.tgz#83f136e375babdb8c80ad3c22d67c69098c1dd8b"
+ integrity sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==
dependencies:
browserslist "^4.21.5"
core-js@^3.6.5:
- version "3.30.0"
- resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.0.tgz#64ac6f83bc7a49fd42807327051701d4b1478dea"
- integrity sha512-hQotSSARoNh1mYPi9O2YaWeiq/cEB95kOrFb4NCrO4RIFt1qqNpKsaE+vy/L3oiqvND5cThqXzUU3r9F7Efztg==
+ version "3.30.2"
+ resolved "https://registry.yarnpkg.com/core-js/-/core-js-3.30.2.tgz#6528abfda65e5ad728143ea23f7a14f0dcf503fc"
+ integrity sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==
cors@~2.8.5:
version "2.8.5"
@@ -1821,7 +1872,7 @@ deep-is@^0.1.3:
resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
-define-properties@^1.1.3, define-properties@^1.1.4:
+define-properties@^1.1.3, define-properties@^1.1.4, define-properties@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5"
integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==
@@ -1874,9 +1925,9 @@ ee-first@1.1.1:
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
electron-to-chromium@^1.4.284:
- version "1.4.359"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.359.tgz#5c4d13cb08032469fcd6bd36457915caa211356b"
- integrity sha512-OoVcngKCIuNXtZnsYoqlCvr0Cf3NIPzDIgwUfI9bdTFjXCrr79lI0kwQstLPZ7WhCezLlGksZk/BFAzoXC7GDw==
+ version "1.4.407"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.407.tgz#087e2ab97b3eb092aa6217c05986086b7dd370cc"
+ integrity sha512-5smEvFSFYMv90tICOzRVP7Opp98DAC4KW7RRipg3BuNpGbbV3N+x24Zh3sbLb1T5haGtOSy/hrBfXsWnIM9aCg==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -1894,14 +1945,14 @@ encodeurl@~1.0.2:
integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
engine.io-parser@~5.0.3:
- version "5.0.6"
- resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45"
- integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==
+ version "5.0.7"
+ resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.7.tgz#ed5eae76c71f398284c578ab6deafd3ba7e4e4f6"
+ integrity sha512-P+jDFbvK6lE3n1OL+q9KuzdOFWkkZ/cMV9gol/SbVfpyqfvrfrFTOFJ6fQm2VC3PZHlU3QPhVwmbsCnauHF2MQ==
engine.io@~6.4.1:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.4.1.tgz#8056b4526a88e779f9c280d820422d4e3eeaaae5"
- integrity sha512-JFYQurD/nbsA5BSPmbaOSLa3tSVj8L6o4srSwXXY3NqE+gGUNmmPTbhn8tjzcCtSqhFgIeqef81ngny8JM25hw==
+ version "6.4.2"
+ resolved "https://registry.yarnpkg.com/engine.io/-/engine.io-6.4.2.tgz#ffeaf68f69b1364b0286badddf15ff633476473f"
+ integrity sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==
dependencies:
"@types/cookie" "^0.4.1"
"@types/cors" "^2.8.12"
@@ -1914,10 +1965,10 @@ engine.io@~6.4.1:
engine.io-parser "~5.0.3"
ws "~8.11.0"
-enhanced-resolve@^5.10.0:
- version "5.12.0"
- resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.12.0.tgz#300e1c90228f5b570c4d35babf263f6da7155634"
- integrity sha512-QHTXI/sZQmko1cbDoNAa3mJ5qhWUUNAq3vR0/YiD379fWQrcfuoX1+HW2S0MTt7XmoPLapdaDKUtelUSPic7hQ==
+enhanced-resolve@^5.14.1:
+ version "5.14.1"
+ resolved "https://registry.yarnpkg.com/enhanced-resolve/-/enhanced-resolve-5.14.1.tgz#de684b6803724477a4af5d74ccae5de52c25f6b3"
+ integrity sha512-Vklwq2vDKtl0y/vtwjSesgJ5MYS7Etuk5txS8VdKL4AOS1aUlD96zqIfsOSLQsdv3xgMRbtkWM8eG9XDfKUPow==
dependencies:
graceful-fs "^4.2.4"
tapable "^2.2.0"
@@ -1979,10 +2030,10 @@ es-abstract@^1.19.0, es-abstract@^1.20.4:
unbox-primitive "^1.0.2"
which-typed-array "^1.1.9"
-es-module-lexer@^0.9.0:
- version "0.9.3"
- resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19"
- integrity sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==
+es-module-lexer@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-1.2.1.tgz#ba303831f63e6a394983fde2f97ad77b22324527"
+ integrity sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==
es-set-tostringtag@^2.0.1:
version "2.0.1"
@@ -2049,9 +2100,9 @@ eslint-import-resolver-node@^0.3.7:
resolve "^1.22.1"
eslint-module-utils@^2.7.4:
- version "2.7.4"
- resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974"
- integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA==
+ version "2.8.0"
+ resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz#e439fee65fc33f6bba630ff621efc38ec0375c49"
+ integrity sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==
dependencies:
debug "^3.2.7"
@@ -2084,40 +2135,39 @@ eslint-scope@5.1.1:
esrecurse "^4.3.0"
estraverse "^4.1.1"
-eslint-scope@^7.1.1:
- version "7.1.1"
- resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642"
- integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==
+eslint-scope@^7.2.0:
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.0.tgz#f21ebdafda02352f103634b96dd47d9f81ca117b"
+ integrity sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==
dependencies:
esrecurse "^4.3.0"
estraverse "^5.2.0"
-eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.0.tgz#c7f0f956124ce677047ddbc192a68f999454dedc"
- integrity sha512-HPpKPUBQcAsZOsHAFwTtIKcYlCje62XB7SEAcxjtmW6TD1WVpkS6i6/hOVtTZIl4zGj/mBqpFVGvaDneik+VoQ==
+eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz#c22c48f48942d08ca824cc526211ae400478a994"
+ integrity sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==
-eslint-webpack-plugin@^2.6.0:
- version "2.7.0"
- resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-2.7.0.tgz#0525793a4f8c652c1c6d863995ce1e0f2dcbd143"
- integrity sha512-bNaVVUvU4srexGhVcayn/F4pJAz19CWBkKoMx7aSQ4wtTbZQCnG5O9LHCE42mM+JSKOUp7n6vd5CIwzj7lOVGA==
+eslint-webpack-plugin@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/eslint-webpack-plugin/-/eslint-webpack-plugin-4.0.1.tgz#f0f0e9afff2801d8bd41eac88e5409821ecbaccb"
+ integrity sha512-fUFcXpui/FftGx3NzvWgLZXlLbu+m74sUxGEgxgoxYcUtkIQbS6SdNNZkS99m5ycb23TfoNYrDpp1k/CK5j6Hw==
dependencies:
- "@types/eslint" "^7.29.0"
- arrify "^2.0.1"
- jest-worker "^27.5.1"
+ "@types/eslint" "^8.37.0"
+ jest-worker "^29.5.0"
micromatch "^4.0.5"
normalize-path "^3.0.0"
- schema-utils "^3.1.1"
+ schema-utils "^4.0.0"
eslint@^8.18.0:
- version "8.38.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.38.0.tgz#a62c6f36e548a5574dd35728ac3c6209bd1e2f1a"
- integrity sha512-pIdsD2jwlUGf/U38Jv97t8lq6HpaU/G9NKbYmpWpZGw3LdTNhZLbJePqxOXGB5+JEKfOPU/XLxYxFh03nr1KTg==
+ version "8.41.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.41.0.tgz#3062ca73363b4714b16dbc1e60f035e6134b6f1c"
+ integrity sha512-WQDQpzGBOP5IrXPo4Hc0814r4/v2rrIsB0rhT7jtunIalgg6gYXWhRMOejVO8yH21T/FGaxjmFjBMNqcIlmH1Q==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@eslint-community/regexpp" "^4.4.0"
- "@eslint/eslintrc" "^2.0.2"
- "@eslint/js" "8.38.0"
+ "@eslint/eslintrc" "^2.0.3"
+ "@eslint/js" "8.41.0"
"@humanwhocodes/config-array" "^0.11.8"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"
@@ -2127,9 +2177,9 @@ eslint@^8.18.0:
debug "^4.3.2"
doctrine "^3.0.0"
escape-string-regexp "^4.0.0"
- eslint-scope "^7.1.1"
- eslint-visitor-keys "^3.4.0"
- espree "^9.5.1"
+ eslint-scope "^7.2.0"
+ eslint-visitor-keys "^3.4.1"
+ espree "^9.5.2"
esquery "^1.4.2"
esutils "^2.0.2"
fast-deep-equal "^3.1.3"
@@ -2137,13 +2187,12 @@ eslint@^8.18.0:
find-up "^5.0.0"
glob-parent "^6.0.2"
globals "^13.19.0"
- grapheme-splitter "^1.0.4"
+ graphemer "^1.4.0"
ignore "^5.2.0"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
is-glob "^4.0.0"
is-path-inside "^3.0.3"
- js-sdsl "^4.1.4"
js-yaml "^4.1.0"
json-stable-stringify-without-jsonify "^1.0.1"
levn "^0.4.1"
@@ -2155,14 +2204,14 @@ eslint@^8.18.0:
strip-json-comments "^3.1.0"
text-table "^0.2.0"
-espree@^9.5.1:
- version "9.5.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.1.tgz#4f26a4d5f18905bf4f2e0bd99002aab807e96dd4"
- integrity sha512-5yxtHSZXRSW5pvv3hAlXM5+/Oswi1AUFqBmbibKb5s6bp3rGIDkyXU6xCoyuuLhijr4SFwPrXRoZjz0AZDN9tg==
+espree@^9.5.2:
+ version "9.5.2"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-9.5.2.tgz#e994e7dc33a082a7a82dceaf12883a829353215b"
+ integrity sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==
dependencies:
acorn "^8.8.0"
acorn-jsx "^5.3.2"
- eslint-visitor-keys "^3.4.0"
+ eslint-visitor-keys "^3.4.1"
esquery@^1.4.2:
version "1.5.0"
@@ -2346,7 +2395,7 @@ function.prototype.name@^1.1.5:
es-abstract "^1.19.0"
functions-have-names "^1.2.2"
-functions-have-names@^1.2.2:
+functions-have-names@^1.2.2, functions-have-names@^1.2.3:
version "1.2.3"
resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
@@ -2362,12 +2411,13 @@ get-caller-file@^2.0.5:
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f"
- integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.1.tgz#d295644fed4505fc9cde952c37ee12b477a83d82"
+ integrity sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw==
dependencies:
function-bind "^1.1.1"
has "^1.0.3"
+ has-proto "^1.0.1"
has-symbols "^1.0.3"
get-symbol-description@^1.0.0:
@@ -2440,10 +2490,10 @@ graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4,
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
-grapheme-splitter@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e"
- integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==
+graphemer@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6"
+ integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==
has-bigints@^1.0.1, has-bigints@^1.0.2:
version "1.0.2"
@@ -2618,9 +2668,9 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7:
integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
is-core-module@^2.11.0:
- version "2.12.0"
- resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.0.tgz#36ad62f6f73c8253fd6472517a12483cf03e7ec4"
- integrity sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==
+ version "2.12.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.12.1.tgz#0c0b6885b6f80011c71541ce15c8d66cf5a4f9fd"
+ integrity sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==
dependencies:
has "^1.0.3"
@@ -2752,7 +2802,19 @@ jasmine@^4.2.1:
glob "^7.1.6"
jasmine-core "^4.6.0"
-jest-worker@^27.4.5, jest-worker@^27.5.1:
+jest-util@^29.5.0:
+ version "29.5.0"
+ resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.5.0.tgz#24a4d3d92fc39ce90425311b23c27a6e0ef16b8f"
+ integrity sha512-RYMgG/MTadOr5t8KdhejfvUU82MxsCu5MF6KuDUHl+NuwzUt+Sm6jJWxTJVrDR1j5M/gJVCPKQEpWXY+yIQ6lQ==
+ dependencies:
+ "@jest/types" "^29.5.0"
+ "@types/node" "*"
+ chalk "^4.0.0"
+ ci-info "^3.2.0"
+ graceful-fs "^4.2.9"
+ picomatch "^2.2.3"
+
+jest-worker@^27.4.5:
version "27.5.1"
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0"
integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==
@@ -2761,6 +2823,16 @@ jest-worker@^27.4.5, jest-worker@^27.5.1:
merge-stream "^2.0.0"
supports-color "^8.0.0"
+jest-worker@^29.5.0:
+ version "29.5.0"
+ resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.5.0.tgz#bdaefb06811bd3384d93f009755014d8acb4615d"
+ integrity sha512-NcrQnevGoSp4b5kg+akIpthoAFHxPBcb5P6mYPY0fUNT+sSvmtu6jlkEle3anczUKIKEbMxFimk9oTP/tpIPgA==
+ dependencies:
+ "@types/node" "*"
+ jest-util "^29.5.0"
+ merge-stream "^2.0.0"
+ supports-color "^8.0.0"
+
jquery-ui-sass@^0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/jquery-ui-sass/-/jquery-ui-sass-0.0.1.tgz#d117eb1a82fbf5072e6797e370c21b2446fb0861"
@@ -2774,19 +2846,14 @@ jquery-ui@^1.12.1:
jquery ">=1.8.0 <4.0.0"
"jquery@>=1.8.0 <4.0.0", jquery@^3.5.1:
- version "3.6.4"
- resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.6.4.tgz#ba065c188142100be4833699852bf7c24dc0252f"
- integrity sha512-v28EW9DWDFpzcD9O5iyJXg3R3+q+mET5JhnjJzQUZMHOv67bpSIHq81GEYpPNZHG+XXHsfSme3nxp/hndKEcsQ==
+ version "3.7.0"
+ resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.7.0.tgz#fe2c01a05da500709006d8790fe21c8a39d75612"
+ integrity sha512-umpJ0/k8X0MvD1ds0P9SfowREz2LenHsQaxSohMZ5OMNEU2r0tf8pdeEFTHMFxWVxKNyU9rTtK3CWzUCTKJUeQ==
js-cookie@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.1.tgz#9e39b4c6c2f56563708d7d31f6f5f21873a92414"
- integrity sha512-+0rgsUXZu4ncpPxRL+lNEptWMOWl9etvPHc/koSRp6MPwpRYAhmk0dUG00J4bxVV3r9uUzfo24wW0knS07SKSw==
-
-js-sdsl@^4.1.4:
- version "4.4.0"
- resolved "https://registry.yarnpkg.com/js-sdsl/-/js-sdsl-4.4.0.tgz#8b437dbe642daa95760400b602378ed8ffea8430"
- integrity sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==
+ version "3.0.5"
+ resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc"
+ integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==
js-tokens@^4.0.0:
version "4.0.0"
@@ -2855,9 +2922,9 @@ karma-babel-preprocessor@^8.0.1:
integrity sha512-6ZUnHwaK2EyhgxbgeSJW6n6WZUYSEdekHIV/qDUnPgMkVzQBHEvd07d2mTL5AQjV8uTUgH6XslhaPrp+fHWH2A==
karma-chrome-launcher@^3.1.0:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.1.1.tgz#baca9cc071b1562a1db241827257bfe5cab597ea"
- integrity sha512-hsIglcq1vtboGPAN+DGCISCFOxW+ZVnIqhDQcCMqqCp+4dmJ0Qpq5QAjkbA0X2L9Mi6OBkHi2Srrbmm7pUKkzQ==
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz#eb9c95024f2d6dfbb3748d3415ac9b381906b9a9"
+ integrity sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==
dependencies:
which "^1.2.1"
@@ -2898,9 +2965,9 @@ karma-webpack@^5.0.0:
webpack-merge "^4.1.5"
karma@^6.3.14:
- version "6.4.1"
- resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.1.tgz#f2253716dd3a41aaa813fa9f54b6ee047e1127d9"
- integrity sha512-Cj57NKOskK7wtFWSlMvZf459iX+kpYIPXmkNUzP2WAFcA7nhr/ALn5R7sw3w+1udFDcpMx/tuB8d5amgm3ijaA==
+ version "6.4.2"
+ resolved "https://registry.yarnpkg.com/karma/-/karma-6.4.2.tgz#a983f874cee6f35990c4b2dcc3d274653714de8e"
+ integrity sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==
dependencies:
"@colors/colors" "1.5.0"
body-parser "^1.19.0"
@@ -3103,9 +3170,9 @@ neo-async@^2.6.2:
integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
node-releases@^2.0.8:
- version "2.0.10"
- resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f"
- integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==
+ version "2.0.12"
+ resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.12.tgz#35627cc224a23bfb06fb3380f2b3afaaa7eb1039"
+ integrity sha512-QzsYKWhXTWx8h1kIvqfnC++o0pEmpRQA/aenALsL2F4pqNVr7YzcdMlDij5WBnwftRbJCNJL/O7zdKaxKPHqgQ==
normalize-path@^3.0.0, normalize-path@~3.0.0:
version "3.0.0"
@@ -3278,7 +3345,7 @@ picocolors@^1.0.0:
resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c"
integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==
-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.3.1:
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
@@ -3391,13 +3458,13 @@ regenerator-transform@^0.15.1:
"@babel/runtime" "^7.8.4"
regexp.prototype.flags@^1.4.3:
- version "1.4.3"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac"
- integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz#fe7ce25e7e4cca8db37b6634c8a2c7009199b9cb"
+ integrity sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==
dependencies:
call-bind "^1.0.2"
- define-properties "^1.1.3"
- functions-have-names "^1.2.2"
+ define-properties "^1.2.0"
+ functions-have-names "^1.2.3"
regexpu-core@^5.3.1:
version "5.3.2"
@@ -3503,32 +3570,32 @@ safe-regex-test@^1.0.0:
integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
sass@^1.57.1:
- version "1.62.0"
- resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.0.tgz#3686b2195b93295d20765135e562366b33ece37d"
- integrity sha512-Q4USplo4pLYgCi+XlipZCWUQz5pkg/ruSSgJ0WRDSb/+3z9tXUOkQ7QPYn4XrhZKYAK4HlpaQecRwKLJX6+DBg==
+ version "1.62.1"
+ resolved "https://registry.yarnpkg.com/sass/-/sass-1.62.1.tgz#caa8d6bf098935bc92fc73fa169fb3790cacd029"
+ integrity sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==
dependencies:
chokidar ">=3.0.0 <4.0.0"
immutable "^4.0.0"
source-map-js ">=0.6.2 <2.0.0"
-schema-utils@^3.1.0, schema-utils@^3.1.1:
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.1.tgz#bc74c4b6b6995c1d88f76a8b77bea7219e0c8281"
- integrity sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==
+schema-utils@^3.1.1, schema-utils@^3.1.2:
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.1.2.tgz#36c10abca6f7577aeae136c804b0c741edeadc99"
+ integrity sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==
dependencies:
"@types/json-schema" "^7.0.8"
ajv "^6.12.5"
ajv-keywords "^3.5.2"
schema-utils@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.0.tgz#60331e9e3ae78ec5d16353c467c34b3a0a1d3df7"
- integrity sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.0.1.tgz#eb2d042df8b01f4b5c276a2dfd41ba0faab72e8d"
+ integrity sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==
dependencies:
"@types/json-schema" "^7.0.9"
- ajv "^8.8.0"
+ ajv "^8.9.0"
ajv-formats "^2.1.1"
- ajv-keywords "^5.0.0"
+ ajv-keywords "^5.1.0"
select2-bootstrap-theme@^0.1.0-beta.10:
version "0.1.0-beta.10"
@@ -3593,9 +3660,9 @@ socket.io-adapter@~2.5.2:
ws "~8.11.0"
socket.io-parser@~4.2.1:
- version "4.2.2"
- resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.2.tgz#1dd384019e25b7a3d374877f492ab34f2ad0d206"
- integrity sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==
+ version "4.2.3"
+ resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.3.tgz#926bcc6658e2ae0883dc9dee69acbdc76e4e3667"
+ integrity sha512-JMafRntWVO2DCJimKsRTh/wnqVvO4hrfwOqtO7f+uzwsQMuxO6VwImtYxaQ+ieoyshWOTJyV0fA21lccEXRPpQ==
dependencies:
"@socket.io/component-emitter" "~3.1.0"
debug "~4.3.1"
@@ -3734,30 +3801,30 @@ supports-preserve-symlinks-flag@^1.0.0:
integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
sweetalert2@^11.7.3:
- version "11.7.3"
- resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-11.7.3.tgz#e81ad273903a644b60d1ee0359626cc4c4ac860d"
- integrity sha512-fUN/fyVSBZNtY4Rr/Qtxn7tNNnlRAbUhQxTQ9uOo0xVMIHBmqq4/9pau5N9dB2pvkB353XL/ywRAycscLoYU3w==
+ version "11.7.5"
+ resolved "https://registry.yarnpkg.com/sweetalert2/-/sweetalert2-11.7.5.tgz#d905b792cfcb69d5db479f839151ce12d8804a8e"
+ integrity sha512-RBPKdK8Uf9/bz9r4vy7x6sGqf0MioSXt1po1lAwwcl3AwbjHVTc5S0yud4ZJKU1EhvJFVDrFoqIpHwWERwZJEA==
tapable@^2.1.1, tapable@^2.2.0:
version "2.2.1"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0"
integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==
-terser-webpack-plugin@^5.1.3:
- version "5.3.7"
- resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.7.tgz#ef760632d24991760f339fe9290deb936ad1ffc7"
- integrity sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==
+terser-webpack-plugin@^5.3.7:
+ version "5.3.9"
+ resolved "https://registry.yarnpkg.com/terser-webpack-plugin/-/terser-webpack-plugin-5.3.9.tgz#832536999c51b46d468067f9e37662a3b96adfe1"
+ integrity sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==
dependencies:
"@jridgewell/trace-mapping" "^0.3.17"
jest-worker "^27.4.5"
schema-utils "^3.1.1"
serialize-javascript "^6.0.1"
- terser "^5.16.5"
+ terser "^5.16.8"
-terser@^5.16.5:
- version "5.16.9"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.16.9.tgz#7a28cb178e330c484369886f2afd623d9847495f"
- integrity sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==
+terser@^5.16.8:
+ version "5.17.6"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.17.6.tgz#d810e75e1bb3350c799cd90ebefe19c9412c12de"
+ integrity sha512-V8QHcs8YuyLkLHsJO5ucyff1ykrLVsR4dNnS//L5Y3NiSXpbK1J+WMVUs67eI0KTxs9JtHhgEQpXQVHlHI92DQ==
dependencies:
"@jridgewell/source-map" "^0.3.2"
acorn "^8.5.0"
@@ -3774,10 +3841,10 @@ timeago.js@^4.0.2:
resolved "https://registry.yarnpkg.com/timeago.js/-/timeago.js-4.0.2.tgz#724e8c8833e3490676c7bb0a75f5daf20e558028"
integrity sha512-a7wPxPdVlQL7lqvitHGGRsofhdwtkoSXPGATFuSOA2i1ZNQEPLrGnj68vOp2sOJTCFAQVXPeNMX/GctBaO9L2w==
-tinymce@^5.10.0:
- version "5.10.7"
- resolved "https://registry.yarnpkg.com/tinymce/-/tinymce-5.10.7.tgz#d89d446f1962f2a1df6b2b70018ce475ec7ffb80"
- integrity sha512-9UUjaO0R7FxcFo0oxnd1lMs7H+D0Eh+dDVo5hKbVe1a+VB0nit97vOqlinj+YwgoBDt6/DSCUoWqAYlLI8BLYA==
+tinymce@^6.4.1:
+ version "6.4.2"
+ resolved "https://registry.yarnpkg.com/tinymce/-/tinymce-6.4.2.tgz#dd0a6d1d229ba6d1bf11cc88e418eb29315f6080"
+ integrity sha512-te+4c8PoAwTKPMBQtMQehnSZlOO9Ay5tDgaRFJKBehYb6SlX2PYZ0v3oe/cmiv5EfqdwZLkEMXk2MNOeApZZLg==
tmp@^0.2.1:
version "0.2.1"
@@ -3891,9 +3958,9 @@ unpipe@1.0.0, unpipe@~1.0.0:
integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
update-browserslist-db@^1.0.10:
- version "1.0.10"
- resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3"
- integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==
+ version "1.0.11"
+ resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz#9a2a641ad2907ae7b3616506f4b977851db5b940"
+ integrity sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==
dependencies:
escalade "^3.1.1"
picocolors "^1.0.0"
@@ -3929,16 +3996,16 @@ watchpack@^2.4.0:
graceful-fs "^4.1.2"
webpack-cli@^5.0.1:
- version "5.0.1"
- resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.0.1.tgz#95fc0495ac4065e9423a722dec9175560b6f2d9a"
- integrity sha512-S3KVAyfwUqr0Mo/ur3NzIp6jnerNpo7GUO6so51mxLi1spqsA17YcMXy0WOIJtBSnj748lthxC6XLbNKh/ZC+A==
+ version "5.1.1"
+ resolved "https://registry.yarnpkg.com/webpack-cli/-/webpack-cli-5.1.1.tgz#c211ac6d911e77c512978f7132f0d735d4a97ace"
+ integrity sha512-OLJwVMoXnXYH2ncNGU8gxVpUtm3ybvdioiTvHgUyBuyMLKiVvWy+QObzBsMtp5pH7qQoEuWgeEUQ/sU3ZJFzAw==
dependencies:
"@discoveryjs/json-ext" "^0.5.0"
- "@webpack-cli/configtest" "^2.0.1"
+ "@webpack-cli/configtest" "^2.1.0"
"@webpack-cli/info" "^2.0.1"
- "@webpack-cli/serve" "^2.0.1"
+ "@webpack-cli/serve" "^2.0.4"
colorette "^2.0.14"
- commander "^9.4.1"
+ commander "^10.0.1"
cross-spawn "^7.0.3"
envinfo "^7.7.3"
fastest-levenshtein "^1.0.12"
@@ -3955,9 +4022,9 @@ webpack-merge@^4.1.5:
lodash "^4.17.15"
webpack-merge@^5.7.3:
- version "5.8.0"
- resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.8.0.tgz#2b39dbf22af87776ad744c390223731d30a68f61"
- integrity sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==
+ version "5.9.0"
+ resolved "https://registry.yarnpkg.com/webpack-merge/-/webpack-merge-5.9.0.tgz#dc160a1c4cf512ceca515cc231669e9ddb133826"
+ integrity sha512-6NbRQw4+Sy50vYNTw7EyOn41OZItPiXB8GNv3INSoe3PSFaHJEz3SHTrYVaRm2LilNGnFUzh0FAwqPEmU/CwDg==
dependencies:
clone-deep "^4.0.1"
wildcard "^2.0.0"
@@ -3968,21 +4035,21 @@ webpack-sources@^3.2.3:
integrity sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==
webpack@^5.75.0:
- version "5.78.0"
- resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.78.0.tgz#836452a12416af2a7beae906b31644cb2562f9e6"
- integrity sha512-gT5DP72KInmE/3azEaQrISjTvLYlSM0j1Ezhht/KLVkrqtv10JoP/RXhwmX/frrutOPuSq3o5Vq0ehR/4Vmd1g==
+ version "5.84.0"
+ resolved "https://registry.yarnpkg.com/webpack/-/webpack-5.84.0.tgz#011115617668744aece87a9eb68534487d84de1a"
+ integrity sha512-XezNK3kwJq6IyeoZmZ1uEqQs+42nTqIi4jYM/YjLwaJedUC1N3bwnCC0+UcnHJPfqWX0kGrQnMIvZZyWYaIZrA==
dependencies:
"@types/eslint-scope" "^3.7.3"
- "@types/estree" "^0.0.51"
- "@webassemblyjs/ast" "1.11.1"
- "@webassemblyjs/wasm-edit" "1.11.1"
- "@webassemblyjs/wasm-parser" "1.11.1"
+ "@types/estree" "^1.0.0"
+ "@webassemblyjs/ast" "^1.11.5"
+ "@webassemblyjs/wasm-edit" "^1.11.5"
+ "@webassemblyjs/wasm-parser" "^1.11.5"
acorn "^8.7.1"
- acorn-import-assertions "^1.7.6"
+ acorn-import-assertions "^1.9.0"
browserslist "^4.14.5"
chrome-trace-event "^1.0.2"
- enhanced-resolve "^5.10.0"
- es-module-lexer "^0.9.0"
+ enhanced-resolve "^5.14.1"
+ es-module-lexer "^1.2.1"
eslint-scope "5.1.1"
events "^3.2.0"
glob-to-regexp "^0.4.1"
@@ -3991,9 +4058,9 @@ webpack@^5.75.0:
loader-runner "^4.2.0"
mime-types "^2.1.27"
neo-async "^2.6.2"
- schema-utils "^3.1.0"
+ schema-utils "^3.1.2"
tapable "^2.1.1"
- terser-webpack-plugin "^5.1.3"
+ terser-webpack-plugin "^5.3.7"
watchpack "^2.4.0"
webpack-sources "^3.2.3"
@@ -4035,9 +4102,9 @@ which@^2.0.1:
isexe "^2.0.0"
wildcard@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.0.tgz#a77d20e5200c6faaac979e4b3aadc7b3dd7f8fec"
- integrity sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/wildcard/-/wildcard-2.0.1.tgz#5ab10d02487198954836b6349f74fff961e10f67"
+ integrity sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==
word-wrap@^1.2.3:
version "1.2.3"