Compare commits

..

1 commit

Author SHA1 Message Date
Jean-Marc GAILIS
f270f1cdd0 Modifications DGNum
ajout des NDD usuels ENS et DGNum pour autoriser les changements d'adresse mail

correction des svg des logos DGNum et DN

remplacement Marianne - pour l'instant à l'arrache uniquement, logo sera repris et affiné plus tard

modifs Mariannes

commenter quelques bouts de code inutiles dans l'usage DGNum de DS

Update logo-ds.svg and delete commented lines

correction logo DN pour pages d'erreur

normalianisation de DN, texte

modifs sur le fichier en anglais

modifs diverses vers version DN

Use our logo in the header

Add the logo-wide under a new name

feat: Update footer

feat: Remove mentions of faq.demarches-simplifiees.fr

feat: Replace documentation link

feat: Add analytics

feat: Remove France Services logo on procedure footer
2024-04-20 10:58:42 +02:00
3442 changed files with 31993 additions and 61316 deletions

52
.eslintrc.js Normal file
View file

@ -0,0 +1,52 @@
module.exports = {
root: true,
parser: '@typescript-eslint/parser',
globals: {
process: true,
gon: true
},
plugins: ['prettier', 'react-hooks'],
extends: [
'eslint:recommended',
'prettier',
'plugin:react/recommended',
'plugin:react-hooks/recommended'
],
env: {
es6: true,
browser: true
},
rules: {
'prettier/prettier': 'error',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'error',
'react/prop-types': 'off',
'react/no-deprecated': 'off'
},
settings: {
react: { version: 'detect' }
},
overrides: [
{
files: ['.eslintrc.js', 'vite.config.ts', 'postcss.config.js'],
env: { node: true }
},
{
files: ['**/*.ts', '**/*.tsx'],
plugins: ['@typescript-eslint'],
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:react-hooks/recommended',
'prettier'
],
rules: {
'prettier/prettier': 'error',
'react-hooks/rules-of-hooks': 'error',
'react-hooks/exhaustive-deps': 'error',
'@typescript-eslint/no-explicit-any': 'error',
'@typescript-eslint/no-unused-vars': 'error'
}
}
]
};

1
.gitattributes vendored
View file

@ -1 +0,0 @@
*.lockb binary diff=lockb

View file

@ -10,7 +10,7 @@ on:
jobs: jobs:
linters: linters:
name: Linters name: Linters
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
services: services:
postgres: postgres:
image: postgis/postgis:14-3.3 image: postgis/postgis:14-3.3
@ -33,7 +33,7 @@ jobs:
js_tests: js_tests:
name: JavaScript tests name: JavaScript tests
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
@ -51,15 +51,9 @@ jobs:
run: | run: |
bun run test bun run test
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
unit_tests: unit_tests:
name: Unit tests name: Unit tests
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
timeout-minutes: 20
env: env:
RUBY_YJIT_ENABLE: "1" RUBY_YJIT_ENABLE: "1"
services: services:
@ -81,8 +75,7 @@ jobs:
- name: Install build dependancies - name: Install build dependancies
# - fonts pickable by ImageMagick # - fonts pickable by ImageMagick
# - rust for YJIT support # - rust for YJIT support
# - poppler-utils for pdf previews run: sudo apt-get update && sudo apt-get install -y gsfonts rustc redis-server
run: sudo apt-get update && sudo apt-get install -y gsfonts rustc redis-server poppler-utils
- name: Setup the app runtime and dependencies - name: Setup the app runtime and dependencies
uses: ./.github/actions/ci-setup-rails uses: ./.github/actions/ci-setup-rails
@ -107,15 +100,9 @@ jobs:
name: rspec-results-${{ github.job }}-${{ strategy.job-index }} name: rspec-results-${{ github.job }}-${{ strategy.job-index }}
path: tmp/rspec_${{ github.job }}_${{ strategy.job-index }}.junit.xml path: tmp/rspec_${{ github.job }}_${{ strategy.job-index }}.junit.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
system_tests: system_tests:
name: System tests name: System tests
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
timeout-minutes: 20
env: env:
RUBY_YJIT_ENABLE: "1" RUBY_YJIT_ENABLE: "1"
services: services:
@ -137,9 +124,6 @@ jobs:
- name: Setup the app runtime and dependencies - name: Setup the app runtime and dependencies
uses: ./.github/actions/ci-setup-rails uses: ./.github/actions/ci-setup-rails
- name: Setup playwright
run: bunx playwright install chromium
- name: Pre-compile assets - name: Pre-compile assets
uses: ./.github/actions/ci-setup-assets uses: ./.github/actions/ci-setup-assets
@ -160,15 +144,10 @@ jobs:
name: rspec-results-${{ github.job }}-${{ strategy.job-index }} name: rspec-results-${{ github.job }}-${{ strategy.job-index }}
path: tmp/rspec_${{ github.job }}_${{ strategy.job-index }}.junit.xml path: tmp/rspec_${{ github.job }}_${{ strategy.job-index }}.junit.xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
save_test_reports: save_test_reports:
name: Save test reports name: Save test reports
needs: [unit_tests, system_tests] needs: [unit_tests, system_tests]
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4

6
.gitignore vendored
View file

@ -18,23 +18,17 @@ public/downloads
doc/*.svg doc/*.svg
uploads/* uploads/*
.byebug_history .byebug_history
.DS_Store
*.swp
.envrc
.env .env
.tool-versions
storage/ storage/
/node_modules /node_modules
/yarn-error.log /yarn-error.log
yarn-debug.log* yarn-debug.log*
.yarn-integrity .yarn-integrity
/.vscode /.vscode
/.zed
/.idea /.idea
/public/assets /public/assets
/spec/support/spec_config.local.rb /spec/support/spec_config.local.rb
/config/initializers/config.local.rb /config/initializers/config.local.rb
/coverage
# Local Netlify folder # Local Netlify folder
.netlify .netlify

4
.prettierrc.js Normal file
View file

@ -0,0 +1,4 @@
module.exports = {
singleQuote: true,
trailingComma: 'none'
};

View file

@ -11,7 +11,7 @@ inherit_mode:
- Include - Include
AllCops: AllCops:
TargetRubyVersion: 3.3 TargetRubyVersion: 3.2
DisabledByDefault: true DisabledByDefault: true
SuggestExtensions: false SuggestExtensions: false
NewCops: enable NewCops: enable
@ -23,8 +23,6 @@ AllCops:
- "bin/*" - "bin/*"
- "node_modules/**/*" - "node_modules/**/*"
- "vendor/**/*" - "vendor/**/*"
- "storage/**/*"
- "tmp/**/*"
DS/AddConcurrentIndex: DS/AddConcurrentIndex:
Enabled: true Enabled: true
@ -1177,7 +1175,7 @@ Style/FormatStringToken:
EnforcedStyle: template EnforcedStyle: template
Style/FrozenStringLiteralComment: Style/FrozenStringLiteralComment:
Enabled: true Enabled: false
Style/GlobalVars: Style/GlobalVars:
Enabled: true Enabled: true
@ -1497,7 +1495,8 @@ Style/WhileUntilModifier:
Enabled: false Enabled: false
Style/WordArray: Style/WordArray:
Enabled: false Enabled: true
EnforcedStyle: brackets
Style/YodaCondition: Style/YodaCondition:
Enabled: true Enabled: true

View file

@ -1 +1 @@
3.3.2 3.3.0

264
.scss-lint.yml Normal file
View file

@ -0,0 +1,264 @@
exclude:
- 'app/assets/stylesheets/reset.scss'
- 'app/assets/stylesheets/direct_uploads.scss'
- 'app/assets/stylesheets/dsfr_override.scss'
- 'app/assets/stylesheets/manager.scss'
linters:
BangFormat:
enabled: true
space_before_bang: true
space_after_bang: false
BemDepth:
enabled: false
max_elements: 1
BorderZero:
enabled: true
convention: none
# To enable later
ChainedClasses:
enabled: false
ColorKeyword:
enabled: true
# To enable later
ColorVariable:
enabled: false
Comment:
enabled: true
style: silent
DebugStatement:
enabled: true
DeclarationOrder:
enabled: true
DisableLinterReason:
enabled: false
DuplicateProperty:
enabled: true
ElsePlacement:
enabled: true
style: same_line
EmptyLineBetweenBlocks:
enabled: true
ignore_single_line_blocks: false
EmptyRule:
enabled: true
ExtendDirective:
enabled: false
FinalNewline:
enabled: true
present: true
HexLength:
enabled: true
style: long
HexNotation:
enabled: true
style: uppercase
HexValidation:
enabled: true
# To enable later
IdSelector:
enabled: false
# To enable later
ImportantRule:
enabled: false
ImportPath:
enabled: false
leading_underscore: false
filename_extension: false
Indentation:
enabled: true
allow_non_nested_indentation: false
character: space
width: 2
LeadingZero:
enabled: true
style: include_zero
MergeableSelector:
enabled: false
force_nesting: true
NameFormat:
enabled: true
allow_leading_underscore: false
convention: hyphenated_lowercase
# To enable later
NestingDepth:
enabled: false
max_depth: 3
ignore_parent_selectors: false
# To enable later
PlaceholderInExtend:
enabled: false
PrivateNamingConvention:
enabled: false
prefix: _
PropertyCount:
enabled: false
include_nested: false
max_properties: 10
PropertySortOrder:
enabled: false
ignore_unspecified: false
min_properties: 2
separate_groups: false
PropertySpelling:
enabled: true
extra_properties:
- scroll-padding
disabled_properties: []
# To enable later
PropertyUnits:
enabled: false
global: [
'ch', 'em', 'ex', 'rem', # Font-relative lengths
'cm', 'in', 'mm', 'pc', 'pt', 'px', 'q', # Absolute lengths
'vh', 'vw', 'vmin', 'vmax', # Viewport-percentage lengths
'deg', 'grad', 'rad', 'turn', # Angle
'ms', 's', # Duration
'Hz', 'kHz', # Frequency
'dpi', 'dpcm', 'dppx', # Resolution
'%'] # Other
properties: {}
PseudoElement:
enabled: false # otherwise rules on ::marker fails
# To enable later
QualifyingElement:
enabled: false
allow_element_with_attribute: false
allow_element_with_class: false
allow_element_with_id: false
# To enable later
SelectorDepth:
enabled: false
max_depth: 3
SelectorFormat:
enabled: true
# hyphenated_lowercase + any dsfr selector which are not hyphenated
convention: ^(?:fr-[^A-Z]+|[^_A-Z]+)$
Shorthand:
enabled: false
allowed_shorthands: [1, 2, 3, 4]
SingleLinePerProperty:
enabled: true
allow_single_line_rule_sets: false
SingleLinePerSelector:
enabled: true
SpaceAfterComma:
enabled: true
style: one_space
SpaceAfterComment:
enabled: true
style: one_space
allow_empty_comments: true
SpaceAfterPropertyColon:
enabled: true
style: one_space
SpaceAfterPropertyName:
enabled: true
SpaceAfterVariableColon:
enabled: true
style: one_space
SpaceAfterVariableName:
enabled: true
SpaceAroundOperator:
enabled: true
style: one_space
SpaceBeforeBrace:
enabled: true
style: space
allow_single_line_padding: false
SpaceBetweenParens:
enabled: true
spaces: 0
StringQuotes:
enabled: true
style: double_quotes
TrailingSemicolon:
enabled: true
TrailingWhitespace:
enabled: true
TrailingZero:
enabled: true
# To enable later
TransitionAll:
enabled: false
UnnecessaryMantissa:
enabled: true
UnnecessaryParentReference:
enabled: true
UrlFormat:
enabled: true
UrlQuotes:
enabled: true
VariableForProperty:
enabled: false
properties: []
VendorPrefix:
enabled: true
identifier_list: base
additional_identifiers: []
excluded_identifiers: []
ZeroUnit:
enabled: false
Compass::*:
enabled: false

