# Generated by Django 5.1.3 on 2024-11-10 17:30

import uuid

import django.core.validators
import django.db.models.deletion
import django.utils.timezone
import modelcluster.contrib.taggit
import modelcluster.fields
import wagtail.fields
import wagtail.search.index
from django.db import migrations, models

import wagtail_design_system.models


class Migration(migrations.Migration):
    initial = True

    dependencies = [
        ("django_design_system", "0001_initial"),
        ("taggit", "0006_rename_taggeditem_content_type_object_id_taggit_tagg_content_8fc721_idx"),
        ("wagtailcore", "0095_userprofile"),
        ("wagtailimages", "0027_image_description"),
        ("wagtailmenus", "0023_remove_use_specific"),
    ]

    operations = [
        migrations.CreateModel(
            name="ContentPage",
            fields=[
                (
                    "page_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtailcore.page",
                    ),
                ),
                (
                    "body",
                    wagtail.fields.StreamField(
                        [
                            ("paragraph", 0),
                            ("badges_list", 5),
                            ("image", 12),
                            ("imageandtext", 22),
                            ("alert", 27),
                            ("callout", 30),
                            ("quote", 36),
                            ("video", 39),
                            ("accordions", 43),
                            ("stepper", 49),
                            ("tags_list", 55),
                            ("markdown", 56),
                            ("separator", 59),
                            ("multicolumns", 78),
                            ("fullwidthbackground", 80),
                        ],
                        blank=True,
                        block_lookup={
                            0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}),
                            1: ("wagtail.blocks.CharBlock", (), {"label": "Badge label", "required": False}),
                            2: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("info", "Info"),
                                        ("success", "Success"),
                                        ("warning", "Warning"),
                                        ("error", "Error"),
                                        ("new", "New"),
                                        ("grey", "Grey"),
                                        ("design-system-color3", "Couleur 3"),
                                        ("design-system-color4", "Couleur 4"),
                                        ("design-system-color5", "Couleur 5"),
                                        ("design-system-color6", "Couleur 6"),
                                        ("design-system-color7", "Couleur 7"),
                                        ("design-system-color8", "Couleur 8"),
                                        ("design-system-color9", "Couleur 9"),
                                        ("design-system-color10", "Couleur 10"),
                                        ("design-system-color11", "Couleur 11"),
                                        ("design-system-color12", "Couleur 12"),
                                        ("design-system-color13", "Couleur 13"),
                                        ("design-system-color14", "Couleur 14"),
                                        ("design-system-color15", "Couleur 15"),
                                        ("design-system-color16", "Couleur 16"),
                                        ("design-system-color17", "Couleur 17"),
                                        ("design-system-color18", "Couleur 18"),
                                        ("design-system-color19", "Couleur 19"),
                                        ("design-system-color20", "Couleur 20"),
                                    ],
                                    "label": "Badge color",
                                    "required": False,
                                },
                            ),
                            3: ("wagtail.blocks.BooleanBlock", (), {"label": "Hide badge icon", "required": False}),
                            4: (
                                "wagtail.blocks.StructBlock",
                                [[("text", 1), ("color", 2), ("hide_icon", 3)]],
                                {"label": "Badge"},
                            ),
                            5: ("wagtail.blocks.StreamBlock", [[("badge", 4)]], {"label": "Badge list"}),
                            6: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}),
                            7: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("h2", "En-tête 2"),
                                        ("h3", "En-tête 3"),
                                        ("h4", "En-tête 4"),
                                        ("h5", "En-tête 5"),
                                        ("h6", "En-tête 6"),
                                        ("p", "Paragraphe"),
                                    ],
                                    "help_text": "Adapt to the page layout. Defaults to heading 3.",
                                    "label": "Heading level",
                                    "required": False,
                                },
                            ),
                            8: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}),
                            9: (
                                "wagtail.blocks.CharBlock",
                                (),
                                {"label": "Alternative text (textual description of the image)", "required": False},
                            ),
                            10: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}),
                            11: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}),
                            12: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("title", 6),
                                        ("heading_tag", 7),
                                        ("image", 8),
                                        ("alt", 9),
                                        ("caption", 10),
                                        ("url", 11),
                                    ]
                                ],
                                {},
                            ),
                            13: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [("left", "Left"), ("right", "Right")],
                                    "label": "Side where the image is displayed",
                                },
                            ),
                            14: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"},
                            ),
                            15: (
                                "wagtail.blocks.PageChooserBlock",
                                (),
                                {
                                    "help_text": "Link to a page of this site. Use either this or the external URL parameter.",
                                    "label": "Page",
                                    "required": False,
                                },
                            ),
                            16: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {
                                    "help_text": "Use either this or the Page parameter.",
                                    "label": "External URL",
                                    "required": False,
                                },
                            ),
                            17: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}),
                            18: (
                                "wagtail.blocks.StructBlock",
                                [[("page", 15), ("external_url", 16), ("text", 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", 8),
                                        ("image_side", 13),
                                        ("image_ratio", 14),
                                        ("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", "Erreur"),
                                        ("success", "Succès"),
                                        ("info", "Information"),
                                        ("warning", "Attention"),
                                    ],
                                    "label": "Message type",
                                },
                            ),
                            26: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("h2", "En-tête 2"),
                                        ("h3", "En-tête 3"),
                                        ("h4", "En-tête 4"),
                                        ("h5", "En-tête 5"),
                                        ("h6", "En-tête 6"),
                                        ("p", "Paragraphe"),
                                    ],
                                    "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": "Callout title", "required": False}),
                            29: ("wagtail.blocks.TextBlock", (), {"label": "Callout text", "required": False}),
                            30: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 28), ("text", 29), ("heading_tag", 26)]],
                                {"label": "Callout"},
                            ),
                            31: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}),
                            32: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}),
                            33: ("wagtail.blocks.CharBlock", (), {"label": "Author name"}),
                            34: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}),
                            35: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("design-system-color3", "Couleur 3"),
                                        ("design-system-color4", "Couleur 4"),
                                        ("design-system-color5", "Couleur 5"),
                                        ("design-system-color6", "Couleur 6"),
                                        ("design-system-color7", "Couleur 7"),
                                        ("design-system-color8", "Couleur 8"),
                                        ("design-system-color9", "Couleur 9"),
                                        ("design-system-color10", "Couleur 10"),
                                        ("design-system-color11", "Couleur 11"),
                                        ("design-system-color12", "Couleur 12"),
                                        ("design-system-color13", "Couleur 13"),
                                        ("design-system-color14", "Couleur 14"),
                                        ("design-system-color15", "Couleur 15"),
                                        ("design-system-color16", "Couleur 16"),
                                        ("design-system-color17", "Couleur 17"),
                                        ("design-system-color18", "Couleur 18"),
                                        ("design-system-color19", "Couleur 19"),
                                        ("design-system-color20", "Couleur 20"),
                                    ],
                                    "label": "Color",
                                    "required": False,
                                },
                            ),
                            36: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("image", 31),
                                        ("quote", 32),
                                        ("author_name", 33),
                                        ("author_title", 34),
                                        ("color", 35),
                                    ]
                                ],
                                {"label": "Quote"},
                            ),
                            37: ("wagtail.blocks.CharBlock", (), {"label": "Caption"}),
                            38: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {
                                    "help_text": "Use embed format (e.g. : https://www.youtube.com/embed/gLzXOViPX-0)",
                                    "label": "Video URL",
                                },
                            ),
                            39: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 6), ("caption", 37), ("url", 38)]],
                                {"label": "Video"},
                            ),
                            40: ("wagtail.blocks.CharBlock", (), {"label": "Title"}),
                            41: ("wagtail.blocks.RichTextBlock", (), {"label": "Content"}),
                            42: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 40), ("content", 41)]],
                                {"label": "Accordion", "max_num": 15, "min_num": 1},
                            ),
                            43: (
                                "wagtail.blocks.StreamBlock",
                                [[("title", 40), ("accordion", 42)]],
                                {"label": "Accordions"},
                            ),
                            44: ("wagtail.blocks.IntegerBlock", (), {"label": "Number of steps"}),
                            45: ("wagtail.blocks.IntegerBlock", (), {"label": "Current step"}),
                            46: ("wagtail.blocks.TextBlock", (), {"label": "Detail"}),
                            47: ("wagtail.blocks.StructBlock", [[("title", 40), ("detail", 46)]], {"label": "Step"}),
                            48: ("wagtail.blocks.StreamBlock", [[("step", 47)]], {"label": "Steps"}),
                            49: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 40), ("total", 44), ("current", 45), ("steps", 48)]],
                                {"label": "Stepper"},
                            ),
                            50: ("wagtail.blocks.BooleanBlock", (), {"label": "Small tag", "required": False}),
                            51: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("design-system-color3", "Couleur 3"),
                                        ("design-system-color4", "Couleur 4"),
                                        ("design-system-color5", "Couleur 5"),
                                        ("design-system-color6", "Couleur 6"),
                                        ("design-system-color7", "Couleur 7"),
                                        ("design-system-color8", "Couleur 8"),
                                        ("design-system-color9", "Couleur 9"),
                                        ("design-system-color10", "Couleur 10"),
                                        ("design-system-color11", "Couleur 11"),
                                        ("design-system-color12", "Couleur 12"),
                                        ("design-system-color13", "Couleur 13"),
                                        ("design-system-color14", "Couleur 14"),
                                        ("design-system-color15", "Couleur 15"),
                                        ("design-system-color16", "Couleur 16"),
                                        ("design-system-color17", "Couleur 17"),
                                        ("design-system-color18", "Couleur 18"),
                                        ("design-system-color19", "Couleur 19"),
                                        ("design-system-color20", "Couleur 20"),
                                    ],
                                    "help_text": "Only for clickable tags",
                                    "label": "Tag color",
                                    "required": False,
                                },
                            ),
                            52: (
                                "wagtail_design_system.blocks.IconPickerBlock",
                                (),
                                {"label": "Icon", "required": False},
                            ),
                            53: (
                                "wagtail.blocks.StructBlock",
                                [[("page", 15), ("external_url", 16)]],
                                {"required": False},
                            ),
                            54: (
                                "wagtail.blocks.StructBlock",
                                [[("label", 40), ("is_small", 50), ("color", 51), ("icon_class", 52), ("link", 53)]],
                                {"label": "Tag"},
                            ),
                            55: ("wagtail.blocks.StreamBlock", [[("tag", 54)]], {"label": "Tag list"}),
                            56: ("wagtailmarkdown.blocks.MarkdownBlock", (), {"label": "Markdown"}),
                            57: (
                                "wagtail.blocks.IntegerBlock",
                                (),
                                {"default": 3, "label": "Top margin", "max_value": 15, "min_value": 0},
                            ),
                            58: (
                                "wagtail.blocks.IntegerBlock",
                                (),
                                {"default": 3, "label": "Bottom margin", "max_value": 15, "min_value": 0},
                            ),
                            59: (
                                "wagtail.blocks.StructBlock",
                                [[("top_margin", 57), ("bottom_margin", 58)]],
                                {"label": "Separator"},
                            ),
                            60: (
                                "wagtail.images.blocks.ImageChooserBlock",
                                (),
                                {"label": "Background image", "required": False},
                            ),
                            61: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        (
                                            "Primary colors",
                                            [
                                                ("design-system-primary", "Couleur principale"),
                                                ("design-system-secondary", "Couleur secondaire"),
                                            ],
                                        ),
                                        ("Neutral colors", [("grey", "Grey")]),
                                        (
                                            "Illustration colors",
                                            [
                                                ("design-system-color3", "Couleur 3"),
                                                ("design-system-color4", "Couleur 4"),
                                                ("design-system-color5", "Couleur 5"),
                                                ("design-system-color6", "Couleur 6"),
                                                ("design-system-color7", "Couleur 7"),
                                                ("design-system-color8", "Couleur 8"),
                                                ("design-system-color9", "Couleur 9"),
                                                ("design-system-color10", "Couleur 10"),
                                                ("design-system-color11", "Couleur 11"),
                                                ("design-system-color12", "Couleur 12"),
                                                ("design-system-color13", "Couleur 13"),
                                                ("design-system-color14", "Couleur 14"),
                                                ("design-system-color15", "Couleur 15"),
                                                ("design-system-color16", "Couleur 16"),
                                                ("design-system-color17", "Couleur 17"),
                                                ("design-system-color18", "Couleur 18"),
                                                ("design-system-color19", "Couleur 19"),
                                                ("design-system-color20", "Couleur 20"),
                                            ],
                                        ),
                                    ],
                                    "help_text": "Uses the French Design System colors",
                                    "label": "Background color",
                                    "required": False,
                                },
                            ),
                            62: (
                                "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 picture)",
                                    "label": "Background color, hexadecimal format (obsolete)",
                                    "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
                                    "required": False,
                                },
                            ),
                            63: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("h2", "En-tête 2"),
                                        ("h3", "En-tête 3"),
                                        ("h4", "En-tête 4"),
                                        ("h5", "En-tête 5"),
                                        ("h6", "En-tête 6"),
                                        ("p", "Paragraphe"),
                                    ],
                                    "help_text": "Adapt to the page layout. Defaults to heading 2.",
                                    "label": "Heading level",
                                    "required": False,
                                },
                            ),
                            64: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("title", 6),
                                        ("heading_tag", 7),
                                        ("image", 8),
                                        ("alt", 9),
                                        ("caption", 10),
                                        ("url", 11),
                                    ]
                                ],
                                {"label": "Image"},
                            ),
                            65: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}),
                            66: (
                                "wagtail.blocks.CharBlock",
                                (),
                                {
                                    "help_text": "The link appears as a button under the text block",
                                    "label": "Call to action label",
                                    "required": False,
                                },
                            ),
                            67: ("wagtail.blocks.CharBlock", (), {"label": "Link", "required": False}),
                            68: (
                                "wagtail.blocks.StructBlock",
                                [[("text", 65), ("cta_label", 66), ("cta_url", 67)]],
                                {"label": "Text and call to action"},
                            ),
                            69: (
                                "wagtail.blocks.CharBlock",
                                (),
                                {
                                    "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.",
                                    "label": "Title",
                                },
                            ),
                            70: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {
                                    "help_text": "Example for Tally: https://tally.so/embed/w2jMRa",
                                    "label": "URL of the iframe",
                                },
                            ),
                            71: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}),
                            72: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 69), ("url", 70), ("height", 71)]],
                                {"label": "Iframe"},
                            ),
                            73: ("wagtail.blocks.TextBlock", (), {"label": "Content"}),
                            74: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {"group": "target", "label": "Link", "required": False},
                            ),
                            75: (
                                "wagtail.documents.blocks.DocumentChooserBlock",
                                (),
                                {
                                    "group": "target",
                                    "help_text": "Select a document to make the card link to it (if the 'Link' field is not populated.)",
                                    "label": "or Document",
                                    "required": False,
                                },
                            ),
                            76: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 40), ("description", 73), ("image", 31), ("url", 74), ("document", 75)]],
                                {"label": "Vertical card"},
                            ),
                            77: (
                                "wagtail.blocks.StreamBlock",
                                [
                                    [
                                        ("text", 0),
                                        ("image", 64),
                                        ("video", 39),
                                        ("quote", 36),
                                        ("text_cta", 68),
                                        ("iframe", 72),
                                        ("card", 76),
                                    ]
                                ],
                                {"label": "Columns"},
                            ),
                            78: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("bg_image", 60),
                                        ("bg_color_class", 61),
                                        ("bg_color", 62),
                                        ("title", 6),
                                        ("heading_tag", 63),
                                        ("columns", 77),
                                    ]
                                ],
                                {"group": "Page structure", "label": "Multiple columns"},
                            ),
                            79: (
                                "wagtail.blocks.StreamBlock",
                                [
                                    [
                                        ("text", 0),
                                        ("image", 64),
                                        ("video", 39),
                                        ("quote", 36),
                                        ("text_cta", 68),
                                        ("iframe", 72),
                                        ("image_and_text", 22),
                                    ]
                                ],
                                {"label": "Content"},
                            ),
                            80: (
                                "wagtail.blocks.StructBlock",
                                [[("bg_image", 60), ("bg_color_class", 61), ("content", 79)]],
                                {"group": "Page structure", "label": "Full width background"},
                            ),
                        },
                    ),
                ),
                ("header_with_title", models.BooleanField(default=False, verbose_name="Show title in header image?")),
                (
                    "header_color_class",
                    models.CharField(
                        blank=True,
                        choices=[
                            (
                                "Primary colors",
                                [
                                    ("design-system-primary", "Couleur principale"),
                                    ("design-system-secondary", "Couleur secondaire"),
                                ],
                            ),
                            ("Neutral colors", [("grey", "Grey")]),
                            (
                                "Illustration colors",
                                [
                                    ("design-system-color3", "Couleur 3"),
                                    ("design-system-color4", "Couleur 4"),
                                    ("design-system-color5", "Couleur 5"),
                                    ("design-system-color6", "Couleur 6"),
                                    ("design-system-color7", "Couleur 7"),
                                    ("design-system-color8", "Couleur 8"),
                                    ("design-system-color9", "Couleur 9"),
                                    ("design-system-color10", "Couleur 10"),
                                    ("design-system-color11", "Couleur 11"),
                                    ("design-system-color12", "Couleur 12"),
                                    ("design-system-color13", "Couleur 13"),
                                    ("design-system-color14", "Couleur 14"),
                                    ("design-system-color15", "Couleur 15"),
                                    ("design-system-color16", "Couleur 16"),
                                    ("design-system-color17", "Couleur 17"),
                                    ("design-system-color18", "Couleur 18"),
                                    ("design-system-color19", "Couleur 19"),
                                    ("design-system-color20", "Couleur 20"),
                                ],
                            ),
                        ],
                        help_text="Uses the French Design System colors",
                        null=True,
                        verbose_name="Background color",
                    ),
                ),
                ("header_large", models.BooleanField(default=False, verbose_name="Full width")),
                ("header_darken", models.BooleanField(default=False, verbose_name="Darken background image")),
                ("header_cta_text", models.CharField(blank=True, null=True, verbose_name="Call to action text")),
                ("header_cta_label", models.CharField(blank=True, null=True, verbose_name="Call to action label")),
                ("header_cta_link", models.URLField(blank=True, null=True, verbose_name="Call to action link")),
                (
                    "header_image",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to="wagtailimages.image",
                        verbose_name="Header image",
                    ),
                ),
            ],
            options={
                "verbose_name": "Content page",
            },
            bases=("wagtailcore.page",),
        ),
        migrations.CreateModel(
            name="Tag",
            fields=[],
            options={
                "proxy": True,
                "indexes": [],
                "constraints": [],
            },
            bases=("taggit.tag",),
        ),
        migrations.CreateModel(
            name="AnalyticsSettings",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                (
                    "head_scripts",
                    wagtail_design_system.models.MonospaceField(
                        blank=True,
                        help_text="Ajoutez des scripts de suivi entre les balises <head>.",
                        null=True,
                        verbose_name="Scripts de suivi <head>",
                    ),
                ),
                (
                    "body_scripts",
                    wagtail_design_system.models.MonospaceField(
                        blank=True,
                        help_text="Ajoutez des scripts de suivi vers la fermeture de la balise <body>.",
                        null=True,
                        verbose_name="Scripts de suivi <body>",
                    ),
                ),
                (
                    "site",
                    models.OneToOneField(
                        editable=False, on_delete=django.db.models.deletion.CASCADE, to="wagtailcore.site"
                    ),
                ),
            ],
            options={
                "verbose_name": "Scripts de suivi",
            },
        ),
        migrations.CreateModel(
            name="BlogEntryPage",
            fields=[
                (
                    "contentpage_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtail_design_system.contentpage",
                    ),
                ),
                ("date", models.DateTimeField(default=django.utils.timezone.now, verbose_name="Post date")),
            ],
            options={
                "verbose_name": "Blog page",
            },
            bases=("wagtail_design_system.contentpage",),
        ),
        migrations.CreateModel(
            name="BlogIndexPage",
            fields=[
                (
                    "contentpage_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtail_design_system.contentpage",
                    ),
                ),
                (
                    "posts_per_page",
                    models.PositiveSmallIntegerField(
                        default=10,
                        validators=[
                            django.core.validators.MaxValueValidator(100),
                            django.core.validators.MinValueValidator(1),
                        ],
                        verbose_name="Posts per page",
                    ),
                ),
            ],
            options={
                "verbose_name": "Blog index",
            },
            bases=("wagtail_design_system.contentpage",),
        ),
        migrations.CreateModel(
            name="Category",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("translation_key", models.UUIDField(default=uuid.uuid4, editable=False)),
                ("name", models.CharField(max_length=80, unique=True, verbose_name="Category name")),
                ("slug", models.SlugField(max_length=80, unique=True)),
                (
                    "description",
                    models.CharField(
                        blank=True,
                        help_text="Displayed on the top of the category page",
                        max_length=500,
                        verbose_name="Description",
                    ),
                ),
                (
                    "colophon",
                    wagtail.fields.StreamField(
                        [
                            ("paragraph", 0),
                            ("imageandtext", 11),
                            ("quote", 17),
                            ("multicolumns", 46),
                            ("contact_card", 51),
                        ],
                        blank=True,
                        block_lookup={
                            0: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text"}),
                            1: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image"}),
                            2: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [("left", "Left"), ("right", "Right")],
                                    "label": "Side where the image is displayed",
                                },
                            ),
                            3: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {"choices": [("3", "3/12"), ("5", "5/12"), ("6", "6/12")], "label": "Image width"},
                            ),
                            4: (
                                "wagtail.blocks.PageChooserBlock",
                                (),
                                {
                                    "help_text": "Link to a page of this site. Use either this or the external URL parameter.",
                                    "label": "Page",
                                    "required": False,
                                },
                            ),
                            5: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {
                                    "help_text": "Use either this or the Page parameter.",
                                    "label": "External URL",
                                    "required": False,
                                },
                            ),
                            6: ("wagtail.blocks.CharBlock", (), {"label": "Link label", "required": False}),
                            7: (
                                "wagtail.blocks.StructBlock",
                                [[("page", 4), ("external_url", 5), ("text", 6)]],
                                {
                                    "help_text": "The link is shown at the bottom of the text block, with an arrow",
                                    "label": "Link",
                                    "required": False,
                                },
                            ),
                            8: (
                                "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,
                                },
                            ),
                            9: (
                                "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,
                                },
                            ),
                            10: (
                                "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,
                                },
                            ),
                            11: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("image", 1),
                                        ("image_side", 2),
                                        ("image_ratio", 3),
                                        ("text", 0),
                                        ("link", 7),
                                        ("link_label", 8),
                                        ("page", 9),
                                        ("link_url", 10),
                                    ]
                                ],
                                {"label": "Bloc image et texte"},
                            ),
                            12: ("wagtail.images.blocks.ImageChooserBlock", (), {"label": "Image", "required": False}),
                            13: ("wagtail.blocks.CharBlock", (), {"label": "Quote"}),
                            14: ("wagtail.blocks.CharBlock", (), {"label": "Author name"}),
                            15: ("wagtail.blocks.CharBlock", (), {"label": "Author title", "required": False}),
                            16: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("design-system-color3", "Couleur 3"),
                                        ("design-system-color4", "Couleur 4"),
                                        ("design-system-color5", "Couleur 5"),
                                        ("design-system-color6", "Couleur 6"),
                                        ("design-system-color7", "Couleur 7"),
                                        ("design-system-color8", "Couleur 8"),
                                        ("design-system-color9", "Couleur 9"),
                                        ("design-system-color10", "Couleur 10"),
                                        ("design-system-color11", "Couleur 11"),
                                        ("design-system-color12", "Couleur 12"),
                                        ("design-system-color13", "Couleur 13"),
                                        ("design-system-color14", "Couleur 14"),
                                        ("design-system-color15", "Couleur 15"),
                                        ("design-system-color16", "Couleur 16"),
                                        ("design-system-color17", "Couleur 17"),
                                        ("design-system-color18", "Couleur 18"),
                                        ("design-system-color19", "Couleur 19"),
                                        ("design-system-color20", "Couleur 20"),
                                    ],
                                    "label": "Color",
                                    "required": False,
                                },
                            ),
                            17: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("image", 12),
                                        ("quote", 13),
                                        ("author_name", 14),
                                        ("author_title", 15),
                                        ("color", 16),
                                    ]
                                ],
                                {"label": "Citation"},
                            ),
                            18: (
                                "wagtail.images.blocks.ImageChooserBlock",
                                (),
                                {"label": "Background image", "required": False},
                            ),
                            19: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        (
                                            "Primary colors",
                                            [
                                                ("design-system-primary", "Couleur principale"),
                                                ("design-system-secondary", "Couleur secondaire"),
                                            ],
                                        ),
                                        ("Neutral colors", [("grey", "Grey")]),
                                        (
                                            "Illustration colors",
                                            [
                                                ("design-system-color3", "Couleur 3"),
                                                ("design-system-color4", "Couleur 4"),
                                                ("design-system-color5", "Couleur 5"),
                                                ("design-system-color6", "Couleur 6"),
                                                ("design-system-color7", "Couleur 7"),
                                                ("design-system-color8", "Couleur 8"),
                                                ("design-system-color9", "Couleur 9"),
                                                ("design-system-color10", "Couleur 10"),
                                                ("design-system-color11", "Couleur 11"),
                                                ("design-system-color12", "Couleur 12"),
                                                ("design-system-color13", "Couleur 13"),
                                                ("design-system-color14", "Couleur 14"),
                                                ("design-system-color15", "Couleur 15"),
                                                ("design-system-color16", "Couleur 16"),
                                                ("design-system-color17", "Couleur 17"),
                                                ("design-system-color18", "Couleur 18"),
                                                ("design-system-color19", "Couleur 19"),
                                                ("design-system-color20", "Couleur 20"),
                                            ],
                                        ),
                                    ],
                                    "help_text": "Uses the French Design System colors",
                                    "label": "Background color",
                                    "required": False,
                                },
                            ),
                            20: (
                                "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 picture)",
                                    "label": "Background color, hexadecimal format (obsolete)",
                                    "regex": "^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$",
                                    "required": False,
                                },
                            ),
                            21: ("wagtail.blocks.CharBlock", (), {"label": "Title", "required": False}),
                            22: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("h2", "En-tête 2"),
                                        ("h3", "En-tête 3"),
                                        ("h4", "En-tête 4"),
                                        ("h5", "En-tête 5"),
                                        ("h6", "En-tête 6"),
                                        ("p", "Paragraphe"),
                                    ],
                                    "help_text": "Adapt to the page layout. Defaults to heading 2.",
                                    "label": "Heading level",
                                    "required": False,
                                },
                            ),
                            23: (
                                "wagtail.blocks.ChoiceBlock",
                                [],
                                {
                                    "choices": [
                                        ("h2", "En-tête 2"),
                                        ("h3", "En-tête 3"),
                                        ("h4", "En-tête 4"),
                                        ("h5", "En-tête 5"),
                                        ("h6", "En-tête 6"),
                                        ("p", "Paragraphe"),
                                    ],
                                    "help_text": "Adapt to the page layout. Defaults to heading 3.",
                                    "label": "Heading level",
                                    "required": False,
                                },
                            ),
                            24: (
                                "wagtail.blocks.CharBlock",
                                (),
                                {"label": "Alternative text (textual description of the image)", "required": False},
                            ),
                            25: ("wagtail.blocks.CharBlock", (), {"label": "Caption", "required": False}),
                            26: ("wagtail.blocks.URLBlock", (), {"label": "Link", "required": False}),
                            27: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("title", 21),
                                        ("heading_tag", 23),
                                        ("image", 1),
                                        ("alt", 24),
                                        ("caption", 25),
                                        ("url", 26),
                                    ]
                                ],
                                {"label": "Image"},
                            ),
                            28: ("wagtail.blocks.CharBlock", (), {"label": "Caption"}),
                            29: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {
                                    "help_text": "Use embed format (e.g. : https://www.youtube.com/embed/gLzXOViPX-0)",
                                    "label": "Video URL",
                                },
                            ),
                            30: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 21), ("caption", 28), ("url", 29)]],
                                {"label": "Video"},
                            ),
                            31: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("image", 12),
                                        ("quote", 13),
                                        ("author_name", 14),
                                        ("author_title", 15),
                                        ("color", 16),
                                    ]
                                ],
                                {"label": "Quote"},
                            ),
                            32: ("wagtail.blocks.RichTextBlock", (), {"label": "Rich text", "required": False}),
                            33: (
                                "wagtail.blocks.CharBlock",
                                (),
                                {
                                    "help_text": "The link appears as a button under the text block",
                                    "label": "Call to action label",
                                    "required": False,
                                },
                            ),
                            34: ("wagtail.blocks.CharBlock", (), {"label": "Link", "required": False}),
                            35: (
                                "wagtail.blocks.StructBlock",
                                [[("text", 32), ("cta_label", 33), ("cta_url", 34)]],
                                {"label": "Text and call to action"},
                            ),
                            36: (
                                "wagtail.blocks.CharBlock",
                                (),
                                {
                                    "help_text": "Accessibility: The title should describe, in a clear and concise manner, the embedded content.",
                                    "label": "Title",
                                },
                            ),
                            37: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {
                                    "help_text": "Example for Tally: https://tally.so/embed/w2jMRa",
                                    "label": "URL of the iframe",
                                },
                            ),
                            38: ("wagtail.blocks.IntegerBlock", (), {"label": "Height (in pixels)"}),
                            39: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 36), ("url", 37), ("height", 38)]],
                                {"label": "Iframe"},
                            ),
                            40: ("wagtail.blocks.CharBlock", (), {"label": "Title"}),
                            41: ("wagtail.blocks.TextBlock", (), {"label": "Content"}),
                            42: (
                                "wagtail.blocks.URLBlock",
                                (),
                                {"group": "target", "label": "Link", "required": False},
                            ),
                            43: (
                                "wagtail.documents.blocks.DocumentChooserBlock",
                                (),
                                {
                                    "group": "target",
                                    "help_text": "Select a document to make the card link to it (if the 'Link' field is not populated.)",
                                    "label": "or Document",
                                    "required": False,
                                },
                            ),
                            44: (
                                "wagtail.blocks.StructBlock",
                                [[("title", 40), ("description", 41), ("image", 12), ("url", 42), ("document", 43)]],
                                {"label": "Vertical card"},
                            ),
                            45: (
                                "wagtail.blocks.StreamBlock",
                                [
                                    [
                                        ("text", 0),
                                        ("image", 27),
                                        ("video", 30),
                                        ("quote", 31),
                                        ("text_cta", 35),
                                        ("iframe", 39),
                                        ("card", 44),
                                    ]
                                ],
                                {"label": "Columns"},
                            ),
                            46: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("bg_image", 18),
                                        ("bg_color_class", 19),
                                        ("bg_color", 20),
                                        ("title", 21),
                                        ("heading_tag", 22),
                                        ("columns", 45),
                                    ]
                                ],
                                {"label": "Multi-colonnes"},
                            ),
                            47: ("wagtail.blocks.CharBlock", (), {"label": "Name", "max_length": 255}),
                            48: ("wagtail.blocks.CharBlock", (), {"label": "Role", "max_length": 255}),
                            49: ("wagtail.blocks.CharBlock", (), {"label": "Organization", "max_length": 255}),
                            50: (
                                "wagtail.blocks.CharBlock",
                                (),
                                {"label": "Contact info", "max_length": 500, "required": False},
                            ),
                            51: (
                                "wagtail.blocks.StructBlock",
                                [
                                    [
                                        ("name", 47),
                                        ("role", 48),
                                        ("organization", 49),
                                        ("contact_info", 50),
                                        ("image", 1),
                                    ]
                                ],
                                {"label": "Contact card"},
                            ),
                        },
                        help_text="Text displayed at the end of every page in the category",
                    ),
                ),
                (
                    "locale",
                    models.ForeignKey(
                        editable=False,
                        on_delete=django.db.models.deletion.PROTECT,
                        related_name="+",
                        to="wagtailcore.locale",
                        verbose_name="locale",
                    ),
                ),
                (
                    "parent",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="children",
                        to="wagtail_design_system.category",
                        verbose_name="Parent category",
                    ),
                ),
            ],
            options={
                "verbose_name": "Category",
                "verbose_name_plural": "Categories",
                "ordering": ["name"],
                "unique_together": {("name", "locale"), ("slug", "locale"), ("translation_key", "locale")},
            },
            bases=(wagtail.search.index.Indexed, models.Model),
        ),
        migrations.CreateModel(
            name="MegaMenu",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("name", models.CharField(max_length=255, verbose_name="Name")),
                ("description", models.TextField(blank=True, verbose_name="Description")),
                ("main_link", models.URLField(blank=True, null=True, verbose_name="Main link")),
                (
                    "parent_menu_item",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="megamenu_parent_menu_items",
                        to="wagtailmenus.mainmenuitem",
                    ),
                ),
            ],
            options={
                "verbose_name": "Mega menu",
            },
        ),
        migrations.CreateModel(
            name="MegaMenuCategory",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("sort_order", models.IntegerField(blank=True, editable=False, null=True)),
                (
                    "category",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        to="wagtailmenus.flatmenu",
                        verbose_name="Category",
                    ),
                ),
                (
                    "mega_menu",
                    modelcluster.fields.ParentalKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="categories",
                        to="wagtail_design_system.megamenu",
                    ),
                ),
            ],
            options={
                "verbose_name": "Mega menu category",
                "verbose_name_plural": "Mega menu categories",
            },
        ),
        migrations.CreateModel(
            name="Person",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("name", models.CharField(max_length=255, verbose_name="Name")),
                ("role", models.CharField(max_length=255, verbose_name="Role")),
                ("organization", models.CharField(max_length=255, verbose_name="Organization")),
                ("contact_info", models.CharField(blank=True, max_length=500, verbose_name="Contact info")),
                (
                    "image",
                    models.ForeignKey(
                        blank=True,
                        null=True,
                        on_delete=django.db.models.deletion.SET_NULL,
                        related_name="+",
                        to="wagtailimages.image",
                    ),
                ),
            ],
            options={
                "verbose_name": "Person",
            },
        ),
        migrations.CreateModel(
            name="TagContentPage",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                (
                    "content_object",
                    modelcluster.fields.ParentalKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="contentpage_tags",
                        to="wagtail_design_system.contentpage",
                    ),
                ),
                (
                    "tag",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(app_label)s_%(class)s_items",
                        to="taggit.tag",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
        ),
        migrations.AddField(
            model_name="contentpage",
            name="tags",
            field=modelcluster.contrib.taggit.ClusterTaggableManager(
                blank=True,
                help_text="A comma-separated list of tags.",
                through="wagtail_design_system.TagContentPage",
                to="taggit.Tag",
                verbose_name="Tags",
            ),
        ),
        migrations.CreateModel(
            name="WagtailDesignSystemConfig",
            fields=[
                (
                    "djangodesignsystemconfig_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="django_design_system.djangodesignsystemconfig",
                    ),
                ),
                (
                    "footer_description_wagtail",
                    wagtail.fields.RichTextField(blank=True, default="", verbose_name="Description"),
                ),
                ("search_bar", models.BooleanField(default=False, verbose_name="Barre de recherche dans l’en-tête")),
                (
                    "theme_modale_button",
                    models.BooleanField(default=False, verbose_name="Choix du thème clair/sombre"),
                ),
                (
                    "site",
                    models.OneToOneField(
                        editable=False, on_delete=django.db.models.deletion.CASCADE, to="wagtailcore.site"
                    ),
                ),
            ],
            options={
                "verbose_name": "Site configuration",
                "verbose_name_plural": "Site configurations",
            },
            bases=("django_design_system.djangodesignsystemconfig", models.Model),
        ),
        migrations.CreateModel(
            name="SocialMediaItem",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                ("sort_order", models.IntegerField(blank=True, editable=False, null=True)),
                ("title", models.CharField(blank=True, default="", max_length=200, verbose_name="Title")),
                ("url", models.URLField(blank=True, default="", verbose_name="URL")),
                ("icon_class", models.CharField(blank=True, default="", max_length=200, verbose_name="Icon class")),
                (
                    "site_config",
                    modelcluster.fields.ParentalKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="social_media_items",
                        to="wagtail_design_system.wagtaildesignsystemconfig",
                    ),
                ),
            ],
            options={
                "verbose_name": "Social media item",
                "verbose_name_plural": "Social media items",
            },
        ),
        migrations.CreateModel(
            name="DirectoryEntryPage",
            fields=[
                (
                    "blogentrypage_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtail_design_system.blogentrypage",
                    ),
                ),
            ],
            options={
                "verbose_name": "Directory Entry",
                "verbose_name_plural": "Directory Entries",
            },
            bases=("wagtail_design_system.blogentrypage",),
        ),
        migrations.CreateModel(
            name="TagEntryPage",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                (
                    "tag",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="%(app_label)s_%(class)s_items",
                        to="taggit.tag",
                    ),
                ),
                (
                    "content_object",
                    modelcluster.fields.ParentalKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="entry_tags",
                        to="wagtail_design_system.blogentrypage",
                    ),
                ),
            ],
            options={
                "abstract": False,
            },
        ),
        migrations.CreateModel(
            name="CategoryEntryPage",
            fields=[
                ("id", models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name="ID")),
                (
                    "category",
                    models.ForeignKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="+",
                        to="wagtail_design_system.category",
                        verbose_name="Category",
                    ),
                ),
                (
                    "page",
                    modelcluster.fields.ParentalKey(
                        on_delete=django.db.models.deletion.CASCADE,
                        related_name="entry_categories",
                        to="wagtail_design_system.blogentrypage",
                    ),
                ),
            ],
        ),
        migrations.AddField(
            model_name="blogentrypage",
            name="authors",
            field=modelcluster.fields.ParentalManyToManyField(
                blank=True,
                help_text="Author entries can be created in Snippets > Persons",
                to="wagtail_design_system.person",
            ),
        ),
        migrations.AddField(
            model_name="blogentrypage",
            name="blog_categories",
            field=modelcluster.fields.ParentalManyToManyField(
                blank=True,
                through="wagtail_design_system.CategoryEntryPage",
                to="wagtail_design_system.category",
                verbose_name="Categories",
            ),
        ),
        migrations.CreateModel(
            name="DirectoryIndexPage",
            fields=[
                (
                    "blogindexpage_ptr",
                    models.OneToOneField(
                        auto_created=True,
                        on_delete=django.db.models.deletion.CASCADE,
                        parent_link=True,
                        primary_key=True,
                        serialize=False,
                        to="wagtail_design_system.blogindexpage",
                    ),
                ),
            ],
            options={
                "verbose_name": "Directory Index",
            },
            bases=("wagtail_design_system.blogindexpage",),
        ),
    ]
