From b53ddbca5e8f0f36375148cd2ba76cb5340bffe1 Mon Sep 17 00:00:00 2001 From: Sylvain Boissel Date: Thu, 12 Dec 2024 20:29:32 +0100 Subject: [PATCH] Ajout de blocs manquants (#245) * Add missing TextAndCTA block from the common streamfield blocks * Don't run the pending migrations check while in draft mode * Try with a separate workflow for migration checks * Add python 3.13 to tested versions * update dependencies * Update stepper * Update translations * Add imageandtext and alert to the fullwidth background field * Add content * Fix CI * Add migrations --- .github/workflows/{cd.yml => cd-docker.yml} | 0 .github/workflows/ci-check-migrations.yml | 47 + .github/workflows/{ci.yml => ci-main.yml} | 7 +- ..._body_alter_blogindexpage_body_and_more.py | 3922 ++++++++++++++++ ..._body_alter_blogindexpage_body_and_more.py | 4012 +++++++++++++++++ content_manager/blocks.py | 62 +- .../locale/fr/LC_MESSAGES/django.mo | Bin 23749 -> 23868 bytes .../locale/fr/LC_MESSAGES/django.po | 318 +- ...ogindexpage_body_alter_contentpage_body.py | 2808 ++++++++++++ ...ogindexpage_body_alter_contentpage_body.py | 2860 ++++++++++++ .../blocks/image_and_text.html | 4 +- .../blocks/image_svg_or_raster.html | 6 +- .../content_manager/blocks/stepper.html | 12 +- ...trypage_body_alter_eventsindexpage_body.py | 2808 ++++++++++++ ...trypage_body_alter_eventsindexpage_body.py | 2860 ++++++++++++ poetry.lock | 20 +- 16 files changed, 19543 insertions(+), 203 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%) 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/.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..f9fe9a8e --- /dev/null +++ b/.github/workflows/ci-check-migrations.yml @@ -0,0 +1,47 @@ +name: 🔮 CI - Migrations Check + +on: + pull_request: + 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 + 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 82f0a092..dd1f1261 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci-main.yml @@ -1,4 +1,4 @@ -name: 🔮 CI +name: 🔮 CI - Main checks on: [push] @@ -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 @@ -38,9 +38,6 @@ jobs: - name: ✨ Black & ruff run: | make quality - - name: 🚧 Check pending migrations # continue-on-error: true - run: | - poetry run django-admin makemigrations --check --dry-run --noinput - name: 🤹‍ Run the unit tests run: | make test-unit 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/blocks.py b/content_manager/blocks.py index b37a94e3..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=[ @@ -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"), @@ -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): @@ -939,15 +939,19 @@ 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")) + 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")) 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")) @@ -955,6 +959,15 @@ class CommonStreamBlock(blocks.StreamBlock): events_recent_entries = EventsRecentEntriesBlock( 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" @@ -1111,24 +1124,35 @@ 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"))), - ("highlight", HighlightBlock(label=_("Highlight"), group=_("DSFR components"))), - ("quote", QuoteBlock(label=_("Quote"), group=_("DSFR components"))), + ("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"))), ("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"))), ("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"))), @@ -1157,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 9b4d133ea469ac06de37019b83dfe372db27c702..2ec859b669b02e9d776be78e78ef260a79ae0f51 100644 GIT binary patch delta 5667 zcmZYCd32Q38OQNEl8}wbo=idr83G}J3B-Yfu*xPRtdXrs*vbiDKqNrI);10Wq}T&3 zrUf30GG+_ynMvw3=5D$%eefPm#O}?F;S#eRqj3wi!JU|m zb(n*xiN{1N zz}7Y%h2g|gP}k3}&POG@1T}$Gjd94BH)w>>u^Bb#-`n^A<`REs`@gb2L?s;G(tSWn zY)ahT#zBlA?uE%X0R32w8vn=EUt%iHH(O}vhW)4+ePrW0OeAhVs&B5N4vuuAY>UlrMkOp33PwcSnvlpDO@fp;>4K}`l8t{gVHN7}u zFDk)IROyRQmFbI$OR*S7TUYu`sIlW19RoP=5R0&1E4O3|k?mmCqZ0TNszQfRGdqh) zq#juna|N~8o?<6zi8`Yy(HC{!aO)&g$}#2s02@-GCzkZ z`89j~j*UHJq5cHagIl2zX^ToUh^bhDdTwYUjZzwws0??bcIjSJiBF+2{S;NgOQ^NH zX?<+_qbZLboPqfmz%=e2EoJ3^+=ZJ0q=!-I;fU3k^ENB0jGq$5$o-u4_(;HRlNvO4Y8TG&) zVI(d?ZL(F^6c3}$A4k3KXHiRZ1$F-&)OcZ(L2)8RViv~pe3M5bfZb3tn2Jqs1}fuO zs5M)JdK*?FW11bPuhM#qz-y?b`WBVIV|zZKy<76us00dZ+!I3@pp=G6RgT)-Gf=P7 z5@cVQ-=PLPhMLKF?2A`X1Ll&w5-&t0&<&%o6m|bdWHrrv)Y5K5Rr+rM>aQ=L@95Bj zqx0PxvoV@DA7ii>m1uu^ehjMglW;jsv**7-RpJS1Z$xx($Md3MA1cvI)C99TP=7W0 z*b66O6>%kMCKu3)*HDSvLe0$6(H$rTn-RyOuFFKtIDlHJGF0L(p(#!1^;1u<Iw-)C@mG?U}2n2RuPl&ez$UQ2>8R97O&GF?%o` z&shI~n#gzP)%*W|hQ1J@3f=cN3pMjXOu(*~goAB75tYbnw3sdn8)crfL zmB*O(v6T1%*^R?i-Q4?YQO{d}AvUyGOM_(1N7lR8owy_aJcHA%+fWHz!(_aNszhuL zb~?7Q&cO=eBgiEtr>A@04^fqzi*dNTC-r9^nAhphCOnCnSv_ja8ZZ{WM&0lL^>)Pc za<5NA?TxmWjsevD1CU>6GX(XUF$-0ppP`oeO;iQm>qY(bMe-pXdeBK!2|vRuyodpO zj2YOTa*J7?pIsPV3&HhCz#k2`P_YKARPrRjk`zGjkmsNoolVNu0T!5LGAu6s0sa9{XE~)(NJl= zwBAB($_Ua{e=KTk{ivCDMI}&%V{i)U`u+C&5ez53fSTz=+y4z}0$~H)`+XS7rX!z* zGAqL_Sb;0?H`oSqSy;YH%uv*lEJF>n8kNu%T!#CRBAVW%?vgIW);f>c{U=eI_6t#A>U!1!5dHsZMX43)RLV-EyWk8Qh#st4Re20 zd!RO3C2E{yI11NdGYox2LnXh3+En*ZiNp=2kKn zV~9JU9`Fn*(IFUzlTb@hg{yhKSxBQL9Z}D@C-SU8)KYXut<@;oUyi!I!ny>bi8tYF z+=0z8bA)|cP~()L601ZdP=m>O|7-09YcRlx?O1^4ZGXf_cOXA%a}}co8iT6TWP5%A zCKCSwy|@XL_%75Ye;=dpAgVGau<`%@>u6~6{R=gdFcwI!TO4YD5>!INQG4SR)FxYp zTC$Bceisvn_oMDRW&7(ek+=ah{&kGSdl*utk)z!irJ^#-Mm;DWRl5Fo7{}u?m@&rv zy)Q>4`VKC}%lHyj{J?!Z&!T4D<#{*Jo~R0rK#g1VJoQ&*E9lUL8*n~uLT$3N7u?Ep zN8Kw zua>)i5p5mk?%D=aN&k)UcoUU)lku*psD#>K4Hl!W+kr~t5NgfOqL%J+EW|4bG<-DD zC%9`9oZyrvb@Ajmze*|#PbQ;C=W0@MilG(3;pbAV%s)8_oM3WB)ID1IuY9@NSq6w!eY4J_*hz$w}TO^!}R2hndceP}1 zXbs`eCztDK81U_I-TF z(ax#&_3%7$64Ekq;^;p>-%mI?(O!-oOyp?Gp-)R^M4Hdj)R~^v+w+w3c3N3@fHR$) zM`^xHKdnPt(~)C4N06A`n8r`O6HL$Y#5yC=eJT2Ldl9{QO;c&F!9u4tJ2l&lR0Wz)PDd)K!$z* delta 5552 zcmXxm4|GoV9mnzCBO;OHiTr!=yT>oKMi*0(q2SG21V)oaZ4fH6bx22RJEj>d3_S%*>RU?#qa zUGXGl;aAuVV^WPNzyj+Gj3?gc8ZvLu@X~PzpTZAu6#B_#0zQj{SclPg17q+m#$lVz z#so1D6%WU7d>VEA6zgnM!qun=tZ0ox#=K0UEgc(Clm5Al_hB~iySD!?)@D?~ri=T4 zSZqhw(Z(4VL7az4ScK_Vff|3lHH67L-#9dM!(P-3-na2dOdvjmRNpkAAMc?Cic53P zXQF1-A0u%XszPH>m6(LFINkOyKt1ny3~At1_QW>pJNAM@Hf}%-e9Fe>Py=4J@xQPG z@k3OC-gLJzS*XhNwsA4`CoZ$Tm~KL?9S7+c!HH%p!af;p$>t#2!K_0iup3pO1E`rD zMJ3XRtcp2@1$YOwMBUhtszh(peS@u)sLFn?YsfvZhz{Mb234AksLZ#bcJWTk!ba2# zzebfjjFUc$MZE=?sQX8w&W}Uwtt!-bGf)Z5K_$KjxRu9?e!SSd>l2M6fU^4bcJvTI#Mmdd1s0??aHrF0hiR)3BoF6P8o?1LwfG0nHu)NF1d z9)ikzGKS+1taGs~@j~ljR6@&96IzF=#CB9A_TUuupJ}iifgZ-NflUxq>PpmFO+!6! z9!BC~)FxYj?eGBVd>!h2KZ;tSbEx~Tp~m~SjoVO;Na79{$Ma1Jja=-Bn!yAN!zrkY zr=!+vF6wP~2^q_5Lw!mcF#<23mg*8Jft&WcC&w*$A}XOY8~4JH1}LVXQdOXK_Y~CY zRE_K>vjH{WLDWqCfJ5;-YCu2PEAdQJ0zI)k7NhPThODBQjau6Es7fEprT+Q={f!Pi z_&(~!gkJ8P1a3A&>g2 zQ9y?-9E%Ha5^5$NqZcor61j@H?lx-14=@HzzI&Y)HRDv&Qk9|-pNgvR0_59dR-ne) z5u%~e?nCX;2GoFm#wfgmdeA>mGrEOJ;I2L2f_gwy&>g1}>b@Wr<3QB?i%^wWh8pK3 z^kQhOJ+aAlY(s6ny{H=xpa!h9{SBxDPM~)2Y1DP+ZF~{6lvk_|a1U`Jugnmv$KLo5 zS(T6p63wNf3g_TQI1_{H6b-xyRiR&?_R4A%AxTwO=Lm{@2jZ+HA#XxC@nl{%Mp6sLV4_0|imL?v4#ZC&%WtL)qW)To8agzyZ5W5UFcxc3H=MxMw*qzjCDh*d zCkF5i>i(F=+&@ASFon1XRiUxy!&#`(zkvFFy!;sT*Mn;4PzkqV8t%qiY{XQ&jh)a- zIr!_#;jQTno|A+I)i=@DVDJm{K?MB-D+$ zs0R#2&14kn`f2FL`KbF=qbl|qYO}pzifMZPn`!W-nV4a2=0i}4 zJc&xI3YFYt)s>rL2Q@Bbbey75n_ z&G%Pq-CU>{+(9Mq0JYY!W$u!7v*ud|Sj()HsHK>Kdf+_NgnnZCw_-fcH+$82BM95H*2QsQa6+D}I9^WtKeBn0}ap zuj35N#GA;s#3Zu7T9PrSfhM9JI1kt0N~AcZUAg=ARA4uqNA3O^)TVtKwb?(waQwKO z`nRKThK{y)9<>A)Q8WMA#$oIc)K3Oh=#|{C!kH)iz#@S~3T<6mO$SeZ<;?y@=a9;cm7d zYMe1R9;adq{svX?P(2N8isPs?`V2KdGxov2SY!D3na42$U$ySXG~zQDg*P!8ze7DB zywXiH0hK^^)Kc`r4Oog@^!}f<~C!v;Z7WTyj=*L~Cr8(lMa^@xW z^JF_a6Dz|LNh!j)o7msi!nt-t>6pxMgCpM=nv|;LYW-z8vyw&?1-Rz_zizgDhK}PL zw>fwROfTF2Ic@#ooXbgx-Zu1ZAxg$hj>nhgeMGdGBag%H&tYR^MwTyn0rr+vaTu8VTkC6{z%o(axvIC7vY5>(BP)+5QXk zM><3O-Lg8;<0D$eq2DT(*1sPUIJcU(t+UQQJdkSd)jwVBX@7?gIC?l&{Ux6NIvFXc zS+Vs0p1v13dedHu2ID!hIP~l6%t-Nj!ky(Qr5=xSIHfW?hckT~Z@}LX+*b4WxOz&WwQHmrnn3`t-f<(cXxK&iX*^fUZP(7h+Ib?pcm5v@1}5oNGI0 wbL{2_mS=F_h#_wtWKQy#uivR!s diff --git a/content_manager/locale/fr/LC_MESSAGES/django.po b/content_manager/locale/fr/LC_MESSAGES/django.po index 35d6ed8d..109a2a12 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 17:54+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" +msgstr "Indicateur d’étapes" -#: 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éta %(total_steps)s" + #: content_manager/templates/content_manager/blocks/tabs.html:3 msgid "Tabs group" msgstr "Groupe d’onglets" 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/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 %} 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 }}

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", + }, + ), + }, + ), + ), + ] 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]