View file

@ -1,30 +0,0 @@
# frozen_string_literal: true
SimpleCov.start "rails" do
enable_coverage :branch
command_name "RSpec process #{Process.pid}"
if ENV["CI"] # codecov compatibility
require 'simplecov-cobertura'
formatter SimpleCov::Formatter::CoberturaFormatter
else
formatter SimpleCov::Formatter::MultiFormatter.new([
SimpleCov::Formatter::SimpleFormatter,
SimpleCov::Formatter::HTMLFormatter
])
end
add_filter "/channels/" # not used
groups.delete("Channels")
add_filter "/lib/tasks/deployment/"
add_group "Components", "app/components"
add_group "API", ["app/graphql", "app/serializers"]
add_group "Manager", ["app/dashboards", "app/fields", "app/controllers/manager"]
add_group "Models", ["app/models", "app/validators"]
add_group "Policies", "app/policies"
add_group "Services", "app/services"
add_group "Tasks", ["app/tasks", "lib/tasks"]
end

13
Gemfile
View file

@ -1,5 +1,3 @@
# frozen_string_literal: true
source 'https://rubygems.org' source 'https://rubygems.org'
gem 'rails', '~> 7.0.8' # allows update to security fixes at any time gem 'rails', '~> 7.0.8' # allows update to security fixes at any time
@ -19,7 +17,6 @@ gem 'anchored'
gem 'bcrypt' gem 'bcrypt'
gem 'bootsnap', '>= 1.4.4', require: false # Reduces boot times through caching; required in config/boot.rb gem 'bootsnap', '>= 1.4.4', require: false # Reduces boot times through caching; required in config/boot.rb
gem 'browser' gem 'browser'
gem 'capybara-playwright-driver'
gem 'charlock_holmes' gem 'charlock_holmes'
gem 'chartkick' gem 'chartkick'
gem 'chunky_png' gem 'chunky_png'
@ -29,7 +26,7 @@ gem 'deep_cloneable' # Enable deep clone of active record models
gem 'delayed_cron_job', require: false # Cron jobs gem 'delayed_cron_job', require: false # Cron jobs
gem 'delayed_job_active_record' gem 'delayed_job_active_record'
gem 'delayed_job_web' gem 'delayed_job_web'
gem 'devise' gem 'devise', git: 'https://github.com/heartcombo/devise.git', ref: "edffc79bf05d7f1c58ba50ffeda645e2e4ae0cb1" # Gestion des comptes utilisateurs, drop ref on next release: 4.9.4
gem 'devise-i18n' gem 'devise-i18n'
gem 'devise-two-factor' gem 'devise-two-factor'
gem 'discard' gem 'discard'
@ -40,7 +37,6 @@ gem 'flipper'
gem 'flipper-active_record' gem 'flipper-active_record'
gem 'flipper-active_support_cache_store' gem 'flipper-active_support_cache_store'
gem 'flipper-ui' gem 'flipper-ui'
gem 'front_matter_parser'
gem 'fugit' gem 'fugit'
gem 'geocoder' gem 'geocoder'
gem 'geo_coord', require: "geo/coord" gem 'geo_coord', require: "geo/coord"
@ -98,7 +94,6 @@ gem 'sidekiq'
gem 'sidekiq-cron' gem 'sidekiq-cron'
gem 'skylight' gem 'skylight'
gem 'spreadsheet_architect' gem 'spreadsheet_architect'
gem 'string-similarity'
gem 'strong_migrations' # lint database migrations gem 'strong_migrations' # lint database migrations
gem 'sys-proctable' gem 'sys-proctable'
gem 'turbo-rails' gem 'turbo-rails'
@ -111,7 +106,7 @@ gem 'webrick', require: false
gem 'yabeda-prometheus' gem 'yabeda-prometheus'
gem 'yabeda-sidekiq' gem 'yabeda-sidekiq'
gem 'zipline' gem 'zipline'
gem 'zxcvbn' gem 'zxcvbn-ruby', require: 'zxcvbn'
group :test do group :test do
gem 'axe-core-rspec' # accessibility rspec matchers gem 'axe-core-rspec' # accessibility rspec matchers
@ -127,9 +122,6 @@ group :test do
gem 'selenium-devtools' gem 'selenium-devtools'
gem 'selenium-webdriver' gem 'selenium-webdriver'
gem 'shoulda-matchers', require: false gem 'shoulda-matchers', require: false
gem 'simplecov', require: false
gem 'simplecov-cobertura', require: false
gem "test-prof"
gem 'timecop' gem 'timecop'
gem 'vcr' gem 'vcr'
gem 'webmock' gem 'webmock'
@ -147,6 +139,7 @@ group :development do
gem 'rubocop-performance', require: false gem 'rubocop-performance', require: false
gem 'rubocop-rails', require: false gem 'rubocop-rails', require: false
gem 'rubocop-rspec', require: false gem 'rubocop-rspec', require: false
gem 'scss_lint', require: false
gem 'stackprof' gem 'stackprof'
gem 'web-console' gem 'web-console'
end end

View file

