From 4775d40cf15f5a464512cad3526eb7b590ab27a4 Mon Sep 17 00:00:00 2001 From: Lucien Date: Sat, 30 Nov 2024 20:41:48 +0100 Subject: [PATCH] add slider to full width block --- .../0054_alter_blogentrypage_body.py | 1892 +++++++++++++++++ numerique_gouv/blocks.py | 49 +- .../0085_alter_numeriquebasepage_body.py | 1892 +++++++++++++++++ 3 files changed, 3809 insertions(+), 24 deletions(-) create mode 100644 blog/migrations/0054_alter_blogentrypage_body.py create mode 100644 numerique_gouv/migrations/0085_alter_numeriquebasepage_body.py diff --git a/blog/migrations/0054_alter_blogentrypage_body.py b/blog/migrations/0054_alter_blogentrypage_body.py new file mode 100644 index 00000000..f0d727ed --- /dev/null +++ b/blog/migrations/0054_alter_blogentrypage_body.py @@ -0,0 +1,1892 @@ +# Generated by Django 5.0.9 on 2024-11-30 19:41 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("blog", "0053_alter_blogentrypage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="blogentrypage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("video", 53), + ("transcription", 54), + ("badges_list", 59), + ("tags_list", 64), + ("link", 65), + ("stepper", 71), + ("card", 93), + ("tile", 103), + ("tabs", 130), + ("markdown", 131), + ("iframe", 132), + ("separator", 135), + ("multicolumns", 161), + ("item_grid", 163), + ("fullwidthbackground", 176), + ("fullwidthbackgroundwithsidemenu", 183), + ("subpageslist", 184), + ("blog_recent_entries", 167), + ("events_recent_entries", 186), + ("html", 187), + ("three_cards", 205), + ("numeric_direction_card", 206), + ("spacer", 170), + ("stylized_column", 159), + ("highlight_cards", 210), + ("vertical_highlight_cards", 212), + ("slider", 174), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 30: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("content", 29)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 31: ( + "wagtail.blocks.StreamBlock", + [[("title", 28), ("accordion", 30)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 32: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 33: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 34: ( + "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, + }, + ), + 35: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 34), + ("icon_class", 32), + ("icon_side", 35), + ] + ], + {"label": "Button", "required": False}, + ), + 37: ( + "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, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 32), + ("text", 33), + ("button", 36), + ("color", 37), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 39: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.StructBlock", + [[("text", 39), ("color", 37), ("size", 40)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 42: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 43: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 44: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 45: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 46: ( + "wagtail.blocks.StructBlock", + [[("image", 42), ("quote", 43), ("author_name", 44), ("author_title", 45), ("color", 37)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 48: ( + "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", + }, + ), + 49: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 50: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 51: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 52: ( + "wagtail.blocks.StructBlock", + [[("title", 50), ("content", 51)]], + {"label": "Transcription", "required": False}, + ), + 53: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 47), + ("caption", 7), + ("url", 48), + ("width", 5), + ("video_ratio", 49), + ("transcription", 52), + ] + ], + {"label": "Video"}, + ), + 54: ("wagtail.blocks.StructBlock", [[("title", 50), ("content", 51)]], {"label": "Transcription"}), + 55: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 56: ( + "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, + }, + ), + 57: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 58: ( + "wagtail.blocks.StructBlock", + [[("text", 55), ("color", 56), ("hide_icon", 57)]], + {"label": "Badge"}, + ), + 59: ("wagtail.blocks.StreamBlock", [[("badge", 58)]], {"label": "Badge list"}), + 60: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 61: ( + "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, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 63: ( + "wagtail.blocks.StructBlock", + [[("label", 28), ("is_small", 60), ("color", 61), ("icon_class", 32), ("link", 62)]], + {"label": "Tag"}, + ), + 64: ("wagtail.blocks.StreamBlock", [[("tag", 63)]], {"label": "Tag list"}), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 66: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 67: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 68: ("wagtail.blocks.TextBlock", (), {"label": "Detail"}), + 69: ("wagtail.blocks.StructBlock", [[("title", 28), ("detail", 68)]], {"label": "Step"}), + 70: ("wagtail.blocks.StreamBlock", [[("step", 69)]], {"label": "Steps"}), + 71: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("total", 66), ("current", 67), ("steps", 70)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 72: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 73: ( + "wagtail.blocks.StreamBlock", + [[("badge", 58)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 74: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 75: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 76: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 77: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 78: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 79: ("wagtail.blocks.StreamBlock", [[("badge", 58)]], {}), + 80: ("wagtail.blocks.StreamBlock", [[("tag", 63)]], {}), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badges", 79), ("tags", 80)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 82: ( + "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, + }, + ), + 83: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 84: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 85: ("wagtail.blocks.StreamBlock", [[("link", 84)]], {}), + 86: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 34), + ("icon_class", 32), + ("icon_side", 35), + ] + ], + {"label": "Button"}, + ), + 87: ( + "wagtail.blocks.StreamBlock", + [[("button", 86)]], + { + "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", + }, + ), + 88: ( + "wagtail.blocks.StreamBlock", + [[("links", 85), ("buttons", 87)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 93: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 72), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 82), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 94: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 95: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 96: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 99: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 100: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 101: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 103: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 94), + ("image", 95), + ("link", 74), + ("top_detail_badges_tags", 81), + ("detail_text", 96), + ("is_small", 97), + ("grey_background", 98), + ("no_background", 99), + ("no_border", 100), + ("shadow", 101), + ("is_horizontal", 102), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 105: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 106: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 87)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 107: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 109: ( + "wagtail.blocks.StructBlock", + [[("text", 105), ("cta_buttons", 106), ("cta_label", 107), ("cta_url", 108)]], + {"label": "Text and call to action"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ] + ], + {"label": "Content"}, + ), + 129: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("content", 128)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 130: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 129)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 131: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 132: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 133: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 134: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 135: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 133), ("bottom_margin", 134)]], + {"group": "Page structure", "label": "Separator"}, + ), + 136: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 137: ( + "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, + }, + ), + 138: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 139: ( + "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, + }, + ), + 140: ( + "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, + }, + ), + 141: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h1", "Heading 1"), + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ], + "help_text": "Defaults to heading 3.", + "label": "Heading size level", + "required": False, + }, + ), + 142: ( + "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": "Title color", + "required": False, + }, + ), + 143: ( + "wagtail.blocks.StructBlock", + [[("title", 1), ("heading_tag", 2), ("heading_size", 141), ("title_color_class", 142)]], + {"group": "Numerique components", "label": "Title"}, + ), + 144: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "required": False, + }, + ), + 145: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": True}), + 146: ("wagtail.blocks.CharBlock", (), {"label": "Alt text", "required": True}), + 147: ("wagtail.blocks.RichTextBlock", (), {"label": "Text", "required": True}), + 148: ("wagtail.blocks.PageChooserBlock", (), {"label": "Main link", "required": True}), + 149: ( + "wagtail.blocks.URLBlock", + (), + {"help_text": "Link to an external URL", "label": "Secondary link", "required": False}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("image", 145), ("alt", 146), ("text", 147), ("main_link", 148), ("secondary_link", 149)]], + {"group": "Numerique components", "label": "Numeric direction card", "required": False}, + ), + 151: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 152: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ] + ], + {"label": "Items"}, + ), + 153: ( + "wagtail.blocks.StructBlock", + [[("column_width", 151), ("items", 152)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Column content"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("width", 140), ("content", 154)]], + {"group": "Page structure", "label": "Custom adjustable column", "required": False}, + ), + 156: ("wagtail.blocks.BooleanBlock", (), {"label": "Border", "required": False}), + 157: ("wagtail.blocks.BooleanBlock", (), {"label": "Center content", "required": False}), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Content"}, + ), + 159: ( + "wagtail.blocks.StructBlock", + [[("bg_color_class", 137), ("border", 156), ("center_content", 157), ("content", 158)]], + {"group": "Numerique components", "label": "Stylized column"}, + ), + 160: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("column", 155), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("stylized_column", 159), + ] + ], + {"group": "Page structure", "label": "Columns"}, + ), + 161: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 136), + ("bg_color_class", 137), + ("bg_color", 138), + ("title", 1), + ("heading_tag", 139), + ("columns", 160), + ] + ], + {"group": "Page structure", "label": "Multi columns"}, + ), + 162: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Items"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [[("column_width", 151), ("items", 162)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 164: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["numerique_gouv.NumeriqueBlogIndexPage"]}, + ), + 165: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 12, + "min_value": 1, + "required": False, + }, + ), + 166: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("numerique_gouv.PageTag",), + {"label": "Filter by tag", "required": False}, + ), + 167: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 164), + ("entries_count", 165), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ("page_tag_filter", 166), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 168: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 136), + ("bg_color_class", 137), + ("bg_color", 138), + ("title", 1), + ("heading_tag", 139), + ("columns", 160), + ] + ], + {"group": "Page structure", "label": "Multi columns", "required": False}, + ), + 169: ( + "wagtail.blocks.DecimalBlock", + (), + {"help_text": "In rem", "label": "Margin", "required": False}, + ), + 170: ( + "wagtail.blocks.StructBlock", + [[("marginTop", 169)]], + {"group": "Page structure", "label": "Spacer"}, + ), + 171: ( + "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": "Title heading level", + "required": False, + }, + ), + 172: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h1", "Heading 1"), + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ], + "help_text": "Defaults to heading 2.", + "label": "Title heading size level", + "required": False, + }, + ), + 173: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Slider blocks"}, + ), + 174: ( + "wagtail.blocks.StructBlock", + [[("title", 1), ("title_heading_tag", 171), ("title_heading_size", 172), ("blocks", 173)]], + {"group": "Numerique components", "label": "Slider"}, + ), + 175: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 167), + ("events_recent_entries", 125), + ("image_and_text", 22), + ("card", 93), + ("tabs", 130), + ("item_grid", 153), + ("html", 144), + ("numeric_direction_card", 150), + ("custom_ajustable_column", 155), + ("horizontal_card", 93), + ("multicolumns", 168), + ("stylized_column", 159), + ("spacer", 170), + ("custom_item_grid", 163), + ("slider", 174), + ] + ], + {"label": "Content"}, + ), + 176: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 136), ("bg_color_class", 137), ("content", 175)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 177: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("image_and_text", 22), + ("card", 93), + ("tabs", 130), + ("item_grid", 153), + ] + ], + {"label": "Main content"}, + ), + 178: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 179: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 180: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 181: ("wagtail.blocks.StructBlock", [[("page", 180)]], {"label": "Page tree"}), + 182: ( + "wagtail.blocks.StreamBlock", + [[("html", 179), ("pagetree", 181)]], + {"label": "Side menu content"}, + ), + 183: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 136), + ("bg_color_class", 137), + ("main_content", 177), + ("sidemenu_title", 178), + ("sidemenu_content", 182), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 184: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 185: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["numerique_gouv.NumeriqueEventsIndexPage"]}, + ), + 186: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 185), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "custom Events recent entries"}, + ), + 187: ( + "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, + }, + ), + 188: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Main card image", "required": True}, + ), + 189: ("wagtail.blocks.TextBlock", (), {"label": "Main card title", "required": True}), + 190: ("wagtail.blocks.RichTextBlock", (), {"label": "Main card text", "required": True}), + 191: ( + "wagtail.blocks.PageChooserBlock", + (), + {"help_text": "Link to a page", "label": "Main card page link", "required": False}, + ), + 192: ( + "wagtail.blocks.URLBlock", + (), + {"help_text": "Link to an external URL", "label": "Main card URL link", "required": False}, + ), + 193: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Top right card image", "required": False}, + ), + 194: ("wagtail.blocks.TextBlock", (), {"label": "Top right card title", "required": False}), + 195: ("wagtail.blocks.RichTextBlock", (), {"label": "Top right card text", "required": True}), + 196: ("wagtail.blocks.TextBlock", (), {"label": "Top right card button label", "required": False}), + 197: ( + "wagtail.blocks.PageChooserBlock", + (), + {"help_text": "Link to a page", "label": "Top right card page link", "required": False}, + ), + 198: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Link to an external URL", + "label": "Top right card URL link", + "required": False, + }, + ), + 199: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Bottom right card image", "required": False}, + ), + 200: ("wagtail.blocks.TextBlock", (), {"label": "Bottom right card title", "required": False}), + 201: ("wagtail.blocks.RichTextBlock", (), {"label": "Bottom right card text", "required": True}), + 202: ( + "wagtail.blocks.TextBlock", + (), + {"label": "Bottom right card button label", "required": False}, + ), + 203: ( + "wagtail.blocks.PageChooserBlock", + (), + {"help_text": "Link to a page", "label": "Bottom right card page link", "required": False}, + ), + 204: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Link to an external URL", + "label": "Bottom right card URL link", + "required": False, + }, + ), + 205: ( + "wagtail.blocks.StructBlock", + [ + [ + ("main_image", 188), + ("main_title", 189), + ("main_text", 190), + ("main_page_link", 191), + ("main_url_link", 192), + ("top_right_image", 193), + ("top_right_title", 194), + ("top_right_text", 195), + ("top_right_button_label", 196), + ("top_right_page_link", 197), + ("top_right_url_link", 198), + ("bottom_right_image", 199), + ("bottom_right_title", 200), + ("bottom_right_text", 201), + ("bottom_right_button_label", 202), + ("bottom_right_page_link", 203), + ("bottom_right_url_link", 204), + ] + ], + {"group": "Numerique components", "label": "Headline cards"}, + ), + 206: ( + "wagtail.blocks.StructBlock", + [[("image", 145), ("alt", 146), ("text", 147), ("main_link", 148), ("secondary_link", 149)]], + {"group": "Numerique components", "label": "Numeric direction card"}, + ), + 207: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 72), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 82), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"abel": "Main card", "group": "DSFR components", "lrequired": True}, + ), + 208: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"abel": "Secondary card", "group": "DSFR components", "lrequired": True}, + ), + 209: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"group": "DSFR components", "label": "Tertiary card", "required": True}, + ), + 210: ( + "wagtail.blocks.StructBlock", + [[("main_card", 207), ("secondary_card", 208), ("tertiary_card", 209)]], + {"group": "Numerique components", "label": "Highlight cards"}, + ), + 211: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"abel": "Main card", "group": "DSFR components", "lrequired": True}, + ), + 212: ( + "wagtail.blocks.StructBlock", + [[("main_card", 211), ("secondary_card", 208), ("tertiary_card", 209)]], + {"group": "Numerique components", "label": "Vertical Highlight cards"}, + ), + }, + ), + ), + ] diff --git a/numerique_gouv/blocks.py b/numerique_gouv/blocks.py index a7193b51..dc88e53a 100644 --- a/numerique_gouv/blocks.py +++ b/numerique_gouv/blocks.py @@ -246,6 +246,30 @@ class Meta: value_class = CustomRecentEntriesStructValue +class Slider(blocks.StructBlock): + title = blocks.CharBlock(required=False, label=_("Title")) + title_heading_tag = blocks.ChoiceBlock( + required=False, + label=_("Title heading level"), + choices=HEADING_CHOICES, + default="h2", + help_text=_("Adapt to the page layout. Defaults to heading 2."), + ) + title_heading_size = blocks.ChoiceBlock( + required=False, + label=_("Title heading size level"), + choices=HEADING_SIZE_CHOICES, + default="h2", + help_text=_("Defaults to heading 2."), + ) + blocks = CustomColumnBlock(label=_("Slider blocks")) + + class Meta: + template = "numerique_gouv/blocks/slider.html" + icon = "image" + label = "Slider" + + class CustomFullWidthBlock(FullWidthBlock): html = blocks.RawHTMLBlock( required=False, @@ -266,6 +290,7 @@ class CustomFullWidthBlock(FullWidthBlock): spacer = SpacerBlock(label=_("Spacer"), group=_("Page structure")) custom_item_grid = CustomItemGridBlock(label=_("Item grid"), group=_("Page structure")) blog_recent_entries = CustomBlogRecentEntriesBlock(label=_("Blog recent entries"), group=_("Website structure")) + slider = Slider(label=_("Slider"), group=_("Numerique components")) class CustomFullWidthBackgroundBlock(FullWidthBackgroundBlock): @@ -284,30 +309,6 @@ class Meta: value_class = CustomRecentEntriesStructValue -class Slider(blocks.StructBlock): - title = blocks.CharBlock(required=False, label=_("Title")) - title_heading_tag = blocks.ChoiceBlock( - required=False, - label=_("Title heading level"), - choices=HEADING_CHOICES, - default="h2", - help_text=_("Adapt to the page layout. Defaults to heading 2."), - ) - title_heading_size = blocks.ChoiceBlock( - required=False, - label=_("Title heading size level"), - choices=HEADING_SIZE_CHOICES, - default="h2", - help_text=_("Defaults to heading 2."), - ) - blocks = CustomColumnBlock(label=_("Slider blocks")) - - class Meta: - template = "numerique_gouv/blocks/slider.html" - icon = "image" - label = "Slider" - - STREAMFIELD_NUMERIQUE_BLOCKS = [ ("three_cards", ThreeCardsBlock(label=_("Headline cards"), group=_("Numerique components"))), ("multicolumns", CustomMultiColumnsWithTitleBlock(label=_("Multi columns"), group=_("Page structure"))), diff --git a/numerique_gouv/migrations/0085_alter_numeriquebasepage_body.py b/numerique_gouv/migrations/0085_alter_numeriquebasepage_body.py new file mode 100644 index 00000000..85bf48a6 --- /dev/null +++ b/numerique_gouv/migrations/0085_alter_numeriquebasepage_body.py @@ -0,0 +1,1892 @@ +# Generated by Django 5.0.9 on 2024-11-30 19:41 + +import wagtail.fields +from django.db import migrations + + +class Migration(migrations.Migration): + dependencies = [ + ("numerique_gouv", "0084_alter_numeriquebasepage_body"), + ] + + operations = [ + migrations.AlterField( + model_name="numeriquebasepage", + name="body", + field=wagtail.fields.StreamField( + [ + ("paragraph", 0), + ("image", 9), + ("imageandtext", 22), + ("alert", 27), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("video", 53), + ("transcription", 54), + ("badges_list", 59), + ("tags_list", 64), + ("link", 65), + ("stepper", 71), + ("card", 93), + ("tile", 103), + ("tabs", 130), + ("markdown", 131), + ("iframe", 132), + ("separator", 135), + ("multicolumns", 161), + ("item_grid", 163), + ("fullwidthbackground", 176), + ("fullwidthbackgroundwithsidemenu", 183), + ("subpageslist", 184), + ("blog_recent_entries", 167), + ("events_recent_entries", 186), + ("html", 187), + ("three_cards", 205), + ("numeric_direction_card", 206), + ("spacer", 170), + ("stylized_column", 159), + ("highlight_cards", 210), + ("vertical_highlight_cards", 212), + ("slider", 174), + ], + blank=True, + block_lookup={ + 0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}), + 1: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}), + 2: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + "required": False, + }, + ), + 3: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}), + 4: ( + "wagtail.blocks.CharBlock", + (), + {"label": "Alternative text (textual description of the image)", "required": False}, + ), + 5: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-content-media--sm", "Small"), + ("", "Medium"), + ("fr-content-media--lg", "Large"), + ], + "label": "Witdh", + "required": False, + }, + ), + 6: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("fr-ratio-32x9", "32x9"), + ("fr-ratio-16x9", "16x9"), + ("fr-ratio-3x2", "3x2"), + ("fr-ratio-4x3", "4x3"), + ("fr-ratio-1x1", "1x1"), + ("fr-ratio-3x4", "3x4"), + ("fr-ratio-2x3", "2x3"), + ], + "label": "Image ratio", + "required": False, + }, + ), + 7: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}), + 8: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}), + 9: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {}, + ), + 10: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("left", "Left"), ("right", "Right")], + "label": "Side where the image is displayed", + }, + ), + 11: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"}, + ), + 12: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "help_text": "Link to a page of this site. Use either this, the document, or the external URL parameter.", + "label": "Page", + "required": False, + }, + ), + 13: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "help_text": "Use either this, the external URL or the page parameter.", + "label": "Document", + "required": False, + }, + ), + 14: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Use either this, the document or the page parameter.", + "label": "External URL", + "required": False, + }, + ), + 15: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}), + 16: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("", "No icon"), + ("fr-icon-arrow-right-line fr-link--icon-right", "Icon on the right side"), + ("fr-icon-arrow-right-line fr-link--icon-left", "Icon on the left side"), + ], + "help_text": "Only used for internal links.", + "label": "Icon", + "required": False, + }, + ), + 17: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-link--sm", "Small"), ("", "Medium"), ("fr-link--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 18: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + { + "help_text": "The link is shown at the bottom of the text block, with an arrow", + "label": "Link", + "required": False, + }, + ), + 19: ( + "wagtail.blocks.CharBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link label (obsolete)", + "required": False, + }, + ), + 20: ( + "wagtail.blocks.PageChooserBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Internal link (obsolete)", + "required": False, + }, + ), + 21: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "obsolete", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link URL (obsolete)", + "required": False, + }, + ), + 22: ( + "wagtail.blocks.StructBlock", + [ + [ + ("image", 3), + ("image_side", 10), + ("image_ratio", 11), + ("text", 0), + ("link", 18), + ("link_label", 19), + ("page", 20), + ("link_url", 21), + ] + ], + {"label": "Image and text"}, + ), + 23: ("wagtail.blocks.CharBlock", (), {"label": "Message title", "required": False}), + 24: ("wagtail.blocks.TextBlock", (), {"label": "Message text", "required": False}), + 25: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("error", "Error"), + ("success", "Success"), + ("info", "Information"), + ("warning", "Warning"), + ], + "label": "Message type", + }, + ), + 26: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ("p", "Paragraph"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 3.", + "label": "Heading level", + }, + ), + 27: ( + "wagtail.blocks.StructBlock", + [[("title", 23), ("description", 24), ("level", 25), ("heading_tag", 26)]], + {"label": "Alert message"}, + ), + 28: ("wagtail.blocks.CharBlock", (), {"label": "Title"}), + 29: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}), + 30: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("content", 29)]], + {"label": "Accordion", "max_num": 15, "min_num": 1}, + ), + 31: ( + "wagtail.blocks.StreamBlock", + [[("title", 28), ("accordion", 30)]], + {"group": "DSFR components", "label": "Accordions"}, + ), + 32: ("content_manager.blocks.IconPickerBlock", (), {"label": "Icon", "required": False}), + 33: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + "required": False, + }, + ), + 34: ( + "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, + }, + ), + 35: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-btn--icon-left", "Left"), ("fr-btn--icon-right", "Right")], + "label": "Icon side", + "required": False, + }, + ), + 36: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 34), + ("icon_class", 32), + ("icon_side", 35), + ] + ], + {"label": "Button", "required": False}, + ), + 37: ( + "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, + }, + ), + 38: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 26), + ("icon_class", 32), + ("text", 33), + ("button", 36), + ("color", 37), + ] + ], + {"group": "DSFR components", "label": "Callout"}, + ), + 39: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": [ + "bold", + "italic", + "link", + "document-link", + "superscript", + "subscript", + "strikethrough", + ], + "label": "Content", + }, + ), + 40: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-text--sm", "Small"), ("", "Medium"), ("fr-text--lg", "Large")], + "label": "Size", + "required": False, + }, + ), + 41: ( + "wagtail.blocks.StructBlock", + [[("text", 39), ("color", 37), ("size", 40)]], + {"group": "DSFR components", "label": "Highlight"}, + ), + 42: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}), + 43: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}), + 44: ("wagtail.blocks.CharBlock", (), {"label": "Author name", "required": False}), + 45: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}), + 46: ( + "wagtail.blocks.StructBlock", + [[("image", 42), ("quote", 43), ("author_name", 44), ("author_title", 45), ("color", 37)]], + {"group": "DSFR components", "label": "Quote"}, + ), + 47: ("wagtail.blocks.CharBlock", (), {"label": "Video title", "required": False}), + 48: ( + "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", + }, + ), + 49: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-ratio-16x9", "16x9"), ("fr-ratio-4x3", "4x3"), ("fr-ratio-1x1", "1x1")], + "label": "Video ratio", + "required": False, + }, + ), + 50: ( + "wagtail.blocks.CharBlock", + (), + {"default": "Transcription", "label": "Title", "required": False}, + ), + 51: ("wagtail.blocks.RichTextBlock", (), {"label": "Transcription content", "required": False}), + 52: ( + "wagtail.blocks.StructBlock", + [[("title", 50), ("content", 51)]], + {"label": "Transcription", "required": False}, + ), + 53: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 47), + ("caption", 7), + ("url", 48), + ("width", 5), + ("video_ratio", 49), + ("transcription", 52), + ] + ], + {"label": "Video"}, + ), + 54: ("wagtail.blocks.StructBlock", [[("title", 50), ("content", 51)]], {"label": "Transcription"}), + 55: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}), + 56: ( + "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, + }, + ), + 57: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}), + 58: ( + "wagtail.blocks.StructBlock", + [[("text", 55), ("color", 56), ("hide_icon", 57)]], + {"label": "Badge"}, + ), + 59: ("wagtail.blocks.StreamBlock", [[("badge", 58)]], {"label": "Badge list"}), + 60: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}), + 61: ( + "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, + }, + ), + 62: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"required": False}, + ), + 63: ( + "wagtail.blocks.StructBlock", + [[("label", 28), ("is_small", 60), ("color", 61), ("icon_class", 32), ("link", 62)]], + {"label": "Tag"}, + ), + 64: ("wagtail.blocks.StreamBlock", [[("tag", 63)]], {"label": "Tag list"}), + 65: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("icon", 16), + ("size", 17), + ] + ], + {"label": "Single link"}, + ), + 66: ( + "wagtail.blocks.IntegerBlock", + (), + {"label": "Number of steps", "max_value": 8, "min_value": 1}, + ), + 67: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step", "max_value": 8, "min_value": 1}), + 68: ("wagtail.blocks.TextBlock", (), {"label": "Detail"}), + 69: ("wagtail.blocks.StructBlock", [[("title", 28), ("detail", 68)]], {"label": "Step"}), + 70: ("wagtail.blocks.StreamBlock", [[("step", 69)]], {"label": "Steps"}), + 71: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("total", 66), ("current", 67), ("steps", 70)]], + {"group": "DSFR components", "label": "Stepper"}, + ), + 72: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [("fr-card--horizontal-tier", "1/3"), ("fr-card--horizontal-half", "50/50")], + "label": "Image ratio", + "required": False, + }, + ), + 73: ( + "wagtail.blocks.StreamBlock", + [[("badge", 58)]], + { + "help_text": "Only used if the card has an image.", + "label": "Image area badge", + "max_num": 1, + "required": False, + }, + ), + 74: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14)]], + {"label": "Link", "required": False}, + ), + 75: ( + "wagtail.blocks.URLBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 76: ( + "wagtail.documents.blocks.DocumentChooserBlock", + (), + { + "group": "target", + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the Link field above.", + "label": "or Document (obsolete)", + "required": False, + }, + ), + 77: ("wagtail.blocks.CharBlock", (), {"label": "Top detail: text", "required": False}), + 78: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Top detail: icon", "required": False}, + ), + 79: ("wagtail.blocks.StreamBlock", [[("badge", 58)]], {}), + 80: ("wagtail.blocks.StreamBlock", [[("tag", 63)]], {}), + 81: ( + "wagtail.blocks.StreamBlock", + [[("badges", 79), ("tags", 80)]], + {"label": "Top detail: badges or tags", "max_num": 1, "required": False}, + ), + 82: ( + "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, + }, + ), + 83: ( + "content_manager.blocks.IconPickerBlock", + (), + {"label": "Bottom detail: icon", "required": False}, + ), + 84: ( + "wagtail.blocks.StructBlock", + [[("page", 12), ("document", 13), ("external_url", 14), ("text", 15)]], + {"label": "Link"}, + ), + 85: ("wagtail.blocks.StreamBlock", [[("link", 84)]], {}), + 86: ( + "wagtail.blocks.StructBlock", + [ + [ + ("page", 12), + ("document", 13), + ("external_url", 14), + ("text", 15), + ("button_type", 34), + ("icon_class", 32), + ("icon_side", 35), + ] + ], + {"label": "Button"}, + ), + 87: ( + "wagtail.blocks.StreamBlock", + [[("button", 86)]], + { + "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", + }, + ), + 88: ( + "wagtail.blocks.StreamBlock", + [[("links", 85), ("buttons", 87)]], + { + "help_text": "Incompatible with the bottom detail text.", + "label": "Bottom call-to-action: links or buttons", + "max_num": 1, + "required": False, + }, + ), + 89: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with grey background", "required": False}), + 90: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without background", "required": False}), + 91: ("wagtail.blocks.BooleanBlock", (), {"label": "Card without border", "required": False}), + 92: ("wagtail.blocks.BooleanBlock", (), {"label": "Card with a shadow", "required": False}), + 93: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 72), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 82), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"group": "DSFR components", "label": "Horizontal card"}, + ), + 94: ( + "wagtail.blocks.RichTextBlock", + (), + { + "features": ["bold", "italic", "superscript", "subscript", "strikethrough"], + "label": "Content", + "required": False, + }, + ), + 95: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"help_text": "Prefer SVG files.", "label": "Image", "required": False}, + ), + 96: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "If the tile links to a downloadable document, the values are pre-filled.", + "label": "Detail text", + "required": False, + }, + ), + 97: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tile", "required": False}), + 98: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with grey background", "required": False}), + 99: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without background", "required": False}), + 100: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile without border", "required": False}), + 101: ("wagtail.blocks.BooleanBlock", (), {"label": "Tile with a shadow", "required": False}), + 102: ("wagtail.blocks.BooleanBlock", (), {"label": "Horizontal tile", "required": False}), + 103: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 94), + ("image", 95), + ("link", 74), + ("top_detail_badges_tags", 81), + ("detail_text", 96), + ("is_small", 97), + ("grey_background", 98), + ("no_background", 99), + ("no_border", 100), + ("shadow", 101), + ("is_horizontal", 102), + ] + ], + {"group": "DSFR components", "label": "Tile"}, + ), + 104: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 2), + ("image", 3), + ("alt", 4), + ("width", 5), + ("image_ratio", 6), + ("caption", 7), + ("url", 8), + ] + ], + {"label": "Image"}, + ), + 105: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}), + 106: ( + "wagtail.blocks.StreamBlock", + [[("buttons", 87)]], + {"label": "Call-to-action buttons", "max_num": 1, "required": False}, + ), + 107: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Call to action label (obsolete)", + "required": False, + }, + ), + 108: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "This field is obsolete and will be removed in the near future. Please replace with the CTA buttons above.", + "label": "Link (obsolete)", + "required": False, + }, + ), + 109: ( + "wagtail.blocks.StructBlock", + [[("text", 105), ("cta_buttons", 106), ("cta_label", 107), ("cta_url", 108)]], + {"label": "Text and call to action"}, + ), + 110: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.", + "label": "Title", + }, + ), + 111: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Example for Tally: https://tally.so/embed/w2jMRa", + "label": "URL of the iframe", + }, + ), + 112: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}), + 113: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "For example: \"allow='geolocation'\".", + "label": "Parameters", + "required": False, + }, + ), + 114: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "DSFR components", "label": "Iframe"}, + ), + 115: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ], + "help_text": "Adapt to the page layout. Defaults to heading 2.", + "label": "Heading level", + "required": False, + }, + ), + 116: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["blog.BlogIndexPage"]}, + ), + 117: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 8, + "min_value": 1, + "required": False, + }, + ), + 118: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Category",), + {"label": "Filter by category", "required": False}, + ), + 119: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("content_manager.Tag",), + {"label": "Filter by tag", "required": False}, + ), + 120: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Person",), + {"label": "Filter by author", "required": False}, + ), + 121: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("blog.Organization",), + { + "help_text": "The source is the organization of the post author", + "label": "Filter by source", + "required": False, + }, + ), + 122: ( + "wagtail.blocks.BooleanBlock", + (), + {"default": False, "label": "Show filters", "required": False}, + ), + 123: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 116), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 124: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["events.EventsIndexPage"]}, + ), + 125: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 124), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "Event calendar recent entries"}, + ), + 126: ( + "wagtail.blocks.CharBlock", + (), + { + "help_text": "Incompatible with the bottom call-to-action.", + "label": "Bottom detail: text", + "required": False, + }, + ), + 127: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"group": "DSFR components", "label": "Vertical card"}, + ), + 128: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ] + ], + {"label": "Content"}, + ), + 129: ( + "wagtail.blocks.StructBlock", + [[("title", 28), ("content", 128)]], + {"label": "Tab", "max_num": 15, "min_num": 1}, + ), + 130: ( + "wagtail.blocks.StreamBlock", + [[("tabs", 129)]], + {"group": "DSFR components", "label": "Tabs"}, + ), + 131: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"group": "Expert syntax", "label": "Markdown"}), + 132: ( + "wagtail.blocks.StructBlock", + [[("title", 110), ("url", 111), ("height", 112), ("parameters", 113)]], + {"group": "Expert syntax", "label": "Iframe"}, + ), + 133: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0}, + ), + 134: ( + "wagtail.blocks.IntegerBlock", + (), + {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0}, + ), + 135: ( + "wagtail.blocks.StructBlock", + [[("top_margin", 133), ("bottom_margin", 134)]], + {"group": "Page structure", "label": "Separator"}, + ), + 136: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Background image", "required": False}, + ), + 137: ( + "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, + }, + ), + 138: ( + "wagtail.blocks.RegexBlock", + (), + { + "error_messages": {"invalid": "Incorrect color format, must be #fff or #f5f5f5"}, + "help_text": "This field is obsolete and will be removed in the near future. Replace it with the background color.", + "label": "Background color, hexadecimal format (obsolete)", + "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$", + "required": False, + }, + ), + 139: ( + "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, + }, + ), + 140: ( + "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, + }, + ), + 141: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h1", "Heading 1"), + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ], + "help_text": "Defaults to heading 3.", + "label": "Heading size level", + "required": False, + }, + ), + 142: ( + "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": "Title color", + "required": False, + }, + ), + 143: ( + "wagtail.blocks.StructBlock", + [[("title", 1), ("heading_tag", 2), ("heading_size", 141), ("title_color_class", 142)]], + {"group": "Numerique components", "label": "Title"}, + ), + 144: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "group": "Expert syntax", + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "required": False, + }, + ), + 145: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": True}), + 146: ("wagtail.blocks.CharBlock", (), {"label": "Alt text", "required": True}), + 147: ("wagtail.blocks.RichTextBlock", (), {"label": "Text", "required": True}), + 148: ("wagtail.blocks.PageChooserBlock", (), {"label": "Main link", "required": True}), + 149: ( + "wagtail.blocks.URLBlock", + (), + {"help_text": "Link to an external URL", "label": "Secondary link", "required": False}, + ), + 150: ( + "wagtail.blocks.StructBlock", + [[("image", 145), ("alt", 146), ("text", 147), ("main_link", 148), ("secondary_link", 149)]], + {"group": "Numerique components", "label": "Numeric direction card", "required": False}, + ), + 151: ( + "wagtail.blocks.ChoiceBlock", + [], + {"choices": [("3", "3/12"), ("4", "4/12"), ("6", "6/12")], "label": "Column width"}, + ), + 152: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ] + ], + {"label": "Items"}, + ), + 153: ( + "wagtail.blocks.StructBlock", + [[("column_width", 151), ("items", 152)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 154: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Column content"}, + ), + 155: ( + "wagtail.blocks.StructBlock", + [[("width", 140), ("content", 154)]], + {"group": "Page structure", "label": "Custom adjustable column", "required": False}, + ), + 156: ("wagtail.blocks.BooleanBlock", (), {"label": "Border", "required": False}), + 157: ("wagtail.blocks.BooleanBlock", (), {"label": "Center content", "required": False}), + 158: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Content"}, + ), + 159: ( + "wagtail.blocks.StructBlock", + [[("bg_color_class", 137), ("border", 156), ("center_content", 157), ("content", 158)]], + {"group": "Numerique components", "label": "Stylized column"}, + ), + 160: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("column", 155), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("stylized_column", 159), + ] + ], + {"group": "Page structure", "label": "Columns"}, + ), + 161: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 136), + ("bg_color_class", 137), + ("bg_color", 138), + ("title", 1), + ("heading_tag", 139), + ("columns", 160), + ] + ], + {"group": "Page structure", "label": "Multi columns"}, + ), + 162: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Items"}, + ), + 163: ( + "wagtail.blocks.StructBlock", + [[("column_width", 151), ("items", 162)]], + {"group": "Page structure", "label": "Item grid"}, + ), + 164: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Blog", "page_type": ["numerique_gouv.NumeriqueBlogIndexPage"]}, + ), + 165: ( + "wagtail.blocks.IntegerBlock", + (), + { + "default": 3, + "label": "Number of entries", + "max_value": 12, + "min_value": 1, + "required": False, + }, + ), + 166: ( + "wagtail.snippets.blocks.SnippetChooserBlock", + ("numerique_gouv.PageTag",), + {"label": "Filter by tag", "required": False}, + ), + 167: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("blog", 164), + ("entries_count", 165), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ("page_tag_filter", 166), + ] + ], + {"group": "Website structure", "label": "Blog recent entries"}, + ), + 168: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 136), + ("bg_color_class", 137), + ("bg_color", 138), + ("title", 1), + ("heading_tag", 139), + ("columns", 160), + ] + ], + {"group": "Page structure", "label": "Multi columns", "required": False}, + ), + 169: ( + "wagtail.blocks.DecimalBlock", + (), + {"help_text": "In rem", "label": "Margin", "required": False}, + ), + 170: ( + "wagtail.blocks.StructBlock", + [[("marginTop", 169)]], + {"group": "Page structure", "label": "Spacer"}, + ), + 171: ( + "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": "Title heading level", + "required": False, + }, + ), + 172: ( + "wagtail.blocks.ChoiceBlock", + [], + { + "choices": [ + ("h1", "Heading 1"), + ("h2", "Heading 2"), + ("h3", "Heading 3"), + ("h4", "Heading 4"), + ("h5", "Heading 5"), + ("h6", "Heading 6"), + ], + "help_text": "Defaults to heading 2.", + "label": "Title heading size level", + "required": False, + }, + ), + 173: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("card", 127), + ("title", 143), + ("html", 144), + ("numeric_direction_card", 150), + ("horizontal_card", 93), + ("item_grid", 153), + ] + ], + {"label": "Slider blocks"}, + ), + 174: ( + "wagtail.blocks.StructBlock", + [[("title", 1), ("title_heading_tag", 171), ("title_heading_size", 172), ("blocks", 173)]], + {"group": "Numerique components", "label": "Slider"}, + ), + 175: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 167), + ("events_recent_entries", 125), + ("image_and_text", 22), + ("card", 93), + ("tabs", 130), + ("item_grid", 153), + ("html", 144), + ("numeric_direction_card", 150), + ("custom_ajustable_column", 155), + ("horizontal_card", 93), + ("multicolumns", 168), + ("stylized_column", 159), + ("spacer", 170), + ("custom_item_grid", 163), + ("slider", 174), + ] + ], + {"label": "Content"}, + ), + 176: ( + "wagtail.blocks.StructBlock", + [[("bg_image", 136), ("bg_color_class", 137), ("content", 175)]], + {"group": "Page structure", "label": "Full width background"}, + ), + 177: ( + "wagtail.blocks.StreamBlock", + [ + [ + ("text", 0), + ("image", 104), + ("video", 53), + ("transcription", 54), + ("accordions", 31), + ("callout", 38), + ("highlight", 41), + ("quote", 46), + ("stepper", 71), + ("text_cta", 109), + ("link", 65), + ("iframe", 114), + ("tile", 103), + ("blog_recent_entries", 123), + ("events_recent_entries", 125), + ("image_and_text", 22), + ("card", 93), + ("tabs", 130), + ("item_grid", 153), + ] + ], + {"label": "Main content"}, + ), + 178: ("wagtail.blocks.CharBlock", (), {"label": "Side menu title", "required": False}), + 179: ( + "wagtail.blocks.RawHTMLBlock", + (), + { + "help_text": "Warning: Use HTML block with caution. Malicious code can compromise the security of the site.", + "label": "HTML", + }, + ), + 180: ("wagtail.blocks.PageChooserBlock", (), {"label": "Parent page"}), + 181: ("wagtail.blocks.StructBlock", [[("page", 180)]], {"label": "Page tree"}), + 182: ( + "wagtail.blocks.StreamBlock", + [[("html", 179), ("pagetree", 181)]], + {"label": "Side menu content"}, + ), + 183: ( + "wagtail.blocks.StructBlock", + [ + [ + ("bg_image", 136), + ("bg_color_class", 137), + ("main_content", 177), + ("sidemenu_title", 178), + ("sidemenu_content", 182), + ] + ], + {"group": "Page structure", "label": "Full width background with side menu"}, + ), + 184: ( + "wagtail.blocks.static_block.StaticBlock", + (), + { + "admin_text": "A simple, alphabetical list of the subpages of the current page.", + "group": "Website structure", + "label": "Subpages list", + "template": "content_manager/blocks/subpages_list.html", + }, + ), + 185: ( + "wagtail.blocks.PageChooserBlock", + (), + {"label": "Event calendar", "page_type": ["numerique_gouv.NumeriqueEventsIndexPage"]}, + ), + 186: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 1), + ("heading_tag", 115), + ("index_page", 185), + ("entries_count", 117), + ("category_filter", 118), + ("tag_filter", 119), + ("author_filter", 120), + ("source_filter", 121), + ("show_filters", 122), + ] + ], + {"group": "Website structure", "label": "custom Events recent entries"}, + ), + 187: ( + "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, + }, + ), + 188: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Main card image", "required": True}, + ), + 189: ("wagtail.blocks.TextBlock", (), {"label": "Main card title", "required": True}), + 190: ("wagtail.blocks.RichTextBlock", (), {"label": "Main card text", "required": True}), + 191: ( + "wagtail.blocks.PageChooserBlock", + (), + {"help_text": "Link to a page", "label": "Main card page link", "required": False}, + ), + 192: ( + "wagtail.blocks.URLBlock", + (), + {"help_text": "Link to an external URL", "label": "Main card URL link", "required": False}, + ), + 193: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Top right card image", "required": False}, + ), + 194: ("wagtail.blocks.TextBlock", (), {"label": "Top right card title", "required": False}), + 195: ("wagtail.blocks.RichTextBlock", (), {"label": "Top right card text", "required": True}), + 196: ("wagtail.blocks.TextBlock", (), {"label": "Top right card button label", "required": False}), + 197: ( + "wagtail.blocks.PageChooserBlock", + (), + {"help_text": "Link to a page", "label": "Top right card page link", "required": False}, + ), + 198: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Link to an external URL", + "label": "Top right card URL link", + "required": False, + }, + ), + 199: ( + "wagtail.images.blocks.ImageChooserBlock", + (), + {"label": "Bottom right card image", "required": False}, + ), + 200: ("wagtail.blocks.TextBlock", (), {"label": "Bottom right card title", "required": False}), + 201: ("wagtail.blocks.RichTextBlock", (), {"label": "Bottom right card text", "required": True}), + 202: ( + "wagtail.blocks.TextBlock", + (), + {"label": "Bottom right card button label", "required": False}, + ), + 203: ( + "wagtail.blocks.PageChooserBlock", + (), + {"help_text": "Link to a page", "label": "Bottom right card page link", "required": False}, + ), + 204: ( + "wagtail.blocks.URLBlock", + (), + { + "help_text": "Link to an external URL", + "label": "Bottom right card URL link", + "required": False, + }, + ), + 205: ( + "wagtail.blocks.StructBlock", + [ + [ + ("main_image", 188), + ("main_title", 189), + ("main_text", 190), + ("main_page_link", 191), + ("main_url_link", 192), + ("top_right_image", 193), + ("top_right_title", 194), + ("top_right_text", 195), + ("top_right_button_label", 196), + ("top_right_page_link", 197), + ("top_right_url_link", 198), + ("bottom_right_image", 199), + ("bottom_right_title", 200), + ("bottom_right_text", 201), + ("bottom_right_button_label", 202), + ("bottom_right_page_link", 203), + ("bottom_right_url_link", 204), + ] + ], + {"group": "Numerique components", "label": "Headline cards"}, + ), + 206: ( + "wagtail.blocks.StructBlock", + [[("image", 145), ("alt", 146), ("text", 147), ("main_link", 148), ("secondary_link", 149)]], + {"group": "Numerique components", "label": "Numeric direction card"}, + ), + 207: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 72), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 82), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"abel": "Main card", "group": "DSFR components", "lrequired": True}, + ), + 208: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"abel": "Secondary card", "group": "DSFR components", "lrequired": True}, + ), + 209: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"group": "DSFR components", "label": "Tertiary card", "required": True}, + ), + 210: ( + "wagtail.blocks.StructBlock", + [[("main_card", 207), ("secondary_card", 208), ("tertiary_card", 209)]], + {"group": "Numerique components", "label": "Highlight cards"}, + ), + 211: ( + "wagtail.blocks.StructBlock", + [ + [ + ("title", 28), + ("heading_tag", 26), + ("description", 33), + ("image", 42), + ("image_ratio", 6), + ("image_badge", 73), + ("link", 74), + ("url", 75), + ("document", 76), + ("top_detail_text", 77), + ("top_detail_icon", 78), + ("top_detail_badges_tags", 81), + ("bottom_detail_text", 126), + ("bottom_detail_icon", 83), + ("call_to_action", 88), + ("grey_background", 89), + ("no_background", 90), + ("no_border", 91), + ("shadow", 92), + ] + ], + {"abel": "Main card", "group": "DSFR components", "lrequired": True}, + ), + 212: ( + "wagtail.blocks.StructBlock", + [[("main_card", 211), ("secondary_card", 208), ("tertiary_card", 209)]], + {"group": "Numerique components", "label": "Vertical Highlight cards"}, + ), + }, + ), + ), + ]