From 7a918ea3cae2aa373b167ac53ed226fe4eb98031 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Wed, 11 Dec 2024 16:08:47 +0100 Subject: [PATCH 01/11] Add missing TextAndCTA block from the common streamfield blocks --- content_manager/blocks.py | 1 + 1 file changed, 1 insertion(+) diff --git a/content_manager/blocks.py b/content_manager/blocks.py index b37a94e3..2a8cdca5 100644 --- a/content_manager/blocks.py +++ b/content_manager/blocks.py @@ -1116,6 +1116,7 @@ class Meta: ("alert", AlertBlock(label=_("Alert message"))), ("accordions", AccordionsBlock(label=_("Accordions"), group=_("DSFR components"))), ("callout", CalloutBlock(label=_("Callout"), group=_("DSFR components"))), + ("text_cta", TextAndCTA(label=_("Text and call to action"))), ("highlight", HighlightBlock(label=_("Highlight"), group=_("DSFR components"))), ("quote", QuoteBlock(label=_("Quote"), group=_("DSFR components"))), ("video", VideoBlock(label=_("Video"))), From 38deefefffa42b9793b25a1b1be8fdc9122b6689 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Wed, 11 Dec 2024 17:21:48 +0100 Subject: [PATCH 02/11] Don't run the pending migrations check while in draft mode --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 82f0a092..b0de9e34 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -39,6 +39,7 @@ jobs: run: | make quality - name: 🚧 Check pending migrations # continue-on-error: true + if: github.event.pull_request.draft == false run: | poetry run django-admin makemigrations --check --dry-run --noinput - name: đŸ€č‍ Run the unit tests From f3235335b53bd6bfcec08a75877ae358fe8f0702 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Wed, 11 Dec 2024 17:33:24 +0100 Subject: [PATCH 03/11] Try with a separate workflow for migration checks --- .github/workflows/{cd.yml => cd-docker.yml} | 0 .github/workflows/ci-check-migrations.yml | 42 +++++++++++++++++++++ .github/workflows/{ci.yml => ci-main.yml} | 6 +-- 3 files changed, 43 insertions(+), 5 deletions(-) rename .github/workflows/{cd.yml => cd-docker.yml} (100%) create mode 100644 .github/workflows/ci-check-migrations.yml rename .github/workflows/{ci.yml => ci-main.yml} (84%) diff --git a/.github/workflows/cd.yml b/.github/workflows/cd-docker.yml similarity index 100% rename from .github/workflows/cd.yml rename to .github/workflows/cd-docker.yml diff --git a/.github/workflows/ci-check-migrations.yml b/.github/workflows/ci-check-migrations.yml new file mode 100644 index 00000000..dcb40132 --- /dev/null +++ b/.github/workflows/ci-check-migrations.yml @@ -0,0 +1,42 @@ +name: 🔼 CI - Migrations Check + +on: + pull_request: + types: [review_requested, ready_for_review] + +jobs: + build: + runs-on: ubuntu-latest + env: + DJANGO_SETTINGS_MODULE: config.settings_test + PYTHONPATH: . + strategy: + matrix: + python-version: ["3.12"] + services: + postgres: + image: postgres:14-alpine + env: + POSTGRES_USER: dju + POSTGRES_PASSWORD: djpwd + POSTGRES_DB: djdb + ports: + - 5432:5432 + steps: + - uses: actions/checkout@v3 + - name: 🐍 Set up Python ${{ matrix.python-version }} + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + - name: 🌍 Install dependencies + run: | + python -m pip install --upgrade pip + pip install poetry + pip install ruff + poetry install --no-root + - name: 📄 Copy empty .env.test to .env + run: | + cp .env.test .env + - name: 🚧 Check pending migrations + run: | + poetry run django-admin makemigrations --check --dry-run --noinput diff --git a/.github/workflows/ci.yml b/.github/workflows/ci-main.yml similarity index 84% rename from .github/workflows/ci.yml rename to .github/workflows/ci-main.yml index b0de9e34..3c7b8598 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci-main.yml @@ -1,4 +1,4 @@ -name: 🔼 CI +name: 🔼 CI - Main checks on: [push] @@ -38,10 +38,6 @@ jobs: - name: ✹ Black & ruff run: | make quality - - name: 🚧 Check pending migrations # continue-on-error: true - if: github.event.pull_request.draft == false - run: | - poetry run django-admin makemigrations --check --dry-run --noinput - name: đŸ€č‍ Run the unit tests run: | make test-unit From 6aa4875ef0a4d4960da14ab437f43f380b0ba10a Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Wed, 11 Dec 2024 17:40:46 +0100 Subject: [PATCH 04/11] Add python 3.13 to tested versions --- .github/workflows/ci-main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-main.yml b/.github/workflows/ci-main.yml index 3c7b8598..dd1f1261 100644 --- a/.github/workflows/ci-main.yml +++ b/.github/workflows/ci-main.yml @@ -10,7 +10,7 @@ jobs: PYTHONPATH: . strategy: matrix: - python-version: ["3.10", "3.11", "3.12"] + python-version: ["3.10", "3.11", "3.12", "3.13"] services: postgres: image: postgres:14-alpine From 4289fc363ba68a0bfd8aab0f603248a0e025cde2 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 11:53:31 +0100 Subject: [PATCH 05/11] update dependencies --- poetry.lock | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/poetry.lock b/poetry.lock index 573648c0..3b180e8d 100644 --- a/poetry.lock +++ b/poetry.lock @@ -128,17 +128,17 @@ webencodings = "*" [[package]] name = "boto3" -version = "1.35.77" +version = "1.35.79" description = "The AWS SDK for Python" optional = false python-versions = ">=3.8" files = [ - {file = "boto3-1.35.77-py3-none-any.whl", hash = "sha256:a09871805f8e462349a1c33c23eb413668df0bf68424e61d53518e1a7d883b2f"}, - {file = "boto3-1.35.77.tar.gz", hash = "sha256:cc819cdbccbc2d0dc185f1dcfe74cf3809489c4cae63c2e5d6a557aa0c5ab928"}, + {file = "boto3-1.35.79-py3-none-any.whl", hash = "sha256:a673b0b6378c9ccbf045a31a43195b175e12aa5c37fb7635fcbfc8f48fb857b3"}, + {file = "boto3-1.35.79.tar.gz", hash = "sha256:1fa26217cd33ded82e55aed4460cd55f7223fa647916aa0d3c5d6828e6ec7135"}, ] [package.dependencies] -botocore = ">=1.35.77,<1.36.0" +botocore = ">=1.35.79,<1.36.0" jmespath = ">=0.7.1,<2.0.0" s3transfer = ">=0.10.0,<0.11.0" @@ -147,13 +147,13 @@ crt = ["botocore[crt] (>=1.21.0,<2.0a0)"] [[package]] name = "botocore" -version = "1.35.77" +version = "1.35.79" description = "Low-level, data-driven core of boto 3." optional = false python-versions = ">=3.8" files = [ - {file = "botocore-1.35.77-py3-none-any.whl", hash = "sha256:3faa27d65841499762228902d7e215fa99a4c2fdc76c9113e1c3f339bdf685b8"}, - {file = "botocore-1.35.77.tar.gz", hash = "sha256:17b778016644e9342ca3ff2f430c1d1db0c6126e9b41a57cff52ac58e7a455e0"}, + {file = "botocore-1.35.79-py3-none-any.whl", hash = "sha256:e6b10bb9a357e3f5ca2e60f6dd15a85d311b9a476eb21b3c0c2a3b364a2897c8"}, + {file = "botocore-1.35.79.tar.gz", hash = "sha256:245bfdda1b1508539ddd1819c67a8a2cc81780adf0715d3de418d64c4247f346"}, ] [package.dependencies] @@ -499,13 +499,13 @@ sqlparse = ">=0.2" [[package]] name = "django-dsfr" -version = "1.4.3" +version = "1.4.4" description = "Integrate the French government Design System into a Django app" optional = false python-versions = "<4.0,>=3.8" files = [ - {file = "django_dsfr-1.4.3-py3-none-any.whl", hash = "sha256:7f30dc601137dd70ad0ba07b1c1d04009ba71976f82db26a3f1b64ce22c02fdf"}, - {file = "django_dsfr-1.4.3.tar.gz", hash = "sha256:f104b5554e35ab635e921587f854288a5a5382a66f37112bac6a6beeb415a728"}, + {file = "django_dsfr-1.4.4-py3-none-any.whl", hash = "sha256:b8ba3fd4b72c1a3ac52c82835035f8fbe6f83fd40f17aa2f73bdcee8805f7e3b"}, + {file = "django_dsfr-1.4.4.tar.gz", hash = "sha256:1b52811c1d71f813afdc36fdf45ed298cadb684d8fcc330ce2343328dfd46317"}, ] [package.dependencies] From c2f5b52f3d7808c9d3f3a6ad7e6b0f179d877301 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 12:25:10 +0100 Subject: [PATCH 06/11] Update stepper --- content_manager/blocks.py | 3 ++- .../templates/content_manager/blocks/stepper.html | 12 ++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/content_manager/blocks.py b/content_manager/blocks.py index 2a8cdca5..fff8fe94 100644 --- a/content_manager/blocks.py +++ b/content_manager/blocks.py @@ -621,7 +621,7 @@ class SeparatorBlock(blocks.StructBlock): class StepBlock(blocks.StructBlock): title = blocks.CharBlock(label=_("Title")) - detail = blocks.TextBlock(label=_("Detail")) + detail = blocks.TextBlock(label=_("Detail"), required=False) class StepsListBlock(blocks.StreamBlock): @@ -955,6 +955,7 @@ class CommonStreamBlock(blocks.StreamBlock): events_recent_entries = EventsRecentEntriesBlock( label=_("Event calendar recent entries"), group=_("Website structure") ) + stepper = StepperBlock(label=_("Stepper"), group=_("DSFR components")) class Meta: icon = "dots-horizontal" diff --git a/content_manager/templates/content_manager/blocks/stepper.html b/content_manager/templates/content_manager/blocks/stepper.html index 421c2d52..17400883 100644 --- a/content_manager/templates/content_manager/blocks/stepper.html +++ b/content_manager/templates/content_manager/blocks/stepper.html @@ -1,6 +1,14 @@ +{% load i18n %}
-

{{ value.title }}

+

+ {{ value.title }} + + {% with current_step=value.current total_steps=value.total %} + {% blocktranslate %}Step {{ current_step }} of {{ total_steps }}{% endblocktranslate %} + {% endwith %} + +

@@ -8,7 +16,7 @@

{{ value.title }}

{% for step in value.steps %}

- {{ step.value.title }} + {{ step.value.title }}

{{ step.value.detail|linebreaksbr }}