@ -6,53 +6,65 @@ GIT
json (>= 2.5) json (>= 2.5)
sidekiq (~> 7.0) sidekiq (~> 7.0)
GIT
remote: https://github.com/heartcombo/devise.git
revision: edffc79bf05d7f1c58ba50ffeda645e2e4ae0cb1
ref: edffc79bf05d7f1c58ba50ffeda645e2e4ae0cb1
specs:
devise (4.9.3)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
aasm (5.5.0) aasm (5.5.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
acsv (0.0.1) acsv (0.0.1)
actioncable (7.0.8.7) actioncable (7.0.8.1)
actionpack (= 7.0.8.7) actionpack (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
nio4r (~> 2.0) nio4r (~> 2.0)
websocket-driver (>= 0.6.1) websocket-driver (>= 0.6.1)
actionmailbox (7.0.8.7) actionmailbox (7.0.8.1)
actionpack (= 7.0.8.7) actionpack (= 7.0.8.1)
activejob (= 7.0.8.7) activejob (= 7.0.8.1)
activerecord (= 7.0.8.7) activerecord (= 7.0.8.1)
activestorage (= 7.0.8.7) activestorage (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
mail (>= 2.7.1) mail (>= 2.7.1)
net-imap net-imap
net-pop net-pop
net-smtp net-smtp
actionmailer (7.0.8.7) actionmailer (7.0.8.1)
actionpack (= 7.0.8.7) actionpack (= 7.0.8.1)
actionview (= 7.0.8.7) actionview (= 7.0.8.1)
activejob (= 7.0.8.7) activejob (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
mail (~> 2.5, >= 2.5.4) mail (~> 2.5, >= 2.5.4)
net-imap net-imap
net-pop net-pop
net-smtp net-smtp
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
actionpack (7.0.8.7) actionpack (7.0.8.1)
actionview (= 7.0.8.7) actionview (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
rack (~> 2.0, >= 2.2.4) rack (~> 2.0, >= 2.2.4)
rack-test (>= 0.6.3) rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0)
actiontext (7.0.8.7) actiontext (7.0.8.1)
actionpack (= 7.0.8.7) actionpack (= 7.0.8.1)
activerecord (= 7.0.8.7) activerecord (= 7.0.8.1)
activestorage (= 7.0.8.7) activestorage (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
globalid (>= 0.6.0) globalid (>= 0.6.0)
nokogiri (>= 1.8.5) nokogiri (>= 1.8.5)
actionview (7.0.8.7) actionview (7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
builder (~> 3.1) builder (~> 3.1)
erubi (~> 1.4) erubi (~> 1.4)
rails-dom-testing (~> 2.0) rails-dom-testing (~> 2.0)
@ -67,26 +79,26 @@ GEM
activemodel (>= 5.2.0) activemodel (>= 5.2.0)
activestorage (>= 5.2.0) activestorage (>= 5.2.0)
activesupport (>= 5.2.0) activesupport (>= 5.2.0)
activejob (7.0.8.7) activejob (7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
globalid (>= 0.3.6) globalid (>= 0.3.6)
activemodel (7.0.8.7) activemodel (7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
activerecord (7.0.8.7) activerecord (7.0.8.1)
activemodel (= 7.0.8.7) activemodel (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
activestorage (7.0.8.7) activestorage (7.0.8.1)
actionpack (= 7.0.8.7) actionpack (= 7.0.8.1)
activejob (= 7.0.8.7) activejob (= 7.0.8.1)
activerecord (= 7.0.8.7) activerecord (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
marcel (~> 1.0) marcel (~> 1.0)
mini_mime (>= 1.1.0) mini_mime (>= 1.1.0)
activestorage-openstack (1.6.0) activestorage-openstack (1.6.0)
fog-openstack (>= 1.0.9) fog-openstack (>= 1.0.9)
marcel marcel
rails (>= 5.2.2) rails (>= 5.2.2)
activesupport (7.0.8.7) activesupport (7.0.8.1)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 1.6, < 2) i18n (>= 1.6, < 2)
minitest (>= 5.1) minitest (>= 5.1)
@ -136,7 +148,7 @@ GEM
erubi (~> 1.4) erubi (~> 1.4)
parser (>= 2.4) parser (>= 2.4)
smart_properties smart_properties
bigdecimal (3.1.7) bigdecimal (3.1.6)
bindata (2.5.0) bindata (2.5.0)
bindex (0.8.1) bindex (0.8.1)
bootsnap (1.18.3) bootsnap (1.18.3)
@ -144,7 +156,7 @@ GEM
brakeman (6.1.2) brakeman (6.1.2)
racc racc
browser (5.3.1) browser (5.3.1)
builder (3.3.0) builder (3.2.4)
capybara (3.40.0) capybara (3.40.0)
addressable addressable
matrix matrix
@ -157,10 +169,6 @@ GEM
capybara-email (3.0.2) capybara-email (3.0.2)
capybara (>= 2.4, < 4.0) capybara (>= 2.4, < 4.0)
mail mail
capybara-playwright-driver (0.5.2)
addressable
capybara
playwright-ruby-client (>= 1.16.0)
capybara-screenshot (1.0.26) capybara-screenshot (1.0.26)
capybara (>= 1.0, < 4) capybara (>= 1.0, < 4)
launchy launchy
@ -171,14 +179,14 @@ GEM
marcel (~> 1.0) marcel (~> 1.0)
nokogiri (~> 1.10, >= 1.10.4) nokogiri (~> 1.10, >= 1.10.4)
rubyzip (>= 1.3.0, < 3) rubyzip (>= 1.3.0, < 3)
charlock_holmes (0.7.9) charlock_holmes (0.7.7)
chartkick (5.0.6) chartkick (5.0.5)
choice (0.2.0) choice (0.2.0)
chunky_png (1.4.0) chunky_png (1.4.0)
clamav-client (3.2.0) clamav-client (3.2.0)
coercible (1.0.0) coercible (1.0.0)
descendants_tracker (~> 0.0.1) descendants_tracker (~> 0.0.1)
concurrent-ruby (1.3.4) concurrent-ruby (1.2.3)
connection_pool (2.4.1) connection_pool (2.4.1)
content_disposition (1.0.0) content_disposition (1.0.0)
crack (1.0.0) crack (1.0.0)
@ -187,7 +195,6 @@ GEM
crass (1.0.6) crass (1.0.6)
css_parser (1.16.0) css_parser (1.16.0)
addressable addressable
csv (3.3.0)
daemons (1.4.1) daemons (1.4.1)
date (3.3.4) date (3.3.4)
deep_cloneable (3.2.0) deep_cloneable (3.2.0)
@ -206,15 +213,9 @@ GEM
sinatra (>= 1.4.4) sinatra (>= 1.4.4)
descendants_tracker (0.0.4) descendants_tracker (0.0.4)
thread_safe (~> 0.3, >= 0.3.1) thread_safe (~> 0.3, >= 0.3.1)
devise (4.9.4)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0)
responders
warden (~> 1.2.3)
devise-i18n (1.12.0) devise-i18n (1.12.0)
devise (>= 4.9.0) devise (>= 4.9.0)
devise-two-factor (6.0.0) devise-two-factor (5.0.0)
activesupport (~> 7.0) activesupport (~> 7.0)
devise (~> 4.0) devise (~> 4.0)
railties (~> 7.0) railties (~> 7.0)
@ -222,7 +223,6 @@ GEM
diff-lcs (1.5.1) diff-lcs (1.5.1)
discard (1.3.0) discard (1.3.0)
activerecord (>= 4.2, < 8) activerecord (>= 4.2, < 8)
docile (1.4.0)
dotenv (2.8.1) dotenv (2.8.1)
dotenv-rails (2.8.1) dotenv-rails (2.8.1)
dotenv (= 2.8.1) dotenv (= 2.8.1)
@ -239,8 +239,8 @@ GEM
dumb_delegator (1.0.0) dumb_delegator (1.0.0)
email_validator (2.2.4) email_validator (2.2.4)
activemodel activemodel
erubi (1.13.0) erubi (1.12.0)
et-orbi (1.2.11) et-orbi (1.2.7)
tzinfo tzinfo
ethon (0.16.0) ethon (0.16.0)
ffi (>= 1.15.0) ffi (>= 1.15.0)
@ -257,20 +257,19 @@ GEM
faraday-net_http (3.1.0) faraday-net_http (3.1.0)
net-http net-http
ffi (1.16.3) ffi (1.16.3)
flipper (1.3.0) flipper (1.2.2)
concurrent-ruby (< 2) concurrent-ruby (< 2)
flipper-active_record (1.3.0) flipper-active_record (1.2.2)
activerecord (>= 4.2, < 8) activerecord (>= 4.2, < 8)
flipper (~> 1.3.0) flipper (~> 1.2.2)
flipper-active_support_cache_store (1.3.0) flipper-active_support_cache_store (1.2.2)
activesupport (>= 4.2, < 8) activesupport (>= 4.2, < 8)
flipper (~> 1.3.0) flipper (~> 1.2.2)
flipper-ui (1.3.0) flipper-ui (1.2.2)
erubi (>= 1.0.0, < 2.0.0) erubi (>= 1.0.0, < 2.0.0)
flipper (~> 1.3.0) flipper (~> 1.2.2)
rack (>= 1.4, < 4) rack (>= 1.4, < 4)
rack-protection (>= 1.5.3, < 5.0.0) rack-protection (>= 1.5.3, <= 4.0.0)
rack-session (>= 1.0.2, < 3.0.0)
sanitize (< 7) sanitize (< 7)
fog-core (2.4.0) fog-core (2.4.0)
builder builder
@ -284,9 +283,8 @@ GEM
fog-core (~> 2.1) fog-core (~> 2.1)
fog-json (>= 1.0) fog-json (>= 1.0)
formatador (1.1.0) formatador (1.1.0)
front_matter_parser (1.0.1) fugit (1.9.0)
fugit (1.11.1) et-orbi (~> 1, >= 1.2.7)
et-orbi (~> 1, >= 1.2.11)
raabro (~> 1.4) raabro (~> 1.4)
geo_coord (0.2.0) geo_coord (0.2.0)
geocoder (1.8.2) geocoder (1.8.2)
@ -335,7 +333,7 @@ GEM
highline (3.0.1) highline (3.0.1)
htmlentities (4.3.4) htmlentities (4.3.4)
http_accept_language (2.1.1) http_accept_language (2.1.1)
i18n (1.14.6) i18n (1.14.4)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
i18n-tasks (1.0.13) i18n-tasks (1.0.13)
activesupport (>= 4.0.2) activesupport (>= 4.0.2)
@ -357,16 +355,16 @@ GEM
invisible_captcha (2.2.0) invisible_captcha (2.2.0)
rails (>= 5.2) rails (>= 5.2)
io-console (0.7.2) io-console (0.7.2)
irb (1.12.0) irb (1.11.2)
rdoc rdoc
reline (>= 0.4.2) reline (>= 0.4.2)
job-iteration (1.7.0) job-iteration (1.4.1)
activejob (>= 5.2) activejob (>= 5.2)
jquery-rails (4.6.0) jquery-rails (4.6.0)
rails-dom-testing (>= 1, < 3) rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0) railties (>= 4.2.0)
thor (>= 0.14, < 2.0) thor (>= 0.14, < 2.0)
json (2.8.2) json (2.7.1)
json-jwt (1.16.6) json-jwt (1.16.6)
activesupport (>= 4.2) activesupport (>= 4.2)
aes_key_wrap aes_key_wrap
@ -374,15 +372,12 @@ GEM
bindata bindata
faraday (~> 2.0) faraday (~> 2.0)
faraday-follow_redirects faraday-follow_redirects
json_schemer (2.2.1) json_schemer (2.1.1)
base64
bigdecimal
hana (~> 1.3) hana (~> 1.3)
regexp_parser (~> 2.0) regexp_parser (~> 2.0)
simpleidn (~> 0.2) simpleidn (~> 0.2)
jsonapi-renderer (0.2.2) jsonapi-renderer (0.2.2)
jwt (2.8.1) jwt (2.7.1)
base64
kaminari (1.2.2) kaminari (1.2.2)
activesupport (>= 4.1.0) activesupport (>= 4.1.0)
kaminari-actionview (= 1.2.2) kaminari-actionview (= 1.2.2)
@ -409,17 +404,16 @@ GEM
letter_opener (~> 1.7) letter_opener (~> 1.7)
railties (>= 5.2) railties (>= 5.2)
rexml rexml
listen (3.9.0) listen (3.8.0)
rb-fsevent (~> 0.10, >= 0.10.3) rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10) rb-inotify (~> 0.9, >= 0.9.10)
logger (1.6.0)
lograge (0.14.0) lograge (0.14.0)
actionpack (>= 4) actionpack (>= 4)
activesupport (>= 4) activesupport (>= 4)
railties (>= 4) railties (>= 4)
request_store (~> 1.0) request_store (~> 1.0)
logstash-event (1.2.02) logstash-event (1.2.02)
loofah (2.23.1) loofah (2.22.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.12.0) nokogiri (>= 1.12.0)
mail (2.8.1) mail (2.8.1)
@ -427,18 +421,17 @@ GEM
net-imap net-imap
net-pop net-pop
net-smtp net-smtp
maintenance_tasks (2.10.0) maintenance_tasks (2.6.0)
actionpack (>= 6.1) actionpack (>= 6.0)
activejob (>= 6.1) activejob (>= 6.0)
activerecord (>= 6.1) activerecord (>= 6.0)
csv
job-iteration (>= 1.3.6) job-iteration (>= 1.3.6)
railties (>= 6.1) railties (>= 6.0)
zeitwerk (>= 2.6.2) zeitwerk (>= 2.6.2)
marcel (1.0.4) marcel (1.0.2)
matrix (0.4.2) matrix (0.4.2)
memory_profiler (1.0.1) memory_profiler (1.0.1)
method_source (1.1.0) method_source (1.0.0)
mime-types (3.5.2) mime-types (3.5.2)
mime-types-data (~> 3.2015) mime-types-data (~> 3.2015)
mime-types-data (3.2024.0206) mime-types-data (3.2024.0206)
@ -446,25 +439,25 @@ GEM
rake rake
mini_magick (4.12.0) mini_magick (4.12.0)
mini_mime (1.1.5) mini_mime (1.1.5)
mini_portile2 (2.8.8) mini_portile2 (2.8.5)
minitest (5.25.4) minitest (5.22.2)
msgpack (1.7.2) msgpack (1.7.2)
multi_json (1.15.0) multi_json (1.15.0)
mustermann (3.0.0) mustermann (3.0.0)
ruby2_keywords (~> 0.0.1) ruby2_keywords (~> 0.0.1)
net-http (0.4.1) net-http (0.4.1)
uri uri
net-imap (0.4.17) net-imap (0.4.10)
date date
net-protocol net-protocol
net-pop (0.1.2) net-pop (0.1.2)
net-protocol net-protocol
net-protocol (0.2.2) net-protocol (0.2.2)
timeout timeout
net-smtp (0.5.0) net-smtp (0.4.0.1)
net-protocol net-protocol
nio4r (2.7.3) nio4r (2.7.0)
nokogiri (1.17.1) nokogiri (1.16.2)
mini_portile2 (~> 2.8.2) mini_portile2 (~> 2.8.2)
racc (~> 1.4) racc (~> 1.4)
openid_connect (2.3.0) openid_connect (2.3.0)
@ -481,17 +474,14 @@ GEM
validate_url validate_url
webfinger (~> 2.0) webfinger (~> 2.0)
orm_adapter (0.5.0) orm_adapter (0.5.0)
parallel (1.26.3) parallel (1.24.0)
parsby (1.1.1) parsby (1.1.1)
parser (3.3.6.0) parser (3.3.0.5)
ast (~> 2.4.1) ast (~> 2.4.1)
racc racc
pdf-core (0.9.0) pdf-core (0.9.0)
pg (1.5.6) pg (1.5.4)
phonelib (0.8.8) phonelib (0.8.7)
playwright-ruby-client (1.46.0)
concurrent-ruby (>= 1.1.6)
mime-types (>= 3.0)
prawn (2.4.0) prawn (2.4.0)
pdf-core (~> 0.9.0) pdf-core (~> 0.9.0)
ttfunk (~> 1.7) ttfunk (~> 1.7)
@ -511,16 +501,16 @@ GEM
premailer (~> 1.7, >= 1.7.9) premailer (~> 1.7, >= 1.7.9)
prometheus-client (4.2.2) prometheus-client (4.2.2)
promise.rb (0.7.4) promise.rb (0.7.4)
psych (5.2.0) psych (5.1.2)
stringio stringio
public_suffix (5.0.5) public_suffix (5.0.4)
puma (6.4.3) puma (6.4.2)
nio4r (~> 2.0) nio4r (~> 2.0)
pundit (2.3.1) pundit (2.3.1)
activesupport (>= 3.0.0) activesupport (>= 3.0.0)
raabro (1.4.0) raabro (1.4.0)
racc (1.8.1) racc (1.7.3)
rack (2.2.10) rack (2.2.8.1)
rack-attack (6.7.0) rack-attack (6.7.0)
rack (>= 1.0, < 4) rack (>= 1.0, < 4)
rack-mini-profiler (3.3.1) rack-mini-profiler (3.3.1)
@ -537,27 +527,25 @@ GEM
rack (~> 2.2, >= 2.2.4) rack (~> 2.2, >= 2.2.4)
rack-proxy (0.7.7) rack-proxy (0.7.7)
rack rack
rack-session (1.0.2)
rack (< 3)
rack-test (2.1.0) rack-test (2.1.0)
rack (>= 1.3) rack (>= 1.3)
rack_session_access (0.2.0) rack_session_access (0.2.0)
builder (>= 2.0.0) builder (>= 2.0.0)
rack (>= 1.0.0) rack (>= 1.0.0)
rails (7.0.8.7) rails (7.0.8.1)
actioncable (= 7.0.8.7) actioncable (= 7.0.8.1)
actionmailbox (= 7.0.8.7) actionmailbox (= 7.0.8.1)
actionmailer (= 7.0.8.7) actionmailer (= 7.0.8.1)
actionpack (= 7.0.8.7) actionpack (= 7.0.8.1)
actiontext (= 7.0.8.7) actiontext (= 7.0.8.1)
actionview (= 7.0.8.7) actionview (= 7.0.8.1)
activejob (= 7.0.8.7) activejob (= 7.0.8.1)
activemodel (= 7.0.8.7) activemodel (= 7.0.8.1)
activerecord (= 7.0.8.7) activerecord (= 7.0.8.1)
activestorage (= 7.0.8.7) activestorage (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
bundler (>= 1.15.0) bundler (>= 1.15.0)
railties (= 7.0.8.7) railties (= 7.0.8.1)
rails-controller-testing (1.0.5) rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1) actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1)
@ -571,24 +559,24 @@ GEM
activesupport (>= 4.2) activesupport (>= 4.2)
choice (~> 0.2.0) choice (~> 0.2.0)
ruby-graphviz (~> 1.2) ruby-graphviz (~> 1.2)
rails-html-sanitizer (1.6.1) rails-html-sanitizer (1.6.0)
loofah (~> 2.21) loofah (~> 2.21)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0) nokogiri (~> 1.14)
rails-i18n (7.0.9) rails-i18n (7.0.8)
i18n (>= 0.7, < 2) i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8) railties (>= 6.0.0, < 8)
rails-pg-extras (5.3.1) rails-pg-extras (5.3.1)
rails rails
ruby-pg-extras (= 5.3.1) ruby-pg-extras (= 5.3.1)
railties (7.0.8.7) railties (7.0.8.1)
actionpack (= 7.0.8.7) actionpack (= 7.0.8.1)
activesupport (= 7.0.8.7) activesupport (= 7.0.8.1)
method_source method_source
rake (>= 12.2) rake (>= 12.2)
thor (~> 1.0) thor (~> 1.0)
zeitwerk (~> 2.5) zeitwerk (~> 2.5)
rainbow (3.1.1) rainbow (3.1.1)
rake (13.2.1) rake (13.1.0)
rake-progressbar (0.0.5) rake-progressbar (0.0.5)
rb-fsevent (0.11.2) rb-fsevent (0.11.2)
rb-inotify (0.10.1) rb-inotify (0.10.1)
@ -596,19 +584,19 @@ GEM
rdoc (6.6.3.1) rdoc (6.6.3.1)
psych (>= 4.0.0) psych (>= 4.0.0)
redcarpet (3.6.0) redcarpet (3.6.0)
redis (5.2.0) redis (5.1.0)
redis-client (>= 0.22.0) redis-client (>= 0.17.0)
redis-client (0.22.1) redis-client (0.20.0)
connection_pool connection_pool
regexp_parser (2.9.2) regexp_parser (2.9.0)
reline (0.5.3) reline (0.4.2)
io-console (~> 0.5) io-console (~> 0.5)
request_store (1.5.1) request_store (1.5.1)
rack (>= 1.4) rack (>= 1.4)
responders (3.1.1) responders (3.1.1)
actionpack (>= 5.2) actionpack (>= 5.2)
railties (>= 5.2) railties (>= 5.2)
rexml (3.3.9) rexml (3.2.6)
rodf (1.2.0) rodf (1.2.0)
builder (>= 3.0) builder (>= 3.0)
rubyzip (>= 1.0) rubyzip (>= 1.0)
@ -626,50 +614,48 @@ GEM
rspec-mocks (3.13.0) rspec-mocks (3.13.0)
diff-lcs (>= 1.2.0, < 2.0) diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.13.0) rspec-support (~> 3.13.0)
rspec-rails (6.1.2) rspec-rails (6.1.1)
actionpack (>= 6.1) actionpack (>= 6.1)
activesupport (>= 6.1) activesupport (>= 6.1)
railties (>= 6.1) railties (>= 6.1)
rspec-core (~> 3.13) rspec-core (~> 3.12)
rspec-expectations (~> 3.13) rspec-expectations (~> 3.12)
rspec-mocks (~> 3.13) rspec-mocks (~> 3.12)
rspec-support (~> 3.13) rspec-support (~> 3.12)
rspec-retry (0.6.2) rspec-retry (0.6.2)
rspec-core (> 3.3) rspec-core (> 3.3)
rspec-support (3.13.1) rspec-support (3.13.0)
rspec_junit_formatter (0.6.0) rspec_junit_formatter (0.6.0)
rspec-core (>= 2, < 4, != 2.12.0) rspec-core (>= 2, < 4, != 2.12.0)
rubocop (1.69.0) rubocop (1.60.2)
json (~> 2.3) json (~> 2.3)
language_server-protocol (>= 3.17.0) language_server-protocol (>= 3.17.0)
parallel (~> 1.10) parallel (~> 1.10)
parser (>= 3.3.0.2) parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0) rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 2.4, < 3.0) regexp_parser (>= 1.8, < 3.0)
rubocop-ast (>= 1.36.1, < 2.0) rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.30.0, < 2.0)
ruby-progressbar (~> 1.7) ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 4.0) unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.36.1) rubocop-ast (1.30.0)
parser (>= 3.3.1.0) parser (>= 3.2.1.0)
rubocop-capybara (2.20.0) rubocop-capybara (2.20.0)
rubocop (~> 1.41) rubocop (~> 1.41)
rubocop-factory_bot (2.25.1) rubocop-factory_bot (2.25.1)
rubocop (~> 1.41) rubocop (~> 1.41)
rubocop-performance (1.21.0) rubocop-performance (1.20.2)
rubocop (>= 1.48.1, < 2.0) rubocop (>= 1.48.1, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0) rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rails (2.24.1) rubocop-rails (2.23.1)
activesupport (>= 4.2.0) activesupport (>= 4.2.0)
rack (>= 1.1) rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0) rubocop (>= 1.33.0, < 2.0)
rubocop-ast (>= 1.31.1, < 2.0) rubocop-ast (>= 1.30.0, < 2.0)
rubocop-rspec (2.29.1) rubocop-rspec (2.26.1)
rubocop (~> 1.40) rubocop (~> 1.40)
rubocop-capybara (~> 2.17) rubocop-capybara (~> 2.17)
rubocop-factory_bot (~> 2.22) rubocop-factory_bot (~> 2.22)
rubocop-rspec_rails (~> 2.28)
rubocop-rspec_rails (2.28.3)
rubocop (~> 1.40)
ruby-graphviz (1.2.5) ruby-graphviz (1.2.5)
rexml rexml
ruby-next-core (1.0.2) ruby-next-core (1.0.2)
@ -687,9 +673,14 @@ GEM
nokogiri (>= 1.6.2) nokogiri (>= 1.6.2)
rexml rexml
xmlenc (>= 0.7.1) xmlenc (>= 0.7.1)
sanitize (6.1.2) sanitize (6.1.0)
crass (~> 1.0.2) crass (~> 1.0.2)
nokogiri (>= 1.12.0) nokogiri (>= 1.12.0)
sass (3.7.4)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sassc (2.4.0) sassc (2.4.0)
ffi (~> 1.9) ffi (~> 1.9)
sassc-rails (2.1.2) sassc-rails (2.1.2)
@ -698,34 +689,34 @@ GEM
sprockets (> 3.0) sprockets (> 3.0)
sprockets-rails sprockets-rails
tilt tilt
scss_lint (0.60.0)
sass (~> 3.5, >= 3.5.5)
selectize-rails (0.12.6) selectize-rails (0.12.6)
selenium-devtools (0.126.0) selenium-devtools (0.121.0)
selenium-webdriver (~> 4.2) selenium-webdriver (~> 4.2)
selenium-webdriver (4.22.0) selenium-webdriver (4.17.0)
base64 (~> 0.2) base64 (~> 0.2)
logger (~> 1.4)
rexml (~> 3.2, >= 3.2.5) rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0) rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0) websocket (~> 1.0)
sentry-delayed_job (5.17.3) sentry-delayed_job (5.16.1)
delayed_job (>= 4.0) delayed_job (>= 4.0)
sentry-ruby (~> 5.17.3) sentry-ruby (~> 5.16.1)
sentry-rails (5.17.3) sentry-rails (5.16.1)
railties (>= 5.0) railties (>= 5.0)
sentry-ruby (~> 5.17.3) sentry-ruby (~> 5.16.1)
sentry-ruby (5.17.3) sentry-ruby (5.16.1)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
sentry-sidekiq (5.17.3) sentry-sidekiq (5.16.1)
sentry-ruby (~> 5.17.3) sentry-ruby (~> 5.16.1)
sidekiq (>= 3.0) sidekiq (>= 3.0)
shoulda-matchers (6.2.0) shoulda-matchers (6.1.0)
activesupport (>= 5.2.0) activesupport (>= 5.2.0)
sib-api-v3-sdk (9.1.0) sib-api-v3-sdk (9.1.0)
addressable (~> 2.3, >= 2.3.0) addressable (~> 2.3, >= 2.3.0)
json (~> 2.1, >= 2.1.0) json (~> 2.1, >= 2.1.0)
typhoeus (~> 1.0, >= 1.0.1) typhoeus (~> 1.0, >= 1.0.1)
sidekiq (7.2.4) sidekiq (7.2.1)
concurrent-ruby (< 2) concurrent-ruby (< 2)
connection_pool (>= 2.3.0) connection_pool (>= 2.3.0)
rack (>= 2.2.4) rack (>= 2.2.4)
@ -737,15 +728,6 @@ GEM
simple_xlsx_reader (1.0.4) simple_xlsx_reader (1.0.4)
nokogiri nokogiri
rubyzip rubyzip
simplecov (0.22.0)
docile (~> 1.1)
simplecov-html (~> 0.11)
simplecov_json_formatter (~> 0.1)
simplecov-cobertura (2.1.0)
rexml
simplecov (~> 0.19)
simplecov-html (0.12.3)
simplecov_json_formatter (0.1.4)
simpleidn (0.2.1) simpleidn (0.2.1)
unf (~> 0.1.4) unf (~> 0.1.4)
sinatra (3.2.0) sinatra (3.2.0)
@ -753,13 +735,13 @@ GEM
rack (~> 2.2, >= 2.2.4) rack (~> 2.2, >= 2.2.4)
rack-protection (= 3.2.0) rack-protection (= 3.2.0)
tilt (~> 2.0) tilt (~> 2.0)
skylight (6.0.4) skylight (6.0.3)
activesupport (>= 5.2.0) activesupport (>= 5.2.0)
smart_properties (1.17.0) smart_properties (1.17.0)
spreadsheet_architect (5.0.0) spreadsheet_architect (5.0.0)
caxlsx (>= 3.3.0, < 4) caxlsx (>= 3.3.0, < 4)
rodf (>= 1.0.0, < 2) rodf (>= 1.0.0, < 2)
spring (4.2.1) spring (4.1.3)
spring-commands-rspec (1.0.4) spring-commands-rspec (1.0.4)
spring (>= 0.9.1) spring (>= 0.9.1)
sprockets (4.2.1) sprockets (4.2.1)
@ -770,9 +752,8 @@ GEM
activesupport (>= 5.2) activesupport (>= 5.2)
sprockets (>= 3.0.0) sprockets (>= 3.0.0)
stackprof (0.2.26) stackprof (0.2.26)
string-similarity (2.1.0) stringio (3.1.0)
stringio (3.1.2) strong_migrations (1.7.0)
strong_migrations (1.8.0)
activerecord (>= 5.2) activerecord (>= 5.2)
swd (2.0.3) swd (2.0.3)
activesupport (>= 3) activesupport (>= 3)
@ -785,14 +766,13 @@ GEM
temple (0.8.2) temple (0.8.2)
terminal-table (3.0.2) terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3) unicode-display_width (>= 1.1.1, < 3)
test-prof (1.3.3) thor (1.3.0)
thor (1.3.2)
thread_safe (0.3.6) thread_safe (0.3.6)
tilt (2.3.0) tilt (2.3.0)
timecop (0.9.8) timecop (0.9.8)
timeout (0.4.1) timeout (0.4.1)
ttfunk (1.7.0) ttfunk (1.7.0)
turbo-rails (2.0.5) turbo-rails (2.0.2)
actionpack (>= 6.0.0) actionpack (>= 6.0.0)
activejob (>= 6.0.0) activejob (>= 6.0.0)
railties (>= 6.0.0) railties (>= 6.0.0)
@ -804,13 +784,13 @@ GEM
unf (0.1.4) unf (0.1.4)
unf_ext unf_ext
unf_ext (0.0.9.1) unf_ext (0.0.9.1)
unicode-display_width (2.6.0) unicode-display_width (2.5.0)
uri (0.13.0) uri (0.13.0)
validate_url (1.0.15) validate_url (1.0.15)
activemodel (>= 3.0.0) activemodel (>= 3.0.0)
public_suffix public_suffix
vcr (6.2.0) vcr (6.2.0)
view_component (3.12.1) view_component (3.10.0)
activesupport (>= 5.2.0, < 8.0) activesupport (>= 5.2.0, < 8.0)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
method_source (~> 1.0) method_source (~> 1.0)
@ -836,11 +816,11 @@ GEM
activesupport activesupport
faraday (~> 2.0) faraday (~> 2.0)
faraday-follow_redirects faraday-follow_redirects
webmock (3.23.0) webmock (3.20.0)
addressable (>= 2.8.0) addressable (>= 2.8.0)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0) hashdiff (>= 0.4.0, < 2.0.0)
webrick (1.8.2) webrick (1.8.1)
websocket (1.2.10) websocket (1.2.10)
websocket-driver (0.7.6) websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
@ -866,13 +846,13 @@ GEM
anyway_config (>= 1.3, < 3) anyway_config (>= 1.3, < 3)
sidekiq sidekiq
yabeda (~> 0.6) yabeda (~> 0.6)
zeitwerk (2.7.1) zeitwerk (2.6.13)
zip_tricks (5.6.0) zip_tricks (5.6.0)
zipline (1.5.0) zipline (1.5.0)
actionpack (>= 6.0, < 8.0) actionpack (>= 6.0, < 8.0)
content_disposition (~> 1.0) content_disposition (~> 1.0)
zip_tricks (>= 4.2.1, < 6.0) zip_tricks (>= 4.2.1, < 6.0)
zxcvbn (0.1.11) zxcvbn-ruby (1.2.0)
PLATFORMS PLATFORMS
ruby ruby
@ -898,7 +878,6 @@ DEPENDENCIES
browser browser
capybara capybara
capybara-email capybara-email
capybara-playwright-driver
capybara-screenshot capybara-screenshot
charlock_holmes charlock_holmes
chartkick chartkick
@ -909,7 +888,7 @@ DEPENDENCIES
delayed_cron_job delayed_cron_job
delayed_job_active_record delayed_job_active_record
delayed_job_web delayed_job_web
devise devise!
devise-i18n devise-i18n
devise-two-factor devise-two-factor
discard discard
@ -921,7 +900,6 @@ DEPENDENCIES
flipper-active_record flipper-active_record
flipper-active_support_cache_store flipper-active_support_cache_store
flipper-ui flipper-ui
front_matter_parser
fugit fugit
geo_coord geo_coord
geocoder geocoder
@ -989,6 +967,7 @@ DEPENDENCIES
rubocop-rspec rubocop-rspec
saml_idp saml_idp
sassc-rails sassc-rails
scss_lint
selenium-devtools selenium-devtools
selenium-webdriver selenium-webdriver
sentry-delayed_job sentry-delayed_job
@ -1000,17 +979,13 @@ DEPENDENCIES
sidekiq sidekiq
sidekiq-cron sidekiq-cron
simple_xlsx_reader simple_xlsx_reader
simplecov
simplecov-cobertura
skylight skylight
spreadsheet_architect spreadsheet_architect
spring spring
spring-commands-rspec spring-commands-rspec
stackprof stackprof
string-similarity
strong_migrations strong_migrations
sys-proctable sys-proctable
test-prof
timecop timecop
turbo-rails turbo-rails
typhoeus typhoeus
@ -1025,7 +1000,7 @@ DEPENDENCIES
yabeda-prometheus yabeda-prometheus
yabeda-sidekiq yabeda-sidekiq
zipline zipline
zxcvbn zxcvbn-ruby
BUNDLED WITH BUNDLED WITH
2.5.23 2.5.4

