diff --git a/blog/locale/fr/LC_MESSAGES/django.mo b/blog/locale/fr/LC_MESSAGES/django.mo index 4617b7496..d1fe6eea3 100644 Binary files a/blog/locale/fr/LC_MESSAGES/django.mo and b/blog/locale/fr/LC_MESSAGES/django.mo differ diff --git a/blog/locale/fr/LC_MESSAGES/django.po b/blog/locale/fr/LC_MESSAGES/django.po index 2a87b460f..a22357be6 100644 --- a/blog/locale/fr/LC_MESSAGES/django.po +++ b/blog/locale/fr/LC_MESSAGES/django.po @@ -7,8 +7,8 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-02-26 18:17+0100\n" -"PO-Revision-Date: 2025-10-28 13:46+0100\n" +"POT-Creation-Date: 2026-03-23 16:30+0100\n" +"PO-Revision-Date: 2026-03-23 16:34+0100\n" "Last-Translator: \n" "Language-Team: \n" "Language: fr\n" @@ -85,8 +85,7 @@ msgid "Filter by source" msgstr "Filtrer par source" msgid "The source is the organization of the post author" -msgstr "" -"La source est l’organisation à laquelle appartient l’auteur de l’article" +msgstr "La source est l’organisation à laquelle appartient l’auteur de l’article" msgid "Show filters" msgstr "Afficher les filtres" @@ -160,6 +159,12 @@ msgstr "Source :" msgid "Filters" msgstr "Filtres" +msgid "selected" +msgstr "étiquette sélectionnée" + +msgid "unselected" +msgstr "étiquette non-sélectionnée" + msgid "Posts" msgstr "Articles" diff --git a/blog/migrations/0060_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py b/blog/migrations/0060_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py new file mode 100644 index 000000000..fe97202cd --- /dev/null +++ b/blog/migrations/0060_alter_blogentrypage_body_alter_blogindexpage_body_and_more.py @@ -0,0 +1,5435 @@ +# Generated by Django 6.0.3 on 2026-03-26 12:50 + +import content_manager.validators +import django.core.validators +import re +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + + dependencies = [ + ("blog", "0059_blogentrypage_exclude_from_sitemap_and_more"), + ] + + operations = [ + migrations.AlterField( + model_name="blogentrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("link", 64), + ("accordions", 67), + ("callout", 71), + ("highlight", 74), + ("quote", 79), + ("stepper", 86), + ("card", 104), + ("tile", 115), + ("tabs", 156), + ("markdown", 157), + ("iframe", 158), + ("html", 159), + ("anchor", 160), + ("separator", 161), + ("multicolumns", 172), + ("item_grid", 176), + ("fullwidthbackground", 181), + ("fullwidthbackgroundwithsidemenu", 188), + ("subpageslist", 189), + ("blog_recent_entries", 190), + ("events_recent_entries", 191), + ("layout_richtext", 195), + ("image_text_grid_section", 206), + ("image_text_cta_section", 210), + ("cta_section", 213), + ("spotlight_section", 217), + ("accordion_section", 219), + ], + 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), + ] + ], + {"label": "Centered image"}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("left", "Left (displayed above text in mobile view)"), + ("left_below", "Left (displayed below text in mobile view)"), + ("right", "Right (displayed below text in mobile view)"), + ("right_above", "Right (displayed above text in mobile view)"), + ], + "label": "Image position", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("3", "3/12"), ("4", "4/12"), ("5", "5/12"), ("6", "6/12")], + "label": "Image width", + }, + ), + 13: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("page", "Page"), + ("external_url", "External URL"), + ("document", "Document"), + ("anchor", "Anchor link"), + ], + "help_text": "Select the type of link.", + "label": "Link type", + "required": False, + }, + ), + 14: ( + "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, + }, + ), + 15: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 16: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Link to an anchor block on the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "required": False, + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 18: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Extra query parameters at the end of the link, e.g. filtering options.", + "label": "Extra query parameters", + "required": False, + "validators": [content_manager.validators.validate_query_string], + }, + ), + 19: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 20: ( + "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, + }, + ), + 21: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [[("image", 10), ("image_side", 11), ("image_ratio", 12), ("text", 0), ("link", 22)]], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Row heading", "required": False}), + 25: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Text", + "required": False, + }, + ), + 26: ("wagtail.images.blocks.ImageBlock", [], {"label": "Pictogram"}), + 27: ( + "wagtail.contrib.typed_table_block.blocks.TypedTableBlock", + [[("row_heading", 24), ("text", 25), ("pictogram", 26)]], + {"label": "Table"}, + ), + 28: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 29: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 31: ( + "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", + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("description", 29), ("level", 30), ("heading_tag", 31)]], + {"label": "Alert message"}, + ), + 33: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 34: ("wagtail.blocks.CharBlock", (), {"label": "Button label", "required": False}), + 35: ( + "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, + }, + ), + 36: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Icon", "required": False}, + ), + 37: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button"}, + ), + 39: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 40: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 39)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 41: ( + "wagtail.blocks.StructBlock", + [[("text", 33), ("cta_buttons", 40)]], + {"label": "Text and call to action"}, + ), + 42: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 43: ( + "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", + }, + ), + 44: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 45: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 46: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 47: ( + "wagtail.blocks.StructBlock", + [[("title", 45), ("content", 46)]], + {"label": "Transcription", "required": False}, + ), + 48: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 42), + ("caption", 7), + ("url", 43), + ("width", 5), + ("video_ratio", 44), + ("transcription", 47), + ] + ], + {"label": "Video"}, + ), + 49: ("wagtail.blocks.StructBlock", [[("title", 45), ("content", 46)]], {"label": "Transcription"}), + 50: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 51: ( + "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, + }, + ), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 53: ( + "wagtail.blocks.StructBlock", + [[("text", 50), ("color", 51), ("hide_icon", 52)]], + {"label": "Badge"}, + ), + 54: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {"label": "Badge list"}), + 55: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 56: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 57: ( + "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, + }, + ), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"required": False}, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("label", 55), ("is_small", 56), ("color", 57), ("icon_class", 36), ("link", 58)]], + {"label": "Tag"}, + ), + 60: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tag list"}), + 61: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 62: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "Left"), + ("fr-btns-group--center", "Center"), + ("fr-btns-group--right", "Right"), + ( + "fr-btns-group--right fr-btns-group--inline-reverse", + "Right (reverse order on desktop)", + ), + ], + "label": "Position", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [[("buttons", 61), ("position", 62)]], + {"label": "Button list"}, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + {"label": "Single link"}, + ), + 65: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 66: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 65)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 67: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "2. DSFR components", "label": "Accordions"}, + ), + 68: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + "required": False, + }, + ), + 69: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button", "required": False}, + ), + 70: ( + "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, + }, + ), + 71: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "2. DSFR components", "label": "Callout"}, + ), + 72: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + }, + ), + 73: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 74: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "2. DSFR components", "label": "Highlight"}, + ), + 75: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 76: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 77: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 78: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 79: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "2. DSFR components", "label": "Quote"}, + ), + 80: ( + "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", + }, + ), + 81: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 82: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 83: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 84: ("wagtail.blocks.StructBlock", [[("title", 55), ("detail", 83)]], {"label": "Step"}), + 85: ("wagtail.blocks.StreamBlock", [[("step", 84)]], {"label": "Steps"}), + 86: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "2. DSFR components", "label": "Stepper"}, + ), + 87: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badge", 53)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 89: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + { + "collapsed": False, + "help_text": "Link for the whole card. If a call-to-action is present, the link will display on the title only.", + "label": "Link", + "required": False, + }, + ), + 90: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 91: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {}), + 93: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("badges", 92), ("tags", 93)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 95: ( + "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, + }, + ), + 96: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 97: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ] + ], + {"label": "Link"}, + ), + 98: ("wagtail.blocks.StreamBlock", [[("link", 97)]], {"label": "Links"}), + 99: ( + "wagtail.blocks.StreamBlock", + [[("links", 98), ("buttons", 39)]], + { + "help_text": "Incompatible with the bottom detail text. Allow you to add link or button.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 100: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Card with grey background", "required": False}, + ), + 101: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "2. DSFR components", "label": "Horizontal card"}, + ), + 105: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 106: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 107: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"label": "Link", "required": False}, + ), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 109: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 110: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 111: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 112: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 113: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 114: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 115: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "2. DSFR components", "label": "Tile"}, + ), + 116: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 118: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 120: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 121: ( + "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, + }, + ), + 122: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 123: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 124: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 125: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 126: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 128: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 129: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 130: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 133: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 134: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 135: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 136: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 137: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 139: ( + "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, + }, + ), + 140: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Allows the creation of a link to this specific part of the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 141: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "Page structure", "label": "Anchor"}, + ), + 142: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 143: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 144: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "Page structure", "label": "Separator"}, + ), + 145: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 6), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 145), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 147: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 148: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 149: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 150: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 151: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 152: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tags", "required": False}), + 153: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 147), + ("link", 107), + ("heading_tag", 2), + ("name", 148), + ("role", 149), + ("organization", 150), + ("contact_info", 151), + ("image", 75), + ("tags", 152), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Content"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 154)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "2. DSFR components", "label": "Tabs"}, + ), + 157: ( + "wagtailmarkdown.blocks.MarkdownBlock", + (), + {"group": "5. Expert syntax", "label": "Markdown"}, + ), + 158: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "5. Expert syntax", "label": "Iframe"}, + ), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "5. Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 160: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "3. Page structure", "label": "Anchor"}, + ), + 161: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "3. Page structure", "label": "Separator"}, + ), + 162: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 163: ( + "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, + }, + ), + 164: ( + "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, + }, + ), + 165: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Top margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 166: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Bottom margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 167: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("top", "Top"), ("middle", "Middle"), ("bottom", "Bottom")], + "label": "Vertical align", + "required": False, + }, + ), + 168: ( + "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, + }, + ), + 169: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Column content"}, + ), + 170: ( + "wagtail.blocks.StructBlock", + [[("width", 168), ("content", 169)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 171: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("column", 170), + ] + ], + {"label": "Columns"}, + ), + 172: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("title", 1), + ("heading_tag", 164), + ("top_margin", 165), + ("bottom_margin", 166), + ("vertical_align", 167), + ("columns", 171), + ] + ], + {"group": "3. Page structure", "label": "Multiple columns"}, + ), + 173: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 174: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("center", "Center"), ("right", "Right")], + "label": "Horizontal align", + "required": False, + }, + ), + 175: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Items"}, + ), + 176: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "3. Page structure", "label": "Item grid"}, + ), + 177: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 178: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 179: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 180: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Content"}, + ), + 181: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("content", 180), + ] + ], + {"group": "3. Page structure", "label": "Full width background"}, + ), + 182: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Main content"}, + ), + 183: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 184: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 185: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 186: ("wagtail.blocks.StructBlock", [[("page", 185)]], {"label": "Page tree"}), + 187: ( + "wagtail.blocks.StreamBlock", + [[("html", 184), ("pagetree", 186)]], + {"label": "Side menu content"}, + ), + 188: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("main_content", 182), + ("sidemenu_title", 183), + ("sidemenu_content", 187), + ] + ], + {"group": "3. Page structure", "label": "Full width background with side menu"}, + ), + 189: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "4. Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 190: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Blog recent entries"}, + ), + 191: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Event calendar recent entries"}, + ), + 192: ( + "wagtail.blocks.RichTextBlock", + (), + { + "default": "
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 1", + }, + ), + ( + "accordion", + { + "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 2", + }, + ), + ], + "label": "Accordion", + }, + ), + 219: ( + "wagtail.blocks.StructBlock", + [[("accordion", 218), ("layout", 198)]], + {"group": "1. Section templates to be adapted", "label": "Accordions with layout"}, + ), + }, + ), + ), + migrations.AlterField( + model_name="blogindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("link", 64), + ("accordions", 67), + ("callout", 71), + ("highlight", 74), + ("quote", 79), + ("stepper", 86), + ("card", 104), + ("tile", 115), + ("tabs", 156), + ("markdown", 157), + ("iframe", 158), + ("html", 159), + ("anchor", 160), + ("separator", 161), + ("multicolumns", 172), + ("item_grid", 176), + ("fullwidthbackground", 181), + ("fullwidthbackgroundwithsidemenu", 188), + ("subpageslist", 189), + ("blog_recent_entries", 190), + ("events_recent_entries", 191), + ("layout_richtext", 195), + ("image_text_grid_section", 206), + ("image_text_cta_section", 210), + ("cta_section", 213), + ("spotlight_section", 217), + ("accordion_section", 219), + ], + 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), + ] + ], + {"label": "Centered image"}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("left", "Left (displayed above text in mobile view)"), + ("left_below", "Left (displayed below text in mobile view)"), + ("right", "Right (displayed below text in mobile view)"), + ("right_above", "Right (displayed above text in mobile view)"), + ], + "label": "Image position", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("3", "3/12"), ("4", "4/12"), ("5", "5/12"), ("6", "6/12")], + "label": "Image width", + }, + ), + 13: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("page", "Page"), + ("external_url", "External URL"), + ("document", "Document"), + ("anchor", "Anchor link"), + ], + "help_text": "Select the type of link.", + "label": "Link type", + "required": False, + }, + ), + 14: ( + "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, + }, + ), + 15: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 16: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Link to an anchor block on the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "required": False, + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 18: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Extra query parameters at the end of the link, e.g. filtering options.", + "label": "Extra query parameters", + "required": False, + "validators": [content_manager.validators.validate_query_string], + }, + ), + 19: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 20: ( + "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, + }, + ), + 21: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [[("image", 10), ("image_side", 11), ("image_ratio", 12), ("text", 0), ("link", 22)]], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Row heading", "required": False}), + 25: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Text", + "required": False, + }, + ), + 26: ("wagtail.images.blocks.ImageBlock", [], {"label": "Pictogram"}), + 27: ( + "wagtail.contrib.typed_table_block.blocks.TypedTableBlock", + [[("row_heading", 24), ("text", 25), ("pictogram", 26)]], + {"label": "Table"}, + ), + 28: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 29: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 31: ( + "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", + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("description", 29), ("level", 30), ("heading_tag", 31)]], + {"label": "Alert message"}, + ), + 33: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 34: ("wagtail.blocks.CharBlock", (), {"label": "Button label", "required": False}), + 35: ( + "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, + }, + ), + 36: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Icon", "required": False}, + ), + 37: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button"}, + ), + 39: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 40: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 39)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 41: ( + "wagtail.blocks.StructBlock", + [[("text", 33), ("cta_buttons", 40)]], + {"label": "Text and call to action"}, + ), + 42: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 43: ( + "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", + }, + ), + 44: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 45: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 46: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 47: ( + "wagtail.blocks.StructBlock", + [[("title", 45), ("content", 46)]], + {"label": "Transcription", "required": False}, + ), + 48: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 42), + ("caption", 7), + ("url", 43), + ("width", 5), + ("video_ratio", 44), + ("transcription", 47), + ] + ], + {"label": "Video"}, + ), + 49: ("wagtail.blocks.StructBlock", [[("title", 45), ("content", 46)]], {"label": "Transcription"}), + 50: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 51: ( + "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, + }, + ), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 53: ( + "wagtail.blocks.StructBlock", + [[("text", 50), ("color", 51), ("hide_icon", 52)]], + {"label": "Badge"}, + ), + 54: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {"label": "Badge list"}), + 55: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 56: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 57: ( + "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, + }, + ), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"required": False}, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("label", 55), ("is_small", 56), ("color", 57), ("icon_class", 36), ("link", 58)]], + {"label": "Tag"}, + ), + 60: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tag list"}), + 61: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 62: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "Left"), + ("fr-btns-group--center", "Center"), + ("fr-btns-group--right", "Right"), + ( + "fr-btns-group--right fr-btns-group--inline-reverse", + "Right (reverse order on desktop)", + ), + ], + "label": "Position", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [[("buttons", 61), ("position", 62)]], + {"label": "Button list"}, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + {"label": "Single link"}, + ), + 65: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 66: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 65)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 67: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "2. DSFR components", "label": "Accordions"}, + ), + 68: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + "required": False, + }, + ), + 69: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button", "required": False}, + ), + 70: ( + "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, + }, + ), + 71: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "2. DSFR components", "label": "Callout"}, + ), + 72: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + }, + ), + 73: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 74: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "2. DSFR components", "label": "Highlight"}, + ), + 75: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 76: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 77: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 78: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 79: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "2. DSFR components", "label": "Quote"}, + ), + 80: ( + "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", + }, + ), + 81: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 82: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 83: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 84: ("wagtail.blocks.StructBlock", [[("title", 55), ("detail", 83)]], {"label": "Step"}), + 85: ("wagtail.blocks.StreamBlock", [[("step", 84)]], {"label": "Steps"}), + 86: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "2. DSFR components", "label": "Stepper"}, + ), + 87: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badge", 53)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 89: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + { + "collapsed": False, + "help_text": "Link for the whole card. If a call-to-action is present, the link will display on the title only.", + "label": "Link", + "required": False, + }, + ), + 90: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 91: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {}), + 93: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("badges", 92), ("tags", 93)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 95: ( + "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, + }, + ), + 96: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 97: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ] + ], + {"label": "Link"}, + ), + 98: ("wagtail.blocks.StreamBlock", [[("link", 97)]], {"label": "Links"}), + 99: ( + "wagtail.blocks.StreamBlock", + [[("links", 98), ("buttons", 39)]], + { + "help_text": "Incompatible with the bottom detail text. Allow you to add link or button.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 100: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Card with grey background", "required": False}, + ), + 101: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "2. DSFR components", "label": "Horizontal card"}, + ), + 105: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 106: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 107: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"label": "Link", "required": False}, + ), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 109: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 110: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 111: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 112: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 113: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 114: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 115: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "2. DSFR components", "label": "Tile"}, + ), + 116: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 118: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 120: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 121: ( + "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, + }, + ), + 122: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 123: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 124: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 125: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 126: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 128: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 129: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 130: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 133: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 134: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 135: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 136: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 137: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 139: ( + "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, + }, + ), + 140: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Allows the creation of a link to this specific part of the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 141: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "Page structure", "label": "Anchor"}, + ), + 142: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 143: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 144: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "Page structure", "label": "Separator"}, + ), + 145: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 6), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 145), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 147: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 148: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 149: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 150: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 151: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 152: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tags", "required": False}), + 153: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 147), + ("link", 107), + ("heading_tag", 2), + ("name", 148), + ("role", 149), + ("organization", 150), + ("contact_info", 151), + ("image", 75), + ("tags", 152), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Content"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 154)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "2. DSFR components", "label": "Tabs"}, + ), + 157: ( + "wagtailmarkdown.blocks.MarkdownBlock", + (), + {"group": "5. Expert syntax", "label": "Markdown"}, + ), + 158: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "5. Expert syntax", "label": "Iframe"}, + ), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "5. Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 160: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "3. Page structure", "label": "Anchor"}, + ), + 161: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "3. Page structure", "label": "Separator"}, + ), + 162: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 163: ( + "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, + }, + ), + 164: ( + "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, + }, + ), + 165: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Top margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 166: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Bottom margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 167: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("top", "Top"), ("middle", "Middle"), ("bottom", "Bottom")], + "label": "Vertical align", + "required": False, + }, + ), + 168: ( + "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, + }, + ), + 169: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Column content"}, + ), + 170: ( + "wagtail.blocks.StructBlock", + [[("width", 168), ("content", 169)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 171: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("column", 170), + ] + ], + {"label": "Columns"}, + ), + 172: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("title", 1), + ("heading_tag", 164), + ("top_margin", 165), + ("bottom_margin", 166), + ("vertical_align", 167), + ("columns", 171), + ] + ], + {"group": "3. Page structure", "label": "Multiple columns"}, + ), + 173: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 174: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("center", "Center"), ("right", "Right")], + "label": "Horizontal align", + "required": False, + }, + ), + 175: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Items"}, + ), + 176: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "3. Page structure", "label": "Item grid"}, + ), + 177: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 178: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 179: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 180: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Content"}, + ), + 181: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("content", 180), + ] + ], + {"group": "3. Page structure", "label": "Full width background"}, + ), + 182: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Main content"}, + ), + 183: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 184: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 185: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 186: ("wagtail.blocks.StructBlock", [[("page", 185)]], {"label": "Page tree"}), + 187: ( + "wagtail.blocks.StreamBlock", + [[("html", 184), ("pagetree", 186)]], + {"label": "Side menu content"}, + ), + 188: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("main_content", 182), + ("sidemenu_title", 183), + ("sidemenu_content", 187), + ] + ], + {"group": "3. Page structure", "label": "Full width background with side menu"}, + ), + 189: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "4. Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 190: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Blog recent entries"}, + ), + 191: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Event calendar recent entries"}, + ), + 192: ( + "wagtail.blocks.RichTextBlock", + (), + { + "default": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 1", + }, + ), + ( + "accordion", + { + "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 2", + }, + ), + ], + "label": "Accordion", + }, + ), + 219: ( + "wagtail.blocks.StructBlock", + [[("accordion", 218), ("layout", 198)]], + {"group": "1. Section templates to be adapted", "label": "Accordions with layout"}, + ), + }, + ), + ), + migrations.AlterField( + model_name="category", + name="colophon", + field=wagtail.fields.StreamField( + [("paragraph", 0), ("imageandtext", 14), ("quote", 20), ("multicolumns", 157), ("contact_card", 161)], + 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 (displayed above text in mobile view)"), + ("left_below", "Left (displayed below text in mobile view)"), + ("right", "Right (displayed below text in mobile view)"), + ("right_above", "Right (displayed above text in mobile view)"), + ], + "label": "Image position", + }, + ), + 3: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("3", "3/12"), ("4", "4/12"), ("5", "5/12"), ("6", "6/12")], + "label": "Image width", + }, + ), + 4: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("page", "Page"), + ("external_url", "External URL"), + ("document", "Document"), + ("anchor", "Anchor link"), + ], + "help_text": "Select the type of link.", + "label": "Link type", + "required": False, + }, + ), + 5: ( + "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, + }, + ), + 6: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 7: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 8: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Link to an anchor block on the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "required": False, + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 9: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Extra query parameters at the end of the link, e.g. filtering options.", + "label": "Extra query parameters", + "required": False, + "validators": [content_manager.validators.validate_query_string], + }, + ), + 10: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 11: ( + "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, + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 13: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ("text", 10), + ("icon", 11), + ("size", 12), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.StructBlock", + [[("image", 1), ("image_side", 2), ("image_ratio", 3), ("text", 0), ("link", 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.CharBlock", (), {"label": "Title", "required": False}), + 24: ( + "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, + }, + ), + 25: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Top margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 26: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Bottom margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 27: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("top", "Top"), ("middle", "Middle"), ("bottom", "Bottom")], + "label": "Vertical align", + "required": False, + }, + ), + 28: ( + "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, + }, + ), + 29: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 30: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 31: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 32: ( + "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, + }, + ), + 33: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 34: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 35: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 23), + ("heading_tag", 28), + ("image", 29), + ("alt", 30), + ("width", 31), + ("image_ratio", 32), + ("caption", 33), + ("url", 34), + ] + ], + {"label": "Centered image"}, + ), + 36: ( + "wagtail.blocks.StructBlock", + [[("image", 1), ("image_side", 2), ("image_ratio", 3), ("text", 0), ("link", 13)]], + {"label": "Image and text"}, + ), + 37: ("wagtail.blocks.CharBlock", (), {"label": "Row heading", "required": False}), + 38: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Text", + "required": False, + }, + ), + 39: ("wagtail.images.blocks.ImageBlock", [], {"label": "Pictogram"}), + 40: ( + "wagtail.contrib.typed_table_block.blocks.TypedTableBlock", + [[("row_heading", 37), ("text", 38), ("pictogram", 39)]], + {"label": "Table"}, + ), + 41: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 42: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 43: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 44: ( + "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", + }, + ), + 45: ( + "wagtail.blocks.StructBlock", + [[("title", 41), ("description", 42), ("level", 43), ("heading_tag", 44)]], + {"label": "Alert message"}, + ), + 46: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Button label", "required": False}), + 48: ( + "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, + }, + ), + 49: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Icon", "required": False}, + ), + 50: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 51: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ("text", 47), + ("button_type", 48), + ("icon_class", 49), + ("icon_side", 50), + ] + ], + {"label": "Button"}, + ), + 52: ( + "wagtail.blocks.StreamBlock", + [[("button", 51)]], + { + "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", + }, + ), + 53: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 52)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 54: ( + "wagtail.blocks.StructBlock", + [[("text", 46), ("cta_buttons", 53)]], + {"label": "Text and call to action"}, + ), + 55: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 56: ( + "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", + }, + ), + 57: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 58: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 59: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 60: ( + "wagtail.blocks.StructBlock", + [[("title", 58), ("content", 59)]], + {"label": "Transcription", "required": False}, + ), + 61: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("caption", 33), + ("url", 56), + ("width", 31), + ("video_ratio", 57), + ("transcription", 60), + ] + ], + {"label": "Video"}, + ), + 62: ("wagtail.blocks.StructBlock", [[("title", 58), ("content", 59)]], {"label": "Transcription"}), + 63: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 64: ( + "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, + }, + ), + 65: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 66: ( + "wagtail.blocks.StructBlock", + [[("text", 63), ("color", 64), ("hide_icon", 65)]], + {"label": "Badge"}, + ), + 67: ("wagtail.blocks.StreamBlock", [[("badge", 66)]], {"label": "Badge list"}), + 68: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 69: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 70: ( + "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, + }, + ), + 71: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ] + ], + {"required": False}, + ), + 72: ( + "wagtail.blocks.StructBlock", + [[("label", 68), ("is_small", 69), ("color", 70), ("icon_class", 49), ("link", 71)]], + {"label": "Tag"}, + ), + 73: ("wagtail.blocks.StreamBlock", [[("tag", 72)]], {"label": "Tag list"}), + 74: ( + "wagtail.blocks.StreamBlock", + [[("button", 51)]], + { + "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", + }, + ), + 75: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "Left"), + ("fr-btns-group--center", "Center"), + ("fr-btns-group--right", "Right"), + ( + "fr-btns-group--right fr-btns-group--inline-reverse", + "Right (reverse order on desktop)", + ), + ], + "label": "Position", + "required": False, + }, + ), + 76: ( + "wagtail.blocks.StructBlock", + [[("buttons", 74), ("position", 75)]], + {"label": "Button list"}, + ), + 77: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 78: ( + "wagtail.blocks.StructBlock", + [[("title", 68), ("content", 77)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 79: ( + "wagtail.blocks.StreamBlock", + [[("title", 68), ("accordion", 78)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 80: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + "required": False, + }, + ), + 81: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ("text", 47), + ("button_type", 48), + ("icon_class", 49), + ("icon_side", 50), + ] + ], + {"label": "Button", "required": False}, + ), + 82: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 23), + ("heading_tag", 44), + ("icon_class", 49), + ("text", 80), + ("button", 81), + ("color", 19), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 83: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + }, + ), + 84: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 85: ( + "wagtail.blocks.StructBlock", + [[("text", 83), ("color", 19), ("size", 84)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 86: ( + "wagtail.blocks.StructBlock", + [[("image", 15), ("quote", 16), ("author_name", 17), ("author_title", 18), ("color", 19)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 87: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ("text", 10), + ("icon", 11), + ("size", 12), + ] + ], + {"label": "Single link"}, + ), + 88: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 89: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 90: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ] + ], + {"label": "Link", "required": False}, + ), + 91: ("wagtail.blocks.StreamBlock", [[("badge", 66)]], {}), + 92: ("wagtail.blocks.StreamBlock", [[("tag", 72)]], {}), + 93: ( + "wagtail.blocks.StreamBlock", + [[("badges", 91), ("tags", 92)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 94: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 95: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 96: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 99: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 100: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 101: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 68), + ("heading_tag", 44), + ("description", 88), + ("image", 89), + ("link", 90), + ("top_detail_badges_tags", 93), + ("detail_text", 94), + ("is_small", 95), + ("grey_background", 96), + ("no_background", 97), + ("no_border", 98), + ("shadow", 99), + ("is_horizontal", 100), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 102: ( + "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, + }, + ), + 103: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 104: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 105: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 106: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 107: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 108: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 109: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 110: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 23), + ("heading_tag", 102), + ("blog", 103), + ("entries_count", 104), + ("category_filter", 105), + ("tag_filter", 106), + ("author_filter", 107), + ("source_filter", 108), + ("show_filters", 109), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 111: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 112: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 23), + ("heading_tag", 102), + ("index_page", 111), + ("entries_count", 104), + ("category_filter", 105), + ("tag_filter", 106), + ("author_filter", 107), + ("source_filter", 108), + ("show_filters", 109), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 113: ( + "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", + }, + ), + 114: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 115: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Current step", "max_value": 8, "min_value": 1}, + ), + 116: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 117: ("wagtail.blocks.StructBlock", [[("title", 68), ("detail", 116)]], {"label": "Step"}), + 118: ("wagtail.blocks.StreamBlock", [[("step", 117)]], {"label": "Steps"}), + 119: ( + "wagtail.blocks.StructBlock", + [[("title", 68), ("heading_tag", 113), ("total", 114), ("current", 115), ("steps", 118)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 120: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 121: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 122: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 123: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 124: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 125: ( + "wagtail.blocks.StructBlock", + [[("title", 121), ("url", 122), ("height", 123), ("parameters", 124)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 126: ( + "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, + }, + ), + 127: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Allows the creation of a link to this specific part of the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 128: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 127)]], + {"group": "Page structure", "label": "Anchor"}, + ), + 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.StreamBlock", + [[("badge", 66)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 133: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ] + ], + { + "collapsed": False, + "help_text": "Link for the whole card. If a call-to-action is present, the link will display on the title only.", + "label": "Link", + "required": False, + }, + ), + 134: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 135: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 136: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 137: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 138: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 4), + ("page", 5), + ("document", 6), + ("external_url", 7), + ("anchor", 8), + ("query_string", 9), + ("text", 10), + ] + ], + {"label": "Link"}, + ), + 139: ("wagtail.blocks.StreamBlock", [[("link", 138)]], {"label": "Links"}), + 140: ( + "wagtail.blocks.StreamBlock", + [[("links", 139), ("buttons", 52)]], + { + "help_text": "Incompatible with the bottom detail text. Allow you to add link or button.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 141: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Card with grey background", "required": False}, + ), + 142: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 143: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 144: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 145: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 68), + ("heading_tag", 44), + ("description", 80), + ("image", 1), + ("image_ratio", 32), + ("image_badge", 132), + ("link", 133), + ("top_detail_text", 134), + ("top_detail_icon", 135), + ("top_detail_badges_tags", 93), + ("bottom_detail_text", 136), + ("bottom_detail_icon", 137), + ("call_to_action", 140), + ("grey_background", 141), + ("no_background", 142), + ("no_border", 143), + ("shadow", 144), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 146: ( + "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, + }, + ), + 147: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 148: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 149: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 150: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 151: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 152: ("wagtail.blocks.StreamBlock", [[("tag", 72)]], {"label": "Tags", "required": False}), + 153: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 147), + ("link", 90), + ("heading_tag", 28), + ("name", 148), + ("role", 149), + ("organization", 150), + ("contact_info", 151), + ("image", 15), + ("tags", 152), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 35), + ("imageandtext", 36), + ("table", 40), + ("alert", 45), + ("text_cta", 54), + ("video", 61), + ("transcription", 62), + ("badges_list", 67), + ("tags_list", 73), + ("buttons_list", 76), + ("accordions", 79), + ("callout", 82), + ("highlight", 85), + ("quote", 86), + ("link", 87), + ("tile", 101), + ("blog_recent_entries", 110), + ("events_recent_entries", 112), + ("stepper", 119), + ("markdown", 120), + ("iframe", 125), + ("html", 126), + ("anchor", 128), + ("separator", 131), + ("card", 145), + ("contact_card", 153), + ] + ], + {"label": "Column content"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("width", 146), ("content", 154)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 35), + ("imageandtext", 36), + ("table", 40), + ("alert", 45), + ("text_cta", 54), + ("video", 61), + ("transcription", 62), + ("badges_list", 67), + ("tags_list", 73), + ("buttons_list", 76), + ("accordions", 79), + ("callout", 82), + ("highlight", 85), + ("quote", 86), + ("link", 87), + ("tile", 101), + ("blog_recent_entries", 110), + ("events_recent_entries", 112), + ("stepper", 119), + ("markdown", 120), + ("iframe", 125), + ("html", 126), + ("anchor", 128), + ("separator", 131), + ("card", 145), + ("column", 155), + ] + ], + {"label": "Columns"}, + ), + 157: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 21), + ("bg_color_class", 22), + ("title", 23), + ("heading_tag", 24), + ("top_margin", 25), + ("bottom_margin", 26), + ("vertical_align", 27), + ("columns", 156), + ] + ], + {"label": "Multi-colonnes"}, + ), + 158: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255}), + 159: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255}), + 160: ("wagtail.blocks.CharBlock", (), {"label": "Organization", "max_length": 255}), + 161: ( + "wagtail.blocks.StructBlock", + [[("name", 158), ("role", 159), ("organization", 160), ("contact_info", 151), ("image", 29)]], + {"label": "Contact card"}, + ), + }, + help_text="Text displayed at the end of every page in the category", + ), + ), + ] diff --git a/blog/templates/blog/blog_entry_page.html b/blog/templates/blog/blog_entry_page.html index 045eadef0..c2593653f 100644 --- a/blog/templates/blog/blog_entry_page.html +++ b/blog/templates/blog/blog_entry_page.html @@ -88,11 +88,15 @@Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 1", + }, + ), + ( + "accordion", + { + "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 2", + }, + ), + ], + "label": "Accordion", + }, + ), + 219: ( + "wagtail.blocks.StructBlock", + [[("accordion", 218), ("layout", 198)]], + {"group": "1. Section templates to be adapted", "label": "Accordions with layout"}, + ), + }, + ), + ), + migrations.AlterField( + model_name="contentpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("link", 64), + ("accordions", 67), + ("callout", 71), + ("highlight", 74), + ("quote", 79), + ("stepper", 86), + ("card", 104), + ("tile", 115), + ("tabs", 156), + ("markdown", 157), + ("iframe", 158), + ("html", 159), + ("anchor", 160), + ("separator", 161), + ("multicolumns", 172), + ("item_grid", 176), + ("fullwidthbackground", 181), + ("fullwidthbackgroundwithsidemenu", 188), + ("subpageslist", 189), + ("blog_recent_entries", 190), + ("events_recent_entries", 191), + ("layout_richtext", 195), + ("image_text_grid_section", 206), + ("image_text_cta_section", 210), + ("cta_section", 213), + ("spotlight_section", 217), + ("accordion_section", 219), + ], + 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), + ] + ], + {"label": "Centered image"}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("left", "Left (displayed above text in mobile view)"), + ("left_below", "Left (displayed below text in mobile view)"), + ("right", "Right (displayed below text in mobile view)"), + ("right_above", "Right (displayed above text in mobile view)"), + ], + "label": "Image position", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("3", "3/12"), ("4", "4/12"), ("5", "5/12"), ("6", "6/12")], + "label": "Image width", + }, + ), + 13: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("page", "Page"), + ("external_url", "External URL"), + ("document", "Document"), + ("anchor", "Anchor link"), + ], + "help_text": "Select the type of link.", + "label": "Link type", + "required": False, + }, + ), + 14: ( + "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, + }, + ), + 15: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 16: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Link to an anchor block on the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "required": False, + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 18: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Extra query parameters at the end of the link, e.g. filtering options.", + "label": "Extra query parameters", + "required": False, + "validators": [content_manager.validators.validate_query_string], + }, + ), + 19: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 20: ( + "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, + }, + ), + 21: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [[("image", 10), ("image_side", 11), ("image_ratio", 12), ("text", 0), ("link", 22)]], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Row heading", "required": False}), + 25: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Text", + "required": False, + }, + ), + 26: ("wagtail.images.blocks.ImageBlock", [], {"label": "Pictogram"}), + 27: ( + "wagtail.contrib.typed_table_block.blocks.TypedTableBlock", + [[("row_heading", 24), ("text", 25), ("pictogram", 26)]], + {"label": "Table"}, + ), + 28: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 29: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 31: ( + "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", + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("description", 29), ("level", 30), ("heading_tag", 31)]], + {"label": "Alert message"}, + ), + 33: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 34: ("wagtail.blocks.CharBlock", (), {"label": "Button label", "required": False}), + 35: ( + "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, + }, + ), + 36: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Icon", "required": False}, + ), + 37: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button"}, + ), + 39: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 40: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 39)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 41: ( + "wagtail.blocks.StructBlock", + [[("text", 33), ("cta_buttons", 40)]], + {"label": "Text and call to action"}, + ), + 42: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 43: ( + "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", + }, + ), + 44: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 45: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 46: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 47: ( + "wagtail.blocks.StructBlock", + [[("title", 45), ("content", 46)]], + {"label": "Transcription", "required": False}, + ), + 48: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 42), + ("caption", 7), + ("url", 43), + ("width", 5), + ("video_ratio", 44), + ("transcription", 47), + ] + ], + {"label": "Video"}, + ), + 49: ("wagtail.blocks.StructBlock", [[("title", 45), ("content", 46)]], {"label": "Transcription"}), + 50: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 51: ( + "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, + }, + ), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 53: ( + "wagtail.blocks.StructBlock", + [[("text", 50), ("color", 51), ("hide_icon", 52)]], + {"label": "Badge"}, + ), + 54: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {"label": "Badge list"}), + 55: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 56: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 57: ( + "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, + }, + ), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"required": False}, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("label", 55), ("is_small", 56), ("color", 57), ("icon_class", 36), ("link", 58)]], + {"label": "Tag"}, + ), + 60: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tag list"}), + 61: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 62: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "Left"), + ("fr-btns-group--center", "Center"), + ("fr-btns-group--right", "Right"), + ( + "fr-btns-group--right fr-btns-group--inline-reverse", + "Right (reverse order on desktop)", + ), + ], + "label": "Position", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [[("buttons", 61), ("position", 62)]], + {"label": "Button list"}, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + {"label": "Single link"}, + ), + 65: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 66: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 65)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 67: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "2. DSFR components", "label": "Accordions"}, + ), + 68: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + "required": False, + }, + ), + 69: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button", "required": False}, + ), + 70: ( + "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, + }, + ), + 71: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "2. DSFR components", "label": "Callout"}, + ), + 72: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + }, + ), + 73: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 74: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "2. DSFR components", "label": "Highlight"}, + ), + 75: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 76: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 77: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 78: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 79: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "2. DSFR components", "label": "Quote"}, + ), + 80: ( + "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", + }, + ), + 81: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 82: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 83: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 84: ("wagtail.blocks.StructBlock", [[("title", 55), ("detail", 83)]], {"label": "Step"}), + 85: ("wagtail.blocks.StreamBlock", [[("step", 84)]], {"label": "Steps"}), + 86: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "2. DSFR components", "label": "Stepper"}, + ), + 87: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badge", 53)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 89: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + { + "collapsed": False, + "help_text": "Link for the whole card. If a call-to-action is present, the link will display on the title only.", + "label": "Link", + "required": False, + }, + ), + 90: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 91: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {}), + 93: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("badges", 92), ("tags", 93)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 95: ( + "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, + }, + ), + 96: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 97: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ] + ], + {"label": "Link"}, + ), + 98: ("wagtail.blocks.StreamBlock", [[("link", 97)]], {"label": "Links"}), + 99: ( + "wagtail.blocks.StreamBlock", + [[("links", 98), ("buttons", 39)]], + { + "help_text": "Incompatible with the bottom detail text. Allow you to add link or button.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 100: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Card with grey background", "required": False}, + ), + 101: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "2. DSFR components", "label": "Horizontal card"}, + ), + 105: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 106: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 107: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"label": "Link", "required": False}, + ), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 109: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 110: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 111: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 112: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 113: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 114: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 115: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "2. DSFR components", "label": "Tile"}, + ), + 116: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 118: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 120: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 121: ( + "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, + }, + ), + 122: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 123: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 124: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 125: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 126: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 128: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 129: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 130: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 133: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 134: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 135: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 136: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 137: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 139: ( + "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, + }, + ), + 140: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Allows the creation of a link to this specific part of the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 141: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "Page structure", "label": "Anchor"}, + ), + 142: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 143: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 144: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "Page structure", "label": "Separator"}, + ), + 145: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 6), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 145), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 147: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 148: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 149: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 150: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 151: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 152: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tags", "required": False}), + 153: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 147), + ("link", 107), + ("heading_tag", 2), + ("name", 148), + ("role", 149), + ("organization", 150), + ("contact_info", 151), + ("image", 75), + ("tags", 152), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Content"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 154)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "2. DSFR components", "label": "Tabs"}, + ), + 157: ( + "wagtailmarkdown.blocks.MarkdownBlock", + (), + {"group": "5. Expert syntax", "label": "Markdown"}, + ), + 158: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "5. Expert syntax", "label": "Iframe"}, + ), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "5. Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 160: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "3. Page structure", "label": "Anchor"}, + ), + 161: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "3. Page structure", "label": "Separator"}, + ), + 162: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 163: ( + "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, + }, + ), + 164: ( + "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, + }, + ), + 165: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Top margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 166: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Bottom margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 167: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("top", "Top"), ("middle", "Middle"), ("bottom", "Bottom")], + "label": "Vertical align", + "required": False, + }, + ), + 168: ( + "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, + }, + ), + 169: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Column content"}, + ), + 170: ( + "wagtail.blocks.StructBlock", + [[("width", 168), ("content", 169)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 171: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("column", 170), + ] + ], + {"label": "Columns"}, + ), + 172: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("title", 1), + ("heading_tag", 164), + ("top_margin", 165), + ("bottom_margin", 166), + ("vertical_align", 167), + ("columns", 171), + ] + ], + {"group": "3. Page structure", "label": "Multiple columns"}, + ), + 173: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 174: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("center", "Center"), ("right", "Right")], + "label": "Horizontal align", + "required": False, + }, + ), + 175: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Items"}, + ), + 176: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "3. Page structure", "label": "Item grid"}, + ), + 177: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 178: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 179: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 180: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Content"}, + ), + 181: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("content", 180), + ] + ], + {"group": "3. Page structure", "label": "Full width background"}, + ), + 182: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Main content"}, + ), + 183: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 184: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 185: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 186: ("wagtail.blocks.StructBlock", [[("page", 185)]], {"label": "Page tree"}), + 187: ( + "wagtail.blocks.StreamBlock", + [[("html", 184), ("pagetree", 186)]], + {"label": "Side menu content"}, + ), + 188: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("main_content", 182), + ("sidemenu_title", 183), + ("sidemenu_content", 187), + ] + ], + {"group": "3. Page structure", "label": "Full width background with side menu"}, + ), + 189: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "4. Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 190: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Blog recent entries"}, + ), + 191: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Event calendar recent entries"}, + ), + 192: ( + "wagtail.blocks.RichTextBlock", + (), + { + "default": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 1", + }, + ), + ( + "accordion", + { + "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 2", + }, + ), + ], + "label": "Accordion", + }, + ), + 219: ( + "wagtail.blocks.StructBlock", + [[("accordion", 218), ("layout", 198)]], + {"group": "1. Section templates to be adapted", "label": "Accordions with layout"}, + ), + }, + ), + ), + ] diff --git a/content_manager/templates/content_manager/blocks/stepper.html b/content_manager/templates/content_manager/blocks/stepper.html index d92d66288..877c1d0df 100644 --- a/content_manager/templates/content_manager/blocks/stepper.html +++ b/content_manager/templates/content_manager/blocks/stepper.html @@ -1,14 +1,14 @@ {% load i18n %}Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 1", + }, + ), + ( + "accordion", + { + "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 2", + }, + ), + ], + "label": "Accordion", + }, + ), + 219: ( + "wagtail.blocks.StructBlock", + [[("accordion", 218), ("layout", 198)]], + {"group": "1. Section templates to be adapted", "label": "Accordions with layout"}, + ), + }, + ), + ), + migrations.AlterField( + model_name="eventsindexpage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("link", 64), + ("accordions", 67), + ("callout", 71), + ("highlight", 74), + ("quote", 79), + ("stepper", 86), + ("card", 104), + ("tile", 115), + ("tabs", 156), + ("markdown", 157), + ("iframe", 158), + ("html", 159), + ("anchor", 160), + ("separator", 161), + ("multicolumns", 172), + ("item_grid", 176), + ("fullwidthbackground", 181), + ("fullwidthbackgroundwithsidemenu", 188), + ("subpageslist", 189), + ("blog_recent_entries", 190), + ("events_recent_entries", 191), + ("layout_richtext", 195), + ("image_text_grid_section", 206), + ("image_text_cta_section", 210), + ("cta_section", 213), + ("spotlight_section", 217), + ("accordion_section", 219), + ], + 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), + ] + ], + {"label": "Centered image"}, + ), + 10: ("wagtail.images.blocks.ImageBlock", [], {"label": "Image"}), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("left", "Left (displayed above text in mobile view)"), + ("left_below", "Left (displayed below text in mobile view)"), + ("right", "Right (displayed below text in mobile view)"), + ("right_above", "Right (displayed above text in mobile view)"), + ], + "label": "Image position", + }, + ), + 12: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("3", "3/12"), ("4", "4/12"), ("5", "5/12"), ("6", "6/12")], + "label": "Image width", + }, + ), + 13: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("page", "Page"), + ("external_url", "External URL"), + ("document", "Document"), + ("anchor", "Anchor link"), + ], + "help_text": "Select the type of link.", + "label": "Link type", + "required": False, + }, + ), + 14: ( + "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, + }, + ), + 15: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 16: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Link to an anchor block on the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "required": False, + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 18: ( + "wagtail.blocks.CharBlock", + (), + { + "default": "", + "help_text": "Extra query parameters at the end of the link, e.g. filtering options.", + "label": "Extra query parameters", + "required": False, + "validators": [content_manager.validators.validate_query_string], + }, + ), + 19: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 20: ( + "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, + }, + ), + 21: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 23: ( + "wagtail.blocks.StructBlock", + [[("image", 10), ("image_side", 11), ("image_ratio", 12), ("text", 0), ("link", 22)]], + {"label": "Image and text"}, + ), + 24: ("wagtail.blocks.CharBlock", (), {"label": "Row heading", "required": False}), + 25: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Text", + "required": False, + }, + ), + 26: ("wagtail.images.blocks.ImageBlock", [], {"label": "Pictogram"}), + 27: ( + "wagtail.contrib.typed_table_block.blocks.TypedTableBlock", + [[("row_heading", 24), ("text", 25), ("pictogram", 26)]], + {"label": "Table"}, + ), + 28: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 29: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 30: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 31: ( + "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", + }, + ), + 32: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("description", 29), ("level", 30), ("heading_tag", 31)]], + {"label": "Alert message"}, + ), + 33: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 34: ("wagtail.blocks.CharBlock", (), {"label": "Button label", "required": False}), + 35: ( + "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, + }, + ), + 36: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Icon", "required": False}, + ), + 37: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button"}, + ), + 39: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 40: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 39)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 41: ( + "wagtail.blocks.StructBlock", + [[("text", 33), ("cta_buttons", 40)]], + {"label": "Text and call to action"}, + ), + 42: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 43: ( + "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", + }, + ), + 44: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 45: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 46: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 47: ( + "wagtail.blocks.StructBlock", + [[("title", 45), ("content", 46)]], + {"label": "Transcription", "required": False}, + ), + 48: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 42), + ("caption", 7), + ("url", 43), + ("width", 5), + ("video_ratio", 44), + ("transcription", 47), + ] + ], + {"label": "Video"}, + ), + 49: ("wagtail.blocks.StructBlock", [[("title", 45), ("content", 46)]], {"label": "Transcription"}), + 50: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 51: ( + "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, + }, + ), + 52: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 53: ( + "wagtail.blocks.StructBlock", + [[("text", 50), ("color", 51), ("hide_icon", 52)]], + {"label": "Badge"}, + ), + 54: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {"label": "Badge list"}), + 55: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 56: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 57: ( + "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, + }, + ), + 58: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"required": False}, + ), + 59: ( + "wagtail.blocks.StructBlock", + [[("label", 55), ("is_small", 56), ("color", 57), ("icon_class", 36), ("link", 58)]], + {"label": "Tag"}, + ), + 60: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tag list"}), + 61: ( + "wagtail.blocks.StreamBlock", + [[("button", 38)]], + { + "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", + }, + ), + 62: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "Left"), + ("fr-btns-group--center", "Center"), + ("fr-btns-group--right", "Right"), + ( + "fr-btns-group--right fr-btns-group--inline-reverse", + "Right (reverse order on desktop)", + ), + ], + "label": "Position", + "required": False, + }, + ), + 63: ( + "wagtail.blocks.StructBlock", + [[("buttons", 61), ("position", 62)]], + {"label": "Button list"}, + ), + 64: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ("icon", 20), + ("size", 21), + ] + ], + {"label": "Single link"}, + ), + 65: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 66: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 65)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 67: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "2. DSFR components", "label": "Accordions"}, + ), + 68: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + "required": False, + }, + ), + 69: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 34), + ("button_type", 35), + ("icon_class", 36), + ("icon_side", 37), + ] + ], + {"label": "Button", "required": False}, + ), + 70: ( + "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, + }, + ), + 71: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "2. DSFR components", "label": "Callout"}, + ), + 72: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + "text-left", + "text-center", + "text-right", + ], + "label": "Content", + }, + ), + 73: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 74: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "2. DSFR components", "label": "Highlight"}, + ), + 75: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 76: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 77: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 78: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 79: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "2. DSFR components", "label": "Quote"}, + ), + 80: ( + "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", + }, + ), + 81: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 82: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 83: ("wagtail.blocks.TextBlock", (), {"label": "Detail", "required": False}), + 84: ("wagtail.blocks.StructBlock", [[("title", 55), ("detail", 83)]], {"label": "Step"}), + 85: ("wagtail.blocks.StreamBlock", [[("step", 84)]], {"label": "Steps"}), + 86: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "2. DSFR components", "label": "Stepper"}, + ), + 87: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 88: ( + "wagtail.blocks.StreamBlock", + [[("badge", 53)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 89: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + { + "collapsed": False, + "help_text": "Link for the whole card. If a call-to-action is present, the link will display on the title only.", + "label": "Link", + "required": False, + }, + ), + 90: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 91: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 92: ("wagtail.blocks.StreamBlock", [[("badge", 53)]], {}), + 93: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {}), + 94: ( + "wagtail.blocks.StreamBlock", + [[("badges", 92), ("tags", 93)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 95: ( + "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, + }, + ), + 96: ( + "content_manager.blocks.buttons_links.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 97: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ("text", 19), + ] + ], + {"label": "Link"}, + ), + 98: ("wagtail.blocks.StreamBlock", [[("link", 97)]], {"label": "Links"}), + 99: ( + "wagtail.blocks.StreamBlock", + [[("links", 98), ("buttons", 39)]], + { + "help_text": "Incompatible with the bottom detail text. Allow you to add link or button.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 100: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Card with grey background", "required": False}, + ), + 101: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 103: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "2. DSFR components", "label": "Horizontal card"}, + ), + 105: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 106: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 107: ( + "wagtail.blocks.StructBlock", + [ + [ + ("link_type", 13), + ("page", 14), + ("document", 15), + ("external_url", 16), + ("anchor", 17), + ("query_string", 18), + ] + ], + {"label": "Link", "required": False}, + ), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 109: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 110: ( + "wagtail.blocks.BooleanBlock", + (), + {"label": "Tile with grey background", "required": False}, + ), + 111: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 112: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 113: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 114: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 115: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "2. DSFR components", "label": "Tile"}, + ), + 116: ( + "wagtail.blocks.StreamBlock", + [[("title", 55), ("accordion", 66)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 117: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 31), + ("icon_class", 36), + ("text", 68), + ("button", 69), + ("color", 70), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 118: ( + "wagtail.blocks.StructBlock", + [[("text", 72), ("color", 70), ("size", 73)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 119: ( + "wagtail.blocks.StructBlock", + [[("image", 75), ("quote", 76), ("author_name", 77), ("author_title", 78), ("color", 70)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 120: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 105), + ("image", 106), + ("link", 107), + ("top_detail_badges_tags", 94), + ("detail_text", 108), + ("is_small", 109), + ("grey_background", 110), + ("no_background", 111), + ("no_border", 112), + ("shadow", 113), + ("is_horizontal", 114), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 121: ( + "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, + }, + ), + 122: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 123: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 124: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 125: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 126: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 127: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 128: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 129: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 130: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 131: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 132: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("heading_tag", 80), ("total", 81), ("current", 82), ("steps", 85)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 133: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 134: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 135: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 136: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 137: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 138: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 139: ( + "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, + }, + ), + 140: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Allows the creation of a link to this specific part of the page. Allowed characters: A-Z, a-z, 0-9, - and _.", + "label": "Anchor ID", + "validators": [ + django.core.validators.RegexValidator( + re.compile("^[-a-zA-Z0-9_]+\\Z"), + "Enter a valid “slug” consisting of letters, numbers, underscores or hyphens.", + "invalid", + ) + ], + }, + ), + 141: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "Page structure", "label": "Anchor"}, + ), + 142: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 143: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 144: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "Page structure", "label": "Separator"}, + ), + 145: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 146: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 6), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 145), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 147: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + { + "help_text": "Optional, all values can be manually specified or overriden below", + "label": "Person", + "required": False, + }, + ), + 148: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255, "required": False}), + 149: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255, "required": False}), + 150: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Organization", "max_length": 255, "required": False}, + ), + 151: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Contact info", "max_length": 500, "required": False}, + ), + 152: ("wagtail.blocks.StreamBlock", [[("tag", 59)]], {"label": "Tags", "required": False}), + 153: ( + "wagtail.blocks.StructBlock", + [ + [ + ("contact", 147), + ("link", 107), + ("heading_tag", 2), + ("name", 148), + ("role", 149), + ("organization", 150), + ("contact_info", 151), + ("image", 75), + ("tags", 152), + ] + ], + {"group": "Extra components", "label": "Contact card"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Content"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("title", 55), ("content", 154)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 156: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "2. DSFR components", "label": "Tabs"}, + ), + 157: ( + "wagtailmarkdown.blocks.MarkdownBlock", + (), + {"group": "5. Expert syntax", "label": "Markdown"}, + ), + 158: ( + "wagtail.blocks.StructBlock", + [[("title", 134), ("url", 135), ("height", 136), ("parameters", 137)]], + {"group": "5. Expert syntax", "label": "Iframe"}, + ), + 159: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "5. Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "readonly": True, + }, + ), + 160: ( + "wagtail.blocks.StructBlock", + [[("anchor_id", 140)]], + {"group": "3. Page structure", "label": "Anchor"}, + ), + 161: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 142), ("bottom_margin", 143)]], + {"group": "3. Page structure", "label": "Separator"}, + ), + 162: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 163: ( + "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, + }, + ), + 164: ( + "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, + }, + ), + 165: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Top margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 166: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 5, "label": "Bottom margin", "max_value": 15, "min_value": 0, "required": False}, + ), + 167: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("top", "Top"), ("middle", "Middle"), ("bottom", "Bottom")], + "label": "Vertical align", + "required": False, + }, + ), + 168: ( + "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, + }, + ), + 169: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Column content"}, + ), + 170: ( + "wagtail.blocks.StructBlock", + [[("width", 168), ("content", 169)]], + {"group": "Page structure", "label": "Adjustable column"}, + ), + 171: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("column", 170), + ] + ], + {"label": "Columns"}, + ), + 172: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("title", 1), + ("heading_tag", 164), + ("top_margin", 165), + ("bottom_margin", 166), + ("vertical_align", 167), + ("columns", 171), + ] + ], + {"group": "3. Page structure", "label": "Multiple columns"}, + ), + 173: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 174: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("center", "Center"), ("right", "Right")], + "label": "Horizontal align", + "required": False, + }, + ), + 175: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("card", 146), + ("contact_card", 153), + ] + ], + {"label": "Items"}, + ), + 176: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "3. Page structure", "label": "Item grid"}, + ), + 177: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 55), + ("heading_tag", 31), + ("description", 68), + ("image", 10), + ("image_ratio", 87), + ("image_badge", 88), + ("link", 89), + ("top_detail_text", 90), + ("top_detail_icon", 91), + ("top_detail_badges_tags", 94), + ("bottom_detail_text", 95), + ("bottom_detail_icon", 96), + ("call_to_action", 99), + ("grey_background", 100), + ("no_background", 101), + ("no_border", 102), + ("shadow", 103), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 178: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 155)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 179: ( + "wagtail.blocks.StructBlock", + [[("column_width", 173), ("horizontal_align", 174), ("vertical_align", 167), ("items", 175)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 180: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Content"}, + ), + 181: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("content", 180), + ] + ], + {"group": "3. Page structure", "label": "Full width background"}, + ), + 182: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 9), + ("imageandtext", 23), + ("table", 27), + ("alert", 32), + ("text_cta", 41), + ("video", 48), + ("transcription", 49), + ("badges_list", 54), + ("tags_list", 60), + ("buttons_list", 63), + ("accordions", 116), + ("callout", 117), + ("highlight", 118), + ("quote", 119), + ("link", 64), + ("tile", 120), + ("blog_recent_entries", 129), + ("events_recent_entries", 131), + ("stepper", 132), + ("markdown", 133), + ("iframe", 138), + ("html", 139), + ("anchor", 141), + ("separator", 144), + ("image_and_text", 23), + ("card", 177), + ("tabs", 178), + ("item_grid", 179), + ] + ], + {"label": "Main content"}, + ), + 183: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 184: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 185: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 186: ("wagtail.blocks.StructBlock", [[("page", 185)]], {"label": "Page tree"}), + 187: ( + "wagtail.blocks.StreamBlock", + [[("html", 184), ("pagetree", 186)]], + {"label": "Side menu content"}, + ), + 188: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 162), + ("bg_color_class", 163), + ("top_margin", 165), + ("bottom_margin", 166), + ("main_content", 182), + ("sidemenu_title", 183), + ("sidemenu_content", 187), + ] + ], + {"group": "3. Page structure", "label": "Full width background with side menu"}, + ), + 189: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "4. Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 190: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("blog", 122), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Blog recent entries"}, + ), + 191: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 121), + ("index_page", 130), + ("entries_count", 123), + ("category_filter", 124), + ("tag_filter", 125), + ("author_filter", 126), + ("source_filter", 127), + ("show_filters", 128), + ] + ], + {"group": "4. Website structure", "label": "Event calendar recent entries"}, + ), + 192: ( + "wagtail.blocks.RichTextBlock", + (), + { + "default": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 1", + }, + ), + ( + "accordion", + { + "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
", + "title": "Titre de l'accordéon 2", + }, + ), + ], + "label": "Accordion", + }, + ), + 219: ( + "wagtail.blocks.StructBlock", + [[("accordion", 218), ("layout", 198)]], + {"group": "1. Section templates to be adapted", "label": "Accordions with layout"}, + ), + }, + ), + ), + ] diff --git a/events/templates/events/events_index_page.html b/events/templates/events/events_index_page.html index a662c2111..95772bde4 100644 --- a/events/templates/events/events_index_page.html +++ b/events/templates/events/events_index_page.html @@ -103,6 +103,7 @@