From 20bd78c65f2fa5a5624c2c59120ea8cb1574c171 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 12:27:29 +0100 Subject: [PATCH 07/11] Update translations --- .../locale/fr/LC_MESSAGES/django.mo | Bin 23749 -> 23850 bytes .../locale/fr/LC_MESSAGES/django.po | 316 +++++++++--------- 2 files changed, 161 insertions(+), 155 deletions(-) diff --git a/content_manager/locale/fr/LC_MESSAGES/django.mo b/content_manager/locale/fr/LC_MESSAGES/django.mo index 9b4d133ea469ac06de37019b83dfe372db27c702..f097158f3288fa8f37ee3b5d52aaff6ed078971e 100644 GIT binary patch delta 5639 zcmZYCd2p508OQN+C40EplbaAiLLek?1M!AHSPhGi$QBl<5)71KF(742*lgoff)rY) zlowQRumUorLZK9D*%f6O7(pdOaOhA_nAnb@=&*17{_>vw=Q;2Dp7%M=Iq$vk z=w8oz`#iym2_b6?pDrF_TH=vNV>Z#Ao~T}9Zl@X32k+oG?9sv)E-`B{3O8X}+>Y5; zk2!b~+hEIdV;;vo*4Y?OywNpicGK|EaSTV|SuDj|vKfstu`?dUXuN~XF*L)NI849- zY-8h57)m?|b^SE!JXFGqP!m|u6bFrYgGLA)8&Q+~vyJy-F7b!9{~POlRKjts+y}J6 zFyan24q!NOZ%o1gn1vOn@qcZ74O4i&*+fG(>_g4yBOBLa0`Uc;`sNz?Fe1|(C<}GI z2sN`(jKGno3XMfoq6%YhhV8FKJ@0oI)WECkiEY-s_JU(JK8+gqf{m}B2E1-#O)r+% zi%Kv9Rr)Td%JfCWWmt?)TbE~K(>Qfi%Q@hs0tlI&FoWD zA`Qr@m@BBw_82=+OVk-viN2`&hFQm>DmN=T=$@#fLpQ8Om1ZL<^Y>7@cqisy18Ro% zP$f^~WHPowy#+<6`^TWpPeARh>8SB$qY_$xO8nIz4eiF&*0-%&tbey2KqYt#mHAmz z$s6tYTQ>HPh5F-B4{nW0q#Y{J0H$Cm>bb#jG|FgHp)%Zw+NFC?CH@4J=^0cBFQeA- zN9#k|A4Pfe;B?GKKhDKxu|1x~0=$j7Kd)WW+YvNHZo@o~eLJT1eS{I`dT85g?T2v+eimJpOtYH6{)3&31o-u4_Q-Uh>c+^_`3iZGj zF#;E(HrWac!$YX^M^W$lr>G^mg1Y|}YP=B2pf~{|Fcaf=zR9EE$L^>ZOvYw74VCc> z)S4|sy$vgoG0isAS7`%=V5KxF&c|eiT1bWN25wV9+%)0d;U9AB_5&nMtDbeJTEHtp%TqNO)$G7^;e^h zy>J}PB(6fuH#fKh|XyD$z< zTmOxk$Peh%`+tvyz7Qgd-1j#VHS;2j$8MO2gKRtwmB=jQKU2p)D)k<0!0Y%oJl@6q z;#$zvt?+tO$+w~^w-clF{_j^qH=x$09xL$zDuM3Bu7gpTSE2^0!aSUTDfkBJ{_WV> zW6b+lMtq*^#$xO4?)|l>=Pkt`8``Xuu~o+=+jlz^T?PsDv6Z3GbjP5z~{M zj;*b;aU$_yvU)n9!Jfr0kviqFb2Ox-Ea@}c0~7f zuTMqojdqxZe$@Q~kY8vs81n zbnHMmTH-+DuQ4+bmG~l5MOI=2Znp7u%pm?4mB?jO#qL_Y!4fxlkSX@v1xOmX5dF9P=s3RQq+7>*$rgW7b7sF}C5aWB;CHx#GfG|a-!F%N%4y>97)+{$%FRbVhiUmZJZk{86g^ODHOlr^pst^2U4&7@8*mnG z!xoq^!oDr2amrDNRiP57!6d!^wf2Hl=;y>%EWmTNKYXM+P!?))6{7|kjjGfHdwxD9 z5dQ(axB->;4%8-pA0zPqsxrs0>Hq)hX=wBP7d4X*7D%sKENXyKRAR$WnZJnIWOb+| z`@N0d!Fb{=sQdQW{==9+d;&H8zc2(-Fx+=P5sLw^qHx^<{TwxZVjAZqDOViBH+r{SX! zUg@q)W~Eb+*wvHg{4udSG>MENoU4h&$%a-qM;4cAW&Xoa-~^J=Bk$1CC&w9`RNAEl z*Zlv}*0xX6ahT&e2k(aIX!|eF)+gTiJSoxJjNUhie3;=}Ps;Q@B3i@Ikt5Z~NbVnh zkJexgeR8?(ac6dNfv1bJAvxU>=NwF~^E`C=rue-b>=PQfF4|d`($kw}d-N66+&P@m z)06BxNXhl8=K7rDh;#zJHaY3^Boi%AH=ji=O@Buwa;}az)LH23pVrdet6#7v+IR6j zM|-Ei*VFUBiBC<>iKTx(eZS!-q`d?^n84AFL!Va8h*X~^%$b^6;(5&ZOKN$jpEI4E z2dTb{ELsP-rW40jjsP*gF-@O*Cy y6#8mr)=Ze*)KlHQde{7dp%Gz)S%JbHg}Y7`4^MA5`RBJ)&z#ouU!sv-%U4ac9F9sfpKyZ%k9 ztsL`kW=f6KsyNn`*qHiTUC*fLj?|8>F*U`SF*=-YUV&+~h}zwht& zJhJ<+=ky^@q&~UDM#HbW$Cz|H5^Kz_Xjl8xYs`(1F$3@>PR6`8#&C&QgK_9!Hol4N z@f7CZSJ(j)(u^s@LhBSvB3|zrF>lfE(s2-<#t(5A2FYd|K8M9vi}8396Yw6k#%67e z38N1cmthn>gSx)bIvthpJk$i1HpLNRUZ&B4j`gTX|J=rVFqimU+y57911e$D&V4{4 zMiaKNaTc~D?usc`f|*#38h^Gmf&rdy92&Y|H);m&+xQeF6Q4nMh7d-9G|#ehg}FRinn6f=XxxD)EI88rqGktTon6)*aTps00t9GXD@& z@{9KTbsOKYddNl(PC_LTKqZ=m0qlu-Ze$dV;WQ?oGTe^ZT)R*uK7z{hB&vj;qF$>n zt+#Cd15`rsl&K4*;X)jao$)B@HNAnlKec1i+YvF@Zo~A#1)La#-S8ALruo*Imdj1V z15lYy#3=lMbtbkTo@-rzN@xjcLTgZ!*ovyeF05q#nWMHN)X5k&unD6|U4dGwNvH?T z!WdkD+GI;H8uy{j*P`C{W2hy%fV%%WYP^5jxEbY$A#R1OdA>=dk&m5GGZ=@>u@aT> zWYn6?M7<5mkg?1b)Ti_`w#195rMiqt;Fdk_$#YBYLnV}9<1QG{0Hriks&drsu0*{~ z^N{^y)}aPGfSSo4a3I#91`LwD63<2@&>3T~6m|a~WEIVH)Y7g+Rr+{7_16dJZ*=Iv z4^THIcX4N)j`75~s6>lV=ZBz5UxBOfS$qBqR3&bs_Qrou*FUmx%dT#sUepAWyHbBO z3hB^=qi`-xK+WW1^x{QSBG*vY-9gRxAtsCW}Jpvs{W|Nt56l5gM6FJQq*|c zA~aOmJ*ZuJ6gA+VF%B=I9`p~?jBcY6xM$Bdq8<bQ!&g=(ZCx}75W8guk1xV;3HJU>QOVgi_7so^0$Y1q1gRkZM6Ox zHId(<-&1Rg0J5UMepGKLC$~+r2P#E?8mtX)VqwZgbSspeQ z4kzA5c2#%-b^qXA?t?3keQT;PLb7HJ4S5WE<2~$$g#>agDv^Ddg2z#nsKW}pVJ+>$ z=a~2vq{}p*?#u1#R4elw{r_19X|(4m=a!Pd9~6LCN4hLhOzR-mrGjM^Lj z#1P&^-JkG;`$uRprV^K+Dl`iHI1N?$7g67jm!F{idQc4=D&bblz@3k%4Sn{QA9K1L;y(BI8G1$ARS z>H+;wGZ}`uei8<8HtN2WsEWOY+H7ywcqgh7wWv*g7Bz0QjekOI zzQ1DA=0eTjE-HbCsI^WU>@HacYk{?wb+EMpwG@@82hKuG=qI*+GbZtTvs(>3f-2ED z8`q)M_Bv|jji>|yOlutGqpn|$I{ykr;WpGvciR2~s0o}w-CvLG@f(aNv%pYedSD*D zj#DrjZz10j<70ufBqLD+jYmCj7OukONO4T`aQE#g#|}D=+Wj@CP5U-#vwwh5`0;S+ zA5G&N9WAg9wFH+?GymGg&Dm*s{Zeo`7GWlC!cKSy^}2nDs-!7*E0ByagjuM~n}>Sd zRE)#f<-mxA=t>GEe>-IUSv^TLo-pA%xI?~;QeNmMej7qEu^;WDx zzEP&up1+G4CpPk=TbfkVjRmNg4naNm`>2HG*?1*t$sE*Dyp1aLVQW2hA#V1RyV=61 zaYo`;tilBR4XWaiBQ&%rPN3H4Gt>YL*bPIYjN#*Fp2RGC)w&lmh|ggh-okkN4)uVj z3OCVYR017QOVI<@VSj9=_y4>-aoc(ywG^Jw?pn3MrZq%vFnQJys0Yu$AK`p#gMUX= zvJo{-V2qns7&T5G)Px6Ps^0&JH1g?~hhcoP=>#)F4Rjr~xgMitnEtd|sZOZ#{V*BF zp%-VMHrXQ7E?tG~T@~dpz}DL`NPS+FaXFuj47y4PT%J z`WBUW`~-Jbhfvp*pkBWUR3*mR{%NSa5V7%QEF(UEL-9Tqc-Vv!ssAxLepu=L1yoSw z?$)WOk}km3_#!Iv*R9)73B8XC@Hpzal4>`Rp{TW*;UgTr^Q81~_hV6gUG@(zIMnziek(%CM3U*Zlw2!M4xQaf0Ix z2k(ICV*5X*tzT>BN{Y|hjNVN|0Zey1{tWM9qKzC~If71Ce_7H4S|d61>&SIsXSqM@ z>F&JePxG{LKJl;gJaWba^1Yqy6RvYzoU58TO9X{mfzN;>h99udOpBHRy?QmZbLgc$`D26;XMd>E?Jt!L}K+KH!=Hjy)WO z#3N9@d}m-N!{c?Pgo6G|`j^nB?}eZCdMtLa!pvHt_Qm1FJz diff --git a/content_manager/locale/fr/LC_MESSAGES/django.po b/content_manager/locale/fr/LC_MESSAGES/django.po index 35d6ed8d..d9f82fbf 100644 --- a/content_manager/locale/fr/LC_MESSAGES/django.po +++ b/content_manager/locale/fr/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-12-10 14:35+0100\n" -"PO-Revision-Date: 2024-12-10 14:35+0100\n" +"POT-Creation-Date: 2024-12-12 12:25+0100\n" +"PO-Revision-Date: 2024-12-12 12:25+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -26,13 +26,13 @@ msgstr "Afficher le titre sur l’image d’en-tĂȘte ?" msgid "Header image" msgstr "Image d’en-tĂȘte" -#: content_manager/abstract.py:39 content_manager/blocks.py:1025 -#: content_manager/blocks.py:1066 content_manager/blocks.py:1099 +#: content_manager/abstract.py:39 content_manager/blocks.py:1026 +#: content_manager/blocks.py:1067 content_manager/blocks.py:1100 msgid "Background color" msgstr "Couleur de fond" -#: content_manager/abstract.py:43 content_manager/blocks.py:1027 -#: content_manager/blocks.py:1068 content_manager/blocks.py:1101 +#: content_manager/abstract.py:43 content_manager/blocks.py:1028 +#: content_manager/blocks.py:1069 content_manager/blocks.py:1102 msgid "Uses the French Design System colors" msgstr "Utilise les couleurs du systĂšme de design de l'État" @@ -215,8 +215,8 @@ msgstr "Badge" #: content_manager/blocks.py:493 content_manager/blocks.py:568 #: content_manager/blocks.py:623 content_manager/blocks.py:632 #: content_manager/blocks.py:681 content_manager/blocks.py:880 -#: content_manager/blocks.py:910 content_manager/blocks.py:982 -#: content_manager/blocks.py:1038 content_manager/models.py:518 +#: content_manager/blocks.py:910 content_manager/blocks.py:983 +#: content_manager/blocks.py:1039 content_manager/models.py:517 msgid "Title" msgstr "Titre" @@ -241,7 +241,7 @@ msgstr "Tag" #: content_manager/blocks.py:439 content_manager/blocks.py:453 #: content_manager/blocks.py:570 content_manager/blocks.py:786 #: content_manager/blocks.py:882 content_manager/blocks.py:912 -#: content_manager/blocks.py:1040 +#: content_manager/blocks.py:1041 msgid "Heading level" msgstr "Niveau de titre" @@ -253,8 +253,8 @@ msgstr "À adapter Ă  la structure de la page. Par dĂ©faut en-tĂȘte 3." #: content_manager/blocks.py:270 content_manager/blocks.py:386 #: content_manager/blocks.py:423 content_manager/blocks.py:460 -#: content_manager/blocks.py:474 content_manager/blocks.py:983 -#: content_manager/blocks.py:1070 +#: content_manager/blocks.py:474 content_manager/blocks.py:984 +#: content_manager/blocks.py:1071 msgid "Content" msgstr "Contenu" @@ -456,7 +456,7 @@ msgid "Image width" msgstr "Largeur de l’image" #: content_manager/blocks.py:531 content_manager/blocks.py:642 -#: content_manager/blocks.py:941 content_manager/blocks.py:1113 +#: content_manager/blocks.py:941 content_manager/blocks.py:1114 msgid "Rich text" msgstr "Texte avec mise en forme" @@ -489,7 +489,7 @@ msgid "Caption" msgstr "LĂ©gende" #: content_manager/blocks.py:603 content_manager/blocks.py:948 -#: content_manager/blocks.py:1120 +#: content_manager/blocks.py:1122 msgid "Quote" msgstr "Citation" @@ -561,7 +561,7 @@ msgid "Video ratio" msgstr "Ratio de la vidĂ©o" #: content_manager/blocks.py:713 content_manager/blocks.py:944 -#: content_manager/blocks.py:1122 +#: content_manager/blocks.py:1124 msgid "Transcription" msgstr "Transcription" @@ -575,7 +575,7 @@ msgstr "" "Optionnel, toutes les valeurs peuvent ĂȘtre spĂ©cifiĂ©es ou surchargĂ©es ci-" "dessous" -#: content_manager/blocks.py:792 content_manager/models.py:550 +#: content_manager/blocks.py:792 content_manager/models.py:549 msgid "Name" msgstr "Nom" @@ -591,16 +591,16 @@ msgstr "Organisation" msgid "Contact info" msgstr "Informations de contact" -#: content_manager/blocks.py:797 content_manager/models.py:95 -#: content_manager/models.py:137 content_manager/models.py:151 -#: content_manager/models.py:157 +#: content_manager/blocks.py:797 content_manager/models.py:94 +#: content_manager/models.py:136 content_manager/models.py:150 +#: content_manager/models.py:156 #: content_manager/templates/content_manager/tags_list_page.html:49 #: content_manager/views.py:46 content_manager/views.py:77 msgid "Tags" msgstr "Étiquettes" #: content_manager/blocks.py:886 content_manager/blocks.py:916 -#: content_manager/blocks.py:1044 +#: content_manager/blocks.py:1045 msgid "Adapt to the page layout. Defaults to heading 2." msgstr "À adapter Ă  la structure de la page. Par dĂ©faut en-tĂȘte 2." @@ -620,7 +620,7 @@ msgid "Filter by category" msgstr "Filtrer par catĂ©gorie" #: content_manager/blocks.py:893 content_manager/blocks.py:923 -#: content_manager/models.py:57 +#: content_manager/models.py:56 #: content_manager/templates/content_manager/blocks/blog_recent_entries.html:28 #: content_manager/templates/content_manager/blocks/events_recent_entries.html:28 #: content_manager/templates/content_manager/catalog_index_page.html:94 @@ -647,7 +647,7 @@ msgstr "" "La source est l’organisation Ă  laquelle appartient l’auteur de l’article" #: content_manager/blocks.py:901 content_manager/blocks.py:931 -#: content_manager/models.py:65 +#: content_manager/models.py:64 msgid "Show filters" msgstr "Afficher les filtres" @@ -655,122 +655,123 @@ msgstr "Afficher les filtres" msgid "Event calendar" msgstr "Agenda" -#: content_manager/blocks.py:943 content_manager/blocks.py:1121 +#: content_manager/blocks.py:943 content_manager/blocks.py:1123 msgid "Video" msgstr "VidĂ©o" -#: content_manager/blocks.py:945 content_manager/blocks.py:1117 +#: content_manager/blocks.py:945 content_manager/blocks.py:1118 msgid "Accordions" msgstr "AccordĂ©ons" #: content_manager/blocks.py:945 content_manager/blocks.py:946 #: content_manager/blocks.py:947 content_manager/blocks.py:948 #: content_manager/blocks.py:949 content_manager/blocks.py:952 -#: content_manager/blocks.py:953 content_manager/blocks.py:964 -#: content_manager/blocks.py:1015 content_manager/blocks.py:1055 -#: content_manager/blocks.py:1056 content_manager/blocks.py:1117 +#: content_manager/blocks.py:953 content_manager/blocks.py:958 +#: content_manager/blocks.py:965 content_manager/blocks.py:1016 +#: content_manager/blocks.py:1056 content_manager/blocks.py:1057 #: content_manager/blocks.py:1118 content_manager/blocks.py:1119 -#: content_manager/blocks.py:1120 content_manager/blocks.py:1126 -#: content_manager/blocks.py:1127 content_manager/blocks.py:1128 -#: content_manager/blocks.py:1129 +#: content_manager/blocks.py:1121 content_manager/blocks.py:1122 +#: content_manager/blocks.py:1128 content_manager/blocks.py:1129 +#: content_manager/blocks.py:1130 content_manager/blocks.py:1131 msgid "DSFR components" msgstr "Composants du DSFR" -#: content_manager/blocks.py:946 content_manager/blocks.py:1118 +#: content_manager/blocks.py:946 content_manager/blocks.py:1119 msgid "Callout" msgstr "Mise en avant" -#: content_manager/blocks.py:947 content_manager/blocks.py:1119 +#: content_manager/blocks.py:947 content_manager/blocks.py:1121 msgid "Highlight" msgstr "Mise en exergue" -#: content_manager/blocks.py:949 content_manager/blocks.py:1126 +#: content_manager/blocks.py:949 content_manager/blocks.py:958 +#: content_manager/blocks.py:1128 msgid "Stepper" msgstr "Étapier" -#: content_manager/blocks.py:950 +#: content_manager/blocks.py:950 content_manager/blocks.py:1120 msgid "Text and call to action" msgstr "Texte et appel Ă  action" -#: content_manager/blocks.py:951 content_manager/blocks.py:1125 +#: content_manager/blocks.py:951 content_manager/blocks.py:1127 msgid "Single link" msgstr "Lien isolĂ©" -#: content_manager/blocks.py:952 content_manager/blocks.py:1131 +#: content_manager/blocks.py:952 content_manager/blocks.py:1133 msgid "Iframe" msgstr "Iframe" -#: content_manager/blocks.py:953 content_manager/blocks.py:1128 +#: content_manager/blocks.py:953 content_manager/blocks.py:1130 msgid "Tile" msgstr "Tuile" -#: content_manager/blocks.py:954 content_manager/blocks.py:1153 +#: content_manager/blocks.py:954 content_manager/blocks.py:1155 msgid "Blog recent entries" msgstr "Articles rĂ©cents du blog" #: content_manager/blocks.py:954 content_manager/blocks.py:956 -#: content_manager/blocks.py:1148 content_manager/blocks.py:1153 -#: content_manager/blocks.py:1157 +#: content_manager/blocks.py:1150 content_manager/blocks.py:1155 +#: content_manager/blocks.py:1159 msgid "Website structure" msgstr "Structure du site" -#: content_manager/blocks.py:956 content_manager/blocks.py:1157 +#: content_manager/blocks.py:956 content_manager/blocks.py:1159 msgid "Event calendar recent entries" msgstr "Articles rĂ©cents de l’agenda" -#: content_manager/blocks.py:964 content_manager/blocks.py:1015 +#: content_manager/blocks.py:965 content_manager/blocks.py:1016 msgid "Vertical card" msgstr "Carte verticale" -#: content_manager/blocks.py:965 +#: content_manager/blocks.py:966 msgid "Contact card" msgstr "Carte contact" -#: content_manager/blocks.py:965 +#: content_manager/blocks.py:966 msgid "Extra components" msgstr "Composants supplĂ©mentaires" -#: content_manager/blocks.py:970 content_manager/blocks.py:995 +#: content_manager/blocks.py:971 content_manager/blocks.py:996 msgid "Column width" msgstr "Largeur de colonne" -#: content_manager/blocks.py:974 +#: content_manager/blocks.py:975 msgid "Items" msgstr "ÉlĂ©ments" -#: content_manager/blocks.py:987 +#: content_manager/blocks.py:988 msgid "Tab" msgstr "Onglet" -#: content_manager/blocks.py:1005 +#: content_manager/blocks.py:1006 msgid "The total width of all columns should be 12." msgstr "La largeur totale de toutes les colonnes doit ĂȘtre 12." -#: content_manager/blocks.py:1008 +#: content_manager/blocks.py:1009 msgid "Column content" msgstr "Contenu de la colonnne" -#: content_manager/blocks.py:1016 +#: content_manager/blocks.py:1017 msgid "Adjustable column" msgstr "Colonne ajustable" -#: content_manager/blocks.py:1016 content_manager/blocks.py:1057 -#: content_manager/blocks.py:1132 content_manager/blocks.py:1133 +#: content_manager/blocks.py:1017 content_manager/blocks.py:1058 #: content_manager/blocks.py:1134 content_manager/blocks.py:1135 -#: content_manager/blocks.py:1139 +#: content_manager/blocks.py:1136 content_manager/blocks.py:1137 +#: content_manager/blocks.py:1141 msgid "Page structure" msgstr "Structure de la page" -#: content_manager/blocks.py:1023 content_manager/blocks.py:1064 -#: content_manager/blocks.py:1097 +#: content_manager/blocks.py:1024 content_manager/blocks.py:1065 +#: content_manager/blocks.py:1098 msgid "Background image" msgstr "Image de fond" -#: content_manager/blocks.py:1030 +#: content_manager/blocks.py:1031 msgid "Background color, hexadecimal format (obsolete)" msgstr "Couleur de fond, format hexadĂ©cimal (obsolĂšte)" -#: content_manager/blocks.py:1033 +#: content_manager/blocks.py:1034 msgid "" "This field is obsolete and will be removed in the near future. Replace it " "with the background color." @@ -778,35 +779,35 @@ msgstr "" "Ce champ est obsolĂšte et sera prochainement supprimĂ©. Merci de le remplacer " "avec la couleur de fond." -#: content_manager/blocks.py:1035 +#: content_manager/blocks.py:1036 msgid "Incorrect color format, must be #fff or #f5f5f5" msgstr "Format de couleur incorrect, doit ĂȘtre #fff ou #f5f5f5" -#: content_manager/blocks.py:1046 +#: content_manager/blocks.py:1047 msgid "Columns" msgstr "Colonnes" -#: content_manager/blocks.py:1054 content_manager/blocks.py:1115 +#: content_manager/blocks.py:1055 content_manager/blocks.py:1116 msgid "Image and text" msgstr "Image et texte" -#: content_manager/blocks.py:1055 content_manager/blocks.py:1127 +#: content_manager/blocks.py:1056 content_manager/blocks.py:1129 msgid "Horizontal card" msgstr "Carte horizontale" -#: content_manager/blocks.py:1056 content_manager/blocks.py:1129 +#: content_manager/blocks.py:1057 content_manager/blocks.py:1131 msgid "Tabs" msgstr "Onglets" -#: content_manager/blocks.py:1057 content_manager/blocks.py:1134 +#: content_manager/blocks.py:1058 content_manager/blocks.py:1136 msgid "Item grid" msgstr "Grille d’élĂ©ments" -#: content_manager/blocks.py:1078 +#: content_manager/blocks.py:1079 msgid "Parent page" msgstr "Page parente" -#: content_manager/blocks.py:1088 content_manager/blocks.py:1170 +#: content_manager/blocks.py:1089 content_manager/blocks.py:1172 msgid "" "Warning: Use HTML block with caution. Malicious code can compromise the " "security of the site." @@ -814,64 +815,64 @@ msgstr "" "Avertissement : Utilisez le bloc HTML avec prĂ©caution. Un code malveillant " "peut compromettre la sĂ©curitĂ© du site." -#: content_manager/blocks.py:1090 +#: content_manager/blocks.py:1091 msgid "Page tree" msgstr "Arborescence de pages" -#: content_manager/blocks.py:1103 +#: content_manager/blocks.py:1104 msgid "Main content" msgstr "Contenu principal" -#: content_manager/blocks.py:1104 +#: content_manager/blocks.py:1105 msgid "Side menu title" msgstr "Titre du menu latĂ©ral" -#: content_manager/blocks.py:1105 +#: content_manager/blocks.py:1106 msgid "Side menu content" msgstr "Contenu du menu latĂ©ral" -#: content_manager/blocks.py:1116 +#: content_manager/blocks.py:1117 msgid "Alert message" msgstr "Message d’alerte" -#: content_manager/blocks.py:1123 +#: content_manager/blocks.py:1125 msgid "Badge list" msgstr "Liste de badges" -#: content_manager/blocks.py:1124 +#: content_manager/blocks.py:1126 msgid "Tag list" msgstr "Liste de tags" -#: content_manager/blocks.py:1130 +#: content_manager/blocks.py:1132 msgid "Markdown" msgstr "Markdown" -#: content_manager/blocks.py:1130 content_manager/blocks.py:1131 -#: content_manager/blocks.py:1172 +#: content_manager/blocks.py:1132 content_manager/blocks.py:1133 +#: content_manager/blocks.py:1174 msgid "Expert syntax" msgstr "Syntaxe experte" -#: content_manager/blocks.py:1132 +#: content_manager/blocks.py:1134 msgid "Separator" msgstr "SĂ©parateur" -#: content_manager/blocks.py:1133 +#: content_manager/blocks.py:1135 msgid "Multiple columns" msgstr "Multi-colonnes" -#: content_manager/blocks.py:1135 +#: content_manager/blocks.py:1137 msgid "Full width background" msgstr "Fond pleine largeur" -#: content_manager/blocks.py:1139 +#: content_manager/blocks.py:1141 msgid "Full width background with side menu" msgstr "Fond pleine largeur avec menu latĂ©ral" -#: content_manager/blocks.py:1145 +#: content_manager/blocks.py:1147 msgid "Subpages list" msgstr "Liste des sous-pages" -#: content_manager/blocks.py:1146 +#: content_manager/blocks.py:1148 msgid "A simple, alphabetical list of the subpages of the current page." msgstr "" "Une liste alphabĂ©tique toute simple des sous-pages de la page actuelle." @@ -959,56 +960,56 @@ msgstr "IcĂŽne du cĂŽtĂ© droit" msgid "Icon on the left side" msgstr "IcĂŽne du cĂŽtĂ© gauche" -#: content_manager/models.py:34 +#: content_manager/models.py:33 msgid "Content page" msgstr "Page de contenu" -#: content_manager/models.py:53 +#: content_manager/models.py:52 msgid "Entries per page" msgstr "EntrĂ©es par page" -#: content_manager/models.py:72 +#: content_manager/models.py:71 msgid "Catalog index page" msgstr "Index de catalogue" -#: content_manager/models.py:100 +#: content_manager/models.py:99 #, python-format msgid "Pages tagged with %(tag)s" msgstr "Pages avec l’étiquette %(tag)s" -#: content_manager/models.py:173 +#: content_manager/models.py:172 msgid "Tag" msgstr "Étiquette" -#: content_manager/models.py:195 content_manager/models.py:230 +#: content_manager/models.py:194 content_manager/models.py:229 msgid "Custom scripts" msgstr "Scripts personnalisĂ©s" -#: content_manager/models.py:200 +#: content_manager/models.py:199 msgid "Scripts in the section" msgstr "Scripts dans la section " -#: content_manager/models.py:201 +#: content_manager/models.py:200 msgid "Allows for scripts to be placed in the tag of the website pages." msgstr "" "Permet de placer des scripts Ă  l’intĂ©rieur du tag des pages du site." -#: content_manager/models.py:207 +#: content_manager/models.py:206 msgid "Scripts in the section" msgstr "Scripts dans la section " -#: content_manager/models.py:208 +#: content_manager/models.py:207 msgid "" "Allows for scripts to be placed at the end of the tag of the website " "pages." msgstr "" "Permet de placer des scripts Ă  l’intĂ©rieur du tag des pages du site." -#: content_manager/models.py:212 +#: content_manager/models.py:211 msgid "Use Tarteaucitron?" msgstr "Utiliser Tarteaucitron ?" -#: content_manager/models.py:216 +#: content_manager/models.py:215 msgid "" "See Documentation" @@ -1016,7 +1017,7 @@ msgstr "" "Voir Documentation" -#: content_manager/models.py:231 +#: content_manager/models.py:230 msgid "" "Allows to add custom CSS and JS to the site, for example for Matomo, " "Tarteaucitron
" @@ -1024,19 +1025,19 @@ msgstr "" "Permet d’ajouter du CSS et du JS personnalisĂ© au site, par exemple pour " "Matomo, Tarteaucitron
" -#: content_manager/models.py:239 +#: content_manager/models.py:238 msgid "Site configuration" msgstr "Configuration du site" -#: content_manager/models.py:240 +#: content_manager/models.py:239 msgid "Site configurations" msgstr "Configurations du site" -#: content_manager/models.py:243 +#: content_manager/models.py:242 msgid "Institution (header)" msgstr "Institution (en-tĂȘte)" -#: content_manager/models.py:248 +#: content_manager/models.py:247 msgid "" "Institution brand as defined on official page." @@ -1044,47 +1045,47 @@ msgstr "" "Nom de l’institution tel que dĂ©fini sur la page officielle." -#: content_manager/models.py:254 +#: content_manager/models.py:253 msgid "Institution with line break (header)" msgstr "Institution avec cĂ©sure (en-tĂȘte)" -#: content_manager/models.py:258 +#: content_manager/models.py:257 msgid "Institution brand with
tags for line breaks" msgstr "Nom de l’institution avec des
pour les retours Ă  la ligne" -#: content_manager/models.py:261 +#: content_manager/models.py:260 msgid "Institution (footer)" msgstr "Institution (pied)" -#: content_manager/models.py:268 +#: content_manager/models.py:267 msgid "Institution with line break (footer)" msgstr "Institution avec cĂ©sure (pied)" -#: content_manager/models.py:275 content_manager/models.py:277 +#: content_manager/models.py:274 content_manager/models.py:276 msgid "Site title" msgstr "Titre du site" -#: content_manager/models.py:281 content_manager/models.py:283 +#: content_manager/models.py:280 content_manager/models.py:282 msgid "Site tagline" msgstr "Sous-titre du site" -#: content_manager/models.py:288 +#: content_manager/models.py:287 msgid "Notice title" msgstr "Titre du bandeau" -#: content_manager/models.py:292 content_manager/models.py:299 +#: content_manager/models.py:291 content_manager/models.py:298 msgid "Can include HTML" msgstr "Peut inclure du HTML" -#: content_manager/models.py:296 +#: content_manager/models.py:295 msgid "Notice description" msgstr "Description du bandeau" -#: content_manager/models.py:302 +#: content_manager/models.py:301 msgid "Notice type" msgstr "Type de bandeau" -#: content_manager/models.py:309 +#: content_manager/models.py:308 msgid "" "Use is strictly regulated, see documentation." -#: content_manager/models.py:316 +#: content_manager/models.py:315 msgid "Notice link" msgstr "Lien du bandeau" -#: content_manager/models.py:319 +#: content_manager/models.py:318 msgid "Standardized consultation link at the end of the notice." msgstr "Lien de consultation standardisĂ© Ă  la fin du bandeau." -#: content_manager/models.py:323 +#: content_manager/models.py:322 msgid "Notice icon class" msgstr "Classe d’icĂŽne du bandeau" -#: content_manager/models.py:327 +#: content_manager/models.py:326 msgid "For weather alerts only" msgstr "Pour les bandeaux de vigilance mĂ©tĂ©o uniquement" -#: content_manager/models.py:330 +#: content_manager/models.py:329 msgid "Collapsible?" msgstr "Refermable ?" -#: content_manager/models.py:332 +#: content_manager/models.py:331 msgid "Show the BETA tag next to the title" msgstr "Afficher la mention BETA Ă  cĂŽtĂ© du titre" -#: content_manager/models.py:335 content_manager/models.py:554 +#: content_manager/models.py:334 content_manager/models.py:553 msgid "Description" msgstr "Description" -#: content_manager/models.py:348 content_manager/models.py:424 +#: content_manager/models.py:347 content_manager/models.py:423 msgid "Operator logo" msgstr "Logo opĂ©rateur" -#: content_manager/models.py:352 +#: content_manager/models.py:351 msgid "Logo alt text" msgstr "Alternative textuelle du logo" -#: content_manager/models.py:355 +#: content_manager/models.py:354 msgid "Must contain the text present in the image." msgstr "Doit impĂ©rativement contenir le texte prĂ©sent dans l’image." -#: content_manager/models.py:358 +#: content_manager/models.py:357 msgid "Width (em)" msgstr "Largeur (em)" -#: content_manager/models.py:364 +#: content_manager/models.py:363 msgid "" "To be adjusted according to the width of the logo. Example for a " "vertical logo: 3.5, Example for a horizontal logo: 8." @@ -1146,64 +1147,64 @@ msgstr "" "À ajuster en fonction de la largeur du logo. Exemple pour un logo vertical: " "3.5, Exemple pour un logo horizontal: 8." -#: content_manager/models.py:369 +#: content_manager/models.py:368 msgid "Display search bar in the header" msgstr "Afficher la barre de recherche dans l’en-tĂȘte" -#: content_manager/models.py:370 +#: content_manager/models.py:369 msgid "Display theme modale button" msgstr "Afficher le bouton de choix du thĂšme" -#: content_manager/models.py:371 +#: content_manager/models.py:370 msgid "Mourning" msgstr "Mise en berne" -#: content_manager/models.py:373 +#: content_manager/models.py:372 msgid "Newsletter description" msgstr "Description de la lettre d’information" -#: content_manager/models.py:376 +#: content_manager/models.py:375 msgid "Newsletter registration URL" msgstr "URL d‘inscription Ă  la lettre d’information" -#: content_manager/models.py:381 +#: content_manager/models.py:380 msgid "Activate share links on content_pages" msgstr "Activer les liens de partage sur les pages de contenu" -#: content_manager/models.py:382 +#: content_manager/models.py:381 msgid "Activate share links on blog posts" msgstr "Activer les liens de partage sur les articles de blog" -#: content_manager/models.py:383 +#: content_manager/models.py:382 msgid "Activate share links on event pages" msgstr "Activer les liens de partage sur les pages d’évĂ©nement" -#: content_manager/models.py:386 +#: content_manager/models.py:385 msgid "Display a Share on Facebook link at the bottom of pages" msgstr "Afficher un lien de partage sur Facebook en bas des pages" -#: content_manager/models.py:389 +#: content_manager/models.py:388 msgid "Display a Share on X (previously Twitter) link at the bottom of pages" msgstr "" "Afficher un lien de partage sur X (anciennement Twitter) en bas des pages" -#: content_manager/models.py:392 +#: content_manager/models.py:391 msgid "Display a Share on LinkedIn link at the bottom of pages" msgstr "Afficher un lien de partage sur LinkedIn en bas des pages" -#: content_manager/models.py:394 +#: content_manager/models.py:393 msgid "Display a Share via email link at the bottom of pages" msgstr "Afficher un lien de partage par courrier Ă©lectronique en bas des pages" -#: content_manager/models.py:396 +#: content_manager/models.py:395 msgid "Display a Copy to clipboard link at the bottom of pages" msgstr "Afficher un lien de copie dans le presse-papiers en bas des pages" -#: content_manager/models.py:412 +#: content_manager/models.py:411 msgid "Important notice" msgstr "Bandeau d’information importante" -#: content_manager/models.py:414 +#: content_manager/models.py:413 msgid "" "The important notice banner should only be used for essential and temporary " "information. (Excessive or continuous use risks “drowning” " @@ -1213,83 +1214,83 @@ msgstr "" "information primordiale et temporaire. (Une utilisation excessive ou " "continue risque de “noyer” le message)" -#: content_manager/models.py:433 +#: content_manager/models.py:432 msgid "Advanced settings" msgstr "ParamĂštres avancĂ©s" -#: content_manager/models.py:443 +#: content_manager/models.py:442 msgid "Header" msgstr "En-tĂȘte" -#: content_manager/models.py:450 +#: content_manager/models.py:449 msgid "Footer" msgstr "Pied de page" -#: content_manager/models.py:460 +#: content_manager/models.py:459 msgid "Newsletter" msgstr "Lettre d’information" -#: content_manager/models.py:462 content_manager/models.py:535 +#: content_manager/models.py:461 content_manager/models.py:534 msgid "Social media items" msgstr "Liens de rĂ©seaux sociaux" -#: content_manager/models.py:469 +#: content_manager/models.py:468 msgid "Activate share links by type of page" msgstr "Activer les liens de partage par type de page" -#: content_manager/models.py:479 +#: content_manager/models.py:478 msgid "Types of share links" msgstr "Types de liens de partage" -#: content_manager/models.py:484 +#: content_manager/models.py:483 msgid "Generic" msgstr "GĂ©nĂ©riques" -#: content_manager/models.py:485 +#: content_manager/models.py:484 msgid "Brand block" msgstr "Bloc-marque" -#: content_manager/models.py:486 +#: content_manager/models.py:485 msgid "Newsletter, social media and share links" msgstr "Lettre d’information, rĂ©seaux sociaux et liens de partage" -#: content_manager/models.py:521 +#: content_manager/models.py:520 msgid "URL" msgstr "URL" -#: content_manager/models.py:525 +#: content_manager/models.py:524 msgid "Icon class" msgstr "Classe d’icĂŽne" -#: content_manager/models.py:534 +#: content_manager/models.py:533 msgid "Social media item" msgstr "Lien de rĂ©seau social" -#: content_manager/models.py:541 +#: content_manager/models.py:540 msgid "Category" msgstr "CatĂ©gorie" -#: content_manager/models.py:544 +#: content_manager/models.py:543 msgid "Mega menu category" msgstr "CatĂ©gorie de mĂ©ga menu" -#: content_manager/models.py:545 +#: content_manager/models.py:544 msgid "Mega menu categories" msgstr "CatĂ©gories de mĂ©ga menu" -#: content_manager/models.py:555 +#: content_manager/models.py:554 msgid "Main link" msgstr "Lien principal" -#: content_manager/models.py:565 +#: content_manager/models.py:564 msgid "Categories" msgstr "CatĂ©gories" -#: content_manager/models.py:566 +#: content_manager/models.py:565 msgid "Maximum 4 categories, each with maximum 8 links." msgstr "Maximum 4 catĂ©gories, chacune contenant maximum 8 liens." -#: content_manager/models.py:577 +#: content_manager/models.py:576 msgid "Mega menu" msgstr "MĂ©ga menu" @@ -1350,6 +1351,11 @@ msgstr "VisibilitĂ© de la page restreinte par mot de passe" msgid "Page with restricted visibility" msgstr "VisibilitĂ© de la page restreinte" +#: content_manager/templates/content_manager/blocks/stepper.html:8 +#, python-format +msgid "Step %(current_step)s of %(total_steps)s" +msgstr "Étape %(current_step)s sur %(total_steps)s" + #: content_manager/templates/content_manager/blocks/tabs.html:3 msgid "Tabs group" msgstr "Groupe d’onglets" From f02151744339485b603678a0e9e8c7095967add2 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 15:05:25 +0100 Subject: [PATCH 08/11] Add imageandtext and alert to the fullwidth background field --- content_manager/blocks.py | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/content_manager/blocks.py b/content_manager/blocks.py index fff8fe94..396ff2ea 100644 --- a/content_manager/blocks.py +++ b/content_manager/blocks.py @@ -564,7 +564,7 @@ class Meta: template = "content_manager/blocks/image_and_text.html" -class ImageBlock(blocks.StructBlock): +class CenteredImageBlock(blocks.StructBlock): title = blocks.CharBlock(label=_("Title"), required=False) heading_tag = blocks.ChoiceBlock( label=_("Heading level"), @@ -939,7 +939,10 @@ class Meta: ## Page structure blocks class CommonStreamBlock(blocks.StreamBlock): text = blocks.RichTextBlock(label=_("Rich text")) - image = ImageBlock(label=_("Image")) + image = CenteredImageBlock(label=_("Image")) + imageandtext = ImageAndTextBlock(label=_("Image and text")) + alert = AlertBlock(label=_("Alert message")) + text_cta = TextAndCTA(label=_("Text and call to action")) video = VideoBlock(label=_("Video")) transcription = TranscriptionBlock(label=_("Transcription")) accordions = AccordionsBlock(label=_("Accordions"), group=_("DSFR components")) @@ -947,7 +950,6 @@ class CommonStreamBlock(blocks.StreamBlock): highlight = HighlightBlock(label=_("Highlight"), group=_("DSFR components")) quote = QuoteBlock(label=_("Quote"), group=_("DSFR components")) stepper = StepperBlock(label=_("Stepper"), group=_("DSFR components")) - text_cta = TextAndCTA(label=_("Text and call to action")) link = SingleLinkBlock(label=_("Single link")) iframe = IframeBlock(label=_("Iframe"), group=_("DSFR components")) tile = TileBlock(label=_("Tile"), group=_("DSFR components")) @@ -1112,19 +1114,19 @@ class Meta: STREAMFIELD_COMMON_BLOCKS = [ ("paragraph", blocks.RichTextBlock(label=_("Rich text"))), - ("image", ImageBlock()), + ("image", CenteredImageBlock()), ("imageandtext", ImageAndTextBlock(label=_("Image and text"))), ("alert", AlertBlock(label=_("Alert message"))), - ("accordions", AccordionsBlock(label=_("Accordions"), group=_("DSFR components"))), - ("callout", CalloutBlock(label=_("Callout"), group=_("DSFR components"))), ("text_cta", TextAndCTA(label=_("Text and call to action"))), - ("highlight", HighlightBlock(label=_("Highlight"), group=_("DSFR components"))), - ("quote", QuoteBlock(label=_("Quote"), group=_("DSFR components"))), ("video", VideoBlock(label=_("Video"))), ("transcription", TranscriptionBlock(label=_("Transcription"))), ("badges_list", BadgesListBlock(label=_("Badge list"))), ("tags_list", TagListBlock(label=_("Tag list"))), ("link", SingleLinkBlock(label=_("Single link"))), + ("accordions", AccordionsBlock(label=_("Accordions"), group=_("DSFR components"))), + ("callout", CalloutBlock(label=_("Callout"), group=_("DSFR components"))), + ("highlight", HighlightBlock(label=_("Highlight"), group=_("DSFR components"))), + ("quote", QuoteBlock(label=_("Quote"), group=_("DSFR components"))), ("stepper", StepperBlock(label=_("Stepper"), group=_("DSFR components"))), ("card", HorizontalCardBlock(label=_("Horizontal card"), group=_("DSFR components"))), ("tile", TileBlock(label=_("Tile"), group=_("DSFR components"))), From e963fe64753b5e0d3b22dbba0ab5aed50deb85df Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 18:08:54 +0100 Subject: [PATCH 09/11] Add content --- content_manager/blocks.py | 40 ++++++++++-------- .../locale/fr/LC_MESSAGES/django.mo | Bin 23850 -> 23868 bytes .../locale/fr/LC_MESSAGES/django.po | 6 +-- .../blocks/image_and_text.html | 4 +- .../blocks/image_svg_or_raster.html | 6 ++- 5 files changed, 32 insertions(+), 24 deletions(-) diff --git a/content_manager/blocks.py b/content_manager/blocks.py index 396ff2ea..9c5f7159 100644 --- a/content_manager/blocks.py +++ b/content_manager/blocks.py @@ -5,7 +5,7 @@ from wagtail import blocks from wagtail.blocks import BooleanBlock, StructValue from wagtail.documents.blocks import DocumentChooserBlock -from wagtail.images.blocks import ImageChooserBlock +from wagtail.images.blocks import ImageBlock, ImageChooserBlock from wagtail.snippets.blocks import SnippetChooserBlock from wagtailmarkdown.blocks import MarkdownBlock @@ -510,7 +510,7 @@ class Meta: class ImageAndTextBlock(blocks.StructBlock): - image = ImageChooserBlock(label=_("Image")) + image = ImageBlock(label=_("Image")) image_side = blocks.ChoiceBlock( label=_("Side where the image is displayed"), choices=[ @@ -945,6 +945,8 @@ class CommonStreamBlock(blocks.StreamBlock): text_cta = TextAndCTA(label=_("Text and call to action")) video = VideoBlock(label=_("Video")) transcription = TranscriptionBlock(label=_("Transcription")) + badges_list = BadgesListBlock(label=_("Badge list")) + tags_list = TagListBlock(label=_("Tag list")) accordions = AccordionsBlock(label=_("Accordions"), group=_("DSFR components")) callout = CalloutBlock(label=_("Callout"), group=_("DSFR components")) highlight = HighlightBlock(label=_("Highlight"), group=_("DSFR components")) @@ -958,6 +960,14 @@ class CommonStreamBlock(blocks.StreamBlock): label=_("Event calendar recent entries"), group=_("Website structure") ) stepper = StepperBlock(label=_("Stepper"), group=_("DSFR components")) + markdown = MarkdownBlock(label=_("Markdown"), group=_("Expert syntax")) + iframe = IframeBlock(label=_("Iframe"), group=_("Expert syntax")) + html = blocks.RawHTMLBlock( + readonly=True, + help_text=_("Warning: Use HTML block with caution. Malicious code can compromise the security of the site."), + group=_("Expert syntax"), + ) + separator = SeparatorBlock(label=_("Separator"), group=_("Page structure")) class Meta: icon = "dots-horizontal" @@ -1133,6 +1143,16 @@ class Meta: ("tabs", TabsBlock(label=_("Tabs"), group=_("DSFR components"))), ("markdown", MarkdownBlock(label=_("Markdown"), group=_("Expert syntax"))), ("iframe", IframeBlock(label=_("Iframe"), group=_("Expert syntax"))), + ( + "html", + blocks.RawHTMLBlock( + readonly=True, + help_text=_( + "Warning: Use HTML block with caution. Malicious code can compromise the security of the site." + ), + group=_("Expert syntax"), + ), + ), ("separator", SeparatorBlock(label=_("Separator"), group=_("Page structure"))), ("multicolumns", MultiColumnsWithTitleBlock(label=_("Multiple columns"), group=_("Page structure"))), ("item_grid", ItemGridBlock(label=_("Item grid"), group=_("Page structure"))), @@ -1161,19 +1181,3 @@ class Meta: EventsRecentEntriesBlock(label=_("Event calendar recent entries"), group=_("Website structure")), ), ] - -# See warning on https://docs.wagtail.org/en/latest/reference/streamfield/blocks.html#wagtail.blocks.RawHTMLBlock -# There is currently no way to restrict a type of block depending on user permissions, -# pending issue https://github.com/wagtail/wagtail/issues/6323 -STREAMFIELD_COMMON_BLOCKS += [ - ( - "html", - blocks.RawHTMLBlock( - readonly=True, - help_text=_( - "Warning: Use HTML block with caution. Malicious code can compromise the security of the site." - ), - group=_("Expert syntax"), - ), - ) -] diff --git a/content_manager/locale/fr/LC_MESSAGES/django.mo b/content_manager/locale/fr/LC_MESSAGES/django.mo index f097158f3288fa8f37ee3b5d52aaff6ed078971e..2ec859b669b02e9d776be78e78ef260a79ae0f51 100644 GIT binary patch delta 585 zcmXZZO(+C$7{~Ev+x7msY-`!n5=BI6*J_iCQZ6KmwMZMQxnGyng2#&MHzT<*AyP7xUz74hO07T`X5 z@W{?r=q6_{AD`{|3s#X|u^7Lw9DlJ43!@?>=*1#zMD?9^^kIKg47p=5O`#9{V^nIDR?NX zpqhLe{kUg0UZ9iwh-xRE?D`wlk$>#$p5(8{Z8(4_>~M%&<30H!E)v3%DUk|%HCU)E z{lrTAMm4!}+R}?^pjOl|jH>Sf)gZT6idj@g_l7}y#~Q4iv5uw-ndAQobMLX&X|vjF za)l$IVA|D_^tU~n>4`vdi=NUG%d?uET+>=L8C;!ToJ;7*jrG8M&OA^(Ye_A=J$hR7 E2R^f0NdN!< delta 567 zcmXZZJxD@P7{>8eGR;1h1p&3J%z zJks+y+Q~n@#9HUqzx+>7V1df z(25_Znt$sW*J_0vs4@4T+LuRFft nH|FyfjlqQ5+3WFYJ6e2uJ*6d*sezO{<+ONmGqGDd4HYbZAP!Q4 diff --git a/content_manager/locale/fr/LC_MESSAGES/django.po b/content_manager/locale/fr/LC_MESSAGES/django.po index d9f82fbf..109a2a12 100644 --- a/content_manager/locale/fr/LC_MESSAGES/django.po +++ b/content_manager/locale/fr/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2024-12-12 12:25+0100\n" -"PO-Revision-Date: 2024-12-12 12:25+0100\n" +"PO-Revision-Date: 2024-12-12 17:54+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -687,7 +687,7 @@ msgstr "Mise en exergue" #: content_manager/blocks.py:949 content_manager/blocks.py:958 #: content_manager/blocks.py:1128 msgid "Stepper" -msgstr "Étapier" +msgstr "Indicateur d’étapes" #: content_manager/blocks.py:950 content_manager/blocks.py:1120 msgid "Text and call to action" @@ -1354,7 +1354,7 @@ msgstr "VisibilitĂ© de la page restreinte" #: content_manager/templates/content_manager/blocks/stepper.html:8 #, python-format msgid "Step %(current_step)s of %(total_steps)s" -msgstr "Étape %(current_step)s sur %(total_steps)s" +msgstr "Étape %(current_step)s surĂ©ta %(total_steps)s" #: content_manager/templates/content_manager/blocks/tabs.html:3 msgid "Tabs group" diff --git a/content_manager/templates/content_manager/blocks/image_and_text.html b/content_manager/templates/content_manager/blocks/image_and_text.html index 3f30d065..859f5ae4 100644 --- a/content_manager/templates/content_manager/blocks/image_and_text.html +++ b/content_manager/templates/content_manager/blocks/image_and_text.html @@ -4,7 +4,7 @@ {% if value.image_side == "left" %}
- {% include "content_manager/blocks/image_svg_or_raster.html" with extra_classes="fr-responsive-img" alt="" %} + {% include "content_manager/blocks/image_svg_or_raster.html" with extra_classes="fr-responsive-img" %}
@@ -36,7 +36,7 @@
- {% include "content_manager/blocks/image_svg_or_raster.html" with extra_classes="fr-responsive-img" alt="" %} + {% include "content_manager/blocks/image_svg_or_raster.html" with extra_classes="fr-responsive-img" %}
{% endif %} diff --git a/content_manager/templates/content_manager/blocks/image_svg_or_raster.html b/content_manager/templates/content_manager/blocks/image_svg_or_raster.html index e5aef75f..a8d54d70 100644 --- a/content_manager/templates/content_manager/blocks/image_svg_or_raster.html +++ b/content_manager/templates/content_manager/blocks/image_svg_or_raster.html @@ -12,5 +12,9 @@
{% else %} - {% image value.image original class=extra_classes alt=alt %} + {% if alt %} + {% image value.image original class=extra_classes alt=alt %} + {% else %} + {% image value.image original class=extra_classes %} + {% endif %} {% endif %} From d368327426e3ff31646b083afa9119ecb27ee116 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 18:14:58 +0100 Subject: [PATCH 10/11] Fix CI --- .github/workflows/ci-check-migrations.yml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci-check-migrations.yml b/.github/workflows/ci-check-migrations.yml index dcb40132..f9fe9a8e 100644 --- a/.github/workflows/ci-check-migrations.yml +++ b/.github/workflows/ci-check-migrations.yml @@ -2,10 +2,15 @@ name: 🔼 CI - Migrations Check on: pull_request: - types: [review_requested, ready_for_review] + types: + - opened + - synchronize + - reopened + - ready_for_review jobs: build: + if: github.event.pull_request.draft == false runs-on: ubuntu-latest env: DJANGO_SETTINGS_MODULE: config.settings_test From 1db0001d5c058682cbb06e737732a71d8f2b04b3 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 18:19:47 +0100 Subject: [PATCH 11/11] Add migrations --- ..._body_alter_blogindexpage_body_and_more.py | 3922 ++++++++++++++++ ..._body_alter_blogindexpage_body_and_more.py | 4012 +++++++++++++++++ ...ogindexpage_body_alter_contentpage_body.py | 2808 ++++++++++++ ...ogindexpage_body_alter_contentpage_body.py | 2860 ++++++++++++ ...trypage_body_alter_eventsindexpage_body.py | 2808 ++++++++++++ ...trypage_body_alter_eventsindexpage_body.py | 2860 ++++++++++++ 6 files changed, 19270 insertions(+) create mode 100644 blog/migrations/0040_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py create mode 100644 blog/migrations/0041_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py create mode 100644 content_manager/migrations/0051_alter_catalogindexpage_body_alter_contentpage_body.py create mode 100644 content_manager/migrations/0052_alter_catalogindexpage_body_alter_contentpage_body.py create mode 100644 events/migrations/0012_alter_evententrypage_body_alter_eventsindexpage_body.py create mode 100644 events/migrations/0013_alter_evententrypage_body_alter_eventsindexpage_body.py diff --git a/blog/migrations/0040_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py b/blog/migrations/0040_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py new file mode 100644 index 00000000..073d08a9 --- /dev/null +++ b/blog/migrations/0040_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py @@ -0,0 +1,3922 @@ +# Generated by Django 5.1.4 on 2024-12-12 14:05 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0039_alter_blogentrypage_body_alter_blogindexpage_body_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="blogentrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("badges_list", 50), + ("tags_list", 56), + ("link", 57), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("stepper", 78), + ("card", 98), + ("tile", 108), + ("tabs", 137), + ("markdown", 138), + ("iframe", 139), + ("separator", 142), + ("multicolumns", 151), + ("item_grid", 154), + ("fullwidthbackground", 156), + ("fullwidthbackgroundwithsidemenu", 163), + ("subpageslist", 164), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("html", 165), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 30: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 33: ( + "wagtail.blocks.StreamBlock", + [[("button", 32)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 33)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 35: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 28), ("cta_buttons", 34), ("cta_label", 35), ("cta_url", 36)]], + {"label": "Text and call to action"}, + ), + 38: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 39: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 42: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 43: ( + "wagtail.blocks.StructBlock", + [[("title", 41), ("content", 42)]], + {"label": "Transcription", "required": False}, + ), + 44: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 38), + ("caption", 7), + ("url", 39), + ("width", 5), + ("video_ratio", 40), + ("transcription", 43), + ] + ], + {"label": "Video"}, + ), + 45: ("wagtail.blocks.StructBlock", [[("title", 41), ("content", 42)]], {"label": "Transcription"}), + 46: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 47: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 48: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 49: ( + "wagtail.blocks.StructBlock", + [[("text", 46), ("color", 47), ("hide_icon", 48)]], + {"label": "Badge"}, + ), + 50: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {"label": "Badge list"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 53: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 54: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("label", 51), ("is_small", 52), ("color", 53), ("icon_class", 30), ("link", 54)]], + {"label": "Tag"}, + ), + 56: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tag list"}), + 57: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 58: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 59: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 58)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 60: ( + "wagtail.blocks.StreamBlock", + [[("title", 51), ("accordion", 59)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 61: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 30), + ("text", 61), + ("button", 62), + ("color", 63), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 65: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 66: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("text", 65), ("color", 63), ("size", 66)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 68: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 69: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 72: ( + "wagtail.blocks.StructBlock", + [[("image", 68), ("quote", 69), ("author_name", 70), ("author_title", 71), ("color", 63)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 73: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 74: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 75: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 76: ("wagtail.blocks.StructBlock", [[("title", 51), ("detail", 75)]], {"label": "Step"}), + 77: ("wagtail.blocks.StreamBlock", [[("step", 76)]], {"label": "Steps"}), + 78: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("total", 73), ("current", 74), ("steps", 77)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 79: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 80: ( + "wagtail.blocks.StreamBlock", + [[("badge", 49)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 82: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 83: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 84: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 85: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 86: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {}), + 87: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {}), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badges", 86), ("tags", 87)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 89: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 90: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 91: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("link", 91)]], {}), + 93: ( + "wagtail.blocks.StreamBlock", + [[("links", 92), ("buttons", 33)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 94: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 98: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 79), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 89), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 99: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 100: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 101: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 103: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 104: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 108: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 99), + ("image", 100), + ("link", 81), + ("top_detail_badges_tags", 88), + ("detail_text", 101), + ("is_small", 102), + ("grey_background", 103), + ("no_background", 104), + ("no_border", 105), + ("shadow", 106), + ("is_horizontal", 107), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 6), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 129: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 130: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 131: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 133: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tags", "required": False}), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 128), + ("link", 81), + ("heading_tag", 2), + ("name", 129), + ("role", 130), + ("organization", 131), + ("contact_info", 132), + ("image", 68), + ("tags", 133), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 135: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Content"}, + ), + 136: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 135)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 137: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 136)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 138: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 139: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 140: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 141: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 140), ("bottom_margin", 141)]], + {"group": "Page structure", "label": "Separator"}, + ), + 143: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 144: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 145: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Column content"}, + ), + 149: ( + "wagtail.blocks.StructBlock", + [[("width", 147), ("content", 148)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 150: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("column", 149), + ] + ], + {"label": "Columns"}, + ), + 151: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("bg_color", 145), + ("title", 1), + ("heading_tag", 146), + ("columns", 150), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 152: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 153: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Items"}, + ), + 154: ( + "wagtail.blocks.StructBlock", + [[("column_width", 152), ("items", 153)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 155: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Content"}, + ), + 156: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 143), ("bg_color_class", 144), ("content", 155)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 157: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Main content"}, + ), + 158: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 160: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 161: ("wagtail.blocks.StructBlock", [[("page", 160)]], {"label": "Page tree"}), + 162: ( + "wagtail.blocks.StreamBlock", + [[("html", 159), ("pagetree", 161)]], + {"label": "Side menu content"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("main_content", 157), + ("sidemenu_title", 158), + ("sidemenu_content", 162), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 164: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 165: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="blogindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("badges_list", 50), + ("tags_list", 56), + ("link", 57), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("stepper", 78), + ("card", 98), + ("tile", 108), + ("tabs", 137), + ("markdown", 138), + ("iframe", 139), + ("separator", 142), + ("multicolumns", 151), + ("item_grid", 154), + ("fullwidthbackground", 156), + ("fullwidthbackgroundwithsidemenu", 163), + ("subpageslist", 164), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("html", 165), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 30: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 33: ( + "wagtail.blocks.StreamBlock", + [[("button", 32)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 33)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 35: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 28), ("cta_buttons", 34), ("cta_label", 35), ("cta_url", 36)]], + {"label": "Text and call to action"}, + ), + 38: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 39: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 42: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 43: ( + "wagtail.blocks.StructBlock", + [[("title", 41), ("content", 42)]], + {"label": "Transcription", "required": False}, + ), + 44: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 38), + ("caption", 7), + ("url", 39), + ("width", 5), + ("video_ratio", 40), + ("transcription", 43), + ] + ], + {"label": "Video"}, + ), + 45: ("wagtail.blocks.StructBlock", [[("title", 41), ("content", 42)]], {"label": "Transcription"}), + 46: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 47: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 48: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 49: ( + "wagtail.blocks.StructBlock", + [[("text", 46), ("color", 47), ("hide_icon", 48)]], + {"label": "Badge"}, + ), + 50: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {"label": "Badge list"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 53: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 54: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("label", 51), ("is_small", 52), ("color", 53), ("icon_class", 30), ("link", 54)]], + {"label": "Tag"}, + ), + 56: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tag list"}), + 57: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 58: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 59: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 58)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 60: ( + "wagtail.blocks.StreamBlock", + [[("title", 51), ("accordion", 59)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 61: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 30), + ("text", 61), + ("button", 62), + ("color", 63), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 65: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 66: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("text", 65), ("color", 63), ("size", 66)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 68: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 69: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 72: ( + "wagtail.blocks.StructBlock", + [[("image", 68), ("quote", 69), ("author_name", 70), ("author_title", 71), ("color", 63)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 73: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 74: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 75: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 76: ("wagtail.blocks.StructBlock", [[("title", 51), ("detail", 75)]], {"label": "Step"}), + 77: ("wagtail.blocks.StreamBlock", [[("step", 76)]], {"label": "Steps"}), + 78: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("total", 73), ("current", 74), ("steps", 77)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 79: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 80: ( + "wagtail.blocks.StreamBlock", + [[("badge", 49)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 82: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 83: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 84: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 85: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 86: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {}), + 87: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {}), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badges", 86), ("tags", 87)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 89: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 90: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 91: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("link", 91)]], {}), + 93: ( + "wagtail.blocks.StreamBlock", + [[("links", 92), ("buttons", 33)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 94: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 98: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 79), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 89), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 99: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 100: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 101: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 103: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 104: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 108: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 99), + ("image", 100), + ("link", 81), + ("top_detail_badges_tags", 88), + ("detail_text", 101), + ("is_small", 102), + ("grey_background", 103), + ("no_background", 104), + ("no_border", 105), + ("shadow", 106), + ("is_horizontal", 107), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 6), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 129: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 130: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 131: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 133: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tags", "required": False}), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 128), + ("link", 81), + ("heading_tag", 2), + ("name", 129), + ("role", 130), + ("organization", 131), + ("contact_info", 132), + ("image", 68), + ("tags", 133), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 135: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Content"}, + ), + 136: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 135)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 137: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 136)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 138: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 139: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 140: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 141: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 140), ("bottom_margin", 141)]], + {"group": "Page structure", "label": "Separator"}, + ), + 143: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 144: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 145: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Column content"}, + ), + 149: ( + "wagtail.blocks.StructBlock", + [[("width", 147), ("content", 148)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 150: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("column", 149), + ] + ], + {"label": "Columns"}, + ), + 151: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("bg_color", 145), + ("title", 1), + ("heading_tag", 146), + ("columns", 150), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 152: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 153: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Items"}, + ), + 154: ( + "wagtail.blocks.StructBlock", + [[("column_width", 152), ("items", 153)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 155: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Content"}, + ), + 156: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 143), ("bg_color_class", 144), ("content", 155)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 157: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Main content"}, + ), + 158: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 160: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 161: ("wagtail.blocks.StructBlock", [[("page", 160)]], {"label": "Page tree"}), + 162: ( + "wagtail.blocks.StreamBlock", + [[("html", 159), ("pagetree", 161)]], + {"label": "Side menu content"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("main_content", 157), + ("sidemenu_title", 158), + ("sidemenu_content", 162), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 164: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 165: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="category", + name="colophon", + field=wagtail.fields.StreamField( + [("paragraph", 0), ("imageandtext", 14), ("quote", 20), ("multicolumns", 139), ("contact_card", 143)], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 3: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 4: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 5: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 8: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 9: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 10: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6), ("text", 7), ("icon", 8), ("size", 9)]], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 11: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 13: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 1), + ("image_side", 2), + ("image_ratio", 3), + ("text", 0), + ("link", 10), + ("link_label", 11), + ("page", 12), + ("link_url", 13), + ] + ], + {"label": "Bloc image et texte"}, + ), + 15: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 17: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 18: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 19: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.StructBlock", + [[("image", 15), ("quote", 16), ("author_name", 17), ("author_title", 18), ("color", 19)]], + {"label": "Citation"}, + ), + 21: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 22: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 27: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 28: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 30: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 31: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 26), + ("image", 1), + ("alt", 27), + ("width", 28), + ("image_ratio", 29), + ("caption", 30), + ("url", 31), + ] + ], + {"label": "Image"}, + ), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 1), + ("image_side", 2), + ("image_ratio", 3), + ("text", 0), + ("link", 10), + ("link_label", 11), + ("page", 12), + ("link_url", 13), + ] + ], + {"label": "Image and text"}, + ), + 34: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 35: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 36: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 37: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [[("title", 34), ("description", 35), ("level", 36), ("heading_tag", 37)]], + {"label": "Alert message"}, + ), + 39: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 41: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 42: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 43: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 4), + ("document", 5), + ("external_url", 6), + ("text", 7), + ("button_type", 40), + ("icon_class", 41), + ("icon_side", 42), + ] + ], + {"label": "Button"}, + ), + 44: ( + "wagtail.blocks.StreamBlock", + [[("button", 43)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 45: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 44)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 46: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 47: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 48: ( + "wagtail.blocks.StructBlock", + [[("text", 39), ("cta_buttons", 45), ("cta_label", 46), ("cta_url", 47)]], + {"label": "Text and call to action"}, + ), + 49: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 50: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 51: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 52: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 53: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 54: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 53)]], + {"label": "Transcription", "required": False}, + ), + 55: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 49), + ("caption", 30), + ("url", 50), + ("width", 28), + ("video_ratio", 51), + ("transcription", 54), + ] + ], + {"label": "Video"}, + ), + 56: ("wagtail.blocks.StructBlock", [[("title", 52), ("content", 53)]], {"label": "Transcription"}), + 57: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 58: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 59: ( + "wagtail.blocks.StructBlock", + [[("title", 57), ("content", 58)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 60: ( + "wagtail.blocks.StreamBlock", + [[("title", 57), ("accordion", 59)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 61: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 4), + ("document", 5), + ("external_url", 6), + ("text", 7), + ("button_type", 40), + ("icon_class", 41), + ("icon_side", 42), + ] + ], + {"label": "Button", "required": False}, + ), + 63: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 37), + ("icon_class", 41), + ("text", 61), + ("button", 62), + ("color", 19), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 64: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 65: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 66: ( + "wagtail.blocks.StructBlock", + [[("text", 64), ("color", 19), ("size", 65)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("image", 15), ("quote", 16), ("author_name", 17), ("author_title", 18), ("color", 19)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 68: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6), ("text", 7), ("icon", 8), ("size", 9)]], + {"label": "Single link"}, + ), + 69: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 70: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 71: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 72: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 73: ( + "wagtail.blocks.StructBlock", + [[("title", 69), ("url", 70), ("height", 71), ("parameters", 72)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 74: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 75: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 76: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6)]], + {"label": "Link", "required": False}, + ), + 77: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 78: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 79: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 80: ( + "wagtail.blocks.StructBlock", + [[("text", 77), ("color", 78), ("hide_icon", 79)]], + {"label": "Badge"}, + ), + 81: ("wagtail.blocks.StreamBlock", [[("badge", 80)]], {}), + 82: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 83: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 84: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6)]], + {"required": False}, + ), + 85: ( + "wagtail.blocks.StructBlock", + [[("label", 57), ("is_small", 82), ("color", 83), ("icon_class", 41), ("link", 84)]], + {"label": "Tag"}, + ), + 86: ("wagtail.blocks.StreamBlock", [[("tag", 85)]], {}), + 87: ( + "wagtail.blocks.StreamBlock", + [[("badges", 81), ("tags", 86)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 88: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 93: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 94: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 95: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 57), + ("heading_tag", 37), + ("description", 74), + ("image", 75), + ("link", 76), + ("top_detail_badges_tags", 87), + ("detail_text", 88), + ("is_small", 89), + ("grey_background", 90), + ("no_background", 91), + ("no_border", 92), + ("shadow", 93), + ("is_horizontal", 94), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 96: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 97: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 98: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 99: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 100: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 101: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 102: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 103: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 96), + ("blog", 97), + ("entries_count", 98), + ("category_filter", 99), + ("tag_filter", 100), + ("author_filter", 101), + ("source_filter", 102), + ("show_filters", 103), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 105: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 106: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 96), + ("index_page", 105), + ("entries_count", 98), + ("category_filter", 99), + ("tag_filter", 100), + ("author_filter", 101), + ("source_filter", 102), + ("show_filters", 103), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 107: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 108: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Current step", "max_value": 8, "min_value": 1}, + ), + 109: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 110: ("wagtail.blocks.StructBlock", [[("title", 57), ("detail", 109)]], {"label": "Step"}), + 111: ("wagtail.blocks.StreamBlock", [[("step", 110)]], {"label": "Steps"}), + 112: ( + "wagtail.blocks.StructBlock", + [[("title", 57), ("total", 107), ("current", 108), ("steps", 111)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 113: ( + "wagtail.blocks.StreamBlock", + [[("badge", 80)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 114: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 115: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 116: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 117: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 118: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 119: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 120: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6), ("text", 7)]], + {"label": "Link"}, + ), + 121: ("wagtail.blocks.StreamBlock", [[("link", 120)]], {}), + 122: ( + "wagtail.blocks.StreamBlock", + [[("links", 121), ("buttons", 44)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 123: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Card with grey background", "required": False}, + ), + 124: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 125: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 126: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 57), + ("heading_tag", 37), + ("description", 61), + ("image", 15), + ("image_ratio", 29), + ("image_badge", 113), + ("link", 76), + ("url", 114), + ("document", 115), + ("top_detail_text", 116), + ("top_detail_icon", 117), + ("top_detail_badges_tags", 87), + ("bottom_detail_text", 118), + ("bottom_detail_icon", 119), + ("call_to_action", 122), + ("grey_background", 123), + ("no_background", 124), + ("no_border", 125), + ("shadow", 126), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 129: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 130: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 131: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 132: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 133: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 134: ("wagtail.blocks.StreamBlock", [[("tag", 85)]], {"label": "Tags", "required": False}), + 135: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 129), + ("link", 76), + ("heading_tag", 26), + ("name", 130), + ("role", 131), + ("organization", 132), + ("contact_info", 133), + ("image", 15), + ("tags", 134), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 136: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 32), + ("imageandtext", 33), + ("alert", 38), + ("text_cta", 48), + ("video", 55), + ("transcription", 56), + ("accordions", 60), + ("callout", 63), + ("highlight", 66), + ("quote", 67), + ("link", 68), + ("iframe", 73), + ("tile", 95), + ("blog_recent_entries", 104), + ("events_recent_entries", 106), + ("stepper", 112), + ("card", 127), + ("contact_card", 135), + ] + ], + {"label": "Column content"}, + ), + 137: ( + "wagtail.blocks.StructBlock", + [[("width", 128), ("content", 136)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 138: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 32), + ("imageandtext", 33), + ("alert", 38), + ("text_cta", 48), + ("video", 55), + ("transcription", 56), + ("accordions", 60), + ("callout", 63), + ("highlight", 66), + ("quote", 67), + ("link", 68), + ("iframe", 73), + ("tile", 95), + ("blog_recent_entries", 104), + ("events_recent_entries", 106), + ("stepper", 112), + ("card", 127), + ("column", 137), + ] + ], + {"label": "Columns"}, + ), + 139: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 21), + ("bg_color_class", 22), + ("bg_color", 23), + ("title", 24), + ("heading_tag", 25), + ("columns", 138), + ] + ], + {"label": "Multi-colonnes"}, + ), + 140: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255}), + 141: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255}), + 142: ("wagtail.blocks.CharBlock", (), {"label": "Organization", "max_length": 255}), + 143: ( + "wagtail.blocks.StructBlock", + [[("name", 140), ("role", 141), ("organization", 142), ("contact_info", 133), ("image", 1)]], + {"label": "Contact card"}, + ), + }, + help_text="Text displayed at the end of every page in the category", + ), + ), + ] diff --git a/blog/migrations/0041_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py b/blog/migrations/0041_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py new file mode 100644 index 00000000..97f31287 --- /dev/null +++ b/blog/migrations/0041_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py @@ -0,0 +1,4012 @@ +# Generated by Django 5.1.4 on 2024-12-12 17:08 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0040_alter_blogentrypage_body_alter_blogindexpage_body_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="blogentrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("link", 58), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("stepper", 79), + ("card", 99), + ("tile", 109), + ("tabs", 143), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("multicolumns", 152), + ("item_grid", 155), + ("fullwidthbackground", 157), + ("fullwidthbackgroundwithsidemenu", 164), + ("subpageslist", 165), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 13: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 14: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 15: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 10), + ("image_side", 11), + ("image_ratio", 12), + ("text", 0), + ("link", 19), + ("link_label", 20), + ("page", 21), + ("link_url", 22), + ] + ], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 25: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 27: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 28: ( + "wagtail.blocks.StructBlock", + [[("title", 24), ("description", 25), ("level", 26), ("heading_tag", 27)]], + {"label": "Alert message"}, + ), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 32: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button"}, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("button", 33)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 35: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 34)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [[("text", 29), ("cta_buttons", 35), ("cta_label", 36), ("cta_url", 37)]], + {"label": "Text and call to action"}, + ), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 40: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 41: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 42: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 43: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 44: ( + "wagtail.blocks.StructBlock", + [[("title", 42), ("content", 43)]], + {"label": "Transcription", "required": False}, + ), + 45: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 39), + ("caption", 7), + ("url", 40), + ("width", 5), + ("video_ratio", 41), + ("transcription", 44), + ] + ], + {"label": "Video"}, + ), + 46: ("wagtail.blocks.StructBlock", [[("title", 42), ("content", 43)]], {"label": "Transcription"}), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 48: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 49: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 50: ( + "wagtail.blocks.StructBlock", + [[("text", 47), ("color", 48), ("hide_icon", 49)]], + {"label": "Badge"}, + ), + 51: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {"label": "Badge list"}), + 52: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 54: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"required": False}, + ), + 56: ( + "wagtail.blocks.StructBlock", + [[("label", 52), ("is_small", 53), ("color", 54), ("icon_class", 31), ("link", 55)]], + {"label": "Tag"}, + ), + 57: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tag list"}), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + {"label": "Single link"}, + ), + 59: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 60: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 59)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 61: ( + "wagtail.blocks.StreamBlock", + [[("title", 52), ("accordion", 60)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 62: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button", "required": False}, + ), + 64: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 27), + ("icon_class", 31), + ("text", 62), + ("button", 63), + ("color", 64), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 66: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 67: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 68: ( + "wagtail.blocks.StructBlock", + [[("text", 66), ("color", 64), ("size", 67)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 69: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 72: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 73: ( + "wagtail.blocks.StructBlock", + [[("image", 69), ("quote", 70), ("author_name", 71), ("author_title", 72), ("color", 64)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 74: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 75: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 76: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 77: ("wagtail.blocks.StructBlock", [[("title", 52), ("detail", 76)]], {"label": "Step"}), + 78: ("wagtail.blocks.StreamBlock", [[("step", 77)]], {"label": "Steps"}), + 79: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("total", 74), ("current", 75), ("steps", 78)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 80: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badge", 50)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 82: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"label": "Link", "required": False}, + ), + 83: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 84: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 85: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 86: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 87: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {}), + 88: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {}), + 89: ( + "wagtail.blocks.StreamBlock", + [[("badges", 87), ("tags", 88)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 90: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 91: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 92: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15), ("text", 16)]], + {"label": "Link"}, + ), + 93: ("wagtail.blocks.StreamBlock", [[("link", 92)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("links", 93), ("buttons", 34)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 99: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 80), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 90), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 100: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 101: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 102: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 104: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 108: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 100), + ("image", 101), + ("link", 82), + ("top_detail_badges_tags", 89), + ("detail_text", 102), + ("is_small", 103), + ("grey_background", 104), + ("no_background", 105), + ("no_border", 106), + ("shadow", 107), + ("is_horizontal", 108), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 110: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 111: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 112: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 113: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 114: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 115: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 116: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 117: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 118: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("blog", 112), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 120: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 121: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("index_page", 120), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 122: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 123: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 124: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 125: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [[("title", 123), ("url", 124), ("height", 125), ("parameters", 126)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 128: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 129: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 130: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 129), ("bottom_margin", 130)]], + {"group": "Page structure", "label": "Separator"}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 133: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 6), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 132), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 134: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 135: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 136: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 137: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 138: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 139: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tags", "required": False}), + 140: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 134), + ("link", 82), + ("heading_tag", 2), + ("name", 135), + ("role", 136), + ("organization", 137), + ("contact_info", 138), + ("image", 69), + ("tags", 139), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 141: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Content"}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 141)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 143: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 142)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 144: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 145: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 149: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Column content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("width", 148), ("content", 149)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 151: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("column", 150), + ] + ], + {"label": "Columns"}, + ), + 152: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("bg_color", 146), + ("title", 1), + ("heading_tag", 147), + ("columns", 151), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 153: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Items"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("column_width", 153), ("items", 154)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Content"}, + ), + 157: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 144), ("bg_color_class", 145), ("content", 156)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Main content"}, + ), + 159: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 160: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 161: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 162: ("wagtail.blocks.StructBlock", [[("page", 161)]], {"label": "Page tree"}), + 163: ( + "wagtail.blocks.StreamBlock", + [[("html", 160), ("pagetree", 162)]], + {"label": "Side menu content"}, + ), + 164: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("main_content", 158), + ("sidemenu_title", 159), + ("sidemenu_content", 163), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 165: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="blogindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("link", 58), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("stepper", 79), + ("card", 99), + ("tile", 109), + ("tabs", 143), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("multicolumns", 152), + ("item_grid", 155), + ("fullwidthbackground", 157), + ("fullwidthbackgroundwithsidemenu", 164), + ("subpageslist", 165), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 13: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 14: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 15: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 10), + ("image_side", 11), + ("image_ratio", 12), + ("text", 0), + ("link", 19), + ("link_label", 20), + ("page", 21), + ("link_url", 22), + ] + ], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 25: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 27: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 28: ( + "wagtail.blocks.StructBlock", + [[("title", 24), ("description", 25), ("level", 26), ("heading_tag", 27)]], + {"label": "Alert message"}, + ), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 32: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button"}, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("button", 33)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 35: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 34)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [[("text", 29), ("cta_buttons", 35), ("cta_label", 36), ("cta_url", 37)]], + {"label": "Text and call to action"}, + ), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 40: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 41: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 42: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 43: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 44: ( + "wagtail.blocks.StructBlock", + [[("title", 42), ("content", 43)]], + {"label": "Transcription", "required": False}, + ), + 45: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 39), + ("caption", 7), + ("url", 40), + ("width", 5), + ("video_ratio", 41), + ("transcription", 44), + ] + ], + {"label": "Video"}, + ), + 46: ("wagtail.blocks.StructBlock", [[("title", 42), ("content", 43)]], {"label": "Transcription"}), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 48: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 49: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 50: ( + "wagtail.blocks.StructBlock", + [[("text", 47), ("color", 48), ("hide_icon", 49)]], + {"label": "Badge"}, + ), + 51: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {"label": "Badge list"}), + 52: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 54: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"required": False}, + ), + 56: ( + "wagtail.blocks.StructBlock", + [[("label", 52), ("is_small", 53), ("color", 54), ("icon_class", 31), ("link", 55)]], + {"label": "Tag"}, + ), + 57: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tag list"}), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + {"label": "Single link"}, + ), + 59: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 60: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 59)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 61: ( + "wagtail.blocks.StreamBlock", + [[("title", 52), ("accordion", 60)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 62: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button", "required": False}, + ), + 64: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 27), + ("icon_class", 31), + ("text", 62), + ("button", 63), + ("color", 64), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 66: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 67: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 68: ( + "wagtail.blocks.StructBlock", + [[("text", 66), ("color", 64), ("size", 67)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 69: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 72: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 73: ( + "wagtail.blocks.StructBlock", + [[("image", 69), ("quote", 70), ("author_name", 71), ("author_title", 72), ("color", 64)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 74: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 75: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 76: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 77: ("wagtail.blocks.StructBlock", [[("title", 52), ("detail", 76)]], {"label": "Step"}), + 78: ("wagtail.blocks.StreamBlock", [[("step", 77)]], {"label": "Steps"}), + 79: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("total", 74), ("current", 75), ("steps", 78)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 80: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badge", 50)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 82: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"label": "Link", "required": False}, + ), + 83: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 84: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 85: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 86: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 87: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {}), + 88: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {}), + 89: ( + "wagtail.blocks.StreamBlock", + [[("badges", 87), ("tags", 88)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 90: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 91: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 92: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15), ("text", 16)]], + {"label": "Link"}, + ), + 93: ("wagtail.blocks.StreamBlock", [[("link", 92)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("links", 93), ("buttons", 34)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 99: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 80), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 90), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 100: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 101: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 102: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 104: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 108: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 100), + ("image", 101), + ("link", 82), + ("top_detail_badges_tags", 89), + ("detail_text", 102), + ("is_small", 103), + ("grey_background", 104), + ("no_background", 105), + ("no_border", 106), + ("shadow", 107), + ("is_horizontal", 108), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 110: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 111: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 112: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 113: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 114: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 115: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 116: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 117: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 118: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("blog", 112), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 120: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 121: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("index_page", 120), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 122: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 123: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 124: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 125: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [[("title", 123), ("url", 124), ("height", 125), ("parameters", 126)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 128: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 129: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 130: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 129), ("bottom_margin", 130)]], + {"group": "Page structure", "label": "Separator"}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 133: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 6), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 132), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 134: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 135: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 136: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 137: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 138: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 139: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tags", "required": False}), + 140: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 134), + ("link", 82), + ("heading_tag", 2), + ("name", 135), + ("role", 136), + ("organization", 137), + ("contact_info", 138), + ("image", 69), + ("tags", 139), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 141: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Content"}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 141)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 143: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 142)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 144: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 145: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 149: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Column content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("width", 148), ("content", 149)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 151: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("column", 150), + ] + ], + {"label": "Columns"}, + ), + 152: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("bg_color", 146), + ("title", 1), + ("heading_tag", 147), + ("columns", 151), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 153: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Items"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("column_width", 153), ("items", 154)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Content"}, + ), + 157: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 144), ("bg_color_class", 145), ("content", 156)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Main content"}, + ), + 159: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 160: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 161: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 162: ("wagtail.blocks.StructBlock", [[("page", 161)]], {"label": "Page tree"}), + 163: ( + "wagtail.blocks.StreamBlock", + [[("html", 160), ("pagetree", 162)]], + {"label": "Side menu content"}, + ), + 164: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("main_content", 158), + ("sidemenu_title", 159), + ("sidemenu_content", 163), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 165: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="category", + name="colophon", + field=wagtail.fields.StreamField( + [("paragraph", 0), ("imageandtext", 14), ("quote", 20), ("multicolumns", 147), ("contact_card", 151)], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 3: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 4: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 5: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 8: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 9: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 10: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6), ("text", 7), ("icon", 8), ("size", 9)]], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 11: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 13: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 1), + ("image_side", 2), + ("image_ratio", 3), + ("text", 0), + ("link", 10), + ("link_label", 11), + ("page", 12), + ("link_url", 13), + ] + ], + {"label": "Bloc image et texte"}, + ), + 15: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 17: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 18: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 19: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.StructBlock", + [[("image", 15), ("quote", 16), ("author_name", 17), ("author_title", 18), ("color", 19)]], + {"label": "Citation"}, + ), + 21: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 22: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 27: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 28: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 31: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 32: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 26), + ("image", 27), + ("alt", 28), + ("width", 29), + ("image_ratio", 30), + ("caption", 31), + ("url", 32), + ] + ], + {"label": "Image"}, + ), + 34: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 1), + ("image_side", 2), + ("image_ratio", 3), + ("text", 0), + ("link", 10), + ("link_label", 11), + ("page", 12), + ("link_url", 13), + ] + ], + {"label": "Image and text"}, + ), + 35: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 36: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 37: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 38: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 39: ( + "wagtail.blocks.StructBlock", + [[("title", 35), ("description", 36), ("level", 37), ("heading_tag", 38)]], + {"label": "Alert message"}, + ), + 40: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 41: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 42: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 43: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 44: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 4), + ("document", 5), + ("external_url", 6), + ("text", 7), + ("button_type", 41), + ("icon_class", 42), + ("icon_side", 43), + ] + ], + {"label": "Button"}, + ), + 45: ( + "wagtail.blocks.StreamBlock", + [[("button", 44)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 46: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 45)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 47: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 48: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 49: ( + "wagtail.blocks.StructBlock", + [[("text", 40), ("cta_buttons", 46), ("cta_label", 47), ("cta_url", 48)]], + {"label": "Text and call to action"}, + ), + 50: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 51: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 52: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 53: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 54: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 55: ( + "wagtail.blocks.StructBlock", + [[("title", 53), ("content", 54)]], + {"label": "Transcription", "required": False}, + ), + 56: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 50), + ("caption", 31), + ("url", 51), + ("width", 29), + ("video_ratio", 52), + ("transcription", 55), + ] + ], + {"label": "Video"}, + ), + 57: ("wagtail.blocks.StructBlock", [[("title", 53), ("content", 54)]], {"label": "Transcription"}), + 58: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 59: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 60: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 61: ( + "wagtail.blocks.StructBlock", + [[("text", 58), ("color", 59), ("hide_icon", 60)]], + {"label": "Badge"}, + ), + 62: ("wagtail.blocks.StreamBlock", [[("badge", 61)]], {"label": "Badge list"}), + 63: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 64: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 65: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 66: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6)]], + {"required": False}, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("label", 63), ("is_small", 64), ("color", 65), ("icon_class", 42), ("link", 66)]], + {"label": "Tag"}, + ), + 68: ("wagtail.blocks.StreamBlock", [[("tag", 67)]], {"label": "Tag list"}), + 69: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 70: ( + "wagtail.blocks.StructBlock", + [[("title", 63), ("content", 69)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 71: ( + "wagtail.blocks.StreamBlock", + [[("title", 63), ("accordion", 70)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 72: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 73: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 4), + ("document", 5), + ("external_url", 6), + ("text", 7), + ("button_type", 41), + ("icon_class", 42), + ("icon_side", 43), + ] + ], + {"label": "Button", "required": False}, + ), + 74: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 38), + ("icon_class", 42), + ("text", 72), + ("button", 73), + ("color", 19), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 75: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 76: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 77: ( + "wagtail.blocks.StructBlock", + [[("text", 75), ("color", 19), ("size", 76)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 78: ( + "wagtail.blocks.StructBlock", + [[("image", 15), ("quote", 16), ("author_name", 17), ("author_title", 18), ("color", 19)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 79: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6), ("text", 7), ("icon", 8), ("size", 9)]], + {"label": "Single link"}, + ), + 80: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 81: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 82: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6)]], + {"label": "Link", "required": False}, + ), + 83: ("wagtail.blocks.StreamBlock", [[("badge", 61)]], {}), + 84: ("wagtail.blocks.StreamBlock", [[("tag", 67)]], {}), + 85: ( + "wagtail.blocks.StreamBlock", + [[("badges", 83), ("tags", 84)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 86: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 87: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 88: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 93: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 63), + ("heading_tag", 38), + ("description", 80), + ("image", 81), + ("link", 82), + ("top_detail_badges_tags", 85), + ("detail_text", 86), + ("is_small", 87), + ("grey_background", 88), + ("no_background", 89), + ("no_border", 90), + ("shadow", 91), + ("is_horizontal", 92), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 94: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 95: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 96: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 97: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 98: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 99: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 100: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 101: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 102: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 94), + ("blog", 95), + ("entries_count", 96), + ("category_filter", 97), + ("tag_filter", 98), + ("author_filter", 99), + ("source_filter", 100), + ("show_filters", 101), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 103: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 24), + ("heading_tag", 94), + ("index_page", 103), + ("entries_count", 96), + ("category_filter", 97), + ("tag_filter", 98), + ("author_filter", 99), + ("source_filter", 100), + ("show_filters", 101), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 105: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 106: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Current step", "max_value": 8, "min_value": 1}, + ), + 107: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 108: ("wagtail.blocks.StructBlock", [[("title", 63), ("detail", 107)]], {"label": "Step"}), + 109: ("wagtail.blocks.StreamBlock", [[("step", 108)]], {"label": "Steps"}), + 110: ( + "wagtail.blocks.StructBlock", + [[("title", 63), ("total", 105), ("current", 106), ("steps", 109)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 111: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 112: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 113: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 114: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 115: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.StructBlock", + [[("title", 112), ("url", 113), ("height", 114), ("parameters", 115)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 117: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 118: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 119: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 120: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 118), ("bottom_margin", 119)]], + {"group": "Page structure", "label": "Separator"}, + ), + 121: ( + "wagtail.blocks.StreamBlock", + [[("badge", 61)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 122: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 123: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 124: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 125: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 128: ( + "wagtail.blocks.StructBlock", + [[("page", 4), ("document", 5), ("external_url", 6), ("text", 7)]], + {"label": "Link"}, + ), + 129: ("wagtail.blocks.StreamBlock", [[("link", 128)]], {}), + 130: ( + "wagtail.blocks.StreamBlock", + [[("links", 129), ("buttons", 45)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 131: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Card with grey background", "required": False}, + ), + 132: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 133: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 134: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 135: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 63), + ("heading_tag", 38), + ("description", 72), + ("image", 15), + ("image_ratio", 30), + ("image_badge", 121), + ("link", 82), + ("url", 122), + ("document", 123), + ("top_detail_text", 124), + ("top_detail_icon", 125), + ("top_detail_badges_tags", 85), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 127), + ("call_to_action", 130), + ("grey_background", 131), + ("no_background", 132), + ("no_border", 133), + ("shadow", 134), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 136: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 137: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 138: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 139: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 140: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 141: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 142: ("wagtail.blocks.StreamBlock", [[("tag", 67)]], {"label": "Tags", "required": False}), + 143: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 137), + ("link", 82), + ("heading_tag", 26), + ("name", 138), + ("role", 139), + ("organization", 140), + ("contact_info", 141), + ("image", 15), + ("tags", 142), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 144: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 33), + ("imageandtext", 34), + ("alert", 39), + ("text_cta", 49), + ("video", 56), + ("transcription", 57), + ("badges_list", 62), + ("tags_list", 68), + ("accordions", 71), + ("callout", 74), + ("highlight", 77), + ("quote", 78), + ("link", 79), + ("tile", 93), + ("blog_recent_entries", 102), + ("events_recent_entries", 104), + ("stepper", 110), + ("markdown", 111), + ("iframe", 116), + ("html", 117), + ("separator", 120), + ("card", 135), + ("contact_card", 143), + ] + ], + {"label": "Column content"}, + ), + 145: ( + "wagtail.blocks.StructBlock", + [[("width", 136), ("content", 144)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 146: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 33), + ("imageandtext", 34), + ("alert", 39), + ("text_cta", 49), + ("video", 56), + ("transcription", 57), + ("badges_list", 62), + ("tags_list", 68), + ("accordions", 71), + ("callout", 74), + ("highlight", 77), + ("quote", 78), + ("link", 79), + ("tile", 93), + ("blog_recent_entries", 102), + ("events_recent_entries", 104), + ("stepper", 110), + ("markdown", 111), + ("iframe", 116), + ("html", 117), + ("separator", 120), + ("card", 135), + ("column", 145), + ] + ], + {"label": "Columns"}, + ), + 147: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 21), + ("bg_color_class", 22), + ("bg_color", 23), + ("title", 24), + ("heading_tag", 25), + ("columns", 146), + ] + ], + {"label": "Multi-colonnes"}, + ), + 148: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255}), + 149: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255}), + 150: ("wagtail.blocks.CharBlock", (), {"label": "Organization", "max_length": 255}), + 151: ( + "wagtail.blocks.StructBlock", + [[("name", 148), ("role", 149), ("organization", 150), ("contact_info", 141), ("image", 27)]], + {"label": "Contact card"}, + ), + }, + help_text="Text displayed at the end of every page in the category", + ), + ), + ] diff --git a/content_manager/migrations/0051_alter_catalogindexpage_body_alter_contentpage_body.py b/content_manager/migrations/0051_alter_catalogindexpage_body_alter_contentpage_body.py new file mode 100644 index 00000000..97ecafd3 --- /dev/null +++ b/content_manager/migrations/0051_alter_catalogindexpage_body_alter_contentpage_body.py @@ -0,0 +1,2808 @@ +# Generated by Django 5.1.4 on 2024-12-12 14:05 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("content_manager", "0050_catalogindexpage"), + ] + + operations = [ + migrations.AlterField( + model_name="catalogindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("badges_list", 50), + ("tags_list", 56), + ("link", 57), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("stepper", 78), + ("card", 98), + ("tile", 108), + ("tabs", 137), + ("markdown", 138), + ("iframe", 139), + ("separator", 142), + ("multicolumns", 151), + ("item_grid", 154), + ("fullwidthbackground", 156), + ("fullwidthbackgroundwithsidemenu", 163), + ("subpageslist", 164), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("html", 165), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 30: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 33: ( + "wagtail.blocks.StreamBlock", + [[("button", 32)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 33)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 35: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 28), ("cta_buttons", 34), ("cta_label", 35), ("cta_url", 36)]], + {"label": "Text and call to action"}, + ), + 38: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 39: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 42: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 43: ( + "wagtail.blocks.StructBlock", + [[("title", 41), ("content", 42)]], + {"label": "Transcription", "required": False}, + ), + 44: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 38), + ("caption", 7), + ("url", 39), + ("width", 5), + ("video_ratio", 40), + ("transcription", 43), + ] + ], + {"label": "Video"}, + ), + 45: ("wagtail.blocks.StructBlock", [[("title", 41), ("content", 42)]], {"label": "Transcription"}), + 46: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 47: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 48: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 49: ( + "wagtail.blocks.StructBlock", + [[("text", 46), ("color", 47), ("hide_icon", 48)]], + {"label": "Badge"}, + ), + 50: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {"label": "Badge list"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 53: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 54: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("label", 51), ("is_small", 52), ("color", 53), ("icon_class", 30), ("link", 54)]], + {"label": "Tag"}, + ), + 56: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tag list"}), + 57: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 58: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 59: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 58)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 60: ( + "wagtail.blocks.StreamBlock", + [[("title", 51), ("accordion", 59)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 61: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 30), + ("text", 61), + ("button", 62), + ("color", 63), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 65: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 66: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("text", 65), ("color", 63), ("size", 66)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 68: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 69: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 72: ( + "wagtail.blocks.StructBlock", + [[("image", 68), ("quote", 69), ("author_name", 70), ("author_title", 71), ("color", 63)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 73: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 74: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 75: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 76: ("wagtail.blocks.StructBlock", [[("title", 51), ("detail", 75)]], {"label": "Step"}), + 77: ("wagtail.blocks.StreamBlock", [[("step", 76)]], {"label": "Steps"}), + 78: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("total", 73), ("current", 74), ("steps", 77)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 79: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 80: ( + "wagtail.blocks.StreamBlock", + [[("badge", 49)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 82: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 83: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 84: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 85: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 86: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {}), + 87: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {}), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badges", 86), ("tags", 87)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 89: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 90: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 91: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("link", 91)]], {}), + 93: ( + "wagtail.blocks.StreamBlock", + [[("links", 92), ("buttons", 33)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 94: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 98: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 79), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 89), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 99: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 100: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 101: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 103: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 104: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 108: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 99), + ("image", 100), + ("link", 81), + ("top_detail_badges_tags", 88), + ("detail_text", 101), + ("is_small", 102), + ("grey_background", 103), + ("no_background", 104), + ("no_border", 105), + ("shadow", 106), + ("is_horizontal", 107), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 6), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 129: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 130: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 131: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 133: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tags", "required": False}), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 128), + ("link", 81), + ("heading_tag", 2), + ("name", 129), + ("role", 130), + ("organization", 131), + ("contact_info", 132), + ("image", 68), + ("tags", 133), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 135: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Content"}, + ), + 136: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 135)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 137: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 136)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 138: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 139: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 140: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 141: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 140), ("bottom_margin", 141)]], + {"group": "Page structure", "label": "Separator"}, + ), + 143: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 144: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 145: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Column content"}, + ), + 149: ( + "wagtail.blocks.StructBlock", + [[("width", 147), ("content", 148)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 150: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("column", 149), + ] + ], + {"label": "Columns"}, + ), + 151: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("bg_color", 145), + ("title", 1), + ("heading_tag", 146), + ("columns", 150), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 152: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 153: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Items"}, + ), + 154: ( + "wagtail.blocks.StructBlock", + [[("column_width", 152), ("items", 153)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 155: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Content"}, + ), + 156: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 143), ("bg_color_class", 144), ("content", 155)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 157: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Main content"}, + ), + 158: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 160: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 161: ("wagtail.blocks.StructBlock", [[("page", 160)]], {"label": "Page tree"}), + 162: ( + "wagtail.blocks.StreamBlock", + [[("html", 159), ("pagetree", 161)]], + {"label": "Side menu content"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("main_content", 157), + ("sidemenu_title", 158), + ("sidemenu_content", 162), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 164: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 165: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="contentpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("badges_list", 50), + ("tags_list", 56), + ("link", 57), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("stepper", 78), + ("card", 98), + ("tile", 108), + ("tabs", 137), + ("markdown", 138), + ("iframe", 139), + ("separator", 142), + ("multicolumns", 151), + ("item_grid", 154), + ("fullwidthbackground", 156), + ("fullwidthbackgroundwithsidemenu", 163), + ("subpageslist", 164), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("html", 165), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 30: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 33: ( + "wagtail.blocks.StreamBlock", + [[("button", 32)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 33)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 35: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 28), ("cta_buttons", 34), ("cta_label", 35), ("cta_url", 36)]], + {"label": "Text and call to action"}, + ), + 38: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 39: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 42: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 43: ( + "wagtail.blocks.StructBlock", + [[("title", 41), ("content", 42)]], + {"label": "Transcription", "required": False}, + ), + 44: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 38), + ("caption", 7), + ("url", 39), + ("width", 5), + ("video_ratio", 40), + ("transcription", 43), + ] + ], + {"label": "Video"}, + ), + 45: ("wagtail.blocks.StructBlock", [[("title", 41), ("content", 42)]], {"label": "Transcription"}), + 46: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 47: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 48: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 49: ( + "wagtail.blocks.StructBlock", + [[("text", 46), ("color", 47), ("hide_icon", 48)]], + {"label": "Badge"}, + ), + 50: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {"label": "Badge list"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 53: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 54: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("label", 51), ("is_small", 52), ("color", 53), ("icon_class", 30), ("link", 54)]], + {"label": "Tag"}, + ), + 56: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tag list"}), + 57: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 58: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 59: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 58)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 60: ( + "wagtail.blocks.StreamBlock", + [[("title", 51), ("accordion", 59)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 61: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 30), + ("text", 61), + ("button", 62), + ("color", 63), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 65: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 66: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("text", 65), ("color", 63), ("size", 66)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 68: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 69: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 72: ( + "wagtail.blocks.StructBlock", + [[("image", 68), ("quote", 69), ("author_name", 70), ("author_title", 71), ("color", 63)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 73: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 74: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 75: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 76: ("wagtail.blocks.StructBlock", [[("title", 51), ("detail", 75)]], {"label": "Step"}), + 77: ("wagtail.blocks.StreamBlock", [[("step", 76)]], {"label": "Steps"}), + 78: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("total", 73), ("current", 74), ("steps", 77)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 79: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 80: ( + "wagtail.blocks.StreamBlock", + [[("badge", 49)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 82: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 83: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 84: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 85: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 86: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {}), + 87: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {}), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badges", 86), ("tags", 87)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 89: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 90: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 91: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("link", 91)]], {}), + 93: ( + "wagtail.blocks.StreamBlock", + [[("links", 92), ("buttons", 33)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 94: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 98: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 79), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 89), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 99: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 100: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 101: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 103: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 104: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 108: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 99), + ("image", 100), + ("link", 81), + ("top_detail_badges_tags", 88), + ("detail_text", 101), + ("is_small", 102), + ("grey_background", 103), + ("no_background", 104), + ("no_border", 105), + ("shadow", 106), + ("is_horizontal", 107), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 6), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 129: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 130: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 131: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 133: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tags", "required": False}), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 128), + ("link", 81), + ("heading_tag", 2), + ("name", 129), + ("role", 130), + ("organization", 131), + ("contact_info", 132), + ("image", 68), + ("tags", 133), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 135: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Content"}, + ), + 136: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 135)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 137: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 136)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 138: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 139: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 140: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 141: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 140), ("bottom_margin", 141)]], + {"group": "Page structure", "label": "Separator"}, + ), + 143: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 144: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 145: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Column content"}, + ), + 149: ( + "wagtail.blocks.StructBlock", + [[("width", 147), ("content", 148)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 150: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("column", 149), + ] + ], + {"label": "Columns"}, + ), + 151: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("bg_color", 145), + ("title", 1), + ("heading_tag", 146), + ("columns", 150), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 152: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 153: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Items"}, + ), + 154: ( + "wagtail.blocks.StructBlock", + [[("column_width", 152), ("items", 153)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 155: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Content"}, + ), + 156: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 143), ("bg_color_class", 144), ("content", 155)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 157: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Main content"}, + ), + 158: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 160: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 161: ("wagtail.blocks.StructBlock", [[("page", 160)]], {"label": "Page tree"}), + 162: ( + "wagtail.blocks.StreamBlock", + [[("html", 159), ("pagetree", 161)]], + {"label": "Side menu content"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("main_content", 157), + ("sidemenu_title", 158), + ("sidemenu_content", 162), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 164: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 165: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + ] diff --git a/content_manager/migrations/0052_alter_catalogindexpage_body_alter_contentpage_body.py b/content_manager/migrations/0052_alter_catalogindexpage_body_alter_contentpage_body.py new file mode 100644 index 00000000..d54f59e8 --- /dev/null +++ b/content_manager/migrations/0052_alter_catalogindexpage_body_alter_contentpage_body.py @@ -0,0 +1,2860 @@ +# Generated by Django 5.1.4 on 2024-12-12 17:08 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("content_manager", "0051_alter_catalogindexpage_body_alter_contentpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="catalogindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("link", 58), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("stepper", 79), + ("card", 99), + ("tile", 109), + ("tabs", 143), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("multicolumns", 152), + ("item_grid", 155), + ("fullwidthbackground", 157), + ("fullwidthbackgroundwithsidemenu", 164), + ("subpageslist", 165), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 13: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 14: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 15: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 10), + ("image_side", 11), + ("image_ratio", 12), + ("text", 0), + ("link", 19), + ("link_label", 20), + ("page", 21), + ("link_url", 22), + ] + ], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 25: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 27: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 28: ( + "wagtail.blocks.StructBlock", + [[("title", 24), ("description", 25), ("level", 26), ("heading_tag", 27)]], + {"label": "Alert message"}, + ), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 32: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button"}, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("button", 33)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 35: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 34)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [[("text", 29), ("cta_buttons", 35), ("cta_label", 36), ("cta_url", 37)]], + {"label": "Text and call to action"}, + ), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 40: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 41: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 42: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 43: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 44: ( + "wagtail.blocks.StructBlock", + [[("title", 42), ("content", 43)]], + {"label": "Transcription", "required": False}, + ), + 45: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 39), + ("caption", 7), + ("url", 40), + ("width", 5), + ("video_ratio", 41), + ("transcription", 44), + ] + ], + {"label": "Video"}, + ), + 46: ("wagtail.blocks.StructBlock", [[("title", 42), ("content", 43)]], {"label": "Transcription"}), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 48: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 49: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 50: ( + "wagtail.blocks.StructBlock", + [[("text", 47), ("color", 48), ("hide_icon", 49)]], + {"label": "Badge"}, + ), + 51: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {"label": "Badge list"}), + 52: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 54: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"required": False}, + ), + 56: ( + "wagtail.blocks.StructBlock", + [[("label", 52), ("is_small", 53), ("color", 54), ("icon_class", 31), ("link", 55)]], + {"label": "Tag"}, + ), + 57: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tag list"}), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + {"label": "Single link"}, + ), + 59: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 60: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 59)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 61: ( + "wagtail.blocks.StreamBlock", + [[("title", 52), ("accordion", 60)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 62: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button", "required": False}, + ), + 64: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 27), + ("icon_class", 31), + ("text", 62), + ("button", 63), + ("color", 64), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 66: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 67: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 68: ( + "wagtail.blocks.StructBlock", + [[("text", 66), ("color", 64), ("size", 67)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 69: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 72: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 73: ( + "wagtail.blocks.StructBlock", + [[("image", 69), ("quote", 70), ("author_name", 71), ("author_title", 72), ("color", 64)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 74: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 75: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 76: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 77: ("wagtail.blocks.StructBlock", [[("title", 52), ("detail", 76)]], {"label": "Step"}), + 78: ("wagtail.blocks.StreamBlock", [[("step", 77)]], {"label": "Steps"}), + 79: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("total", 74), ("current", 75), ("steps", 78)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 80: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badge", 50)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 82: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"label": "Link", "required": False}, + ), + 83: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 84: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 85: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 86: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 87: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {}), + 88: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {}), + 89: ( + "wagtail.blocks.StreamBlock", + [[("badges", 87), ("tags", 88)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 90: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 91: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 92: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15), ("text", 16)]], + {"label": "Link"}, + ), + 93: ("wagtail.blocks.StreamBlock", [[("link", 92)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("links", 93), ("buttons", 34)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 99: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 80), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 90), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 100: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 101: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 102: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 104: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 108: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 100), + ("image", 101), + ("link", 82), + ("top_detail_badges_tags", 89), + ("detail_text", 102), + ("is_small", 103), + ("grey_background", 104), + ("no_background", 105), + ("no_border", 106), + ("shadow", 107), + ("is_horizontal", 108), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 110: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 111: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 112: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 113: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 114: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 115: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 116: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 117: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 118: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("blog", 112), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 120: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 121: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("index_page", 120), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 122: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 123: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 124: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 125: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [[("title", 123), ("url", 124), ("height", 125), ("parameters", 126)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 128: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 129: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 130: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 129), ("bottom_margin", 130)]], + {"group": "Page structure", "label": "Separator"}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 133: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 6), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 132), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 134: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 135: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 136: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 137: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 138: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 139: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tags", "required": False}), + 140: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 134), + ("link", 82), + ("heading_tag", 2), + ("name", 135), + ("role", 136), + ("organization", 137), + ("contact_info", 138), + ("image", 69), + ("tags", 139), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 141: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Content"}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 141)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 143: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 142)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 144: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 145: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 149: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Column content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("width", 148), ("content", 149)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 151: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("column", 150), + ] + ], + {"label": "Columns"}, + ), + 152: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("bg_color", 146), + ("title", 1), + ("heading_tag", 147), + ("columns", 151), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 153: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Items"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("column_width", 153), ("items", 154)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Content"}, + ), + 157: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 144), ("bg_color_class", 145), ("content", 156)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Main content"}, + ), + 159: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 160: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 161: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 162: ("wagtail.blocks.StructBlock", [[("page", 161)]], {"label": "Page tree"}), + 163: ( + "wagtail.blocks.StreamBlock", + [[("html", 160), ("pagetree", 162)]], + {"label": "Side menu content"}, + ), + 164: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("main_content", 158), + ("sidemenu_title", 159), + ("sidemenu_content", 163), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 165: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="contentpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("link", 58), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("stepper", 79), + ("card", 99), + ("tile", 109), + ("tabs", 143), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("multicolumns", 152), + ("item_grid", 155), + ("fullwidthbackground", 157), + ("fullwidthbackgroundwithsidemenu", 164), + ("subpageslist", 165), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 13: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 14: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 15: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 10), + ("image_side", 11), + ("image_ratio", 12), + ("text", 0), + ("link", 19), + ("link_label", 20), + ("page", 21), + ("link_url", 22), + ] + ], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 25: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 27: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 28: ( + "wagtail.blocks.StructBlock", + [[("title", 24), ("description", 25), ("level", 26), ("heading_tag", 27)]], + {"label": "Alert message"}, + ), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 32: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button"}, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("button", 33)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 35: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 34)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [[("text", 29), ("cta_buttons", 35), ("cta_label", 36), ("cta_url", 37)]], + {"label": "Text and call to action"}, + ), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 40: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 41: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 42: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 43: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 44: ( + "wagtail.blocks.StructBlock", + [[("title", 42), ("content", 43)]], + {"label": "Transcription", "required": False}, + ), + 45: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 39), + ("caption", 7), + ("url", 40), + ("width", 5), + ("video_ratio", 41), + ("transcription", 44), + ] + ], + {"label": "Video"}, + ), + 46: ("wagtail.blocks.StructBlock", [[("title", 42), ("content", 43)]], {"label": "Transcription"}), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 48: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 49: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 50: ( + "wagtail.blocks.StructBlock", + [[("text", 47), ("color", 48), ("hide_icon", 49)]], + {"label": "Badge"}, + ), + 51: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {"label": "Badge list"}), + 52: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 54: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"required": False}, + ), + 56: ( + "wagtail.blocks.StructBlock", + [[("label", 52), ("is_small", 53), ("color", 54), ("icon_class", 31), ("link", 55)]], + {"label": "Tag"}, + ), + 57: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tag list"}), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + {"label": "Single link"}, + ), + 59: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 60: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 59)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 61: ( + "wagtail.blocks.StreamBlock", + [[("title", 52), ("accordion", 60)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 62: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button", "required": False}, + ), + 64: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 27), + ("icon_class", 31), + ("text", 62), + ("button", 63), + ("color", 64), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 66: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 67: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 68: ( + "wagtail.blocks.StructBlock", + [[("text", 66), ("color", 64), ("size", 67)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 69: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 72: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 73: ( + "wagtail.blocks.StructBlock", + [[("image", 69), ("quote", 70), ("author_name", 71), ("author_title", 72), ("color", 64)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 74: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 75: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 76: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 77: ("wagtail.blocks.StructBlock", [[("title", 52), ("detail", 76)]], {"label": "Step"}), + 78: ("wagtail.blocks.StreamBlock", [[("step", 77)]], {"label": "Steps"}), + 79: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("total", 74), ("current", 75), ("steps", 78)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 80: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badge", 50)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 82: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"label": "Link", "required": False}, + ), + 83: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 84: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 85: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 86: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 87: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {}), + 88: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {}), + 89: ( + "wagtail.blocks.StreamBlock", + [[("badges", 87), ("tags", 88)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 90: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 91: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 92: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15), ("text", 16)]], + {"label": "Link"}, + ), + 93: ("wagtail.blocks.StreamBlock", [[("link", 92)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("links", 93), ("buttons", 34)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 99: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 80), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 90), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 100: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 101: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 102: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 104: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 108: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 100), + ("image", 101), + ("link", 82), + ("top_detail_badges_tags", 89), + ("detail_text", 102), + ("is_small", 103), + ("grey_background", 104), + ("no_background", 105), + ("no_border", 106), + ("shadow", 107), + ("is_horizontal", 108), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 110: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 111: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 112: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 113: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 114: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 115: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 116: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 117: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 118: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("blog", 112), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 120: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 121: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("index_page", 120), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 122: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 123: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 124: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 125: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [[("title", 123), ("url", 124), ("height", 125), ("parameters", 126)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 128: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 129: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 130: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 129), ("bottom_margin", 130)]], + {"group": "Page structure", "label": "Separator"}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 133: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 6), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 132), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 134: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 135: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 136: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 137: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 138: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 139: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tags", "required": False}), + 140: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 134), + ("link", 82), + ("heading_tag", 2), + ("name", 135), + ("role", 136), + ("organization", 137), + ("contact_info", 138), + ("image", 69), + ("tags", 139), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 141: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Content"}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 141)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 143: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 142)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 144: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 145: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 149: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Column content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("width", 148), ("content", 149)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 151: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("column", 150), + ] + ], + {"label": "Columns"}, + ), + 152: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("bg_color", 146), + ("title", 1), + ("heading_tag", 147), + ("columns", 151), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 153: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Items"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("column_width", 153), ("items", 154)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Content"}, + ), + 157: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 144), ("bg_color_class", 145), ("content", 156)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Main content"}, + ), + 159: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 160: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 161: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 162: ("wagtail.blocks.StructBlock", [[("page", 161)]], {"label": "Page tree"}), + 163: ( + "wagtail.blocks.StreamBlock", + [[("html", 160), ("pagetree", 162)]], + {"label": "Side menu content"}, + ), + 164: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("main_content", 158), + ("sidemenu_title", 159), + ("sidemenu_content", 163), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 165: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + }, + ), + ), + ] diff --git a/events/migrations/0012_alter_evententrypage_body_alter_eventsindexpage_body.py b/events/migrations/0012_alter_evententrypage_body_alter_eventsindexpage_body.py new file mode 100644 index 00000000..c9571fa6 --- /dev/null +++ b/events/migrations/0012_alter_evententrypage_body_alter_eventsindexpage_body.py @@ -0,0 +1,2808 @@ +# Generated by Django 5.1.4 on 2024-12-12 14:05 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("events", "0011_alter_evententrypage_body_alter_eventsindexpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="evententrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("badges_list", 50), + ("tags_list", 56), + ("link", 57), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("stepper", 78), + ("card", 98), + ("tile", 108), + ("tabs", 137), + ("markdown", 138), + ("iframe", 139), + ("separator", 142), + ("multicolumns", 151), + ("item_grid", 154), + ("fullwidthbackground", 156), + ("fullwidthbackgroundwithsidemenu", 163), + ("subpageslist", 164), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("html", 165), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 30: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 33: ( + "wagtail.blocks.StreamBlock", + [[("button", 32)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 33)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 35: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 28), ("cta_buttons", 34), ("cta_label", 35), ("cta_url", 36)]], + {"label": "Text and call to action"}, + ), + 38: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 39: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 42: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 43: ( + "wagtail.blocks.StructBlock", + [[("title", 41), ("content", 42)]], + {"label": "Transcription", "required": False}, + ), + 44: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 38), + ("caption", 7), + ("url", 39), + ("width", 5), + ("video_ratio", 40), + ("transcription", 43), + ] + ], + {"label": "Video"}, + ), + 45: ("wagtail.blocks.StructBlock", [[("title", 41), ("content", 42)]], {"label": "Transcription"}), + 46: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 47: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 48: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 49: ( + "wagtail.blocks.StructBlock", + [[("text", 46), ("color", 47), ("hide_icon", 48)]], + {"label": "Badge"}, + ), + 50: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {"label": "Badge list"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 53: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 54: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("label", 51), ("is_small", 52), ("color", 53), ("icon_class", 30), ("link", 54)]], + {"label": "Tag"}, + ), + 56: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tag list"}), + 57: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 58: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 59: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 58)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 60: ( + "wagtail.blocks.StreamBlock", + [[("title", 51), ("accordion", 59)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 61: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 30), + ("text", 61), + ("button", 62), + ("color", 63), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 65: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 66: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("text", 65), ("color", 63), ("size", 66)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 68: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 69: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 72: ( + "wagtail.blocks.StructBlock", + [[("image", 68), ("quote", 69), ("author_name", 70), ("author_title", 71), ("color", 63)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 73: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 74: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 75: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 76: ("wagtail.blocks.StructBlock", [[("title", 51), ("detail", 75)]], {"label": "Step"}), + 77: ("wagtail.blocks.StreamBlock", [[("step", 76)]], {"label": "Steps"}), + 78: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("total", 73), ("current", 74), ("steps", 77)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 79: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 80: ( + "wagtail.blocks.StreamBlock", + [[("badge", 49)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 82: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 83: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 84: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 85: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 86: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {}), + 87: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {}), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badges", 86), ("tags", 87)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 89: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 90: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 91: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("link", 91)]], {}), + 93: ( + "wagtail.blocks.StreamBlock", + [[("links", 92), ("buttons", 33)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 94: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 98: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 79), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 89), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 99: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 100: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 101: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 103: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 104: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 108: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 99), + ("image", 100), + ("link", 81), + ("top_detail_badges_tags", 88), + ("detail_text", 101), + ("is_small", 102), + ("grey_background", 103), + ("no_background", 104), + ("no_border", 105), + ("shadow", 106), + ("is_horizontal", 107), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 6), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 129: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 130: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 131: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 133: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tags", "required": False}), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 128), + ("link", 81), + ("heading_tag", 2), + ("name", 129), + ("role", 130), + ("organization", 131), + ("contact_info", 132), + ("image", 68), + ("tags", 133), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 135: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Content"}, + ), + 136: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 135)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 137: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 136)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 138: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 139: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 140: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 141: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 140), ("bottom_margin", 141)]], + {"group": "Page structure", "label": "Separator"}, + ), + 143: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 144: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 145: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Column content"}, + ), + 149: ( + "wagtail.blocks.StructBlock", + [[("width", 147), ("content", 148)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 150: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("column", 149), + ] + ], + {"label": "Columns"}, + ), + 151: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("bg_color", 145), + ("title", 1), + ("heading_tag", 146), + ("columns", 150), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 152: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 153: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Items"}, + ), + 154: ( + "wagtail.blocks.StructBlock", + [[("column_width", 152), ("items", 153)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 155: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Content"}, + ), + 156: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 143), ("bg_color_class", 144), ("content", 155)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 157: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Main content"}, + ), + 158: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 160: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 161: ("wagtail.blocks.StructBlock", [[("page", 160)]], {"label": "Page tree"}), + 162: ( + "wagtail.blocks.StreamBlock", + [[("html", 159), ("pagetree", 161)]], + {"label": "Side menu content"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("main_content", 157), + ("sidemenu_title", 158), + ("sidemenu_content", 162), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 164: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 165: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="eventsindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("badges_list", 50), + ("tags_list", 56), + ("link", 57), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("stepper", 78), + ("card", 98), + ("tile", 108), + ("tabs", 137), + ("markdown", 138), + ("iframe", 139), + ("separator", 142), + ("multicolumns", 151), + ("item_grid", 154), + ("fullwidthbackground", 156), + ("fullwidthbackgroundwithsidemenu", 163), + ("subpageslist", 164), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("html", 165), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 29: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 30: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button"}, + ), + 33: ( + "wagtail.blocks.StreamBlock", + [[("button", 32)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 33)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 35: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.StructBlock", + [[("text", 28), ("cta_buttons", 34), ("cta_label", 35), ("cta_url", 36)]], + {"label": "Text and call to action"}, + ), + 38: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 39: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 42: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 43: ( + "wagtail.blocks.StructBlock", + [[("title", 41), ("content", 42)]], + {"label": "Transcription", "required": False}, + ), + 44: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 38), + ("caption", 7), + ("url", 39), + ("width", 5), + ("video_ratio", 40), + ("transcription", 43), + ] + ], + {"label": "Video"}, + ), + 45: ("wagtail.blocks.StructBlock", [[("title", 41), ("content", 42)]], {"label": "Transcription"}), + 46: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 47: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 48: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 49: ( + "wagtail.blocks.StructBlock", + [[("text", 46), ("color", 47), ("hide_icon", 48)]], + {"label": "Badge"}, + ), + 50: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {"label": "Badge list"}), + 51: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 53: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 54: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("label", 51), ("is_small", 52), ("color", 53), ("icon_class", 30), ("link", 54)]], + {"label": "Tag"}, + ), + 56: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tag list"}), + 57: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 58: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 59: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 58)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 60: ( + "wagtail.blocks.StreamBlock", + [[("title", 51), ("accordion", 59)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 61: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 29), + ("icon_class", 30), + ("icon_side", 31), + ] + ], + {"label": "Button", "required": False}, + ), + 63: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 30), + ("text", 61), + ("button", 62), + ("color", 63), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 65: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 66: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 67: ( + "wagtail.blocks.StructBlock", + [[("text", 65), ("color", 63), ("size", 66)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 68: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 69: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 72: ( + "wagtail.blocks.StructBlock", + [[("image", 68), ("quote", 69), ("author_name", 70), ("author_title", 71), ("color", 63)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 73: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 74: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 75: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 76: ("wagtail.blocks.StructBlock", [[("title", 51), ("detail", 75)]], {"label": "Step"}), + 77: ("wagtail.blocks.StreamBlock", [[("step", 76)]], {"label": "Steps"}), + 78: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("total", 73), ("current", 74), ("steps", 77)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 79: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 80: ( + "wagtail.blocks.StreamBlock", + [[("badge", 49)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 82: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 83: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 84: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 85: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 86: ("wagtail.blocks.StreamBlock", [[("badge", 49)]], {}), + 87: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {}), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badges", 86), ("tags", 87)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 89: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 90: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 91: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("link", 91)]], {}), + 93: ( + "wagtail.blocks.StreamBlock", + [[("links", 92), ("buttons", 33)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 94: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 98: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 79), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 89), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 99: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 100: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 101: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 103: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 104: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 108: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 99), + ("image", 100), + ("link", 81), + ("top_detail_badges_tags", 88), + ("detail_text", 101), + ("is_small", 102), + ("grey_background", 103), + ("no_background", 104), + ("no_border", 105), + ("shadow", 106), + ("is_horizontal", 107), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 51), + ("heading_tag", 26), + ("description", 61), + ("image", 68), + ("image_ratio", 6), + ("image_badge", 80), + ("link", 81), + ("url", 82), + ("document", 83), + ("top_detail_text", 84), + ("top_detail_icon", 85), + ("top_detail_badges_tags", 88), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 90), + ("call_to_action", 93), + ("grey_background", 94), + ("no_background", 95), + ("no_border", 96), + ("shadow", 97), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 129: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 130: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 131: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 133: ("wagtail.blocks.StreamBlock", [[("tag", 55)]], {"label": "Tags", "required": False}), + 134: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 128), + ("link", 81), + ("heading_tag", 2), + ("name", 129), + ("role", 130), + ("organization", 131), + ("contact_info", 132), + ("image", 68), + ("tags", 133), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 135: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Content"}, + ), + 136: ( + "wagtail.blocks.StructBlock", + [[("title", 51), ("content", 135)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 137: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 136)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 138: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 139: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 140: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 141: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 140), ("bottom_margin", 141)]], + {"group": "Page structure", "label": "Separator"}, + ), + 143: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 144: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 145: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Column content"}, + ), + 149: ( + "wagtail.blocks.StructBlock", + [[("width", 147), ("content", 148)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 150: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("column", 149), + ] + ], + {"label": "Columns"}, + ), + 151: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("bg_color", 145), + ("title", 1), + ("heading_tag", 146), + ("columns", 150), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 152: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 153: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("card", 127), + ("contact_card", 134), + ] + ], + {"label": "Items"}, + ), + 154: ( + "wagtail.blocks.StructBlock", + [[("column_width", 152), ("items", 153)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 155: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Content"}, + ), + 156: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 143), ("bg_color_class", 144), ("content", 155)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 157: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 109), + ("imageandtext", 22), + ("alert", 27), + ("text_cta", 37), + ("video", 44), + ("transcription", 45), + ("accordions", 60), + ("callout", 64), + ("highlight", 67), + ("quote", 72), + ("link", 57), + ("iframe", 114), + ("tile", 108), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("stepper", 78), + ("image_and_text", 22), + ("card", 98), + ("tabs", 137), + ("item_grid", 154), + ] + ], + {"label": "Main content"}, + ), + 158: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 160: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 161: ("wagtail.blocks.StructBlock", [[("page", 160)]], {"label": "Page tree"}), + 162: ( + "wagtail.blocks.StreamBlock", + [[("html", 159), ("pagetree", 161)]], + {"label": "Side menu content"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 143), + ("bg_color_class", 144), + ("main_content", 157), + ("sidemenu_title", 158), + ("sidemenu_content", 162), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 164: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 165: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + }, + ), + ), + ] diff --git a/events/migrations/0013_alter_evententrypage_body_alter_eventsindexpage_body.py b/events/migrations/0013_alter_evententrypage_body_alter_eventsindexpage_body.py new file mode 100644 index 00000000..433f7267 --- /dev/null +++ b/events/migrations/0013_alter_evententrypage_body_alter_eventsindexpage_body.py @@ -0,0 +1,2860 @@ +# Generated by Django 5.1.4 on 2024-12-12 17:08 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("events", "0012_alter_evententrypage_body_alter_eventsindexpage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="evententrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("link", 58), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("stepper", 79), + ("card", 99), + ("tile", 109), + ("tabs", 143), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("multicolumns", 152), + ("item_grid", 155), + ("fullwidthbackground", 157), + ("fullwidthbackgroundwithsidemenu", 164), + ("subpageslist", 165), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 13: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 14: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 15: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 10), + ("image_side", 11), + ("image_ratio", 12), + ("text", 0), + ("link", 19), + ("link_label", 20), + ("page", 21), + ("link_url", 22), + ] + ], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 25: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 27: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 28: ( + "wagtail.blocks.StructBlock", + [[("title", 24), ("description", 25), ("level", 26), ("heading_tag", 27)]], + {"label": "Alert message"}, + ), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 32: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button"}, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("button", 33)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 35: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 34)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [[("text", 29), ("cta_buttons", 35), ("cta_label", 36), ("cta_url", 37)]], + {"label": "Text and call to action"}, + ), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 40: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 41: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 42: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 43: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 44: ( + "wagtail.blocks.StructBlock", + [[("title", 42), ("content", 43)]], + {"label": "Transcription", "required": False}, + ), + 45: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 39), + ("caption", 7), + ("url", 40), + ("width", 5), + ("video_ratio", 41), + ("transcription", 44), + ] + ], + {"label": "Video"}, + ), + 46: ("wagtail.blocks.StructBlock", [[("title", 42), ("content", 43)]], {"label": "Transcription"}), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 48: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 49: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 50: ( + "wagtail.blocks.StructBlock", + [[("text", 47), ("color", 48), ("hide_icon", 49)]], + {"label": "Badge"}, + ), + 51: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {"label": "Badge list"}), + 52: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 54: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"required": False}, + ), + 56: ( + "wagtail.blocks.StructBlock", + [[("label", 52), ("is_small", 53), ("color", 54), ("icon_class", 31), ("link", 55)]], + {"label": "Tag"}, + ), + 57: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tag list"}), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + {"label": "Single link"}, + ), + 59: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 60: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 59)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 61: ( + "wagtail.blocks.StreamBlock", + [[("title", 52), ("accordion", 60)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 62: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button", "required": False}, + ), + 64: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 27), + ("icon_class", 31), + ("text", 62), + ("button", 63), + ("color", 64), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 66: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 67: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 68: ( + "wagtail.blocks.StructBlock", + [[("text", 66), ("color", 64), ("size", 67)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 69: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 72: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 73: ( + "wagtail.blocks.StructBlock", + [[("image", 69), ("quote", 70), ("author_name", 71), ("author_title", 72), ("color", 64)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 74: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 75: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 76: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 77: ("wagtail.blocks.StructBlock", [[("title", 52), ("detail", 76)]], {"label": "Step"}), + 78: ("wagtail.blocks.StreamBlock", [[("step", 77)]], {"label": "Steps"}), + 79: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("total", 74), ("current", 75), ("steps", 78)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 80: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badge", 50)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 82: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"label": "Link", "required": False}, + ), + 83: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 84: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 85: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 86: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 87: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {}), + 88: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {}), + 89: ( + "wagtail.blocks.StreamBlock", + [[("badges", 87), ("tags", 88)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 90: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 91: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 92: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15), ("text", 16)]], + {"label": "Link"}, + ), + 93: ("wagtail.blocks.StreamBlock", [[("link", 92)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("links", 93), ("buttons", 34)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 99: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 80), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 90), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 100: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 101: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 102: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 104: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 108: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 100), + ("image", 101), + ("link", 82), + ("top_detail_badges_tags", 89), + ("detail_text", 102), + ("is_small", 103), + ("grey_background", 104), + ("no_background", 105), + ("no_border", 106), + ("shadow", 107), + ("is_horizontal", 108), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 110: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 111: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 112: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 113: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 114: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 115: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 116: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 117: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 118: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("blog", 112), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 120: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 121: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("index_page", 120), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 122: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 123: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 124: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 125: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [[("title", 123), ("url", 124), ("height", 125), ("parameters", 126)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 128: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 129: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 130: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 129), ("bottom_margin", 130)]], + {"group": "Page structure", "label": "Separator"}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 133: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 6), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 132), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 134: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 135: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 136: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 137: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 138: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 139: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tags", "required": False}), + 140: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 134), + ("link", 82), + ("heading_tag", 2), + ("name", 135), + ("role", 136), + ("organization", 137), + ("contact_info", 138), + ("image", 69), + ("tags", 139), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 141: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Content"}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 141)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 143: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 142)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 144: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 145: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 149: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Column content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("width", 148), ("content", 149)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 151: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("column", 150), + ] + ], + {"label": "Columns"}, + ), + 152: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("bg_color", 146), + ("title", 1), + ("heading_tag", 147), + ("columns", 151), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 153: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Items"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("column_width", 153), ("items", 154)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Content"}, + ), + 157: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 144), ("bg_color_class", 145), ("content", 156)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Main content"}, + ), + 159: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 160: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 161: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 162: ("wagtail.blocks.StructBlock", [[("page", 161)]], {"label": "Page tree"}), + 163: ( + "wagtail.blocks.StreamBlock", + [[("html", 160), ("pagetree", 162)]], + {"label": "Side menu content"}, + ), + 164: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("main_content", 158), + ("sidemenu_title", 159), + ("sidemenu_content", 163), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 165: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + }, + ), + ), + migrations.AlterField( + model_name="eventsindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("link", 58), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("stepper", 79), + ("card", 99), + ("tile", 109), + ("tabs", 143), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("multicolumns", 152), + ("item_grid", 155), + ("fullwidthbackground", 157), + ("fullwidthbackgroundwithsidemenu", 164), + ("subpageslist", 165), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 13: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 14: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 15: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 16: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 10), + ("image_side", 11), + ("image_ratio", 12), + ("text", 0), + ("link", 19), + ("link_label", 20), + ("page", 21), + ("link_url", 22), + ] + ], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 25: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 27: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 28: ( + "wagtail.blocks.StructBlock", + [[("title", 24), ("description", 25), ("level", 26), ("heading_tag", 27)]], + {"label": "Alert message"}, + ), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-btn", "Primary"), + ("fr-btn fr-btn--secondary", "Secundary"), + ("fr-btn fr-btn--tertiary", "Tertiary"), + ("fr-btn fr-btn--tertiary-no-outline", "Tertiary without border"), + ], + "label": "Button type", + "required": False, + }, + ), + 31: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 32: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 33: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button"}, + ), + 34: ( + "wagtail.blocks.StreamBlock", + [[("button", 33)]], + { + "help_text": "Please use only one primary button.\n If you use icons, use them on all buttons and align them on the same side.", + "label": "Buttons", + }, + ), + 35: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 34)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 36: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 37: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [[("text", 29), ("cta_buttons", 35), ("cta_label", 36), ("cta_url", 37)]], + {"label": "Text and call to action"}, + ), + 39: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 40: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use embed format, with a version that doesn't require a consent banner if available. (e.g. : https://www.youtube-nocookie.com/embed/gLzXOViPX-0) For Youtube, use Embed video and check Enable privacy-enhanced mode.", + "label": "Video URL", + }, + ), + 41: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 42: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 43: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 44: ( + "wagtail.blocks.StructBlock", + [[("title", 42), ("content", 43)]], + {"label": "Transcription", "required": False}, + ), + 45: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 39), + ("caption", 7), + ("url", 40), + ("width", 5), + ("video_ratio", 41), + ("transcription", 44), + ] + ], + {"label": "Video"}, + ), + 46: ("wagtail.blocks.StructBlock", [[("title", 42), ("content", 43)]], {"label": "Transcription"}), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 48: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", [("new", "New"), ("grey", "Grey")]), + ( + "System colors", + [ + ("info", "Info"), + ("success", "Success"), + ("warning", "Warning"), + ("error", "Error"), + ], + ), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "label": "Badge color", + "required": False, + }, + ), + 49: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 50: ( + "wagtail.blocks.StructBlock", + [[("text", 47), ("color", 48), ("hide_icon", 49)]], + {"label": "Badge"}, + ), + 51: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {"label": "Badge list"}), + 52: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 53: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 54: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "help_text": "Only for clickable tags", + "label": "Tag color", + "required": False, + }, + ), + 55: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"required": False}, + ), + 56: ( + "wagtail.blocks.StructBlock", + [[("label", 52), ("is_small", 53), ("color", 54), ("icon_class", 31), ("link", 55)]], + {"label": "Tag"}, + ), + 57: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tag list"}), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("icon", 17), + ("size", 18), + ] + ], + {"label": "Single link"}, + ), + 59: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 60: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 59)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 61: ( + "wagtail.blocks.StreamBlock", + [[("title", 52), ("accordion", 60)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 62: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 13), + ("document", 14), + ("external_url", 15), + ("text", 16), + ("button_type", 30), + ("icon_class", 31), + ("icon_side", 32), + ] + ], + {"label": "Button", "required": False}, + ), + 64: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + "label": "Color", + "required": False, + }, + ), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 27), + ("icon_class", 31), + ("text", 62), + ("button", 63), + ("color", 64), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 66: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 67: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 68: ( + "wagtail.blocks.StructBlock", + [[("text", 66), ("color", 64), ("size", 67)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 69: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 70: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 71: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 72: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 73: ( + "wagtail.blocks.StructBlock", + [[("image", 69), ("quote", 70), ("author_name", 71), ("author_title", 72), ("color", 64)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 74: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 75: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 76: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 77: ("wagtail.blocks.StructBlock", [[("title", 52), ("detail", 76)]], {"label": "Step"}), + 78: ("wagtail.blocks.StreamBlock", [[("step", 77)]], {"label": "Steps"}), + 79: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("total", 74), ("current", 75), ("steps", 78)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 80: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badge", 50)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 82: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15)]], + {"label": "Link", "required": False}, + ), + 83: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 84: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 85: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 86: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 87: ("wagtail.blocks.StreamBlock", [[("badge", 50)]], {}), + 88: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {}), + 89: ( + "wagtail.blocks.StreamBlock", + [[("badges", 87), ("tags", 88)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 90: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action. If the card links to a downloadable document, the values are pre-filled.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 91: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 92: ( + "wagtail.blocks.StructBlock", + [[("page", 13), ("document", 14), ("external_url", 15), ("text", 16)]], + {"label": "Link"}, + ), + 93: ("wagtail.blocks.StreamBlock", [[("link", 92)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("links", 93), ("buttons", 34)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 99: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 80), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 90), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 100: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 101: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 102: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 104: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 105: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 106: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 107: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 108: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 109: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 100), + ("image", 101), + ("link", 82), + ("top_detail_badges_tags", 89), + ("detail_text", 102), + ("is_small", 103), + ("grey_background", 104), + ("no_background", 105), + ("no_border", 106), + ("shadow", 107), + ("is_horizontal", 108), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 110: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 111: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 112: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 113: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 114: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 115: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 116: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 117: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 118: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("blog", 112), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 120: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 121: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 111), + ("index_page", 120), + ("entries_count", 113), + ("category_filter", 114), + ("tag_filter", 115), + ("author_filter", 116), + ("source_filter", 117), + ("show_filters", 118), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 122: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 123: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 124: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 125: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [[("title", 123), ("url", 124), ("height", 125), ("parameters", 126)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 128: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 129: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 130: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 129), ("bottom_margin", 130)]], + {"group": "Page structure", "label": "Separator"}, + ), + 132: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 133: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 52), + ("heading_tag", 27), + ("description", 62), + ("image", 69), + ("image_ratio", 6), + ("image_badge", 81), + ("link", 82), + ("url", 83), + ("document", 84), + ("top_detail_text", 85), + ("top_detail_icon", 86), + ("top_detail_badges_tags", 89), + ("bottom_detail_text", 132), + ("bottom_detail_icon", 91), + ("call_to_action", 94), + ("grey_background", 95), + ("no_background", 96), + ("no_border", 97), + ("shadow", 98), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 134: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 135: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 136: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 137: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 138: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 139: ("wagtail.blocks.StreamBlock", [[("tag", 56)]], {"label": "Tags", "required": False}), + 140: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 134), + ("link", 82), + ("heading_tag", 2), + ("name", 135), + ("role", 136), + ("organization", 137), + ("contact_info", 138), + ("image", 69), + ("tags", 139), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 141: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Content"}, + ), + 142: ( + "wagtail.blocks.StructBlock", + [[("title", 52), ("content", 141)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 143: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 142)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 144: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 145: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("Primary colors", [("blue-france", "Blue France"), ("red-marianne", "Red Marianne")]), + ("Neutral colors", [("grey", "Grey")]), + ( + "Illustration colors", + [ + ("green-tilleul-verveine", "Tilleul verveine"), + ("green-bourgeon", "Bourgeon"), + ("green-emeraude", "Émeraude"), + ("green-menthe", "Menthe"), + ("green-archipel", "Archipel"), + ("blue-ecume", "Écume"), + ("blue-cumulus", "Cumulus"), + ("purple-glycine", "Glycine"), + ("pink-macaron", "Macaron"), + ("pink-tuile", "Tuile"), + ("yellow-tournesol", "Tournesol"), + ("yellow-moutarde", "Moutarde"), + ("orange-terre-battue", "Terre battue"), + ("brown-cafe-creme", "CafĂ© crĂšme"), + ("brown-caramel", "Caramel"), + ("brown-opera", "OpĂ©ra"), + ("beige-gris-galet", "Gris galet"), + ], + ), + ], + "help_text": "Uses the French Design System colors", + "label": "Background color", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 147: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 148: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("3", "3/12"), + ("4", "4/12"), + ("5", "5/12"), + ("6", "6/12"), + ("7", "7/12"), + ("8", "8/12"), + ("9", "9/12"), + ], + "help_text": "The total width of all columns should be 12.", + "label": "Column width", + "required": False, + }, + ), + 149: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Column content"}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("width", 148), ("content", 149)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 151: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("column", 150), + ] + ], + {"label": "Columns"}, + ), + 152: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("bg_color", 146), + ("title", 1), + ("heading_tag", 147), + ("columns", 151), + ] + ], + {"group": "Page structure", "label": "Multiple columns"}, + ), + 153: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("card", 133), + ("contact_card", 140), + ] + ], + {"label": "Items"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("column_width", 153), ("items", 154)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Content"}, + ), + 157: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 144), ("bg_color_class", 145), ("content", 156)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 110), + ("imageandtext", 23), + ("alert", 28), + ("text_cta", 38), + ("video", 45), + ("transcription", 46), + ("badges_list", 51), + ("tags_list", 57), + ("accordions", 61), + ("callout", 65), + ("highlight", 68), + ("quote", 73), + ("link", 58), + ("tile", 109), + ("blog_recent_entries", 119), + ("events_recent_entries", 121), + ("stepper", 79), + ("markdown", 122), + ("iframe", 127), + ("html", 128), + ("separator", 131), + ("image_and_text", 23), + ("card", 99), + ("tabs", 143), + ("item_grid", 155), + ] + ], + {"label": "Main content"}, + ), + 159: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 160: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 161: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 162: ("wagtail.blocks.StructBlock", [[("page", 161)]], {"label": "Page tree"}), + 163: ( + "wagtail.blocks.StreamBlock", + [[("html", 160), ("pagetree", 162)]], + {"label": "Side menu content"}, + ), + 164: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 144), + ("bg_color_class", 145), + ("main_content", 158), + ("sidemenu_title", 159), + ("sidemenu_content", 163), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 165: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + }, + ), + ), + ]