View file

@ -1,5 +1,3 @@
# frozen_string_literal: true
# A sample Guardfile # A sample Guardfile
# More info at https://github.com/guard/guard#readme # More info at https://github.com/guard/guard#readme

View file

@ -1,3 +1,3 @@
web: bin/rails server -p 3000 web: RAILS_QUEUE_ADAPTER=delayed_job bin/rails server -p 3000
jobs: bin/rake jobs:work jobs: bin/rake jobs:work
vite: bin/vite dev vite: bin/vite dev

View file

@ -38,8 +38,6 @@ Pour faire tourner sidekiq, vous aurez besoin de :
- redis - redis
- lightgallery : une license a été souscrite pour soutenir le projet, mais elle n'est pas obligatoire si la librairie est utilisée dans le cadre d'une application open source.
#### Développement #### Développement
- rbenv : voir https://github.com/rbenv/rbenv-installer#rbenv-installer--doctor-scripts - rbenv : voir https://github.com/rbenv/rbenv-installer#rbenv-installer--doctor-scripts
@ -64,7 +62,7 @@ Selenium::WebDriver::Chrome.path = "/Applications/Brave Browser.app/Contents/Mac
Webdrivers::Chromedriver.required_version = "103.0.5060.53" Webdrivers::Chromedriver.required_version = "103.0.5060.53"
``` ```
Il est également possible de faire une installation et mise à jour automatique lors de l'exécution de `bin/update` en définissant la variable d'environnement `UPDATE_WEBDRIVER`. Les binaires seront installés dans le repertoire `~/.local/bin/` qui doit être rajouté manuellement dans le path. Il est également possible de faire une installation et mise à jour automatique lors de l'exécution de `bin/update` en définissant la variable d'environnement `UPDATE_WEBDRIVER`. Les binaires seront installés dans le repertoire `~/.local/bin/` qui doit être rajouté manuellement dans le path.
### Création des rôles de la base de données ### Création des rôles de la base de données
@ -144,7 +142,7 @@ Pour exécuter les tests de l'application, plusieurs possibilités :
- Afficher les logs js en error issus de la console du navigateur `console.error('coucou')` - Afficher les logs js en error issus de la console du navigateur `console.error('coucou')`
JS_LOG=debug,log,error bin/rspec spec/system JS_LOG=error bin/rspec spec/system
- Augmenter la latence lors de tests end2end pour déceler des bugs récalcitrants - Augmenter la latence lors de tests end2end pour déceler des bugs récalcitrants
@ -194,5 +192,3 @@ La compatibilité est testée par Browserstack.<br>[<img src="app/assets/images/
[![View performance data on Skylight](https://badges.skylight.io/status/zAvWTaqO0mu1.svg)](https://oss.skylight.io/app/applications/zAvWTaqO0mu1) [![View performance data on Skylight](https://badges.skylight.io/status/zAvWTaqO0mu1.svg)](https://oss.skylight.io/app/applications/zAvWTaqO0mu1)
Nous utilisons Skylight pour suivre les performances de notre application. Nous utilisons Skylight pour suivre les performances de notre application.
Par ailleurs, nous utilisons [Yabeda](https://github.com/yabeda-rb/yabeda) pour exporter des métriques au format prometheus pour Sidekiq. L'activation se fait via la variable d'environnement `PROMETHEUS_EXPORTER_ENABLED` voir config/env.example.optional .

View file

@ -1,5 +1,3 @@
# frozen_string_literal: true
# Add your own tasks in files placed in lib/tasks ending in .rake, # Add your own tasks in files placed in lib/tasks ending in .rake,
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 75 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

View file

@ -1,4 +1,4 @@
@import 'placeholders'; @import "placeholders";
html, html,
body { body {
@ -6,21 +6,11 @@ body {
scroll-behavior: smooth; scroll-behavior: smooth;
} }
// Forces line breaks to prevent buttons from overflowing their container
input[type='submit'] {
white-space: normal;
}
.page-wrapper { .page-wrapper {
position: relative; position: relative;
min-height: 100%; min-height: 100%;
} }
// Wrap text in pre tag
pre {
white-space: pre-wrap;
}
// Mobile Safari doesn't bubble mouse events by default, unless: // Mobile Safari doesn't bubble mouse events by default, unless:
// //
// - the target element of the event is a link or a form field. // - the target element of the event is a link or a form field.
@ -38,7 +28,3 @@ pre {
.container { .container {
@extend %container; @extend %container;
} }
react-fragment {
display: block;
}

View file

@ -1,5 +1,5 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
// floats // floats
.pull-left { .pull-left {
@ -37,7 +37,7 @@
} }
.text-right { .text-right {
text-align: right !important; text-align: right;
} }
.text-sm { .text-sm {
@ -142,6 +142,7 @@
} }
} }
// who known // who known
.highlighted { .highlighted {
background-color: var( background-color: var(
@ -193,29 +194,13 @@
// using $direction.key as css modifier, $direction.values to set css properties // using $direction.key as css modifier, $direction.values to set css properties
// scale it using $steps // scale it using $steps
$directions: ( $directions: (
't': ( "t": ("margin-top"),
'margin-top' "r": ("margin-right"),
), "b": ("margin-bottom"),
'r': ( "l": ("margin-left"),
'margin-right' "x": ("margin-left", "margin-right"),
), "y": ("margin-top", "margin-bottom"),
'b': ( "": ("margin")
'margin-bottom'
),
'l': (
'margin-left'
),
'x': (
'margin-left',
'margin-right'
),
'y': (
'margin-top',
'margin-bottom'
),
'': (
'margin'
)
); );
$steps: (0, 1, 2, 3, 4, 5, 6, 7, 8); $steps: (0, 1, 2, 3, 4, 5, 6, 7, 8);
@ -230,29 +215,13 @@ $steps: (0, 1, 2, 3, 4, 5, 6, 7, 8);
} }
$directions: ( $directions: (
't': ( "t": ("padding-top"),
'padding-top' "r": ("padding-right"),
), "b": ("padding-bottom"),
'r': ( "l": ("padding-left"),
'padding-right' "x": ("padding-left", "padding-right"),
), "y": ("padding-top", "padding-bottom"),
'b': ( "": ("padding")
'padding-bottom'
),
'l': (
'padding-left'
),
'x': (
'padding-left',
'padding-right'
),
'y': (
'padding-top',
'padding-bottom'
),
'': (
'padding'
)
); );
$steps: (0, 1, 2, 3, 4, 5, 6, 7, 8); $steps: (0, 1, 2, 3, 4, 5, 6, 7, 8);

View file

@ -1,26 +1,26 @@
$light-blue: #1c7ec9; $light-blue: #1C7EC9;
$lighter-blue: #c3d9ff; $lighter-blue: #C3D9FF;
$black: #333333; $black: #333333;
$white: #ffffff; $white: #FFFFFF;
$grey: #888888; $grey: #888888;
$light-grey: #f8f8f8; $light-grey: #F8F8F8;
$dark-grey: #666666; $dark-grey: #666666;
$border-grey: #cccccc; $border-grey: #CCCCCC;
$dark-red: #a10005; $dark-red: #A10005;
$medium-red: rgba(161, 0, 5, 0.9); $medium-red: rgba(161, 0, 5, 0.9);
$light-red: #ed1c24; $light-red: #ED1C24;
$lighter-red: #f52a2a; $lighter-red: #F52A2A;
$background-red: #ffdfdf; $background-red: #FFDFDF;
$green: darken(#169862, 5%); $green: darken(#169862, 5%);
$old-green: #15ad70; $old-green: #15AD70;
$lighter-green: lighten($old-green, 30%); $lighter-green: lighten($old-green, 30%);
$light-green: lighten($old-green, 25%); $light-green: lighten($old-green, 25%);
$dark-green: darken($old-green, 20%); $dark-green: darken($old-green, 20%);
$orange: #f28900; $orange: #F28900;
$orange-bg: lighten($orange, 35%); $orange-bg: lighten($orange, 35%);
$yellow: #fef3b8; $yellow: #FEF3B8;
$light-yellow: #ffffde; $light-yellow: #FFFFDE;
$blue-france-700: #00006d; $blue-france-700: #00006D;
$blue-france-500: #000091; $blue-france-500: #000091;
$blue-france-400: #7f7fc8; $blue-france-400: #7F7FC8;
$g700: #383838; $g700: #383838;

View file

@ -1,4 +1,4 @@
@import 'constants'; @import "constants";
@mixin horizontal-padding($value) { @mixin horizontal-padding($value) {
padding-left: $value; padding-left: $value;
@ -22,3 +22,4 @@
background-image: image-url($image-url); background-image: image-url($image-url);
} }
} }

View file

@ -1,6 +1,6 @@
@import 'colors'; @import "colors";
@import 'mixins'; @import "mixins";
@import 'constants'; @import "constants";
%horizontal-list { %horizontal-list {
list-style-type: none; list-style-type: none;
@ -27,8 +27,7 @@
} }
} }
%container { %container { // TODO: switch to new design with preview in two view not in two column https://github.com/betagouv/demarches-simplifiees.fr/issues/7882
// TODO: switch to new design with preview in two view not in two column https://github.com/betagouv/demarches-simplifiees.fr/issues/7882
@include horizontal-padding($default-padding); @include horizontal-padding($default-padding);
max-width: $page-width + 2 * $default-padding; max-width: $page-width + 2 * $default-padding;
margin-left: auto; margin-left: auto;

View file

@ -11,9 +11,9 @@
trix-editor { trix-editor {
min-height: 10em; min-height: 10em;
background-color: #ffffff; background-color: #FFFFFF;
} }
[data-fr-theme='dark'] .trix-button-group button { [data-fr-theme="dark"] .trix-button-group button {
background: var(--background-action-high-blue-france) !important; background: var(--background-action-high-blue-france) !important;
} }

View file

@ -1,5 +1,5 @@
@import 'constants'; @import "constants";
@import 'colors'; @import "colors";
.instructeur-wrapper { .instructeur-wrapper {
.select-instructeurs { .select-instructeurs {

View file

@ -1,5 +1,5 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
#agentconnect { #agentconnect {
.agent { .agent {
@ -10,7 +10,7 @@
} }
.box { .box {
background-color: #f2f2f9; background-color: #F2F2F9;
padding: $default-padding; padding: $default-padding;
ul { ul {

View file

@ -1,4 +1,4 @@
@import 'placeholders'; @import "placeholders";
@keyframes fade-in-down { @keyframes fade-in-down {
0% { 0% {

View file

@ -0,0 +1,19 @@
@import "constants";
table.archive-table {
.text-right {
text-align: right;
}
.center {
text-align: center;
}
td {
padding: 3 * $default-spacer $default-spacer;
}
a.button {
background-image: none; // remove DSFR underline
}
}

View file

@ -1,5 +1,5 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
.attachment-error, .attachment-error,
.attachment-upload-error { .attachment-upload-error {
@ -8,7 +8,7 @@
&::before { &::before {
box-shadow: inset 2px 0 0 0 var(--border-plain-error); box-shadow: inset 2px 0 0 0 var(--border-plain-error);
height: 100%; height: 100%;
content: ''; content: "";
left: -0.75rem; left: -0.75rem;
position: absolute; position: absolute;
width: 2px; width: 2px;
@ -26,7 +26,7 @@
} }
.attachment-multiple:not(.fr-downloads-group), .attachment-multiple:not(.fr-downloads-group),
.attachment-multiple.fr-downloads-group[data-controller='replace-attachment'] { .attachment-multiple.fr-downloads-group[data-controller=replace-attachment] {
ul { ul {
list-style-type: none; list-style-type: none;
padding-inline-start: 0; padding-inline-start: 0;
@ -49,8 +49,9 @@
} }
} }
.attachment-multiple.fr-downloads-group.destroyable ul, .attachment-multiple.fr-downloads-group.destroyable {
ul[data-file-input-reset-target='fileList'] { ul {
list-style-type: none; list-style-type: none;
padding-inline-start: 0; padding-inline-start: 0;
}
} }

View file

@ -1,20 +1,20 @@
@font-face { @font-face {
font-family: 'Marianne'; font-family: "Marianne";
src: url('marianne-regular.ttf'); src: url("marianne-regular.ttf");
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'Marianne'; font-family: "Marianne";
src: url('marianne-bold.ttf'); src: url("marianne-bold.ttf");
font-weight: bold; font-weight: bold;
font-style: normal; font-style: normal;
} }
@font-face { @font-face {
font-family: 'Marianne'; font-family: "Marianne";
src: url('marianne-thin.ttf'); src: url("marianne-thin.ttf");
font-weight: 100; // weasy print n"accepte pas lighter font-weight: 100; // weasy print n"accepte pas lighter
font-style: normal; font-style: normal;
} }
@ -25,9 +25,8 @@
@bottom-center { @bottom-center {
font-size: 8pt; font-size: 8pt;
content: counter(page) ' / ' counter(pages); content: counter(page) " / " counter(pages);
margin-top: 17mm; margin-top: 17mm;
white-space: nowrap;
} }
@bottom-left { @bottom-left {
@ -42,12 +41,11 @@
flex-direction: column; flex-direction: column;
justify-content: space-between; // This will push the footer down justify-content: space-between; // This will push the footer down
max-width: 21cm; max-width: 21cm;
min-height: 29.7cm; height: 29.7cm;
padding: 17mm; padding: 17mm;
margin: 0 auto; margin: 0 auto;
background: #ffffff; background: #FFFFFF;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); // Optional: for better visualization box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); // Optional: for better visualization
position: relative;
} }
} }
@ -142,11 +140,13 @@
h2 { h2 {
margin: 0; margin: 0;
line-height: 8pt;
} }
h3 { h3 {
font-size: 10pt; // same as text font-size: 10pt; // same as text
font-weight: bold; font-weight: bold;
line-height: 4pt;
} }
li p { li p {
@ -167,31 +167,9 @@
} }
} }
footer { .footer {
position: running(footer); position: running(footer);
font-size: 7pt; font-size: 7pt;
font-weight: 100; font-weight: 100;
white-space: nowrap;
@media screen {
position: absolute;
bottom: 0;
}
}
.tdc-repetition li {
margin-bottom: 5mm;
padding-left: 3mm;
dl {
display: grid;
grid-template-columns: auto 1fr;
gap: 1mm 10mm;
}
.invisible {
visibility: hidden;
height: 0;
}
} }
} }

View file

@ -1,4 +1,4 @@
@import 'constants'; @import "constants";
#attestation-edit { #attestation-edit {
.attestation-preview { .attestation-preview {
@ -20,7 +20,7 @@
min-height: 400px; min-height: 400px;
} }
.tiptap-editor { .editor {
// Visual zones // Visual zones
.header .flex-1, .header .flex-1,
h1 { h1 {
@ -63,6 +63,17 @@
li p { li p {
margin-bottom: 0; margin-bottom: 0;
} }
// Tags
.fr-menu__list {
max-height: 500px;
}
.fr-tag:not(.fr-menu .fr-tag) {
// style span rendered by tiptap like a button/link tag
color: var(--text-action-high-blue-france);
background-color: var(--background-action-low-blue-france);
}
} }
// scss-lint:disable SelectorFormat // scss-lint:disable SelectorFormat

View file

@ -1,5 +1,5 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
#attestation-template-edit { #attestation-template-edit {
.text-active { .text-active {

View file

@ -1,7 +1,7 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
@import 'placeholders'; @import "placeholders";
@import 'mixins'; @import "mixins";
#auth, #auth,
#agentconnect { #agentconnect {
@ -48,15 +48,15 @@
} }
.sign-in-form .form { .sign-in-form .form {
input[type='email'] { input[type="email"] {
margin-bottom: $default-spacer; margin-bottom: $default-spacer;
} }
input[type='password'] { input[type="password"] {
margin-bottom: $default-spacer; margin-bottom: $default-spacer;
} }
input[type='checkbox'] { input[type="checkbox"] {
margin-bottom: 0; margin-bottom: 0;
} }
} }

View file

@ -1,5 +1,5 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
.autosave { .autosave {
position: relative; position: relative;

View file

@ -0,0 +1,34 @@
@import "colors";
@import "constants";
.badge {
padding: 0 5px;
font-size: 14px;
font-weight: bold;
text-align: center;
white-space: nowrap;
border-radius: 100px;
background-color: rgba(0, 0, 0, 0.08);
vertical-align: top;
&.baseline {
vertical-align: baseline;
}
&.warning {
background-color: $orange;
color: #FFFFFF;
}
}
.badge-group {
display: flex;
.fr-badge {
margin-right: $default-spacer;
}
.fr-badge:last-child {
margin-right: 0;
}
}

View file

@ -6,8 +6,8 @@
right: -35px; right: -35px;
transform: rotate(45deg); transform: rotate(45deg);
width: 150px; width: 150px;
background-color: #008cba; background-color: #008CBA;
color: #ffffff; color: #FFFFFF;
padding: 5px; padding: 5px;
font-size: 15px; font-size: 15px;
font-weight: 700; font-weight: 700;

View file

@ -1,6 +1,6 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
@import 'placeholders'; @import "placeholders";
.button { .button {
@extend %outline; @extend %outline;
@ -11,7 +11,7 @@
border: 1px solid $border-grey; border: 1px solid $border-grey;
font-size: 14px; font-size: 14px;
line-height: 20px; line-height: 20px;
background-color: #ffffff; background-color: #FFFFFF;
color: $black; color: $black;
text-align: center; text-align: center;
-webkit-appearance: none; -webkit-appearance: none;
@ -29,7 +29,7 @@
} }
&.primary { &.primary {
color: #ffffff; color: #FFFFFF;
border-color: $blue-france-700; border-color: $blue-france-700;
background-color: $blue-france-700; background-color: $blue-france-700;
@ -41,10 +41,10 @@
&.secondary { &.secondary {
color: $blue-france-700; color: $blue-france-700;
border-color: $blue-france-700; border-color: $blue-france-700;
background-color: #ffffff; background-color: #FFFFFF;
&:hover:not(:disabled) { &:hover:not(:disabled) {
color: #ffffff; color: #FFFFFF;
background: $blue-france-700; background: $blue-france-700;
} }
} }
@ -52,10 +52,10 @@
&.danger { &.danger {
color: $black; color: $black;
border-color: $border-grey; border-color: $border-grey;
background-color: #ffffff; background-color: #FFFFFF;
&:hover:not(:disabled) { &:hover:not(:disabled) {
color: #ffffff; color: #FFFFFF;
border-color: $medium-red; border-color: $medium-red;
background-color: $medium-red; background-color: $medium-red;
@ -66,35 +66,35 @@
} }
&.accepted { &.accepted {
color: #ffffff; color: #FFFFFF;
border-color: $green; border-color: $green;
background-color: $green; background-color: $green;
&:hover:not(:disabled) { &:hover:not(:disabled) {
color: $green; color: $green;
background-color: #ffffff; background-color: #FFFFFF;
} }
} }
&.without-continuation { &.without-continuation {
color: #ffffff; color: #FFFFFF;
border-color: $black; border-color: $black;
background-color: $black; background-color: $black;
&:hover:not(:disabled) { &:hover:not(:disabled) {
color: $black; color: $black;
background-color: #ffffff; background-color: #FFFFFF;
} }
} }
&.refused { &.refused {
color: #ffffff; color: #FFFFFF;
border-color: $dark-red; border-color: $dark-red;
background-color: $dark-red; background-color: $dark-red;
&:hover:not(:disabled) { &:hover:not(:disabled) {
color: $dark-red; color: $dark-red;
background-color: #ffffff; background-color: #FFFFFF;
} }
} }
@ -151,8 +151,10 @@
.dropdown-button { .dropdown-button {
white-space: nowrap; white-space: nowrap;
[aria-hidden='true'].fr-ml-2v::after { &::after {
content: ''; content: "";
margin-left: $default-spacer;
font-weight: bold;
} }
&.icon-only { &.icon-only {
@ -172,12 +174,13 @@
} }
} }
[data-fr-theme='dark'] .dropdown-content {
[data-fr-theme="dark"] .dropdown-content {
border: none; border: none;
background: var(--background-action-low-blue-france); background: var(--background-action-low-blue-france);
} }
[data-fr-theme='dark'] .dropdown-items { [data-fr-theme="dark"] .dropdown-items {
li { li {
&:not(.inactive) { &:not(.inactive) {
&:hover, &:hover,
@ -194,7 +197,7 @@
.dropdown-content { .dropdown-content {
border: 1px solid $border-grey; border: 1px solid $border-grey;
background: #ffffff; background: #FFFFFF;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
position: absolute; position: absolute;
right: 0; right: 0;
@ -240,57 +243,6 @@ ul.dropdown-items {
margin-bottom: 0; margin-bottom: 0;
} }
// Apply custom styles to DSFR fr-translate component
.fr-translate__btn.fr-btn.help-btn::before {
content: none;
}
.help-content.fr-menu ul.fr-menu__list {
--text-decoration: underline;
text-align: left;
font-size: 1rem;
@media (min-width: 62em) {
font-size: 0.875rem;
padding: 0;
width: 360px;
}
}
.help-content.fr-menu ul.fr-menu__list li {
padding: 0.75rem 1rem;
@media (min-width: 62em) {
padding-right: 1rem;
padding-left: 1rem;
}
}
.help-content.fr-menu ul.fr-menu__list li:not(:last-child) {
@media (min-width: 62em) {
border-bottom: 1px solid $border-grey;
}
}
.help-content.fr-menu ul.fr-menu__list {
h1,
p {
font-size: inherit;
line-height: inherit;
}
dd {
word-break: break-word;
}
}
.help-content a[href]:hover,
.help-content a[href]:active {
@media (hover: hover) and (pointer: fine) {
--text-decoration: none;
}
}
.dropdown-items { .dropdown-items {
li { li {
display: flex; display: flex;
@ -342,7 +294,7 @@ ul.dropdown-items {
// Make child links fill the whole clickable area // Make child links fill the whole clickable area
> a, > a,
.dropdown-items-link { .dropdown-items-link {
display: flex; display: flex;
flex-grow: 1; flex-grow: 1;
margin: -$default-padding; margin: -$default-padding;
@ -365,7 +317,7 @@ ul.dropdown-items {
} }
p + h4, p + h4,
p + p { p + p, {
margin-top: $default-spacer; margin-top: $default-spacer;
} }
} }
@ -374,11 +326,7 @@ ul.dropdown-items {
padding: 2 * $default-spacer; padding: 2 * $default-spacer;
&.large { &.large {
width: 90vw; width: 340px;
@media (min-width: 62em) {
width: 40vw;
}
} }
ul { ul {
@ -397,7 +345,3 @@ ul.dropdown-items {
content: none !important; content: none !important;
} }
} }
.back-btn {
line-height: 1.75rem;
}

View file

@ -1,7 +1,8 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
[data-fr-theme='dark'] .card {
[data-fr-theme="dark"] .card {
background: none; background: none;
border: 1px solid var(--background-action-low-blue-france); border: 1px solid var(--background-action-low-blue-france);
} }
@ -10,7 +11,7 @@
padding: ($default-spacer * 3) ($default-spacer * 2); padding: ($default-spacer * 3) ($default-spacer * 2);
border: 1px solid $border-grey; border: 1px solid $border-grey;
margin-bottom: $default-spacer * 4; margin-bottom: $default-spacer * 4;
background: #ffffff; background: #FFFFFF;
.card-title { .card-title {
font-weight: bold; font-weight: bold;
@ -50,7 +51,6 @@
&.no-list { &.no-list {
ul { ul {
list-style: none !important; list-style: none !important;
padding-left: 0;
} }
} }

View file

@ -1,5 +1,5 @@
@import 'colors'; @import "colors";
@import 'constants'; @import "constants";
.fr-tile-subtitle { .fr-tile-subtitle {
min-height: 7rem; min-height: 7rem;

View file

@ -1,4 +1,6 @@
@import 'colors'; @import "colors";
@import "constants";
.areas { .areas {
margin-bottom: 10px; margin-bottom: 10px;
@ -8,49 +10,60 @@
} }
} }
.ds-ctrl button { .form [data-react-component-value='MapEditor'] [data-reach-combobox-input] {
color: $dark-grey; margin-bottom: 0;
}
&.on, .map-style-control {
&:hover { position: absolute;
background-color: rgba(0, 0, 0, 0.05); bottom: 4px;
left: 10px;
img {
width: 100%;
}
button {
padding: 0;
border: none;
cursor: pointer;
> div {
position: absolute;
bottom: 5px;
left: 5px;
}
}
.map-style-panel {
z-index: 1;
padding: $default-spacer;
margin-bottom: $default-spacer;
ul {
list-style: none;
padding: $default-spacer;
padding-bottom: 0;
margin-bottom: -$default-spacer;
label {
font-size: 12px;
font-weight: normal;
}
}
} }
} }
.react-aria-popover { .cadastres-selection-control {
&[data-placement='top'] { z-index: 1;
--origin: translateY(8px); position: absolute;
} top: 135px;
left: 10px;
&[data-placement='bottom'] { button {
--origin: translateY(-8px); &.on,
} &:hover {
background-color: rgba(0, 0, 0, 0.05);
&[data-placement='right'] { }
--origin: translateX(-8px);
}
&[data-placement='left'] {
--origin: translateX(8px);
}
&[data-entering] {
animation: popover-slide 200ms;
}
&[data-exiting] {
animation: popover-slide 200ms reverse ease-in;
}
}
@keyframes popover-slide {
from {
transform: var(--origin);
opacity: 0;
}
to {
transform: translateY(0);
opacity: 1;
} }
} }

View file

@ -1,5 +1,5 @@
@import 'constants'; @import "constants";
@import 'colors'; @import "colors";
table.cnaf { table.cnaf {
margin: 2 * $default-padding 0 $default-padding $default-padding; margin: 2 * $default-padding 0 $default-padding $default-padding;
@ -7,7 +7,7 @@ table.cnaf {
caption { caption {
font-weight: bold; font-weight: bold;
margin-left: -$default-padding; margin-left: - $default-padding;
margin-bottom: $default-spacer; margin-bottom: $default-spacer;
text-align: left; text-align: left;
} }

View file

@ -1,4 +1,4 @@
@import 'colors'; @import "colors";
.code-block { .code-block {
background-color: $black; background-color: $black;

View file

@ -1,5 +1,5 @@
@import 'constants'; @import "constants";
@import 'colors'; @import "colors";
.code-example { .code-example {
background-color: var(--background-contrast-grey); background-color: var(--background-contrast-grey);
@ -13,6 +13,7 @@
margin-right: auto; margin-right: auto;
padding: $default-padding; padding: $default-padding;
} }
} }
pre { pre {

View file

@ -1,4 +1,4 @@
@import 'constants'; @import "constants";
.commencer { .commencer {
@media (max-width: 62em) { @media (max-width: 62em) {

Some files were not shown because too many files have changed in this diff Show more